mark endrei - ibm · ibm websphere application server v5.0 ibm websphere mq 5.3 message-driven bean...
TRANSCRIPT
IBM IT Education Services
July 20-25, 2003 | Las Vegas, NV © 2003 IBM Corporation
WebSphere Technical Exchange
Patterns: Self-Service Application Solutions Using WebSphere V5.0
W06Mark Endrei
2
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Agenda
Patterns for e-businessSelf-Service patternsRuntime patternsProduct mappingsTechnology optionsGuidelinesPatterns Development KitMore information
3
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Patterns for e-business
ObjectivesTo provide the smallest number of Patterns for e-business, which will allow IT architects in 80% of cases to quickly develop 80% of their required infrastructure by the re-use of proven:
– Architecture patterns– Design patterns– Runtime patterns– Design, development and deployment guidelines– Sample code
To provide IBM software (and hardware) development architects with a finite number of well-defined requirements, which they can use to optimize their product components
4
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
The Patterns layered asset model
Best-Practice GuidelinesTechnology ChoicesApplication DesignApplication DevelopmentSystem ManagementSamples
Application patterns
Product mappings
Runtime patterns
Composite patterns
Integration patternsBusiness patterns
Customerrequirements
Any methodology
5
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Business patternsBusiness patterns are the basic building blocks for solutions
ExtendedEnterprise
pattern
InformationAggregation
pattern
Collaborationpattern
Self-Servicepattern
Businesspatterns
Users accessing data (including business txns) on a 24x7 basis
Users working with one another to share data and information
Data from multiple sources aggregated and distilled
Integrating data and processes across enterprise boundaries
6
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Integration patternsIntegration patterns provide the glue to combine Business patterns to form solutions
ApplicationIntegration
pattern
AccessIntegration
pattern
Integrationpatterns
Provide seamless and consistent access to business functions
Connect, interface or integrate databases and systems
7
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Online brokerageBusiness patternsIntegration patterns
Inte
rnet
Browser
Wireless
SpecializedDevices
ElectronicBrokerage
Markets
ContentAggregator
ContentProviders
EnterpriseSystems
ContentSyndicators
Trades
Transactions
IndustryContent
IndustryContent
AggregatedContent
PersonalizationData
DeviceSpecificFormats
Notes MailCalendarDirectory
Customer
CustomerPreferences
DeviceTranscoding
Data
IntegratedContent
Portal
Information Aggregation
Self-Service
ExtendedEnterprise
AccessIntegration
ApplicationIntegration
8
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Agenda
Patterns for e-businessSelf-Service patternsRuntime patternsProduct mappingsTechnology optionsGuidelinesPatterns Development KitMore information
9
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Self-Service business pattern
Allows internal and external users to interact with enterprise systemsand databases
Some examples of Self-Service applicationsAn insurance company makes policy information available to usersand allows them to apply for a policy onlineA bank allows customers to access their accounts and pay bills onlineA company allows its employees to change their medical plan, taxinformation, etc., online without having to call the HR office
EnterpriseSystems andDatabases
Users
10
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Self-Service application patterns
Application patterns define the application logic and data componentsand how they interact
There are currently seven Self-Service application patterns defined
1. Stand-alone Single Channel
Self-Service
2. Directly Integrated Single Channel
3. As-is Host
4. Customized Presentation to Host
5. Router
6. Decomposition
7. Agent
11
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Self-Service application patterns
6.
7.
CRM LOB
synch/asynch
synch/asynch Agent
Decompsynch synch/
asynch
1. Presentationsynch
Application
2.synch synch/
asynch Presentation Web
Application Back-endApplication
Back-endApplication
3.synch Host
Application
Pres.synch
4.Host
Application
5. synchRoutersynch
Back-endApplication
Back-endApplication
Presentation1
Presentation2
Back-endApplication
Back-endApplication
Back-endApplication
Back-endApplication
Application node containing new or modified components
Application node containing existing components with no need for modification or which cannot be changed
Read / Write data
Read-only data
Transient data- Work in progress- Cached committed data- Staged data (data replication flow)
Presentation1
Presentation2
Presentation1
Presentation2
12
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Self-Service application patterns
Business and IT drivers
13
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Stand-alone Single Channel application pattern
Business applications not currently needing integration with otherapplications
One delivery channel Presentation tier handles user interfaceWeb application tier
– Local application dataBusiness logic resides in Web application tierSynchronous between presentation tier and Web application tier
synchPresentation WebApplication
14
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Back-endApplication
Directly Integrated Single Channel application pattern
Point-to-point connectivity between the user and new or existingback-end applications
One delivery channel Presentation tier handles user interfaceWeb application tier
– Local application data; Accesses one or more back-end applicationsBack-end applications
– Existing business logic and back-end dataBusiness logic can reside in Web application tier and back-end tierSynchronous between presentation tier and Web application tierSynch/asynch between application tier and the back-end
synch synch/asynchPresentation Web
ApplicationBack-end
Application
15
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Agenda
Patterns for e-businessSelf-Service patternsRuntime patternsProduct mappingsTechnology optionsGuidelinesPatterns Development KitMore information
16
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Runtime patterns
The logical middleware structure that underpins the Application patternNodes group functional requirementsNodes interconnected to solve business problem
Stand-aloneSingle Channel
application pattern
Directly Integrated Single Channel
application pattern
Basic Runtime pattern
Runtime pattern: Variation 1
Runtime pattern: Other variations
Basic Runtime pattern
Runtime pattern: Variation 1
Runtime pattern: Other variations
Self-Service business pattern
17
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Stand-alone Single Channel::Runtime patternInternal Network
Demilitarized Zone (DMZ)Outside World
Prot
ocol
Fire
wal
l
Database
Dom
ain
Fire
wal
lINTERNET
Public Key Infrastructure
User
Web Application
Server
Domain Name Server
Directory and SecurityServices
Presentation Application
Stand-Alone Single Channel application
18
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Runtime pattern: Variation 1Internal Network
Demilitarized Zone (DMZ)Outside World
Prot
ocol
Fire
wal
l
Dom
ain
Fire
wal
lINTERNET
Public Key Infrastructure
User
Web Server
Redirector
Domain Name Server
Presentation Application
Stand-Alone Single Channel application
Database
ApplicationServer
Directory and SecurityServices
19
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Directly Integrated Single Channel::Runtime patternInternal Network
Demilitarized Zone (DMZ)Outside World
Prot
ocol
Fire
wal
l
Existing Applications
and Data
Dom
ain
Fire
wal
lINTERNET
Public Key Infrastructure
User
Web Application
Server
Domain Name Server
Directory and SecurityServices
Presentation Application Application
Directly Integrated Single Channel application
Application
Existing Applications
and Data
20
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Runtime pattern: Variation 1Internal Network
Demilitarized Zone (DMZ)Outside World
Prot
ocol
Fire
wal
l
Dom
ain
Fire
wal
lINTERNET
Public Key Infrastructure
User
WebServer
Redirector
Domain Name Server
Presentation Application Application
Directly Integrated Single Channel application
Application
Existing Applications
and Data
ApplicationServer
Directory and SecurityServices
Existing Applications
and Data
21
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Runtime pattern: Other variations
Non-Functional Requirements::High Availability: Runtimepatterns
Basic Runtime pattern Runtime pattern: Single load balancerRuntime pattern: Load balancer hot standbyRuntime pattern: Mutual high availabilityRuntime pattern: Wide area load balancing
Non-Functional Requirements::High Performance: Runtimepatterns
Basic Runtime pattern Runtime pattern: RedirectorsRuntime pattern: SeparationRuntime pattern: Caching proxy
22
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Agenda
Patterns for e-businessSelf-Service patternsRuntime patternsProduct mappingsTechnology optionsGuidelinesPatterns Development KitMore information
23
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Product mappings
Determining what products and platforms to useExisting systems and platform investmentsCustomer and developer skills availableCustomer choice
IBM WebSphere Application Server V5.0 onWindowsAIXLinuxOS/400 and z/OS coming soon
Integration optionsWeb servicesJ2EE Connectors and CICSJava Message Service and WebSphere MQ V5.3
24
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Stand-alone Single Channel::Windows Product mapping
Internal networkDemilitarized zone
Out
side
wor
ld
Prot
ocol
Fire
wal
l
Dom
ain
Fire
wal
l
Web ServerRedirector
Directory and SecurityServices
LDAP
Application Server
Database
Windows 2000 + SP3IBM DB2 UDB ESE V8.1
Windows 2000 + SP3IBM SecureWay Directory V3.2.1IBM HTTP Server 1.3.19.1IBM GSKit 5.0.3IBM DB2 UDB EE V7.2 + FP5
Windows 2000 + SP3IBM WebSphere Application Server V5.0 HTTP Plug-inIBM HTTP Server 1.3.26
Windows 2000 + SP3IBM WebSphere Application Server V5.0
25
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Directly Integrated Single Channel::Windows Product mapping
Internal networkDemilitarized zone
Out
side
wor
ld
Prot
ocol
Fire
wal
l
Dom
ain
Fire
wal
l
Web ServerRedirector
Windows 2000 + SP3IBM WebSphere Application Server V5.0 HTTP Plug-inIBM HTTP Server 1.3.26
Directory and SecurityServices
LDAP
Application Server
Windows 2000 + SP3IBM SecureWay Directory V3.2.1IBM HTTP Server 1.3.19.1IBM GSKit 5.0.3IBM DB2 UDB EE V7.2 + FP5
Database
Existing Applications
and Data
Windows 2000 + SP3IBM DB2 UDB ESE V8.1
JMS Option:Windows 2000 + SP3IBM WebSphere Application Server V5.0IBM WebSphere MQ 5.3Message-driven bean application
Web Services Option:Windows 2000 + SP3IBM WebSphere Application Server V5.0IBM HTTP Server 1.3.26IBM DB2 UDB ESE 8.1Web service EJB application
J2C Option:z/OS Release 1.3IBM CICS Transaction Gateway V5.0IBM CICS Transaction Server V2.2CICS C-application
Windows 2000 + SP3IBM WebSphere Application Server V5.0
JMS Option add:IBM WebSphere MQ 5.3
26
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Stand-alone Single Channel::Linux Product mapping
Internal networkDemilitarized zone
Out
side
wor
ld
Prot
ocol
Fire
wal
l
Dom
ain
Fire
wal
l
Web ServerRedirector
Directory and SecurityServices
LDAP
Application Server
Database
Red Hat Linux AS 2.1IBM DB2 UDB ESE V8.1
Windows 2000 + SP3IBM SecureWay Directory V3.2.1IBM HTTP Server 1.3.19.1IBM GSKit 5.0.3IBM DB2 UDB EE V7.2 + FP5
Red Hat Linux AS 2.1IBM WebSphere Application Server V5.0 HTTP Plug-inIBM HTTP Server 1.3.26
Red Hat Linux AS 2.1IBM WebSphere Application Server V5.0
27
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Directly Integrated Single Channel::Linux Product mapping
Internal networkDemilitarized zone
Out
side
wor
ld
Prot
ocol
Fire
wal
l
Dom
ain
Fire
wal
l
Web ServerRedirector
Red Hat Linux AS 2.1IBM WebSphere Application Server V5.0 HTTP Plug-inIBM HTTP Server 1.3.26
Directory and SecurityServices
LDAP
Application Server
Windows 2000 + SP3IBM SecureWay Directory V3.2.1IBM HTTP Server 1.3.19.1IBM GSKit 5.0.3IBM DB2 UDB EE V7.2 + FP5
Database
Existing Applications
and Data
Red Hat Linux AS 2.1IBM DB2 UDB ESE V8.1
JMS Option:Red Hat Linux AS 2.1IBM WebSphere Application Server V5.0IBM WebSphere MQ 5.3Message-driven bean application
Web Services Option:Red Hat Linux AS 2.1IBM WebSphere Application Server V5.0IBM HTTP Server 1.3.26IBM DB2 UDB ESE 8.1Web service EJB application
J2C Option:z/OS Release 1.3IBM CICS Transaction Gateway V5.0IBM CICS Transaction Server V2.2CICS C-application
Red Hat Linux AS 2.1IBM WebSphere Application Server V5.0
JMS Option add:IBM WebSphere MQ 5.3
28
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Agenda
Patterns for e-businessSelf-Service patternsRuntime patternsProduct mappingsTechnology optionsGuidelinesPatterns Development KitMore information
29
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Web services
What are Web services?Web services are self-contained, self-describing, modular applicationsWeb services combine two ubiquitous technologies
–XML, the universal data description language–HTTP, widely supported by browsers and Web servers
Web services can be published,located, and invoked across theWeb using
SOAP, an XML-based RPC andmessaging protocolWSDL, a descriptive interface andprotocol binding languageUDDI, a registry mechanism used tolocate Web service descriptions
Publish
WSDL, UDDI
Find
WSDL,
UDDI
Bind/Invoke
SOAP
ServiceBroker
ServiceRequester
ServiceProvider
30
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Web services - continued
Advantages of Web servicesProtect investments in legacy systems by using Web services to wrap these systems for integration with modern systemsWeb services are platform neutral so they can be invoked by non-Java clientsWeb services can be dynamically "discovered" and thus are "visible" to the entire Internet/intranet community
Disadvantages of Web servicesAdding the Web services provider stack to existing enterprise systems can be a problem
– SOAP server footprint is significant; Technology is relatively newBinding to Web services dynamically requires that the contents of the registry be trusted
– Currently, only private registries provide such control over contents
31
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
J2EE Connector
What is the J2EE Connector Architecture?Provides a standard way of accessing enterprise systems from J2EE applicationsDefines the common client interface (CCI) APIThe link from the API to the EIS is called a resource adapter and is provided by a third-party vendorAdapters are packagedas resource adapterarchive (RAR) filesJ2C 1.0 support is arequirement of theJ2EE 1.3 specificationIt is similar to the modelfor JDBC drivers
EIS-Specific Interface
Common Client Interface
Container-Component
Contract
J2EEApplication Server Application
Component
Connection Pooling
Transaction Manager
Security Manager
Resource Adapter
Enterprise Information
System
System LevelContracts
Transaction ManagementConnection ManagementSecurity Management
32
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
J2EE Connector - continued
Advantages of J2EE ConnectorsThe CCI simplifies application integration with diverse EISs
– Easily plug third-party or home-grown adapters into your applicationsAn EIS adapter implementation can be used by all client applicationsJ2EE connectors facilitate scalability and provide quality of service features transparently to the client applicationJ2C-compliant adapters are portable across J2EE application serversJ2C has low intrusion on the enterprise system, as native clientinterfaces are utilized
Disadvantages of J2EE ConnectorsJ2C only supports synchronous communication. Asynchronous support is expected in the J2C 1.5 or 2.0 specificationWith J2C 1.0, parts of the CCI are resource adapter specific. If you change the resource adapter the client application will be impacted
33
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Java Message Service
What is Java Message Service?The JMS API enables a Java programmer to access message-oriented middleware from the Java programming modelJMS has two messaging styles
– Point-to-point– Publish/subscribe
Communications are asynchronous– Clients can receive messages
without making a request– Clients can send messages without
waiting for a replyCommunications are loosely coupled
– The sender and receiver do not haveto be active or aware of each other
JMS is only a specification– Each enterprise messaging system vendor must provide classes that
implement the specification for their specific messaging system
Lookup
Connect
BindAdmin tool
JNDInamespace
JMS Client JMS Provider
CF D
34
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Java Message Service - continued
Advantages of JMSIt is the first enterprise messaging API that has achieved wide cross-industry supportIt leverages existing, enterprise-proven messaging systemsIt simplifies development of enterprise applications by providing standard messaging concepts and conventionsA common interface for accessing diverse messaging systemsExtend existing message-based applications by adding new JMS clients that are integrated fully with existing non-JMS clients
Disadvantages of JMSThe common interface may not support all the functionality offered by the messaging vendor
– You might have to write vendor-specific code to access such functionality
35
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
XML messaging
XML can be used to specify the content of messages between servers,within an enterprise or for business-to-business connectionsAdvantages of XML
Industry standard for data interchangeCross-platform tool supportHuman readable
Disadvantages of XMLComplexity, large size, standardization
DTD or XML Schema can be used to define/validate XML documentsDisadvantages of DTD
Poor typing, not defined as XMLAdvantages of XML Schema
Strong typing for elements and attributes, null valuesDefined as XML, making them programmatically accessible
36
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Integration technology selection guidelines
The current infrastructure and skillsDo you have a messaging system on the enterprise tier?
– Then JMS makes senseDo you have an EIS system, such as CICS or IMS?
– J2C might be the better choiceInfrastructure and skills flexible/developing?
– Web services can help
Time to marketWeb service enabling an application can be relatively fast with the Web services development tools available
37
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Integration technology selection guidelines - continued
Future expansion plansDo you need to integrate with existing infrastructure and with planned infrastructure?
– Web services can provide a low-dependency and low-cost migration path in such a case
ReliabilityJMS and WebSphere MQ can provide assured transfer of data, even when the enterprise application is unavailable
Transaction supportWeb services currently do not offer support for transactions
– If your application needs transactional management, it might be worthwhile considering either JMS or J2EE Connectors
38
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Agenda
Patterns for e-businessSelf-Service patternsRuntime patternsProduct mappingsTechnology optionsGuidelinesPatterns Development KitMore information
39
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Guidelines - Development and runtime environment
IBM WebSphere Studio Application Developer V5.0 base editionIntegrated J2EE application development and test environmentVisual editors and wizards for working with J2EE applications, modules, EJBs, servlets, JSPs, XML, etc.Web services wizards for generating providers and clients
IBM WebSphere Application Server V5.0 base editionAs per Runtime patterns
IBM WebSphere MQ V5.3As per Runtime patterns
IBM CICS Transaction Server and Transaction GatewayAs per Runtime patternsECI and EPI J2C adapters with the IBM CICS Transaction Gateway
40
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Guidelines - Web application frameworks
True to the MVC design pattern, Struts applications have threemajor components
Controller - Struts ActionServlet and Action classView - Struts form beans and JavaServer PagesModel - application's business logic
Struts helps developersMap HTTP parameters to JavaBeansValidate that a form is filled in correctlyProvide standard error responsesMessage internationalizationAvoid hard coding links to JSPs
Like all frameworks, Struts has disadvantagesCustomization may be difficult, but can also prevent bad practicesLearning curve
Action
ActionForm
ActionServlet TransferFundsAction
TransferFundsForm
Business Logic«instantiate» «use»
41
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Web services - Guidelines
Web service provider and requester application structure
SOAP Request
SOAP Reply
PDK Application Server
PDKLite EJB Module
Exchange Rate EJB
Enterprise Application Server
Exchange Rate Server
SOAP Server
Web Services
Proxy
42
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Guidelines - Web services
Static vs. dynamic discovery
There are two ways of binding to a Web service
Static service– Service definition is obtained
through a proprietary channel(an e-mail, for example)and stored locally
Dynamic discovery– Service definition is obtained
from a trusted UDDI registry– Client application searches
the registry at runtime
Service Requester
Static Service
SOAP Listener
Service Provider
Service Requester
Dynamic Discovery
SOAP Listener
Service Provider
Service Registry
43
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Guidelines - J2EE Connectors and CICS
Local vs remote CICS Transaction Gateway (TG)
Local CICS TG onapplication server tier
Remote CICS TG onz/OS enterprise tier
Remote CICS TG on z/OS recommended in most situations– CICS client-interface components are provided by z/OS enterprise tier– The CICS TG on zSeries can be shared by multiple client applications– Availability of the CICS client-interface depends only on enterprise tier– Standard tools and procedures can be used at the enterprise tier– CICS resources and skills can remain focused on z/OS
z/OS UNIX Service
CICS Transaction
Server
OS/390 or z/OSOS/390 or z/OSWindows/AIX/LinuxWindows/AIX/Linux
WebSphere Application Server
EJBCICS ECI Resource Adapter
CICSProgram
(CALCRATE)
CICS Transaction
Gateway
44
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Guidelines - JMS and WebSphere MQ
Local vs remote queue managers
Connecting to the local queuemanager has several majoradvantages
– Higher probability of connecting to alocal queue manager than a remotequeue manager
– The time it takes to establish anetwork connection to the queuemanager is avoided
– The local queue manager candistribute the work among multiplebrokers
Application ServerApplication Server
Application
Broker1Broker1
Queue ManagerQueue Manager
Queue Manager
Application ServerApplication Server
Application
Broker2Broker2
Queue ManagerQueue Manager
Broker1Broker1
Queue ManagerQueue Manager
Broker2Broker2
Queue ManagerQueue Manager
45
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Guidelines - XML messages
Use descriptive tag and attribute namesGroup elements in related setsSeparate metadata from the real content
– Use Header and Body elements for exampleInclude a message version number in the message metadata
46
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
XML development
WebSphere Studio Application Developer V5.0XML EditorDTD / XML Schema generatorJavaBeans generator
47
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Class diagram for XML message
ExchangeRateRequest
+ ExchangeRateRequest ( )+ ExchangeRateRequest ( )+ getSourceName ( )+ setSourceName ( )+ getVersion ( )+ setVersion ( )+ getCreateDate ( )+ setCreateDate ( )+ getPlanet ( )+ setPlanet ( )
Message
+ Message ( )+ Message ( )# setElement ( )# getElement ( )+ toString ( )
DOMWriter
MessageResolver
+ resolveEntity ( )
DOMParser
DocumentBuilder
DocumentBuilderFactory
«JavaInterface»Document
48
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
: ExchangeRateReply
: ExchangeRateRequest
: ExchangeRateServ erBean
: RPC RouterServ let
: ExchangeRateServ erProxy
: ExchangeRateWSBean
: ExchangeRateBean
: F inanceBean
1 : getExchangeRate ( planet )
2 : getExchangeRate ( planet )
3 : setEndPoint ( url )
6 : getExchangeRateXML ( reqMsg )
4 : ExchangeRateRequest ( msgSource , msgPlanet )
5 : toString ( )
7 : \SO A P Request\
8 : getExchangeRateXML ( reqMsg )
9 : ExchangeRateReply ( msg )
10 : getRate ( )
Sequence diagram for Web services requester and provider
49
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Source code for invoking Web service
50
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Agenda
Patterns for e-businessSelf-Service patternsRuntime patternsProduct mappingsTechnology optionsGuidelinesPatterns Development KitMore information
51
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
PatternsDevelopment Kit
52
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
PDK architecture overview
HTTPRequests
PDK CommandServer
Application
PDKApplication
V3
Web ServicesRequester
J2CResourceAdapter
JMSProvider
Web ServicesProvider
CICSBackend
MQBackend
PDK
E
X
T
E
N
S
I
O
N
53
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
Agenda
Patterns for e-businessSelf-Service patternsRuntime patternsProduct mappingsTechnology optionsGuidelinesPatterns Development KitMore information
54
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
More information
This presentation isbased on redbookSG24-6591
ITSO Patternsresidencies
E-mail:[email protected]
55
IBM IT Education Services
July 20-25, 2003 | Las Vegas,NV © 2003 IBM Corporation
More information
Books– Patterns for e-business:
A Strategy for Reuseby Jonathan Adams, Srinivas Koushik,Guru Vasudeva, George GalambosPublished by IBM PressISBN: 1-931182-02-7
Web sites– ibm.com/developerWorks/patterns– ibm.com/redbooks