Patterns: Implementing Self-Service in an SOA Environment
Total Page:16
File Type:pdf, Size:1020Kb
Front cover Patterns: Implementing Self-Service in an SOA Environment Integrate Web applications with the enterprise tier Explore Web services, J2EE Connectors, and JMS solutions Use SOA and ESB technology Carla Sadtler Anup Aggarwal Diego Cotignola Sandy Grewal Peter Hood Shashi Shrimali Fernando Teixeira ibm.com/redbooks International Technical Support Organization Patterns: Implementing Self-Service in an SOA Environment January 2006 SG24-6680-01 Note: Before using this information and the product it supports, read the information in “Notices” on page xi. Second Edition (January 2006) This edition applies to WebSphere Application Server V6. © Copyright International Business Machines Corporation 2005, 2006. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Notices . xi Trademarks . xii Preface . xiii The team that wrote this redbook. xiii Become a published author . xv Comments welcome. xv Summary of changes . xvii January 2006, Second Edition . xvii Chapter 1. Patterns for e-business . 1 1.1 The Patterns for e-business layered asset model . 2 1.2 How to use the Patterns for e-business . 4 1.2.1 Selecting a Business, Integration, Composite pattern, or a Custom design. 4 1.2.2 Selecting Application patterns. 9 1.2.3 Review Runtime patterns . 11 1.2.4 Reviewing Product mappings . 13 1.2.5 Reviewing guidelines and related links . 14 1.3 Summary . 15 Chapter 2. Self-Service business pattern . 17 2.1 Self-service applications . 18 2.2 Self-Service application patterns. 18 2.3 Application pattern used in this book. 22 Chapter 3. SOA and the Enterprise Service Bus . 23 3.1 Overview of SOA. 24 3.1.1 Definition of a service . 27 3.1.2 Web services and SOA . 31 3.1.3 Messaging and SOA . 33 3.1.4 The advantages of SOA . 35 3.1.5 SOA summary. 36 3.2 Overview of the Enterprise Service Bus . 36 3.2.1 SOA infrastructure requirements. 37 3.2.2 Definition of an ESB . 38 3.2.3 Enterprise requirements for an ESB . 40 3.2.4 Minimum ESB capabilities. 43 © Copyright IBM Corp. 2005, 2006. All rights reserved. iii 3.2.5 ESB and Web services technologies . 45 3.2.6 Extended ESB capabilities . 46 3.2.7 The ESB and other SOA components . 51 Chapter 4. Runtime patterns . 53 4.1 An introduction to the node types . 54 4.1.1 Why use an enterprise service bus? . 57 4.2 Runtime patterns for Directly Integrated Single Channel . 60 4.2.1 Generic Runtime pattern for Directly Integrated Single Channel . 60 4.2.2 SOA profile for Directly Integrated Single Channel . 61 4.3 Runtime patterns for Router . 62 4.3.1 Generic Runtime pattern for Router . 63 4.3.2 SOA profile for Router. 64 4.4 Runtime patterns for Decomposition . 65 4.4.1 Generic Runtime pattern for Decomposition . 65 4.4.2 SOA profile for Decomposition . 67 Chapter 5. Product mappings and product overview . 69 5.1 Product mapping . 70 5.2 IBM WebSphere Application Server . 73 5.2.1 WebSphere Application Server V6 for distributed platforms . 74 5.2.2 Service integration . 76 5.2.3 ESB capabilities . 80 5.3 IBM Rational Software Development Platform . 84 5.3.1 Workbench . 86 5.4 Rational Application Developer . 89 5.4.1 Web development . 89 5.4.2 EJB development . 91 5.4.3 Web services support . 92 5.4.4 Connector support. 94 5.4.5 Test environment . 94 5.4.6 Team development . 95 5.5 Rational Software Architect . 95 5.5.1 Rational Unified Process guidance . 95 5.5.2 Model-driven development . 95 5.5.3 Modeling . 97 5.5.4 Asset-based development. 98 5.6 For more information . 100 Chapter 6. Technology options . 101 6.1 The big picture. 102 6.2 Client technologies . 102 6.2.1 Web-based clients. 104 6.2.2 Mobile clients . 111 iv Patterns: Implementing Self-Service in an SOA Environment 6.3 Web application server . 113 6.3.1 Java servlets . 115 6.3.2 JavaServer Pages (JSPs) . 116 6.3.3 JavaServer Faces . 116 6.3.4 Struts. 117 6.3.5 Service Data Objects . 118 6.3.6 Portal applications. 119 6.3.7 JavaBeans . 120 6.3.8 XML. 120 6.3.9 Enterprise JavaBeans . 124 6.3.10 Additional enterprise Java APIs . 127 6.4 Integration technologies . 128 6.4.1 Web services. 128 6.4.2 J2EE Connector Architecture . 132 6.4.3 Java Message Service . ..