Académique Documents
Professionnel Documents
Culture Documents
Agenda
Brief Product Recap Best Practices
Planning, Design and Architecture Process Development Performance References and Further Information
Mediation
Clustering
App Server
I
Request / Reply
Export
I R R
SCA Component
I
One-way
SCA Component
Request / Reply
Export
Import
Connectivity Support
Supported Connectivity Bindings and Adapters for import and export nodes
Web Services (SOAP/HTTP, SOAP/JMS) Messaging (JMS, MQ, JMS MQ, generic JMS (3rd party providers)) J2EE Applications (EJB binding) Native (SCA cross module) HTTP Access (JSON, XML) IBM CICS ECI Resource Adapter IBM IMS Connector for Java IBM WebSphere Adapter for Email IBM WebSphere Adapter for FTP IBM WebSphere Adapter for Flat Files IBM WebSphere Adapter for JDBC IBM WebSphere Adapter for Lotus Domino IBM WebSphere Adapter for Enterprise Content Management IBM WebSphere Adapter for JD Edwards EnterpriseOne * IBM WebSphere Adapter for Oracle E-Business Suite * IBM WebSphere Adapter for PeopleSoft * IBM WebSphere Adapter for SAP Software * IBM WebSphere Adapter for Siebel Business Applications * 6
Planning, Design and Architecture Process Development Performance Summary References and Further Information
Use (Integration) Modules (BPM Advanced only) for BPEL business / process logic:
Can be long-running, provides powerful choreography
More Information:
http://www.ibm.com/developerworks/websphere/library/techarticles/0803_fas binder2/0803_fasbinder2.html
IBM Corporation 2011
10
Can be hard to predict when interactions will be async subtleties in performance optimisation etc. Assume async if in doubt, and use preferredInteractionStyle liberally More details:
http://www.ibm.com/developerworks/websphere/library/techarticles/0811_cha cko/0811_chacko.html
Mediation flow component propagates callers interaction style if callees PI style is Any
12
Guiding principles
Every transaction commit adds overhead Minimize transaction commits to implement desired transactional behavior Pay particular attention to SCA transaction qualifiers
13
Design Transactions - SCA Qualifiers Ensure transactions propagate across components until the desired commit point To achieve this, follow the Golden Path
suspendTransaction = False Transaction = Any or Global joinTransaction = True
joinTransaction = True
Transaction = Any
14
Benefits
Reduce mediation construction complexity Much more flexible mediation dynamic control
19
20
Include a unique identifier for each interaction Property promotion can be good to disable logging
22
Dont keep too much checked out project sets can help here. Do not check in generated artifacts
<xxx>App, <xxx>EJB, and <xxx>Web projects, and anything marked in Eclipse as derived more information here: http://www.ibm.com/developerworks/websphere/library/techarticles/0604_beers/0604_b eers.html
25
Dont use (Technical) Headers for Business Data Includes SOAP Headers, MQ Headers, JMS Headers, etc. Intended for point-to-point interactions for communicating technical information (routing, QoS, etc.) Only supported by mediation flows best on boundaries Can require extra custom work, e.g. MQ Header Binding
27
Keep Schemas and WSDLs Simple Avoid anonymous complex types Don't use empty/null namespaces Dont use the same namespace in two libraries/projects Use the gamut of XSD types: don't make everything an xsd:string
28
Debugger
Supports Breakpoints, Step Over, Inspection of SDO/SMO, etc.
Cross-component trace integrated with the Server Log view Logging Generic Service Client (V7.5)
Promote Properties where Relevant From V6.2, promoted properties are dynamic can be overridden by values set in SMO dynamic context Policy Resolution mediation primitive allows property values to be resolved from WSRR based on gate conditions from message content
Allows governance of property values Potentially reduces flow complexity
Not to be confused with policy on Web Service endpoints, for example to setup WS-Security with JAX-WS
IBM Corporation 2011
Replace Older Custom Code with New Functionality UDDI Endpoint Lookup Primitive (7.0) Trace (7.0) / Enhanced Message Logger (6.2) for logging & tracing Message Validator (7.0) Flow Order Primitive (7.0) Type Casting in XSLT Map (7.0) and many others!
33
34
Best practices
When large payload is a batch, send as multiple smaller payloads When only a small portion of an input message is used by the workload, use a Claim Check pattern http://www.ibm.com/developerworks/websphere/library/techarticles/1006_kharlam ov/1006_kharlamov.html Exploit 64-bit when necessary Stay up-to-date performance increases from release to release From V7.0.0.3, consider using Business Object Lazy Parsing mode
37
Business Object Lazy Parsing Mode New business object runtime optimized for XML processing and transformation Uses a data representation more closely coupled to XML Offers significant performance advantages for XMLoriented scenarios Available from WebSphere ESB 7.0.0.3 with interim fix XC70031 and WebSphere Integration Developer 7.0.0.3 Ifix001 Default for new projects in IBM Integration Designer
38
For example, the following example banking flow (based on IFX schemas) performs up to 428% faster in lazy parsing mode
BO Mapper Message Element Setter Fan Out BO Mapper Service Invoke BO Mapper Fan In
Message Element Setter
Message Filter
Service Invoke
BO Mapper
Heap occupancy is also reduced with lazy parsing resulting in improved large message capability
39
40
41
42
7.5 7.5
NEW NEW
Simplified development of scenario where service invocation is used to enrich message content Previously required three mediation primitives:
1) XSLT to save message body to context 2) Service invoke 3) XSLT to merge results with original message body
XPaths specified to define location of request parameter for service invocation and location to place response
43
Aggregation Considerations
Only carry the required data within the Service Message Object, consider the following techniques were possible: Remove/Delete the body after the FanOut primitive Only map the minimal information within a map Don't map the shared context after the FanIn has generated the output message Consider if the Service Invoke Message Enrichment mode can be used Try to use BO Mappers as extensively as possible
44
45
References
InfoCenter:
http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r0mx/index.jsp
Support Sites:
http://www-01.ibm.com/software/integration/wsesb/support/
developerWorks:
http://www.ibm.com/developerworks/websphere/zones/businessintegration/wesb.html
developerWorks Forum:
http://www.ibm.com/developerworks/forums/forum.jspa?forumID=1672
Summary
Brief Product Recap Best Practices
Planning, Design and Architecture Process Development Performance References and Further Information
Questions?
48
Copyright Information
Copyright IBM Corporation 2011. All Rights Reserved. IBM, the IBM logo, ibm.com, AppScan, CICS, Cloudburst, Cognos, CPLEX, DataPower, DB2, FileNet, ILOG, IMS, InfoSphere, Lotus, Lotus Notes, Maximo, Quickr, Rational, Rational Team Concert, Sametime, Tivoli, WebSphere, and z/OS are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol ( or ), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at Copyright and trademark information at ibm.com/legal/copytrade.shtml. Coremetrics is a trademark or registered trademark of Coremetrics, Inc., an IBM Company. SPSS is a trademark or registered trademark of SPSS, Inc. (or its affiliates), an IBM Company. Unica is a trademark or registered trademark of Unica Corporation, an IBM Company. Java and all Java-based trademarks and logos are trademarks of Oracle and/or its affiliates. Other company, product and service names may be trademarks or service marks of others. References in this publication to IBM products and services do not imply that IBM intends to make them available in all countries in which IBM operates.
49