[email protected] brisbane, qld 4064...
TRANSCRIPT
© ASERT Education XML & Enterprise Integration - 1
Dr. Paul King
ASERT Consulting
PO Box 1243, Milton BC
Brisbane, QLD 4064
www.asert.com.au
OR CONFESSIONS OF AN APPLICATION ARCHITECT
© ASERT Education XML & Enterprise Integration - 2
TOPICS
About ASERT
History of Application Development & Integration
Best Practice Technology forB2C/B2B
© ASERT Education XML & Enterprise Integration - 3
Specialists in Advanced Software Engineering, Research & TrainingSmall but dynamic consulting and training company based in BrisbaneClients include AT&T, Telstra, Optus, Convergys, Compaq, RSA, Oracle, BEA, Qld SMEs, Qld Govt & othersTechnologies: Java, EJB, CORBA, XML, Ecommerce, Internet Security, Linux/NTProducts: Oracle, RSA, BEA Weblogic, Sun, Inprise/Borland, Netscape, IBM
ABOUT ASERT
© ASERT Education XML & Enterprise Integration - 4
To remain competitive, companies must:reduce time to marketreduce response times eliminate supply-chain inefficienciesimprove customer acquisition, retention and satisfaction
Requires direct real-time linkage with major trading partnersTraditional approaches such as EDI are not well-suited:
lack flexibility, error prone, not real timecostly and time-consuming to implement and run
Business Climate
© ASERT Education XML & Enterprise Integration - 5
XML and eCommerce
XML is rapidly becoming the lingua franca of e-Commerce
According to IBM:� “In the business domain there will soon be specific
XML languages to describe orders, transaction, inventory and billing. These open XML languages will allow manufacturers, retailers, and consumers, even banking and accounting systems to share the same data.”
© ASERT Education XML & Enterprise Integration - 6
XML & e-Commerce (cont’d)
BizTalkAn industry initiative started by Microsoft and supported by a wide range of organizations, from technology vendors like webMethods, SAP and CommerceOne to technology users like Boeing and BP/AmocoHas the goal of driving the rapid, consistent adoption of XML to enable electronic commerce and application integration
Defining the BizTalkFramework™, a set of guidelines for how to publish schemas in XML and how to use XML messages to easily integrate software programs together in order to build rich new solutions
© ASERT Education XML & Enterprise Integration - 7
History of Application Development and Integration
Platform IndependentNetworking
PlatformIndependent GUI
Software IndependentData
Platform IndependentPrograms
Adapted fromSimon Phipps, IBM
© ASERT Education XML & Enterprise Integration - 8
Confession #1
10 years ago I believed them when they told me they had found the best technology for building distributed systems: MessagingThis involved
Hand-crafted messagesMultiple transportsC-basedNo managementNo transactionsNo security
© ASERT Education XML & Enterprise Integration - 9
Confession #28 years ago I believed them when they told me they had found the best technology for building distributed systems: DCEThis involved
Stub-marshaledstrongly-typedmessages from IDLTransparenciesC-basedNo managementLimited transactionsSome security
© ASERT Education XML & Enterprise Integration - 10
Confession #36 years ago I believed them when they told me they had found the best technology for building distributed systems: CORBAThis involved
Stub-marshaledmessages from IDLTransparenciesObject-based (C++)No managementLimited transactionsLimited security
interface StockMarket{
float get_price(in string symbol);
};
© ASERT Education XML & Enterprise Integration - 11
Confession #45 years ago I believed them when they told me they had found the best technology for linking enterprise systems: EDIThis involved
Specially-formattedmessagesTypically leased linesMyriad of standardsBurden on partnersLimited toolsLimited security
© ASERT Education XML & Enterprise Integration - 12
Confession #54 years ago I believed them when they told me they had found the best technology for building distributed systems: Multi-tier CORBAThis involved
Marshalling, IDLAdditional transparencies:GUI, Business logic, Dataintegration logicC++-basedLimited managementSome transactionsSome security GUI Business
LogicData
© ASERT Education XML & Enterprise Integration - 13
Confession #6
3 years ago I believed them when they told me they had found the best technology for building distributed systems: Web-based thin clientThis involved
Web serversLimited transparenciesCGI programs hackedtogetherHTML, Java AppletsLimited managementNo transactionsLimited security GUI Business
LogicData
© ASERT Education XML & Enterprise Integration - 14
Confession #7
2 years ago I believed them when they told me they had found the best technology for building distributed systems: Application ServersThis involved
Combining best of webserver technology andmulti-tier CORBARich transparenciesHTML, Java Applets,Servlets, SSLUsable managementUsable transactionsUsable security
GUI BusinessLogic
Data
© ASERT Education XML & Enterprise Integration - 15
Confession #8
1 year ago I believed them when they told me they had found the best technology for building distributed systems: EJB Application ServersThis involved
Best of applicationserver technologyRich transparenciesReal advancement towardsdistributed componentsDeclarative specificationof management, security,pooling and transactions GUI Business
LogicData
© ASERT Education XML & Enterprise Integration - 16
Now the answer is XML
This involvesHand marshallingSimple messagingtransportsNo strong typingVB/Scripting supportNo managementNo transactionsNo security
What????Confession Time Again or Confusion Time?
GUI BusinessLogic
Data
© ASERT Education XML & Enterprise Integration - 17
Is it just me?
CORBA Gurus“… HUH??? …”
Homer Simpson“… DUH!!! …”
Richard Soley“… biggest thing going on within OMG over the next 12
months is XML …”Chris Horn“… biggest thing for IONA to tackle over the next 12
months is XML …”Sun“… sorry we nearly missed the boat with XML but we will
rapidly catch up now …”
Disclaimer: all quotesexcept the first two
are paraphrased
© ASERT Education XML & Enterprise Integration - 18
OMG Task Force Groups
CORBA Object Services
Horizontal CORBA Facilities
FinancialObjects
TransportationObjects
E-CommerceObjects
HealthcareObjects
TelecomObjects
ManufacturingObjects
Acco
untin
g
Ban
king
Insu
ranc
e
PDM
Vert
ical
Fac
ilitie
s
Tele
Net
wk
Mgm
t
Shop
Flo
or A
uto
ERP
Med
ical
MPI
Tele
Ser
vice
s
Stre
am C
ontr
ol
EC S
ervi
ces
E-Pa
ymen
t
Den
tal
Mar
ine
Rai
l
Offe
r Loc
/Tra
de
Inte
rmod
al
CORBA ORB
© ASERT Education XML & Enterprise Integration - 19
Application Servers
ApplicationDevelopment
App
licat
ion
Inte
grat
ion
Adapted fromChris Horn, Iona
© ASERT Education XML & Enterprise Integration - 20
Integration Servers
App
licat
ion
Dev
elop
men
tApplicationIntegration
© ASERT Education XML & Enterprise Integration - 21
Typical Medium to Large Customers
ApplicationDevelopment
ApplicationIntegration
© ASERT Education XML & Enterprise Integration - 22
Best Practice Technology for B2C/B2B
B2C
B2B
ApplicationIntegration
ApplicationDevelopment
© ASERT Education XML & Enterprise Integration - 23
Client<FONT…><B>
Headline</FONT>
</B><BR>This is
the result of your
query:<TABLE>
<TR><TD>1.885
</TD></TR>
</TD>4.454</TD>
<TD>…
Web Server
CGI Program
SQL Dataset
SQL Query
Database
B2C - Traditional HTML Web Environment
1.8854.454
0.9537.817
© ASERT Education XML & Enterprise Integration - 24
Refresher: XSL
XML Document
XSL Stylesheet
transformation formattingNew XML
format
Stylesheet Processor
Formatted output
© ASERT Education XML & Enterprise Integration - 25
B2C with XML – Client Side BrowserTransformation & Rendering
Client
(Performs transformations and formatting:
XSL & CSS)
HTTP (+ SSL)
<?xmlstylesheet…?> <HEAD>Headline </HEAD> <SUMMARY> This is the result of your query: </SUMMARY> <TABLE> <TR><TD>1.885 </TD></TR> <TD>4.454</TD> <TD>…
XSL Processor
<Value1>1.885 </Value1> <Value2>0.953 </Value2> <Value3>4.454 </Value3> …
Web Server
Data Store
Query
XML Fragment
ServerServerServerServerClientClientClientClientApp Server
HTTP QueryServlet + JDBC
Servlet + SAX/DOM
EJBCOM+
CORBA
© ASERT Education XML & Enterprise Integration - 26
B2C – Client Side Applet Multi Tier Environment
JavaClient
(Performs transformations and formatting:
XSL)
IIOP/RMI (+ SSL)
<?xmlstylesheet…?> <HEAD>Headline </HEAD> <SUMMARY> This is the result of your query: </SUMMARY> <TABLE> <TR><TD>1.885 </TD></TR> <TD>4.454</TD> <TD>…
XSL Processor
<Value1>1.885 </Value1> <Value2>0.953 </Value2> <Value3>4.454 </Value3> …
WebServer
Data Store
SQL Query
XML Fragment
ServerServerServerServerClientClientClientClient
App Server
HTTP QueryServlet + JDBC
Servlet + SAX/DOM
EJBCOM+
CORBA
© ASERT Education XML & Enterprise Integration - 27
B2C with XML – Server SideTransformation & Rendering
Client
<?xmlstylesheet…?> <HEAD>Headline </HEAD> <SUJMMARY> <TABLE> <TR><TD>1.885 </TD></TR> <TD>4.454</TD> <TD>…
Web Server
XSL Processor
XML Fragment
Data Store
Query
(Viewer only–applies formating, but no transform
HTTP Query
<Value1>1.885 </Value1> <Value2>0.953 </Value2> <Value3>4.454 </Value3> …
© ASERT Education XML & Enterprise Integration - 28
B2C – Support for Multiple Clients
DatabaseXML ParserXML
Document
XML ParserClientApplication
Server
Data can be served up as XMLregardless of ‘native’ format
Client
Middleware
Business LogicData integration
XML Parser
Client
Multiple views of the datacreated from the delivered
XML data
ClientApplication
XSLTProcessor
ClientApplication
Client
© ASERT Education XML & Enterprise Integration - 29
B2C – Application Development Issues
Architecting Reusable ComponentsChange Management: UML design across EJB, JSP, HTML still needs further investigationApplication ManagementAll-in-one Ecommerce solutions are great provided they have APIs for evolutionCross platform GUI: Win32, DHTML subset? Java?Technologies: HTML, XML, Servlets, JSP, UML, Java, Java Beans, C++, EJB, CORBA, COM+, Application ServersProducts: early days for Ecommerce applications with XML support: Oracle’s iStore and IBM’s net.commerce have open Java APIs and are beginning to support XML
© ASERT Education XML & Enterprise Integration - 30
B2C – Application Integration Issues
Consistent InterfacesWorkflow/Long-term TransactionsIntegrated Application ManagementTechnologies: HTML, XML, Servlets, JSP, Java, JDBC, C++, EJBs for wrappering, CORBA, COM+, Application ServersProducts: Forte conductor
© ASERT Education XML & Enterprise Integration - 31
B2B – Typical Scenario
Source: webMethods
© ASERT Education XML & Enterprise Integration - 32
B2B – Integration Server Architecture
JavaClient
XSL Processor
<Value1>1.885 </Value1> <Value2>0.953 </Value2> <Value3>4.454 </Value3> …
IntegrationServer
Data Store
SQL Query
XML Document
ServerServerServerServer
Data Store
XML or XSLprocessing
SAP
XML or XSLprocessing
MultipleCommunication
Formats
Multiple Data/AppAccess Mechanisms
Multiple XMLVocabularies
And custom tools
Long-termTransactions
& Security
© ASERT Education XML & Enterprise Integration - 33
B2B – Application Development Issues
Similar to B2C issues but should design with Enterprise Portals & Marketplaces in mind
SecurityAPIsInternal and External integration
Technologies: Public Key Solutions, XML, Servlets, JSP, Java, EJB, CORBA, COM+, Application Servers
© ASERT Education XML & Enterprise Integration - 34
B2B – Application Integration Issues
Workflow/Long-term TransactionsIntegrated Application ManagementCommunications ServicesDocument Handlers/ProcessorsVocabulary handlersDatabase AccessApplication Access: SAP, Peoplesoft, customisedInterorganisational Security
© ASERT Education XML & Enterprise Integration - 35
B2B – Appl’n Integration Issues (cont’d)
To DTD or not to DTD?XML/EDI area is still fluid, need support for multiple protocols
XML: cXML, BizTalk, OAG, FpML, …RosettaNetEDIOBI (Open Buying on the Internet)
Technologies: XML, SSL, XSL, Java, JDBC, Application ServersProducts: webMethods B2B, eXcelon