WebSphere Business Integration for SAP 9780738491899


213 42 27MB

English Pages 716 Year 2004

Report DMCA / Copyright

DOWNLOAD PDF FILE

Recommend Papers

WebSphere Business Integration for SAP
 9780738491899

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

Front cover

WebSphere Business siness Integration for SAP AP WebSphere and SAP integration using WBI Adapters Business connectivity using WBI brokers WBI and SAP XI interoperability scenario

Saida Davies Khirallah Birkler Niall Cargill Tino Friedemann Reinhard Heite Tony Shan Sudha Chandra Veerni Torsten Wilms

ibm.com/redbooks

International Technical Support Organization WebSphere Business Integration for SAP December 2004

SG24-6354-00

Note: Before using this information and the product it supports, read the information in “Notices” on page xxix.

First Edition (December 2004) This edition applies to: Version 8, Release 1, Modification 5.473 of IBM DB2 Version 5, Release 3, Modification 0 of WebSphere MQ + CSD05 Version 5, Release 0, Modification 3 of WebSphere Business Integration Message Broker Version 5, Release 1, Modification 0 of WebSphere Business Integration Server Foundation Version 5, Release 1, Modification 1 of WebSphere Studio Application Developer Integration Edition Version 4, Release 2, Modification 2.2 of WebSphere Business Integration ICS Version 2, Release 4, Modification 0 of WebSphere Business Integration Adapter Framework Version 5, Release 5, Modification 0 of WebSphere Business Integration Adapter for mySAP.com Version 5, Release 5, Modification 2 of WebSphere Business Integration Adapter for mySAP.com Version 2, Release 4, Modification 0 of, WebSphere Business Integration Adapter for JDBC Version 1, Release 1, Modification 0 of WebSphere Business Integration Adapter for Lotus Domino Version 6, Release 0, Modification 0 of Lotus Domino Version 1, Release 0, Modification 0 of WebSphere Business Integration Adapter for SAP XI Version 3, Release 0, Modification 0 of SAP XI © Copyright International Business Machines Corporation 2004. 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 Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxvii Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxi The team that wrote this redbook. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxxii Become a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxix Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxix Part 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Chapter 1. Introduction and book structure . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 What this book is . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 How this book is organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3.1 Part structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3.2 Chapter structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4 What this book does not cover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Chapter 2. Business Integration technology concepts . . . . . . . . . . . . . . . . 9 2.1 Technology overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.1 Business Integration needs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.2 Integration challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1.3 Concepts and terminologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1.4 IBM WebSphere Business Integration product family . . . . . . . . . . . . 14 2.2 IBM Business Integration Reference Architecture. . . . . . . . . . . . . . . . . . . 19 2.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2.2 Comprehensive Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.2.3 Roles and sample artifacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.2.4 IBM software offerings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.2.5 Service Oriented Architecture (SOA) . . . . . . . . . . . . . . . . . . . . . . . . 37 2.2.6 e-business on demand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.3 SAP Enterprise Service Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.3.1 People Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.3.2 Information Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.3.3 Process Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

© Copyright IBM Corp. 2004. All rights reserved.

iii

2.3.4 Application platform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.3.5 Solution Lifecycle Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 2.3.6 Composite Application Framework . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.4 Interoperability of WBI and SAP XI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Part 2. Business scenario solution design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Chapter 3. Business case scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.1 Business domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.1.1 Current business model of Company A . . . . . . . . . . . . . . . . . . . . . . 54 3.1.2 Current business model of Company B . . . . . . . . . . . . . . . . . . . . . . 56 3.1.3 Merger business objectives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.1.4 Unified business model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.1.5 Unified business model benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.2 Business Use Case definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.2.1 Use Case 1 - Product data repository . . . . . . . . . . . . . . . . . . . . . . . . 62 3.2.2 Use Case 2- Internal purchase requisition process . . . . . . . . . . . . . 64 3.2.3 Use Case 3 - Inventory availability validation . . . . . . . . . . . . . . . . . . 66 3.2.4 Use Case 4 - Customer data repository . . . . . . . . . . . . . . . . . . . . . . 69 3.3 Constraints and assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Chapter 4. Solution approaches and technology options . . . . . . . . . . . . . 73 4.1 Basic technology integration components. . . . . . . . . . . . . . . . . . . . . . . . . 74 4.2 SAP specialities regarding business integration . . . . . . . . . . . . . . . . . . . . 77 4.2.1 Support of various SAP releases . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.2.2 Support of a staged system landscape . . . . . . . . . . . . . . . . . . . . . . . 80 4.2.3 Support of various SAP R/3 interfaces . . . . . . . . . . . . . . . . . . . . . . . 81 4.3 WebSphere Business Integration product suite capabilities . . . . . . . . . . . 82 4.3.1 WebSphere Business Integration adapters. . . . . . . . . . . . . . . . . . . . 82 4.3.2 WebSphere InterChange Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 4.3.3 WebSphere Business Integration Server Foundation . . . . . . . . . . . . 88 4.3.4 WebSphere Business Integration Message Broker . . . . . . . . . . . . . 91 4.3.5 Integration server selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.4 WebSphere Business Integration in the SAP environment . . . . . . . . . . . . 94 4.4.1 WBI Adapter for mySAP.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 4.4.2 WBI Adapter for SAP Exchange Infrastructure . . . . . . . . . . . . . . . . 104 Chapter 5. Solution design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 5.1 Business process analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 5.2 Design principles and methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 5.3 System context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 5.3.1 Logical model of Company A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 5.3.2 Logical model of Company B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 5.3.3 Unified model of merged enterprise . . . . . . . . . . . . . . . . . . . . . . . . 114

iv

WebSphere Business Integration for SAP

5.4 System architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 5.5 Communications and connectivity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 5.6 Use Case 1 - Solution overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 5.6.1 Process flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 5.6.2 Technology selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 5.6.3 Solution details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 5.7 Use Case 2 - Solution overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 5.7.1 Process flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 5.7.2 Technology selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 5.7.3 Solution detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 5.8 Use Case 3 - Solution overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 5.8.1 Process flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 5.8.2 Technology selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 5.8.3 Solution detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 5.9 Use Case 4 - Solution overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 5.9.1 Process flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 5.9.2 Technology selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 5.9.3 Solution detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 5.10 Related technology used in this book . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Part 3. Business scenario solution implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Chapter 6. Environment setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 6.1 Technology matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 6.2 Run-time environment overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 6.3 Common installations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 6.3.1 Installing IBM DB2 UDB Version 8.1 with FixPack 5. . . . . . . . . . . . 150 6.3.2 Installing WebSphere MQ V5.3 with CSD04 . . . . . . . . . . . . . . . . . . 171 Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com . . . 173 7.1 Operational model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 7.2 Installation of WebSphere Business Integration components . . . . . . . . . 176 7.2.1 Plan the installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 7.2.2 Install Microsoft Windows 2000 Service Packs . . . . . . . . . . . . . . . . 178 7.2.3 Install a Java Runtime Environment . . . . . . . . . . . . . . . . . . . . . . . . 179 7.2.4 Install IBM DB2 UDB V8.1 with FixPack 5 . . . . . . . . . . . . . . . . . . . 179 7.2.5 Install Microsoft Data Access Component (MDAC) V2.7 . . . . . . . . 179 7.2.6 Install WebSphere MQ V5.3 with CSD05 . . . . . . . . . . . . . . . . . . . . 180 7.2.7 Install IBM Agent Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 7.2.8 Install WebSphere Business Integration Message Broker . . . . . . . 180 7.2.9 Install Message Broker FixPacks . . . . . . . . . . . . . . . . . . . . . . . . . . 192 7.2.10 Install WBI Adapter Framework V2.4 . . . . . . . . . . . . . . . . . . . . . . 194 7.2.11 Install WBI Adapter for mySAP.com . . . . . . . . . . . . . . . . . . . . . . . 199 7.3 Configuration of WebSphere Business Integration components . . . . . . . 203

Contents

v

7.3.1 Configure WebSphere MQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 7.3.2 Create a message broker domain. . . . . . . . . . . . . . . . . . . . . . . . . . 210 7.3.3 Configure the WBI Adapter for mySAP.com to access SAP R/3 via ALE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 7.3.4 Configure the WBI Adapter for mySAP.com to access SAP R/3 via the ABAP Extension module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 7.4 Configuration of SAP R/3 - general configuration steps . . . . . . . . . . . . . 233 7.4.1 Configure a SAP Gateway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 7.4.2 Create a CPIC User ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 7.4.3 Set up a RFC Destination from SAP R/3 to Gateway . . . . . . . . . . . 234 7.5 Configuration of SAP R/3 to work with the ALE Module of the Adapter . 236 7.5.1 Create a partner logical system . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 7.5.2 Create a local SAP logical system . . . . . . . . . . . . . . . . . . . . . . . . . 237 7.5.3 Create a Distribution Model in the inbound SAP application. . . . . . 239 7.5.4 Create a Distribution Model in the outbound SAP application . . . . 242 7.6 Configuration of SAP R/3 to work with the ABAP Extension Module of the Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 7.6.1 Creating the /CWLD/ namespace . . . . . . . . . . . . . . . . . . . . . . . . . . 243 7.6.2 Install connector transport files for the ABAP Extension Module . . 248 7.6.3 Process the business objects in the ABAP Extension module . . . . 256 7.6.4 Create an Event triggering and detection mechanism . . . . . . . . . . 258 7.7 Development of WebSphere Business Integration Business Objects . . . 273 7.7.1 Create Business Object for the ALE module. . . . . . . . . . . . . . . . . . 274 7.7.2 Create Business Object for the ABAP Extension Module . . . . . . . . 283 7.7.3 Create Message Sets and loading Business Object Definitions . . . 288 7.8 Development of a message flow for the MaterialSynchronization (ALE Module) scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 7.8.1 Create a Message Flow Project . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 7.8.2 Build the message flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 7.8.3 Configure the message flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 7.8.4 Write ESQL for the Compute node . . . . . . . . . . . . . . . . . . . . . . . . . 302 7.9 Development of a message flow for the OrderEventNotification (ABAP Extension Module) scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 7.9.1 Create a Message Flow Project . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 7.9.2 Build the message flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 7.9.3 Configure the message flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 7.10 Deployment of the message flow applications . . . . . . . . . . . . . . . . . . . 310 7.10.1 Deploy a message broker archive. . . . . . . . . . . . . . . . . . . . . . . . . 310 7.11 Run the business scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 7.11.1 Part 1: Run the MaterialSynchronisation (ALE) scenario . . . . . . . 312 7.11.2 Part 2: Run the OrderEventNotification (ABAP Extension Module) Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 7.12 Usage of the Message Broker’s trace to locate errors . . . . . . . . . . . . . 325

vi

WebSphere Business Integration for SAP

7.13 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com . . . 327 8.1 Operational model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 8.2 Installation of WebSphere Business Integration components . . . . . . . . . 330 8.2.1 Plan the installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 8.2.2 Install WSADIE V5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 8.2.3 Install WBISF V5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 8.2.4 Install IBM Remote Agent Controller V5.1 . . . . . . . . . . . . . . . . . . . 344 8.2.5 Install WBI Adapter Framework V2.4 . . . . . . . . . . . . . . . . . . . . . . . 349 8.2.6 Install WBI Adapter for mySAP.com V5.5 . . . . . . . . . . . . . . . . . . . . 355 8.3 Configuration of WebSphere Business Integration components . . . . . . . 359 8.3.1 Configuration of WebSphere MQ . . . . . . . . . . . . . . . . . . . . . . . . . . 359 8.3.2 Configuration of WBI Adapter for mySAP.com . . . . . . . . . . . . . . . . 360 8.3.3 Configuration of WSADIE V5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 8.3.4 Configuration of WBISF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 8.4 Development of a business process . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 8.4.1 Create Business Objects and Connector Configuration . . . . . . . . . 374 8.4.2 Import prepackaged workspace . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 8.4.3 Create the ERP Procurement Service . . . . . . . . . . . . . . . . . . . . . . 392 8.4.4 Create the HR Information Lookup Service . . . . . . . . . . . . . . . . . . 398 8.4.5 Deploy the ERP Procurement service. . . . . . . . . . . . . . . . . . . . . . . 404 8.4.6 Deploy the HR Information Lookup service. . . . . . . . . . . . . . . . . . . 407 8.4.7 Incorporate external services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410 8.4.8 Design Internal Order business process . . . . . . . . . . . . . . . . . . . . . 412 8.4.9 Configure the Visual Test Connector . . . . . . . . . . . . . . . . . . . . . . . 431 8.4.10 Configure the mySAP.com Connector . . . . . . . . . . . . . . . . . . . . . 433 8.5 Deployment of the business process . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 8.6 Run the business process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 8.6.1 Create internal orders using the Web client . . . . . . . . . . . . . . . . . . 441 8.6.2 Execute approval activity using the Web client . . . . . . . . . . . . . . . . 454 8.6.3 Review approved internal orders using the Web client . . . . . . . . . . 460 8.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464 Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 9.1 Operational model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 9.2 Installation and configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 9.2.1 Installing Microsoft Windows 2000 Service Packs . . . . . . . . . . . . . 467 9.2.2 Installation of WebSphere MQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 9.2.3 Configuration of WebSphere MQ . . . . . . . . . . . . . . . . . . . . . . . . . . 467 9.2.4 Installation of IBM DB2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472 9.2.5 Configuration of IBM DB2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472

Contents

vii

9.2.6 Installation of Interchange Server . . . . . . . . . . . . . . . . . . . . . . . . . . 475 9.2.7 JDBC Adapter Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491 9.2.8 mySAP.com Adapter Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . 496 9.3 Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 9.4 Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543 9.5 Testing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 9.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552 Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555 10.1 Overview of Use Case CustomerDataRepository . . . . . . . . . . . . . . . . . 556 10.2 Operational model for CustomerDataRepository . . . . . . . . . . . . . . . . . 558 10.3 Configuring the adapter for Lotus Domino . . . . . . . . . . . . . . . . . . . . . . 559 10.3.1 The architecture of the adapter for Lotus Domino. . . . . . . . . . . . . 561 10.3.2 Configuring the Domino server for the adapter . . . . . . . . . . . . . . . 562 10.3.3 Configure the Domino connector . . . . . . . . . . . . . . . . . . . . . . . . . 567 10.3.4 Test the configured connector for Lotus Domino . . . . . . . . . . . . . 586 10.4 Configure the adapter for SAP XI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598 10.4.1 The architecture of the adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . 598 10.4.2 Generate Business Object Definitions . . . . . . . . . . . . . . . . . . . . . 599 10.4.3 Define the map Customer_Debmas01 . . . . . . . . . . . . . . . . . . . . . 602 10.4.4 Configure the configuration meta-object . . . . . . . . . . . . . . . . . . . . 604 10.4.5 Configure the XML data handler meta-object . . . . . . . . . . . . . . . . 606 10.4.6 Configure the connector for SAP XI . . . . . . . . . . . . . . . . . . . . . . . 607 10.4.7 Create WebSphere MQ queues . . . . . . . . . . . . . . . . . . . . . . . . . . 610 10.5 Configure SAP Exchange Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . 611 10.5.1 Overview of SAP XI configuration . . . . . . . . . . . . . . . . . . . . . . . . . 612 10.5.2 Register back-end systems in System Landscape Directory . . . . 614 10.5.3 Configure SAP XI using the Integration Directory . . . . . . . . . . . . . 619 10.5.4 Configure the Integration Server . . . . . . . . . . . . . . . . . . . . . . . . . . 629 10.5.5 Configure the SAP R/3 back-end system . . . . . . . . . . . . . . . . . . . 631 10.5.6 Define the JMS provider for the SAP XI JMS adapter . . . . . . . . . 633 10.5.7 Test configured SAP XI together with WBI adapter for SAP XI . . 634 10.5.8 Import the XML schema for DEBMAS01. . . . . . . . . . . . . . . . . . . . 639 10.6 Run the scenario CustomerDataRepository . . . . . . . . . . . . . . . . . . . . . 641 10.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642 Chapter 11. Best practices and lessons learned . . . . . . . . . . . . . . . . . . . 643 11.1 General hints and tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644 11.2 Use Case 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644 11.3 Use Case 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644 11.4 Use Case 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645 11.5 Use Case 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646

viii

WebSphere Business Integration for SAP

Appendix A. Scripts, source, and test data . . . . . . . . . . . . . . . . . . . . . . . 647 Use Case 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648 Use Case 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652 Use Case 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656 Appendix B. Additional material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659 Locating the Web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659 Using the Web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659 System requirements for downloading the Web material . . . . . . . . . . . . . 660 How to use the Web material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660 Abbreviations and acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661 Related publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663 IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663 Other publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663 Online resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663 How to get IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664 Help from IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665

Contents

ix

x

WebSphere Business Integration for SAP

Figures 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 2-9 2-10 3-1 3-2 3-3 3-4 3-5 3-6 3-7 4-1 4-2 4-3 4-4 4-5 4-6 4-7 4-8 4-9 4-10 4-11 4-12 4-13 4-14 4-15 4-16 4-17 4-18 4-19 4-20 4-21

BI Reference Architecture - Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 20 WBI Reference Architecture - Comprehensive Services . . . . . . . . . . . . 25 WBI Reference Architecture - Artifacts . . . . . . . . . . . . . . . . . . . . . . . . . 29 WBI Reference Architecture - Software offerings . . . . . . . . . . . . . . . . . 32 Adapter architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 SAP NetWeaver overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 SAP NetWeaver standards support . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 SAP Exchange Infrastructure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 SAP Web Application Server architecture . . . . . . . . . . . . . . . . . . . . . . . 48 WebSphere Business Integration and SAP Exchange Infrastructure . . 50 Conceptual model of Company A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Conceptual model of Company B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Conceptual model of the merged enterprise . . . . . . . . . . . . . . . . . . . . . 60 Business case diagram - Use Case 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Business case diagram - Use Case 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Business case diagram - Use Case 3 . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Business case diagram - Use Case 4 . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Business Integration with direct connections . . . . . . . . . . . . . . . . . . . . . 74 Business Integration with a central integration broker . . . . . . . . . . . . . . 75 Internal structure of an adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Type description driven by data transformation within an adapter. . . . . 76 Bidirectional communication between an EIS and integration broker . . 77 Different SAP system releases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Typical SAP system landscape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Sketch of a business object Definition “Customer” . . . . . . . . . . . . . . . . 83 Adapter architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Configuration tools for WBI adapters . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 WebSphere InterChange Server Architecture . . . . . . . . . . . . . . . . . . . . 86 On demand Integrated Platform Suite . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Business process execution container architecture . . . . . . . . . . . . . . . . 90 Adapter based integration in WBISF . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 WBI Message Broker extends WBI Event Broker . . . . . . . . . . . . . . . . . 91 WBI Message Broker Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 WBI Adapter for mySAP.com architecture, white board style . . . . . . . . 95 Modules of the WBI Adapter for mySAP.com - detailed view . . . . . . . . 96 Deployment topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 BAPI Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 HDR Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

© Copyright IBM Corp. 2004. All rights reserved.

xi

4-22 4-23 4-24 4-25 4-26 5-1 5-2 5-3 5-4 5-5 5-6 5-7 5-8 5-9 5-10 5-11 5-12 5-13 5-14 6-1 6-2 6-3 6-4 6-5 6-6 6-7 6-8 6-9 6-10 6-11 6-12 6-13 6-14 6-15 6-16 6-17 6-18 6-19 6-20 6-21 6-22 6-23 6-24

xii

RFC Server Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 ALE Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 ABAP Extension Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Architecture of WBI adapter for SAP XI V1.0. . . . . . . . . . . . . . . . . . . . 105 Architecture of WBI Adapter for SAP XI, V2.0 . . . . . . . . . . . . . . . . . . . 106 Logical architecture of Company A . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Logical architecture of Company B . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Logical architecture of merged enterprise . . . . . . . . . . . . . . . . . . . . . . 114 System architecture of merged enterprise . . . . . . . . . . . . . . . . . . . . . . 116 Communications diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Business process flow for Use Case 1a . . . . . . . . . . . . . . . . . . . . . . . 120 Business process flow for Use Case 1b . . . . . . . . . . . . . . . . . . . . . . . 122 Solution detail for Use Case 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Business process flow for Use Case 2 . . . . . . . . . . . . . . . . . . . . . . . . 127 Business process flow for Use Case 3 . . . . . . . . . . . . . . . . . . . . . . . . 132 Solution detail for Use Case 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Business process flow for Use Case 4 . . . . . . . . . . . . . . . . . . . . . . . . 137 Solution detail for Use Case 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Simplified architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Run-time environment diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 IBM DB2 Launchpad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Product Installation window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 IBM DB2 Setup Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 License Agreement window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Installation type selection window . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Installation Features window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 APPC Support Warning window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Language Selection window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 User ID configuration window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Set up the administration contact list window . . . . . . . . . . . . . . . . . . . 158 IBM DB2 instance creation window . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 IBM DB2 instance configuration window . . . . . . . . . . . . . . . . . . . . . . . 160 IBM DB2 tools catalog preparation window . . . . . . . . . . . . . . . . . . . . . 161 Health monitor notification contact window . . . . . . . . . . . . . . . . . . . . . 162 Satellite system information window . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Install options review window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 Installation in progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Setup completion window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 IBM DB2 launchpad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Product installation window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Process warning window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 IBM DB2 setup wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Installation progress window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

WebSphere Business Integration for SAP

6-25 7-1 7-2 7-3 7-4 7-5 7-6 7-7 7-8 7-9 7-10 7-11 7-12 7-13 7-14 7-15 7-16 7-17 7-18 7-19 7-20 7-21 7-22 7-23 7-24 7-25 7-26 7-27 7-28 7-29 7-30 7-31 7-32 7-33 7-34 7-35 7-36 7-37 7-38 7-39 7-40 7-41 7-42

Installation completion window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Operational model: MaterialSynchronization scenario. . . . . . . . . . . . . 175 Operational model: OrderEventNotification scenario. . . . . . . . . . . . . . 176 The Installer language selection dialog . . . . . . . . . . . . . . . . . . . . . . . . 181 Installer welcome page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 The migration prerequisites page . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 The Software License Agreement page. . . . . . . . . . . . . . . . . . . . . . . . 184 The Install location page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Install type selection page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 The installation summary page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 WebSphere Business Integration Event Broker install progress . . . . . 188 The Security Wizard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 The User Select and Create page . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Security Wizard summary page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 Language selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Welcome screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 License agreement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Installation directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 Installation summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 WebSphere MQ library location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Workbench installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Program group selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Final window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Language selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Welcome screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 License agreement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 WebSphere Adapter Framework location . . . . . . . . . . . . . . . . . . . . . . 200 Installation summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Interchange Server name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Program group selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Final window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 MQ Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 WebSphere MQ Listener properties . . . . . . . . . . . . . . . . . . . . . . . . . . 206 The install completion screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 The Message Broker tooling welcome page . . . . . . . . . . . . . . . . . . . . 213 The Getting Started wizard welcome page . . . . . . . . . . . . . . . . . . . . . 214 The broker services user account page . . . . . . . . . . . . . . . . . . . . . . . . 215 Broker domain details page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 The broker details page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 The Getting Started wizard summary page . . . . . . . . . . . . . . . . . . . . . 218 Successful default configuration created . . . . . . . . . . . . . . . . . . . . . . . 218 Standard connector properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Connector specific properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

Figures

xiii

7-43 7-44 7-45 7-46 7-47 7-48 7-49 7-50 7-51 7-52 7-53 7-54 7-55 7-56 7-57 7-58 7-59 7-60 7-61 7-62 7-63 7-64 7-65 7-66 7-67 7-68 7-69 7-70 7-71 7-72 7-73 7-74 7-75 7-76 7-77 7-78 7-79 7-80 7-81 7-82 7-83 7-84 7-85

xiv

Supported Business Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Log and trace file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Standard properties of the connector. . . . . . . . . . . . . . . . . . . . . . . . . . 228 Connector specific properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Supported Business Objects for the ABAP Extension & ALE Module . 232 Log and Trace File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Transaction su01: Maintain User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Transaction sm59: RFC Destination . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Transaction bd54: Logical systems . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Transaction scc4: Link local SAP logical system to a client. . . . . . . . . 238 Transaction bd64: Create a model view . . . . . . . . . . . . . . . . . . . . . . . 239 Transaction bd64: Add a message type to the model view . . . . . . . . . 239 Transaction bd64: Generate Partner Profile . . . . . . . . . . . . . . . . . . . . 240 Generate partner profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Transaction we21: Ports in IDoc processing . . . . . . . . . . . . . . . . . . . . 241 Transaction we20: Partner profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Transaction bd64: Create a model view . . . . . . . . . . . . . . . . . . . . . . . 242 Transaction bd64: Add a message type to the model view . . . . . . . . . 242 Transaction se03 - Transport Organizer . . . . . . . . . . . . . . . . . . . . . . . 244 Repository Namespace view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Repository Namespace view - new entries . . . . . . . . . . . . . . . . . . . . . 246 New Entry details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Transaction STMS - Add transport request to the queue . . . . . . . . . . 251 Transaction STMS - Import Request . . . . . . . . . . . . . . . . . . . . . . . . . . 252 Transaction STMS - Select Target Client . . . . . . . . . . . . . . . . . . . . . . 253 Transaction STMS - Confirmation of transport import . . . . . . . . . . . . . 253 Assign transport layer for the development class . . . . . . . . . . . . . . . . 255 Transaction se38 - ABAP Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Sales order business object processing . . . . . . . . . . . . . . . . . . . . . . . 257 Business Object Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Business Object Repository Browser. . . . . . . . . . . . . . . . . . . . . . . . . . 259 Business Object Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 SAP Easy Access main view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Event type linkages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Event Type Linkages - Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Change View “Instance Linkages” - Overview . . . . . . . . . . . . . . . . . . . 264 Instance Linkages - Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 IBM CrossWorld Station - Development Tab . . . . . . . . . . . . . . . . . . . . 266 CW Configuration Objects - Overview view . . . . . . . . . . . . . . . . . . . . . 267 Change View “IBM CW Object parameter configuration” - Overview . 268 Add business object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 Add BO_EVENTRIGGER.Retrieve . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 Add configuration values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

WebSphere Business Integration for SAP

7-86 7-87 7-88 7-89 7-90 7-91 7-92 7-93 7-94 7-95 7-96 7-97 7-98 7-99 7-100 7-101 7-102 7-103 7-104 7-105 7-106 7-107 7-108 7-109 7-110 7-111 7-112 7-113 7-114 7-115 7-116 7-117 7-118 7-119 7-120 7-121 7-122 7-123 7-124 7-125 7-126 7-127 7-128

Modify BO Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Event distribution - New entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 SAP Object Discovery Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Create a new Integration Component Library . . . . . . . . . . . . . . . . . . . 276 Create new User Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Select the SAP ODA in the Business Object Wizard . . . . . . . . . . . . . 278 Properties in the Business Object Wizard . . . . . . . . . . . . . . . . . . . . . . 279 Select the IDoc in the Business Object Wizard . . . . . . . . . . . . . . . . . . 279 Verify the selection in the Business Object Wizard . . . . . . . . . . . . . . . 280 Supply additional information in the Business Object Wizard . . . . . . . 280 Add the IDoc message type in the application specific information . . . 281 Business Objects in the Integration Component Library . . . . . . . . . . . 282 Business Objects in the User Project. . . . . . . . . . . . . . . . . . . . . . . . . . 283 Business Objects in the Integration Component Library . . . . . . . . . . . 284 New User Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Business Object for the ABAP Extension module . . . . . . . . . . . . . . . . 286 Application specific information - Retrieve . . . . . . . . . . . . . . . . . . . . . . 286 Business Objects in the Integration Library . . . . . . . . . . . . . . . . . . . . . 287 Business Object in the User Project . . . . . . . . . . . . . . . . . . . . . . . . . . 288 System Manager - Broker preferences . . . . . . . . . . . . . . . . . . . . . . . . 289 Deploy to Message Broker workspace . . . . . . . . . . . . . . . . . . . . . . . . 290 Deploy the Business Objects to the Message Broker Toolkit . . . . . . . 291 Deploy the Business Objects to the Message Broker Toolkit . . . . . . . 292 Deploy the Business Objects to the Message Broker Toolkit . . . . . . . 292 Define the CwXML format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Define the CwXML format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Message set Default Wire Format and Runtime Parser . . . . . . . . . . . 294 Create a new message flow project . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 Create a new message flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 The MaterialSynchronization_MsgFlow message flow nodes. . . . . . . 298 The MaterialSynchronization_MsgFlow message flow validated. . . . . 299 MQ Input Node Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Create a new message flow project . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 Create a new message flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 The message flow nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 The pass through message flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 MQ Input Node Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 Deploy broker archive file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 Transaction bd10 - Send Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 Transaction we02 - outbound IDoc log information . . . . . . . . . . . . . . . 314 Transaction we02 - inbound IDoc log information . . . . . . . . . . . . . . . . 315 Test Connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 Test Connector - Create/Select Profile . . . . . . . . . . . . . . . . . . . . . . . . 317

Figures

xv

7-129 7-130 7-131 7-132 7-133 7-134 7-135 7-136 7-137 7-138 7-139 8-1 8-2 8-3 8-4 8-5 8-6 8-7 8-8 8-9 8-10 8-11 8-12 8-13 8-14 8-15 8-16 8-17 8-18 8-19 8-20 8-21 8-22 8-23 8-24 8-25 8-26 8-27 8-28 8-29 8-30 8-31 8-32

xvi

Test Connector - Connector Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 Test Connector - New Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Test Connector - SAP_2Connector profile. . . . . . . . . . . . . . . . . . . . . . 318 Test Connector - Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Transaction va01: Create Sales Order . . . . . . . . . . . . . . . . . . . . . . . . 320 Creating a Standard sales order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 Standard Order created . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 Connector trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 Incoming business object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 Review the business object data in the Test Connector . . . . . . . . . . . 325 Activate trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 Operational model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 WSAD Integration Edition Launchpad . . . . . . . . . . . . . . . . . . . . . . . . . 332 Welcome window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 License agreement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 Installation directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 Installation features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 Installation summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 Final window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 WebSphere Business Integration Server Foundation Launchpad . . . . 336 Installation wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 License Agreement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 Installation type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 WebSphere Business Integration Server Foundation Feature . . . . . . 339 Installation directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 Node name and host name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 Run as service feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 Installation summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 Registration window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 Final installation window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 Select language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 Install Shield welcome window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 License agreement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Customer Information window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 Installation destination folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 Java Runtime Environment folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Security settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Remote Agent Controller access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Ready to install window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Final window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 Language selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 Welcome window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 License agreement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

WebSphere Business Integration for SAP

8-33 8-34 8-35 8-36 8-37 8-38 8-39 8-40 8-41 8-42 8-43 8-44 8-45 8-46 8-47 8-48 8-49 8-50 8-51 8-52 8-53 8-54 8-55 8-56 8-57 8-58 8-59 8-60 8-61 8-62 8-63 8-64 8-65 8-66 8-67 8-68 8-69 8-70 8-71 8-72 8-73 8-74 8-75

Installation directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 Installation summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 WebSphere MQ library location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 Workbench installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 Program group selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 Final window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 Language selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 Welcome window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 License agreement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 WebSphere Adapter Framework location . . . . . . . . . . . . . . . . . . . . . . 356 Installation summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 Interchange Server name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 Program group selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 Final window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 Create new local server and configuration. . . . . . . . . . . . . . . . . . . . . . 361 Local server name and server type . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 Enable administrative console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Set environment variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 Set variable DB2_JDBC_DRIVER_PATH . . . . . . . . . . . . . . . . . . . . . . 365 Set variable MQ_INSTALL_ROOT . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 Enable WebSphere security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 Run administration console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 Create WebSphere MQ JMS connection factory . . . . . . . . . . . . . . . . . 368 Create WebSphere MQ JMS queue destination . . . . . . . . . . . . . . . . . 369 Business Process Container database setup . . . . . . . . . . . . . . . . . . . 371 Business Process Container JMS setup . . . . . . . . . . . . . . . . . . . . . . . 372 Business Process Container JMS resources . . . . . . . . . . . . . . . . . . . . 373 New Integration Component Library . . . . . . . . . . . . . . . . . . . . . . . . . . 375 Integration component library settings . . . . . . . . . . . . . . . . . . . . . . . . . 375 Create a new business object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 New Business Object using ODA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 ODA detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 Search a table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 Select a table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 Business Object properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 Save BO configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 Browsing the Business Object Repository . . . . . . . . . . . . . . . . . . . . . . 380 Business Object properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 Create new connector configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 381 Open connector template. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 Standard connector properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 Connector specific properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 New User project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385

Figures

xvii

8-76 8-77 8-78 8-79 8-80 8-81 8-82 8-83 8-84 8-85 8-86 8-87 8-88 8-89 8-90 8-91 8-92 8-93 8-94 8-95 8-96 8-97 8-98 8-99 8-100 8-101 8-102 8-103 8-104 8-105 8-106 8-107 8-108 8-109 8-110 8-111 8-112 8-113 8-114 8-115 8-116 8-117 8-118

xviii

New user project settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 Deploy WAS project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 Component selection page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 Select the export directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 Select Import data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 Project content directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 Import from file system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 Import wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Generate Deploy Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 Deployment wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 Inbound service files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 Select JNDI name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 File structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 Import from file system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 Import wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 Deployment wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 Inbound service files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 Select JNDI name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 File structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 Adjust reference binding for Queue Connection factory . . . . . . . . . . . 405 Adjust reference binding for Queue Destination . . . . . . . . . . . . . . . . . 406 Add project to Test Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 Adjust reference binding for Queue Connection factory . . . . . . . . . . . 408 Adjust reference binding for Queue Destination . . . . . . . . . . . . . . . . . 409 Add project to Test Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410 Create a new Service Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 Create a new package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 Folder structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 Create a new Service project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 Create a new package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 Create new Service Skeleton. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 Create new port and binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 Define locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 Location for generated classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 Create Business Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418 Select Output operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 Expand external services tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 Drop HR Information Lookup service . . . . . . . . . . . . . . . . . . . . . . . . . . 420 Drop create internal order service . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 Drop Notification service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 Connect business process nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 Staff activity properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 Select activity owner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423

WebSphere Business Integration for SAP

8-119 8-120 8-121 8-122 8-123 8-124 8-125 8-126 8-127 8-128 8-129 8-130 8-131 8-132 8-133 8-134 8-135 8-136 8-137 8-138 8-139 8-140 8-141 8-142 8-143 8-144 8-145 8-146 8-147 8-148 8-149 8-150 8-151 8-152 8-153 8-154 9-1 9-2 9-3 9-4 9-5 9-6 9-7

Properties of getHRData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 Add variable for request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 Add variable for response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 Select staff activity parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 Add variable for staff activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 Deploy code generation properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 File location window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 JNDI name selection window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 Create a new VTC Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 VTC profile list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432 Virtual Test Connector GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432 Create remote deployment server . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 Remote server host name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 Review installation directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 Remote target directory type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 Remote target directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 Application server HTTP port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 Add projects to remote server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 Login to Web client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 Select InternalOrder process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 Start InternalOrder process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 Place first internal order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 Place second internal order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447 Place third internal order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 Internal order request list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450 Processed order details of first order . . . . . . . . . . . . . . . . . . . . . . . . . . 451 Order details of second order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 Order details of third order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 Approvers My To Dos list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 Second order details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 Second order start approval activity. . . . . . . . . . . . . . . . . . . . . . . . . . . 457 Approve second order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 Reject third order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459 Internal order request list after approval . . . . . . . . . . . . . . . . . . . . . . . 461 Second internal order details after approval . . . . . . . . . . . . . . . . . . . . 462 Third internal order details after rejection . . . . . . . . . . . . . . . . . . . . . . 463 Operational model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 WebSphere MQ local queue configuration . . . . . . . . . . . . . . . . . . . . . 468 Creating a queue manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469 Modifying the Configure Queue manager shortcut . . . . . . . . . . . . . . . 469 Configuring the queue manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 Queue manager configuration output . . . . . . . . . . . . . . . . . . . . . . . . . 471 IBM DB2 administrative group creation . . . . . . . . . . . . . . . . . . . . . . . . 472

Figures

xix

9-8 9-9 9-10 9-11 9-12 9-13 9-14 9-15 9-16 9-17 9-18 9-19 9-20 9-21 9-22 9-23 9-24 9-25 9-26 9-27 9-28 9-29 9-30 9-31 9-32 9-33 9-34 9-35 9-36 9-37 9-38 9-39 9-40 9-41 9-42 9-43 9-44 9-45 9-46 9-47 9-48 9-49 9-50

xx

IBM DB2 administration configuration . . . . . . . . . . . . . . . . . . . . . . . . . 472 Startup of IBM DB2 command line processor (CLP) . . . . . . . . . . . . . . 473 DB2 Instance Attach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 Create database command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 Database manager configuration update . . . . . . . . . . . . . . . . . . . . . . . 474 ICSREPOS database configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 474 Installation language selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475 WebSphere InterChange Server InstallShield wizard . . . . . . . . . . . . . 476 License agreement window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476 Installation directory selection window . . . . . . . . . . . . . . . . . . . . . . . . . 477 Installation options window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 Database selection window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 WebSphere InterChange Server name . . . . . . . . . . . . . . . . . . . . . . . . 479 IBM DB2 installation location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 WebSphere InterChange Server service configuration . . . . . . . . . . . . 480 Start programs folder name selection . . . . . . . . . . . . . . . . . . . . . . . . . 481 Review installation options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 Installation progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 WebSphere InterChange Server configuration wizard launch window 482 WebSphere InterChange Server configuration . . . . . . . . . . . . . . . . . . 483 WebSphere InterChange Server configuration - WebSphere MQ . . . . 484 WebSphere InterChange Server configuration - database . . . . . . . . . 485 Configuration update confirmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 WebSphere InterChange Server configuration . . . . . . . . . . . . . . . . . . 486 Installation summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 Installation completion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 Toolset InstallShield wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 WebSphere InterChange Server installation directory . . . . . . . . . . . . . 489 Installation options review window . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489 Installation progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 Installation summary window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 JDBC adapter installation language selection . . . . . . . . . . . . . . . . . . . 491 JDBC adapter InstallShield wizard. . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 License agreement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 Adapter installation directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 Installation options review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 WebSphere InterChange Server name entry window . . . . . . . . . . . . . 494 Start programs folder name selection . . . . . . . . . . . . . . . . . . . . . . . . . 494 Installation progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495 Installation completion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495 start_SAPODA.bat file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496 start_SAP.bat file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 Integration process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498

WebSphere Business Integration for SAP

9-51 9-52 9-53 9-54 9-55 9-56 9-57 9-58 9-59 9-60 9-61 9-62 9-63 9-64 9-65 9-66 9-67 9-68 9-69 9-70 9-71 9-72 9-73 9-74 9-75 9-76 9-77 9-78 9-79 9-80 9-81 9-82 9-83 9-84 9-85 9-86 9-87 9-88 9-89 9-90 9-91 9-92 9-93

System Manager preferences window . . . . . . . . . . . . . . . . . . . . . . . . . 499 WebSphere Studio Workbench . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499 Warning message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 System Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 Project creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 New Integration Component Library . . . . . . . . . . . . . . . . . . . . . . . . . . 501 Launch the SAP Object Discovery Agent (ODA) . . . . . . . . . . . . . . . . . 502 Create New Business Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502 New Business Object dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502 Create new Business Object Using ODA. . . . . . . . . . . . . . . . . . . . . . . 503 Business Object Wizard - agent selection . . . . . . . . . . . . . . . . . . . . . . 503 Business Object Wizard - configure ODA . . . . . . . . . . . . . . . . . . . . . . 504 Business Object Wizard - source selection . . . . . . . . . . . . . . . . . . . . . 505 Business Object Wizard - confirmation of source . . . . . . . . . . . . . . . . 506 Optional parameter prompt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506 Business object generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507 Business Object Wizard - completion . . . . . . . . . . . . . . . . . . . . . . . . . 507 Application-specific information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 sap_bapi_material_availability business object . . . . . . . . . . . . . . . . . . 509 Business Object Wizard - agent selection . . . . . . . . . . . . . . . . . . . . . . 510 Business Object Wizard - agent configuration . . . . . . . . . . . . . . . . . . . 510 Business Object Wizard - source selection . . . . . . . . . . . . . . . . . . . . . 511 Business Object Wizard - confirmation of source . . . . . . . . . . . . . . . . 511 Business object properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512 Business object generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512 Business Object Wizard - completion . . . . . . . . . . . . . . . . . . . . . . . . . 513 db2_AVAILABILITY business object . . . . . . . . . . . . . . . . . . . . . . . . . . 514 db2_REC_COM business object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 db2_WMDVSX Business Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 New business object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 Generic_Business_Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516 Create new map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516 Project selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 Source business object selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 Destination business object selection . . . . . . . . . . . . . . . . . . . . . . . . . 518 Map name and mapping direction specification . . . . . . . . . . . . . . . . . . 518 Mapped: sap_bapi_material_availability to Generic_Business_Object 519 Activity diagram for custom verb mapping rule . . . . . . . . . . . . . . . . . . 520 Map name and mapping direction specification . . . . . . . . . . . . . . . . . . 521 Mapped: Generic_Business_Object to db2_AVAILABILITY object . . . 522 Map name and mapping direction specification . . . . . . . . . . . . . . . . . . 523 Mapped: db2_AVAILABILITY object to Generic_Business_Object . . 524 Custom mapping for db2_AVAILABILITY to Generic_Busines_Object 525

Figures

xxi

9-94 9-95 9-96 9-97 9-98 9-99 9-100 9-101 9-102 9-103 9-104 9-105 9-106 9-107 9-108 9-109 9-110 9-111 9-112 9-113 9-114 9-115 9-116 9-117 9-118 9-119 9-120 9-121 9-122 9-123 9-124 9-125 9-126 9-127 9-128 9-129 9-130 9-131 9-132 9-133 9-134 9-135 9-136

xxii

Map name and mapping direction specification . . . . . . . . . . . . . . . . . . 526 Generic_Business_Object to sap_bapi_material_availability_object . . 527 Create new connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527 New connector template selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 Open file menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 JDBC template file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529 JDBC connector specific properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 JDBC connector specific properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 531 JDBC connector supported business objects . . . . . . . . . . . . . . . . . . . 531 JDBC connector map associations . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 SAP connector template file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 SAP connector-specific properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 SAP connector standard properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 SAP connector supported business objects . . . . . . . . . . . . . . . . . . . . 535 SAP connector map associations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535 Create new collaboration template . . . . . . . . . . . . . . . . . . . . . . . . . . . 535 New collaboration template creation . . . . . . . . . . . . . . . . . . . . . . . . . . 536 Edit template definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536 Port creation and assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536 Scenario creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537 Scenario naming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537 Collaboration scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538 Set collaboration target port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539 Set scenario that triggers collaboration . . . . . . . . . . . . . . . . . . . . . . . . 539 Launch collaboration creation wizard. . . . . . . . . . . . . . . . . . . . . . . . . . 540 Create new collaboration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541 Port bindings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 Collaboration general properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543 WebSphere InterChange Server project creation . . . . . . . . . . . . . . . . 544 New user project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544 Location of PerstentNameServer.bat . . . . . . . . . . . . . . . . . . . . . . . . . . 545 Persistent Name Server startup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545 WebSphere InterChange Server startup . . . . . . . . . . . . . . . . . . . . . . . 545 Register a WebSphere InterChange Server . . . . . . . . . . . . . . . . . . . . 546 Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 Deployment confirmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 Map compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 Collaboration template compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . 548 RFC destinations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549 RFC destination creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550 SAP function module selection screen . . . . . . . . . . . . . . . . . . . . . . . . 551 Test function module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551 Results received as Export parameters . . . . . . . . . . . . . . . . . . . . . . . . 552

WebSphere Business Integration for SAP

10-1 10-2 10-3 10-4 10-5 10-6 10-7 10-8 10-9 10-10 10-11 10-12 10-13 10-14 10-15 10-16 10-17 10-18 10-19 10-20 10-21 10-22 10-23 10-24 10-25 10-26 10-27 10-28 10-29 10-30 10-31 10-32 10-33 10-34 10-35 10-36 10-37 10-38 10-39 10-40 10-41 10-42 10-43

Business process model of Use Case CustomerDataRepository . . . . 556 WebSphere InterChange Server internal processing . . . . . . . . . . . . . 557 SAP Exchange Infrastructure internal components . . . . . . . . . . . . . . . 557 Operational model: CustomerDataRepository implementation . . . . . . 558 Components of a connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560 Architecture of the adapter for Lotus Domino for event processing . . . 562 Create the Customer Contacts database. . . . . . . . . . . . . . . . . . . . . . . 564 Access Control List for Customer Contacts . . . . . . . . . . . . . . . . . . . . . 564 Open Event Table database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565 Event Table configuration document . . . . . . . . . . . . . . . . . . . . . . . . . . 566 Elements of the WBI system manager. . . . . . . . . . . . . . . . . . . . . . . . . 567 Create a new integration library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 Name the new integration library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568 Business object type DominoDocument . . . . . . . . . . . . . . . . . . . . . . . 569 Create New Business Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569 DominoDocument business object type in Business Object Designer 570 New business object Customer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571 Insert the first row for the business object Customer . . . . . . . . . . . . . . 571 Customer business object type in the Business Object Designer . . . . 572 Mapping of a DominoDocument to a Customer business object . . . . . 573 Create a new map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574 Selecting the source of the DominoDocument_Mapping . . . . . . . . . . . 575 Name the map “DominoDocument_Customer” . . . . . . . . . . . . . . . . . . 575 Move transformation for the Verb and ObjectId attributes . . . . . . . . . . 576 Define the initial custom map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577 Execution order of the transformation steps . . . . . . . . . . . . . . . . . . . . 577 Create connector configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579 Standard properties of the connector for Lotus Domino . . . . . . . . . . . 580 Connector specific properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581 Supported Business Objects properties. . . . . . . . . . . . . . . . . . . . . . . . 581 Associated Maps properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581 Messaging properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582 Components of a collaboration template . . . . . . . . . . . . . . . . . . . . . . . 583 Import from Repository File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584 Enter the installation directory of CollaborationFoundation . . . . . . . . . 585 Associate Customer business object & Collaboration Foundation ports585 Using the Visual Test Connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586 Get PortConnector as a copy of DominoConnector. . . . . . . . . . . . . . . 587 Enter PortConnector as ApplicationName . . . . . . . . . . . . . . . . . . . . . . 587 Create New Collaboration Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 Bind ports of Domino2PortConnectorCollaboration . . . . . . . . . . . . . . . 589 Graphical view on Domino2PortConnectorCollaborationObject . . . . . 589 Start registering the ICS to the system manager . . . . . . . . . . . . . . . . . 590

Figures

xxiii

10-44 10-45 10-46 10-47 10-48 10-49 10-50 10-51 10-52 10-53 10-54 10-55 10-56 10-57 10-58 10-59 10-60 10-61 10-62 10-63 10-64 10-65 10-66 10-67 10-68 10-69 10-70 10-71 10-72 10-73 10-74 10-75 10-76 10-77 10-78 10-79 10-80 10-81 10-82 10-83 10-84 10-85 10-86

xxiv

Specify the ICS instance to the system manager . . . . . . . . . . . . . . . . 590 Connect the System Manager to the InterChange Server instance. . . 591 Select New ICS Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591 Create CustomerDataRepostory_Proj . . . . . . . . . . . . . . . . . . . . . . . . . 591 Call Deploy user project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592 Deploy CustomerDataRepository_Proj . . . . . . . . . . . . . . . . . . . . . . . . 592 Shutdown ITSOC_WICS gracefully . . . . . . . . . . . . . . . . . . . . . . . . . . . 593 Check that components of ITSOC_WICS are activated . . . . . . . . . . . 593 Create new profile for VTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594 Select profile in VTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594 Connect the VTC to ICS using the selected profile . . . . . . . . . . . . . . . 595 Create “Contact” document in “Customer Contacts” database . . . . . . 596 Event in “Event Table” database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596 Received business object in VTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597 Attribute values of received business object . . . . . . . . . . . . . . . . . . . . 597 Request processing of the adapter for SAP XI . . . . . . . . . . . . . . . . . . 598 Issuing New Using ODA within the Business Object Designer . . . . . . 600 Select XML ODA Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600 Enter the file name of the DEBMAS01 XML schema file . . . . . . . . . . . 601 Select DEBMAS01 as the source node for ODA generation . . . . . . . . 601 Save generated business object to CustomerDateRepository library . 601 Select ROOT attribute as key for business object DEBMAS01 . . . . . . 602 Definition of map Customer_Debmas01 . . . . . . . . . . . . . . . . . . . . . . . 603 Name map Customer_Debmas01 and select Mapping Direction . . . . 604 Name the meta-object MO_SAPXIConnector . . . . . . . . . . . . . . . . . . . 605 Insert new row in MO_SAPXIConnector . . . . . . . . . . . . . . . . . . . . . . . 605 Define values for MO_SAPXIConnector . . . . . . . . . . . . . . . . . . . . . . . 605 Definition of XML data-handler meta-object. . . . . . . . . . . . . . . . . . . . . 607 Connector specific properties of the SAPXIConnector . . . . . . . . . . . . 608 Supported business objects for the SAPXIConnector . . . . . . . . . . . . . 609 Specify “Customer_Debmas01” as associated maps . . . . . . . . . . . . . 609 Shared queues between SAP XI and WBI Adapter for SAP XI . . . . . . 610 Overview: SAP XI processing for CustomerDataRepository . . . . . . . . 611 General components of SAP XI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612 Entities to be configured within the Integration Directory . . . . . . . . . . . 613 SAP Exchange Infrastructure Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . 615 Links for configuring Technical and Business Landscape in SLD . . . . 615 New technical system type Web AS ABAP . . . . . . . . . . . . . . . . . . . . . 616 Technical System Wizard for registering R/3 back end . . . . . . . . . . . . 616 Register Software in SLD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 New technical system of type Third-Party . . . . . . . . . . . . . . . . . . . . . . 617 Technical System Wizard for registering InterChange Server . . . . . . . 617 New Business System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618

WebSphere Business Integration for SAP

10-87 Definition of business system EnterpriseCore in SLD . . . . . . . . . . . . . 618 10-88 Definition of business system MasterDataEntrySystem in SLD. . . . . . 619 10-89 Create scenario CustomerDataRepository . . . . . . . . . . . . . . . . . . . . . 620 10-90 Start assigning Business System to CustomerDataRepository . . . . . . 620 10-91 Assign Business System EnterpriseCore . . . . . . . . . . . . . . . . . . . . . . 621 10-92 Create a new communication channel . . . . . . . . . . . . . . . . . . . . . . . . . 621 10-93 Parameter values for communication channel JMS2XI . . . . . . . . . . . . 622 10-94 XI Settings for communication channel JMS2XI . . . . . . . . . . . . . . . . . 622 10-95 Modules for the communication channel JMS2XI . . . . . . . . . . . . . . . . 623 10-96 Module configuration for communication channel JMS2XI . . . . . . . . . 623 10-97 Parameter values for communication channel IDOC2IDS . . . . . . . . . . 624 10-98 Sender agreement for sender MasterDataEntrySystem . . . . . . . . . . . 625 10-99 Start creating a receiver determination . . . . . . . . . . . . . . . . . . . . . . . . 625 10-100 Specification of the receiver determination . . . . . . . . . . . . . . . . . . . . 626 10-101 Edit Interface Determination. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627 10-102 Edit receiver agreement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628 10-103 Activate the Change List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629 10-104 RFC destination IDS800 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630 10-105 Create port for IDoc adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630 10-106 Load metadata for IDoc type DEBMAS01 . . . . . . . . . . . . . . . . . . . . . 631 10-107 Specify RFC destination C11CLNT800 . . . . . . . . . . . . . . . . . . . . . . . 632 10-108 Create distribution model DEBMASFROMXI . . . . . . . . . . . . . . . . . . . 632 10-109 Add message type to the distribution model . . . . . . . . . . . . . . . . . . . 633 10-110 Test configured SAP XI together with WBI adapter for SAP XI . . . . . 634 10-111 Tree view on PortConnector2SAPXICollaboration. . . . . . . . . . . . . . . 635 10-112 Update user project “CustomerDataRepository_Proj” . . . . . . . . . . . . 635 10-113 Create business object of type Customer within the VTC . . . . . . . . . 636 10-114 Send the business object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636 10-115 Check the business object DEBMAS01 in InterChangeSystem.log. . 637 10-116 SAP XI Integration Engine Monitoring . . . . . . . . . . . . . . . . . . . . . . . . 637 10-117 Processed XML Messages within the SAP Integration Server . . . . . 638 10-118 List of processed IDocs within . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638 10-119 Details of received IDoc within SAP R/3 . . . . . . . . . . . . . . . . . . . . . . 639 10-120 Start importing IDoc from the SAP back end . . . . . . . . . . . . . . . . . . . 640 10-121 Choose DEBMAS01 for import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640 10-122 Change list after importing DEBMAS01 . . . . . . . . . . . . . . . . . . . . . . . 641 10-123 Export DEBMAS01 as XSD file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641 10-124 Collaboration object Domino2SAPXICollaboration . . . . . . . . . . . . . . 642

Figures

xxv

xxvi

WebSphere Business Integration for SAP

Tables 2-1 2-2 2-3 4-1 5-1 5-2 5-3 6-1 6-2 7-1 7-2 7-3 7-4 7-5 7-6 7-7 7-8 7-9 7-10 7-11 7-12 8-1 8-2 8-3 8-4 8-5 9-1 9-2 9-3 9-4 9-5 9-6 9-7 9-8 9-9 9-10 9-11 10-1

Integration styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Integration terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 IBM WebSphere Business Integration product family . . . . . . . . . . . . . . 15 Integration brokers characteristics matrix . . . . . . . . . . . . . . . . . . . . . . . 93 Use Case characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Integration servers in merged enterprise . . . . . . . . . . . . . . . . . . . . . . . 117 Communications mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Technology matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Run-time environment components . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 Prerequisites: WebSphere Business Integration Message Broker . . . 177 Product installation directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 The security groups that are created by the Security Wizard . . . . . . . 189 Connector queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Connector queues for the ALE module . . . . . . . . . . . . . . . . . . . . . . . . 208 Components created by the Getting Started wizard . . . . . . . . . . . . . . 212 Standard connector properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Connector specific properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Standard connector properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 Connector specific properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 Connector transport files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 ODA configuration parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Software prerequisite list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 Product installation directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Adapter queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 WebSphere Application Server interaction patterns . . . . . . . . . . . . . . 387 Test data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 ODA configuration parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503 Recommended business object property values . . . . . . . . . . . . . . . . . 506 ODA configuration parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510 Mapping: sap_bapi_material_availability to Generic_Business_Object519 Mapping for Generic_Business_Object to db2_AVAILABILITY . . . . . . 521 Mapping for db2_AVAILABILITY to Generic_Business_Object . . . . . . 523 Mapping: Generic_Business_Object to sap_bapi_material_availability526 JDBC Connector: Connector-Specific tab recommended settings . . . 529 Standard properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 SAP Connector Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533 Standard properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 Host specific configurations: implementation of ICS on node ITSOC . 559

© Copyright IBM Corp. 2004. All rights reserved.

xxvii

10-2 10-3 10-4 10-5 10-6 10-7 10-8 10-9

xxviii

Files to copy into the Domino server directories . . . . . . . . . . . . . . . . . 565 Add-on to NOTES.INI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566 Entries within NOTES.INI for HTTP and IIOP . . . . . . . . . . . . . . . . . . . 566 Copying NCSO.jar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566 Standard properties for the connector for SAP XI . . . . . . . . . . . . . . . . 607 Named entities within the SAP XI configuration. . . . . . . . . . . . . . . . . . 614 Adding WebSphere MQ Java libraries aii_af_jmsproviderlib.sda . . . . 633 Modifications within the file server/providerlib . . . . . . . . . . . . . . . . . . . 633

WebSphere Business Integration for SAP

Notices This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service. IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing, IBM Corporation, North Castle Drive Armonk, NY 10504-1785 U.S.A. The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you. This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice. Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk. IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental. COPYRIGHT LICENSE: This information contains sample application programs in source language, which illustrates programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. You may copy, modify, and distribute these sample programs in any form without payment to IBM for the purposes of developing, using, marketing, or distributing application programs conforming to IBM's application programming interfaces.

© Copyright IBM Corp. 2004. All rights reserved.

xxix

Trademarks The following terms are trademarks of the International Business Machines Corporation in the United States, other countries, or both: AIX® Everyplace® pSeries® CrossWorlds® Holosofx® Rational® DB2® IBM® Redbooks™ DB2 Universal Database™ ibm.com® Redbooks (logo) ™ Domino® Lotus® Sametime® Domino Designer® Lotus Notes® Tivoli® e-business on demand™ MQSeries® WebSphere® Eserver® Notes® z/OS® Eserver® Parallel Sysplex® The following terms are trademarks of other companies: Intel Inside (logos) and Pentium are trademarks of Intel Corporation in the United States, other countries, or both. Microsoft, Windows, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Other company, product, and service names may be trademarks or service marks of others.

xxx

WebSphere Business Integration for SAP

Preface This IBM® Redbook demonstrates the use of WebSphere® Business Integration products to integrate data and processes located in SAP back-end systems. The flexible WebSphere Business Integration Server architecture and the wide range of available application and technology adapters offers the customer a very fast implementation cycle by protecting already made investments. After a review of the general challenges that business integration middleware has to master, the first part of this redbook describes how these requirements are addressed by the IBM WebSphere Business Integration product suite. The book explains how WebSphere Business Integration supports the IBM On Demand strategy and how it relates to Enterprise Service Architectures from other vendors like SAP NetWeaver. The second part introduces common business integration drivers and develops ordinary Use Cases to demonstrate the capabilities of IBM WebSphere Business Integration servers in general and especially the two actual SAP related IBM WebSphere Business Integration Adapters. The business cases illustrate how important it is to have a flexible middleware that can rapidly create new business processes and connect back-end data within a heterogeneous system landscape. The third part describes four of these Use Cases in more technical detail. A separate environment is created for each Use Case to implement the respective Use Case scenario. The following WebSphere Business Integration adapters are utilized to implement the Use Cases: 򐂰 IBM WebSphere Business Integration Adapter for SAP V5.5.0 򐂰 IBM WebSphere Business Integration Adapter for SAP Exchange Infrastructure V1.0 򐂰 IBM WebSphere Business Integration Adapter for JDBC V2.4.0 򐂰 IBM WebSphere Business Integration Adapter for JText V5.4.0 򐂰 IBM WebSphere Business Integration Adapter for Lotus® Domino® V1.1.0 The business case scenario is specifically contrived to illustrate all integration approaches the above adapters provide, and at the same time, an attempt is made to avoid any fictitious solutions. The final chapter discusses “lessons learned”, and the appendixes include the source code and scripts used to create the Use Case environments.

© Copyright IBM Corp. 2004. All rights reserved.

xxxi

The team that wrote this redbook This redbook was produced by a team of specialists from around the world working at the International Technical Support Organization, Raleigh Center.

Figure 1 The Authors: Top left: Sudha, Torsten, Saida, Niall, Reinhard Bottom Left: Tony, Tino, Khirallah

Saida Davies is a Project Leader with the International Technical Support Organization (ITSO). She is a certified senior IT specialist and has fifteen years of experience in IT. Saida has published several Redbooks™ on various business integration scenarios. She has experience in the architecture and design of WebSphere MQ solutions, has extensive knowledge of IBM z/OS® operating system, and a detailed working knowledge of both IBM and Independent Software Vendors’ operating system software. A customer facing role with IBM Global Services included the development of services for WebSphere MQ within the z/OS and Windows® platform. This covered the architecture, scope, design, project management, and implementation of the

xxxii

WebSphere Business Integration for SAP

software on stand-alone systems or on systems in a Parallel Sysplex® environment. She has a degree in Computer Science and her background includes z/OS systems programming. Khirallah Birkler is an IT Architect for IBM SWG Germany. He joined IBM six years ago and started at the central site of IBM that installs, tests, and assesses all new SAP products, releases, and tools. In the last three years, he has been working for the Software Group Business Partner Technical Support in the Boeblingen lab. His main responsibility is to evaluate, design, and architect areas where IBM and SAP software can be used in conjunction. Khirallah helps worldwide key customers assess scenarios where IBM software can be placed to complement SAP infrastructures. He has seven years experience in the J2EE software development area. He is an IBM Certified Systems Expert for WebSphere Application Server V5 and has five years of experience with SAP Basis, from 4.0 to the latest NetWeaver release. He holds a Bachelor of Science degree in Information Technology Management from the University of Cooperative Education, Stuttgart. Khirallah has played an extensive role in further discussions of this redbook, providing updates, re-writes, and reviews to complete this redbook. Niall Cargill is a Senior IT Specialist with the IBM Software Innovation Center and has been in the IT industry for seven years. He has a Bachelor of Science degree in Chemical Engineering from the University of Minnesota. Niall is a Sun Certified Java™ Programmer for the Java 2 Platform. He also holds product certifications in IBM WebSphere Application Server Version 4 and Version 5, as well as IBM WebSphere Studio Application Developer Version 4 and Version 5. Niall has five years of experience working with WebSphere Application Server and its supporting products. Tino Friedemann is a IT Specialist with the IBM Software Group, Germany. He joined IBM six years ago and has been working in the SAP area for the last two years. Tino has a public certification as an IT-Systems Engineer and is currently studying for a degree in Computer Science while working as a full-time employee at IBM. Tino is also a Certified Lotus Sametime® and WebSphere Studio Developer. At IBM Software Service for Lotus in Mainz, he is responsible for driving the WebSphere technology in the SAP market. He supports Business Partners, Customers, and IBM colleagues all over the world. Tino is a technical speaker at many public events, such as Cebit, IBM Software Symposium, and Developer Camp. He supports WebSphere and Lotus product development, in order to include the customer and the partner requirements as well as experiments into these products. Technologies like Meta-Portal initiatives at IBM and SAP adapter innovations in Business Partner products were mainly driven by him.

Preface

xxxiii

Reinhard Heite is an IT Specialist with IBM Germany. He has fifteen years of experience working for IBM and his areas of expertise include distributed computing, IT security, and designing and implementing e-business solutions. He holds a degree in Computing Science from the University of Bonn and received a Ph.D. in Computing Science from the University of Erlangen. Currently, he works for the IBM/SAP Collaboration Technology Support Center (CTSC) in Waldorf, on interoperability scenarios between IBM WebSphere and SAP NetWeaver. Reinhard has played an extensive role in further discussions of this redbook, providing updates, re-writes, and reviews in order to complete this redbook. Tony Shan is a Lead Systems Architect at Wachovia Bank. He has extensive experience in leading life-cycle design and development of large-scale distributed systems on diverse platforms using a variety of cutting-edge technologies and unified/agile methodologies. Tony holds three Masters degrees in Engineering and Science, and is a Sun Certified Java 2 Programmer, Sun Certified Enterprise Architect, and IBM Certified e-business Solution Designer, as well as a Sun Certified Faculty Instructor. He is a member of numerous professional associations and honorary societies. Tony is also a co-founder of the Greater Charlotte Rational® User Group. He has been a speaker at different conferences and taught courses on various topics in a public corporate training program. Tony co-authored the redbook WebSphere MQ Solutions in a Microsoft .NET Environment, SG24-7012, published in 2004. Sudha Chandra Veerni is a Senior Software Engineer for Miracle Software Systems (I) Pvt Ltd. He holds a Masters degree in Business Administration from Andhra University, India. He has over four years of experience in the IT industry in the areas of EAI / B2B applications and Web Development. His areas of expertise include SAP-ABAP/4, Enterprise Application Integration using WebSphere Business Interchange Server, WebSphere MQ, and WDI. Torsten Wilms is an IT Specialist at IBM Global Services. He works for the IBM AMS SAP World Wide Beta Test Site in Germany, which is the SAP Customer Competence Center within IBM that installs, tests and assesses all new SAP products, releases, and tools. He also works in the EMEA AMS IGA on demand Center of Competence, which supports AMS in their efforts to become an on demand business. After obtaining his degree in Business Information Systems, he joined IBM in 2001. He has experience with SAP and IBM WebSphere products as well as with J2EE and Lotus Notes® software development. Torsten has played an extensive role in further discussions of this redbook, providing updates, re-writes, and reviews to complete this redbook. The ITSO would like to express its special thanks to the IBM SAP International Competence Center (ISICC) in Waldorf, Germany for hosting this project,

xxxiv

WebSphere Business Integration for SAP

providing the human resources, hardware, software, and access to SAP systems. Sincere thanks to the following persons: 򐂰 Dr. Herbert Kratzer for the loan of the additional hardware during and after the residency period. 򐂰 Jochen Hinrichs, Bernd Shoener, and Reinhard Heite for their assistance in planning and facilitating the residency and the preparation work required to run this residency at the ISICC in Waldorf, Germany. 򐂰 Reinhard Heite for assisting with all the preparation work, which set the team off to a smooth start from the first day of the residency; also, physically moving the machines from floor to floor and looking after the loan hardware. 򐂰 Jens Hagen from SAP for his support and assistance with legal requirements. 򐂰 Holger Kunitz from SAP AG for his valuable consulting time towards the installation and configuration of SAP XI. The ISICC was a special place for the residency. The redbook team would like to thank the following people for their guidance, assistance, and contributions to this project: Dr. Herbert Kratzer, Manager, zServer Software System Evaluation + Test IBM Germany Jochen Hinrichs, Manager Software, IBM SAP International Competence Center IBM Germany Bernd Schoener, IBM/SAP Alliance Technology Executive IBM SAP International Competence Center IBM Germany Reinhard Heite, IT Specialist, IBM/SAP Middleware, IBM Global Services/Application Management Services IBM Germany Thomas Kasemir, Team Lead Lab-based Services for WPC IBM Germany Jonas Grundler, WPC, WPS, and WebService Expert IBM Germany Jens Hagen, Global Partner Manager Software and Global Partner Management SAP AG

Preface

xxxv

Holger Kunitz, SAP NetWeaver RIG, Exchange Infrastructure SAP AG Anthony Lowry, Certified WebSphere Business Integration Tech Sales Specialist IBM USA Morgan D Nerriec, WebSphere Business Integration Level 2 Customer Support IBM Germany Hans Joachim Dresen, Manager, IBM SAP International Competence Center Systems Group IBM Germany Herbert Diether, SAP R/3 on pSeries® IBM Germany Daniel Malhotra, IBM AMS World Wide SAP Beta Test Site IBM Germany Ralph Voelter, IBM AMS World Wide SAP Beta Test Site IBM Germany Rainer Gallus, IBM AMS World Wide SAP Beta Test Site IBM Germany Herbert Diether, IBM SAP International Competence Center IBM Germany Carol Davis, IBM SAP International Competence Center IBM Germany Steve Hellin, IT Architect, WebSphere Business Integration Services IBM USA Tom Reed, Curriculum Development Manager, WebSphere Business Integration IBM USA Wolfgang Preiss, WebSphere Business Integration Level 2 Customer Support IBM Germany Olaf Hoffmann, Software Technical Support Specialist WebSphere ICS & WebSphere Business Integration Adapter IBM Germany Rainer Staib, Leiter Practice Area TS Communications / mySAP Technology IBM Germany

xxxvi

WebSphere Business Integration for SAP

Steffen Hegner, WebSphere Business Integration Technical Presales Central / WebSphere MQ / WebSphere Business Integration Message Broker IBM Germany Sascha Koehler, WebSphere Tech Sales, SWG PubCo IBM Germany Hartmut Grell, Technical Sales, WebSphere Business Integration IBM Germany Edzard Hallenga, Migration, ABAPs, Interfaces, ALE, IDoc, eCATT, and CATT Site IBM Germany The redbook team would like to thank the following people for volunteering to review this book: Julius Peter, WW SAP Alliance Sales Executive, IBM Software Group IBM Austria Roberto P Mascarenhas IBM Brazil Axel J Schwarz, Software IT Architect IBM Germany Steffen Hegner, WebSphere BI Technical Presales Central / WebSphere MQ / WebSphere Business Integration Message Broker IBM Germany Jens Wanske, IT Specialist IBM Germany Daniel Malhotra, IT Specialist IBM Germany Ralph Voelter, IT Specialist, WebSphere Product Landscape IBM Germany Caecilie Hampel IBM Germany Morgan D Nerriec, WebSphere Lab based Services IBM Germany Kai-Hendrik Komp, Senior IT Specialist (accredited) Lotus Software IBM Germany

Preface

xxxvii

Sandro Schwedler, IT Specialist, Software Innovation Team (SWIT) IBM Germany Sebastian Klare, Specialty Software Sales Representative, Business Integration, IBM Germany Elise Sivilay, WebSphere IT Specialist/WebSphere-SAP Integration/Software Innovation Centers IBM Chicago Darren Cacy, Certified I/T Architect IBM Kansas City Naguib Attia, B2B and e-business Integration Industrial Solutions IBM Charlotte Georg Kather, SWG - ISSL - Portal-SAP Competence Team, Central Region, IBM Germany Kay Baumgartel, SWG - IBM Software Services for Lotus, Manager Competitive SWAT Team Central Region IBM Germany Markus Hieronimus, IBM SWG WebSphere Central BUE IBM Germany Axel Sass, SAP SWAT Team Portal Specialist IBM Germany The redbook team would like to thank the following people for providing valuable feedback after a review of this book: Jens Wanske, IT Specialist IBM Germany Daniel Malhotra, IT Specialist IBM Germany Ralph Voelter, IT Specialist, WebSphere Product Landscape IBM Germany Caecilie Hampel IBM Germany Morgan D Nerriec, WebSphere Lab based Services IBM Germany

xxxviii

WebSphere Business Integration for SAP

Become a published author Join us for a two- to six-week residency program! Help write an IBM Redbook dealing with specific products or solutions, while getting hands-on experience with leading-edge technologies. You'll team with IBM technical professionals, Business Partners and/or customers. Your efforts will help increase product acceptance and customer satisfaction. As a bonus, you'll develop a network of contacts in IBM development labs, and increase your productivity and marketability. Find out more about the residency program, browse the residency index, and apply online at: ibm.com/redbooks/residencies.html

Comments welcome Your comments are important to us! We want our Redbooks to be as helpful as possible. Send us your comments about this or other Redbooks in one of the following ways: 򐂰 Use the online Contact us review redbook form found at: ibm.com/redbooks

򐂰 Send your comments in an Internet note to: [email protected]

򐂰 Mail your comments to: IBM Corporation, International Technical Support Organization Dept. HZ8 Building 662 P.O. Box 12195 Research Triangle Park, NC 27709-2195

Preface

xxxix

xl

WebSphere Business Integration for SAP

Part 1

Part

1

Overview This part provides descriptions of the objectives of this redbook project, what it covers and does not cover, an overview of how the book is organized, an introduction to the concepts and terminology used in this publication, and general descriptions of technologies related to the sample business scenario solution illustrated in the later chapters. It also includes more detailed discussion on the IBM WebSphere Business Integration product and SAP integration. Part I is comprised of Chapters 1 to 2. Chapter 1, “Introduction and book structure” on page 3 describes the objectives of this redbook project and a high-level overview of what it covers. Chapter 2, “Business Integration technology concepts” on page 9 explores the integration technologies offered by IBM and SAP. The interoperability of WebSphere Business Integration and an SAP system are addressed.

© Copyright IBM Corp. 2004. All rights reserved.

1

2

WebSphere Business Integration for SAP

1

Chapter 1.

Introduction and book structure This chapter describes the objectives of this IBM Redbook and provides a high-level overview of what this book covers. It also contains an overview of how this book is organized.

© Copyright IBM Corp. 2004. All rights reserved.

3

1.1 Objectives Integration of enterprise processes and applications is an important focus area of today’s e-business solutions. In a heterogeneous environment, integration becomes more challenging, as various types of solution options are available for integrating different platforms and technologies. Appropriate integration solutions promise great cost and efficiency benefits by automating and controlling the interactions of disparate systems. They are also the essential supporting technologies for Business Process Management (BPM) and thus an enabler for Business-to-Business (B2B) technology.

1.2 What this book is This book is about business application and process integration between disparate systems. The primary focus is: 򐂰 WebSphere Business Integration brokers for various integration styles 򐂰 WebSphere Business Integration adapters for SAP integration 򐂰 Application connectivity and process orchestration Some key integration features of business integration are demonstrated in the solution design of a sample business scenario. The capabilities of WebSphere Business Integration (WBI) in application connectivity and process orchestration are shown in the implementation. In particular, the various connectivity approaches of WebSphere Business Integration brokers and adapters to SAP back-end systems are investigated and various combinations of usage scenarios are explored. All brokers and SAP specific WebSphere Business Integration adapters are utilized in the integration solution development. The use of process orchestration in asynchronous workflow processes that use staff interaction are also shown in the book. This book provides an overview of the business integration landscape, but focuses on the capabilities of the WebSphere Business Integration (WBI) product set to incorporate SAP back-end systems into WBI infrastructures. The objectives are listed as follows: 򐂰 Review different technology options for process integration and application connectivity. 򐂰 Justify WebSphere Business Integration for SAP integration. 򐂰 Illustrate different integration styles. 򐂰 Design a solution to a sample business case. 򐂰 Implement the major Use Cases in the solution.

4

WebSphere Business Integration for SAP

򐂰 Document best practice guidance and lessons learned in integration implementation. 򐂰 Briefly discuss trends and convergence of related technologies.

1.3 How this book is organized This section describes the organization of this publication.

1.3.1 Part structure This book follows a structure with the intention to make the reading experience more valuable and to provide separate parts for different interest groups. This redbook consists of three parts: 򐂰 Part 1, “Overview” on page 1 򐂰 Part 2, “Business scenario solution design” on page 51 򐂰 Part 3, “Business scenario solution implementation” on page 143 Part I is comprised of Chapters 1 and 2. These chapters describe the objectives of this redbook project, what this book covers, and what this redbook does not cover. It includes an overview of how the book is organized and an introduction to the concepts and terminology used in this publication. It contains general descriptions of the technologies related to the sample business scenario solution built in the later chapters and a more detailed discussion on IBM WebSphere Business Integration products and the SAP NetWeaver technology platform. Part 2 consists of Chapters 3 through 5. Part 2 introduces a sample business case scenario with individual Use Case specifications. It provides an analysis of the integration requirements and a review of various technology options. The last chapter of this part designs a solution to illustrate the integration of SAP back-end systems into a WebSphere Business Integration infrastructure. Part 3 is composed of Chapters 6 to 11. The third part contains system installation and configuration descriptions. Detailed nuts-and-bolts implementations of the solution designed in the early chapters are explained, divided by Use Case to show all the modules of the various adapters that are capable of integrating SAP back-end systems. The last

Chapter 1. Introduction and book structure

5

chapter includes best practices and lesson learned about the implementation as well as future trends.

1.3.2 Chapter structure The following is an overview of all the chapters in this redbook. Chapter 1, “Introduction and book structure” on page 3: This chapter describes the objectives of this redbook project and includes a high-level overview of what this redbook is about. Chapter 2, “Business Integration technology concepts” on page 9: This chapter explores the integration technologies offered by IBM and SAP. The interoperability of WebSphere Business Integration and the SAP system is addressed. Chapter 3, “Business case scenario” on page 53: This chapter introduces a sample business case scenario and defines four Use Cases as business requirements. Constraints and assumptions are also included for IT implementation. Chapter 4, “Solution approaches and technology options” on page 73: This chapter analyzes the business case scenario and identifies the appropriate integration styles to be used. Various integration technology options are reviewed, with detailed product mappings. Chapter 5, “Solution design” on page 109: This chapter defines a solution to the business case scenario from architecture, process flow, messaging interactions, and operation model perspectives. Appropriate broker and adapter technologies are rationalized. Chapter 6, “Environment setup” on page 145: This chapter specifies the run-time environment for the business case scenario. It contains an environment overview, hardware specifications, technology matrix, and common software installation. Chapter 7, “Use Case 1: WBIMB using WBI Adapter for mySAP.com” on page 173: This chapter shows how to implement the solution designed for Use Case 1 with WebSphere Business Integration Message Broker using WebSphere Business Integration Adapter for mySAP.com. Chapter 8, “Use Case 2: WBISF using WBI Adapter for mySAP.com” on page 327: This chapter shows how to implement the solution designed for Use Case 2 with WebSphere Business Integration Server Foundation using WebSphere Business Integration Adapter for mySAP.com.

6

WebSphere Business Integration for SAP

Chapter 9, “Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC” on page 465: This chapter shows how to implement the solution designed for Use Case 3, WebSphere InterChange Server using WebSphere Business Integration Adapter for mySAP.com and Java Database Connectivity. Chapter 10, “Use Case 4: Integration of SAP XI with WBI InterChange Server” on page 555: This chapter shows how to implement the solution designed for Use Case 4 with Integration of SAP XI and WebSphere Business Integration InterChange Server. Chapter 11, “Best practices and lessons learned” on page 643: This chapter contains the general hints and tips obtained in the design and implementation of the sample business application as well as discussions on the trends and related emerging technology.

1.4 What this book does not cover This book does not attempt to make a business case for business integration, nor does it categorize integration landscape or define integration patterns. There are many publications on these subjects that can be used as reference. Instead, the primary features of the WebSphere Business Integration product suite is reviewed, and where and when WebSphere Business Integration can be used to incorporate SAP back-end systems is illustrated. All features offered in WebSphere Business Integration product family are not demonstrated in this book, due to the resource and time constraints. Business integration scenarios that utilize WebSphere MQ Workflow are not included in this book. Enterprise features like clustering, scalability, fail-over, and performance are not discussed. The integration standards that are irrelevant to the integration styles covered are not discussed in this publication. Finally, the relevant product documentation must be consulted, if additional information is required for a particular product or tool.

Chapter 1. Introduction and book structure

7

8

WebSphere Business Integration for SAP

2

Chapter 2.

Business Integration technology concepts This chapter gives an introduction to business integration capabilities provided by the IBM WebSphere Business Integration (WBI) product family and explores the integration technologies offered by IBM and SAP. It describes the IBM Business Integration Reference Architecture and the SAP NetWeaver technology stack. It also addresses the integration of SAP back-end systems to an IBM WebSphere Business Integration infrastructure.

© Copyright IBM Corp. 2004. All rights reserved.

9

2.1 Technology overview This paragraph describes the general technology, concepts, styles, models, and terminologies used in common business integration scenarios.

2.1.1 Business Integration needs A typical enterprise consists of a heterogeneous system landscape that is historically grown. It is not uncommon that an enterprise has dozens of technology islands, such as traditional legacy systems, multiple instances of Enterprise Resource Planning (ERP) systems from different vendors, and countless custom-built departmental solutions. Naturally, these systems are implemented by different technologies and execute on disparate operating system platforms. The driver of this heterogeneous development is the business itself. This was the rationale in the past and can be the reason for future IT transformations. At present, there are various business application vendors in the market that provide standard solutions in certain business segments. Every vendor is typically specialized in a specific business area. With the complex and ever-changing business requirements, one-stop-shopping for enterprise applications is usually neither possible nor practical to IT organizations. Currently, there is no ERP solution in the market that is virtually capable of completely covering an enterprise at the requested level of detail. This causes the existence of system landscapes composed of best-of-breed business applications. Enterprises take the opportunity to apply such best-of-breed applications to solve particular business requirements. The fact that any enterprise consists of multiple business areas justifies the rich integration capabilities of appointed business applications that are naturally on demand. Business requirements arise permanently and affect the evolution the fulfillment of a system landscape. Even simple business requirements can lead to fairly complex and challenging requirements for the affected systems. Users, such as vendors, suppliers, business partners, or even employees, generally do not think about system boundaries when they interact with a business. They execute business functions, regardless of how many internal systems the business function cuts across. For example, a customer may call to change his or her mailing address and see whether the last payment was received. In many enterprises, this simple request may span across the customer care and billing systems. Similarly, a customer placing a new order can require the coordination of many systems. The business needs to validate the customer ID, verify the customer’s good standing, check inventory, fulfill the order, get a shipping quote, compute sales tax, send a bill, and so on. This processes may easily span

10

WebSphere Business Integration for SAP

across multiple different systems. From the customer’s perspective, it is only a fairly simple, single business transaction. These applications must be integrated in order to support common business processes. The business integration solution of choice has to feature special enterprise characteristics in the areas of reliability, scalability, and security to deliver a certain quality of service.

2.1.2 Integration challenges By definition, enterprise integration deals with multiple applications running on diverse platforms which are distributed. Standard business application software vendors offer integration suites that provide cross-platform integration. Additionally, the ability to interface with many other popular, packaged business applications has become more and more important. However, this technical infrastructure presents only a small portion of the integration complexities. The true challenges of integration span far across business and technical issues. Enterprise integration requires a significant shift in IT alignments. Business applications generally focus on a specific functional area, such as Customer Relationship Management (CRM), Billing, Finance, and so on. As a result, many IT groups are organized in alignment with these functional areas. Successful enterprise integration needs to establish integration links between these different business units and IT departments. In an integrated enterprise application landscape, the groups that control specific applications have to provide well defined interfaces and methodologies to participate in the overall meshwork of integrated applications and services. Integration efforts usually have far-reaching implications on the business because of their wide scope. Once the processing of the most critical business functions is incorporated into an integration solution, the proper functioning of that solution becomes vital to the business. A failing or misbehaving integration solution can cost a business a lot of money in lost orders, misrouted payments, and dissatisfied customers. One important constraint of developing integration solutions is the limited amount of control the integration designers typically have over the participating applications. The collaboration between integration designer and application owner is vital for the development of an efficient integration solution. In most situations, the applications are legacy systems or packaged applications that cannot be changed just to be connected to an integration solution. The integration solution has to provide these flexible abstraction layers to bring all participating back ends to a common denominator. Platform independency and system neutral connectivity and communication paradigms support the successful implementation of such a business integration solution.

Chapter 2. Business Integration technology concepts

11

The usage of common accepted standards is the most promising method of resolution. Despite the widespread need for integration solutions, only a few standards have established themselves in this domain. The advent of eXtensible Markup Language (XML) is a core building block of system integration solutions. XML participating systems use a mutual character set for communication, which is the foundation for further integration efforts. Beyond having a common syntactical basis, the integration solution has to provide a common semantic environment. Systems have to understand each other or, rather, the integration solution must be the mediator between systems. The notion of account can have many different semantics, connotations, constraints, and assumptions in each participating system. Resolving semantic differences between systems proves to be a particularly difficult and time-consuming task because it involves significant business and technical decisions. The past has shown that such a semantic consonance cannot be driven by a single company but must be supported and driven by multiple partners that align to a consortium or a foundation. This produces a guarantee that different interests and needs are balanced out and the resulting standards are pillared and promoted by all participants. RosettaNet is a good example for such a consortium, as it defines a common e-business language, aligning processes between supply-chain partners on a global basis. Beside a common syntax and semantics, business integration solutions have to rely on unified access mechanisms that are common across different systems and platforms. These mechanisms can be categorized by specific characteristics, such as synchronous or asynchronous communication style or message oriented integration. Despite the fact that developing integration solutions is challenging in itself, operating and maintaining these solutions can be even more daunting. The mix of technologies and the distributed nature of integration solutions make deployment, operation, monitoring and change management, complex tasks that require a rich combination of skill sets. In most cases, these skill sets are hard to find within IT organizations or are spread across many different individuals.

2.1.3 Concepts and terminologies Here we discuss concepts and terminologies.

Integration styles Although there are significantly different approaches to system integration, they can be generally categorized into the following styles: 򐂰 Application Connectivity 򐂰 Process Integration

12

WebSphere Business Integration for SAP

򐂰 User Interactivity The purpose and mechanism of these styles are illustrated in the following table. Table 2-1 Integration styles Integration term

Purpose

Application Connectivity

Communication between two or more applications. Share and exchange business information in a consistent manner.

Process Integration

Automate and improve business processes. Compose new processes by incorporating existing business applications. Coordinate business activities that execute across system boundaries.

User Interactivity

Involve human interactions into process flows. Deliver relevant business information to respective users. A comprehensive view of systems through a suitable user interface.

This book primarily focuses on application connectivity and process integration styles.

Integration terminology There are many terms used in the integration area. These terms and features are listed in the following table. Table 2-2 Integration terminology Integration model

Definition

File transfer

Applications create files of shared data for others to consume, and consume files that others have produced.

Shared database

Applications store the data to share in a common database.

Remote Procedure Call

An application exposes a certain functionality and makes it accessible remotely. Other applications invoke these functions with or without parameterization. The action may return a result or not.

Message oriented middleware

Participating parties connect to a central system, and exchange data via defined messages. Supports setups like hub and spoke, one to many, and publish/subscribe.

Distributed computing model

Object Request Brokers (ORB) provide a run-time environment for business objects and manage their lifecycle and the access to these objects in a consistent manner.

Chapter 2. Business Integration technology concepts

13

Integration model

Definition

Transactional characteristic

Provides an enhanced access mechanism to business entities. The execution of business logic is strictly controlled, including defined compensation procedures in case of failure. The assessor receives detailed feedback on how the transaction proceeded.

Integration server

The core of a broker based integration scenario. It connects various components together in a bus or star topology. Several manipulations can be applied to the business information, such as routing, transformation, and data enrichment.

Adapter

A component that acts as mediator between the integration server and a respective integration partner. Adapters ease up connectivity by providing a standardized transition between the broker and the participating system. Adapters can offer a great reuse potential if multiple equal back ends are linked together.

Service choreography

This term describes the composition of new business processes by incorporating existing business logic. The prerequisite is that the relevant components expose their business functionality in a common service based notation and that they support a mutual invocation methodology.

2.1.4 IBM WebSphere Business Integration product family IBM WebSphere Business Integration products cover the whole spectrum of business integration, from bottom-up application connectivity to top-down business process automation. The IBM WebSphere Business Integration product family provides the following capabilities: 򐂰 Model: Design, simulate, and plan business processes 򐂰 Integrate: Link people, processes, applications, systems, and data 򐂰 Connect: Extend processes to your customers and partners 򐂰 Monitor: Control and track business processes 򐂰 Manage: Review, analyze, and improve processes and performance The WebSphere Business Integration product suite implements a hub and spoke approach, where the hub is the WebSphere Business Integration Server, WebSphere Business Integration Server Foundation, WebSphere Business Integration Event Broker, or WebSphere Business Integration Message Broker. The spokes are the adapters that connect to applications, like SAP, or to technologies, like Java Database Connectivity (JDBC). You can find a list of all available WebSphere Business Integration Adapters at: http://www.ibm.com/software/integration/wbiadapters/

14

WebSphere Business Integration for SAP

The key features of the primary products in the WebSphere Business Integration family are summarized in the following table. Table 2-3 IBM WebSphere Business Integration product family Product

Capability

WBI Server

򐂰

Integrate

򐂰

Model

Features WebSphere Business Integration Server provides process services via the WebSphere MQ Workflow and WebSphere Interchange solutions, offering an advanced set of integration solutions in conjunction with accelerator technology, such as pre-built collaborations. The WebSphere Business Integration Server components can also be surfaced via Web Services Description Language (WSDL), allowing customers to use foundation technologies to compose higher-order composite applications. The WebSphere Business Integration Server includes:

WBI Server Foundation

򐂰

Integrate

򐂰

Connect

򐂰

Manage

򐂰

WebSphere InterChange Server

򐂰

WebSphere MQ Workflow

WebSphere Business Integration Server Foundation is the next-generation application server that simplifies build-to-integrate tasks, accelerates application development, and enables dynamic application flexibility. 򐂰

Human Workflow support includes activities that require human interaction as steps in an automated business process.

򐂰

Application adapters for building Web applications and BPEL4WS business processes that integrate with back-end systems.

򐂰

Business rule beans to embed adaptable business logic into your applications and business processes.

򐂰

Programming model extensions to accelerate large-scale application development by allowing you to leverage the latest innovations that build on today's J2EE standards.

򐂰

J2EE Application Server for deploying enterprise Web services solutions for dynamic e-business on demand™.

򐂰

Integrated J2EE development environment for building, testing, integrating and deploying J2EE applications, Web services, and business processes.

Chapter 2. Business Integration technology concepts

15

Product

Capability

WBI Message Broker

򐂰

WBI Event Broker

WBI Adapter

16

򐂰

򐂰

Integrate

Integrate

Integrate

Features Extends the messaging capabilities of WebSphere MQ by adding message routing, transformation, and publish/subscribe features. 򐂰

Provides a run-time environment that executes message-flows. These message-flows consist of a graph of nodes that represent the processing needed for integrating applications.

򐂰

Includes the WebSphere Business Integration Event Broker.

Allows high-performance content and topic-based publish and subscribe message routing between a variety of protocols. 򐂰

Enables the secure and seamless interaction of enterprise applications with numerous users within the intranet and across the Internet.

򐂰

Extends business integration to the mobile, wireless, and telemetry environments from the smallest sensor to the latest PDA.

򐂰

Uses multicast to optimize network utilization when broadcasting information, such as real-time market data.

򐂰

Enables data to move between an application, a technology, or a packaged legacy system and the underlying transport infrastructure.

򐂰

Access, transform, and route data through all IBM integration brokers.

򐂰

Can be considered the spokes that connect applications and technologies to the integration broker hubs. They provide application, technology, mainframe, and e-business connections for both process integration and application connectivity requirements.

WebSphere Business Integration for SAP

Product

Capability

WebSphere MQ

򐂰

WBI Toolset

WBI Connect

򐂰

򐂰

Integrate

Manage

Connect

Features 򐂰

Facilitates easy exchange of information across different platforms, integrating existing business applications in the process.

򐂰

Ensures reliable delivery of messages, dynamic distribution of workload across available resources, and helps make programs portable.

򐂰

Delivers enhanced performance with integrated Java Message Service (JMS), making it the JMS provider of choice.

򐂰

Ensures data delivery that is free from errors and safe from unauthorized access.

򐂰

Offers comprehensive security options using Secure Sockets Layer (SSL), the Internet standard for secure communication.

򐂰

Simplifies development of Application Programming Interface (API) exits to allow monitoring and implementation of local standards.

򐂰

A set of easy-to-use tools that provides customers with administrative and development support for system management, application connectivity and business process modeling.

򐂰

Includes administration tools and design tools.

򐂰

Full-function, enterprise-strength gateway/hub built on a WebSphere Application Server foundation.

򐂰

Support for standards-based transports, protocols, and formats.

򐂰

Enables integration beyond the enterprise into the extended value chain.

򐂰

Component-based solution providing robustness and performance.

򐂰

Provides high scalability for large trading communities.

򐂰

Business-to-Business (B2B) framework for B2B, Division to Division (D2D), and Merger/Acquisition.

Chapter 2. Business Integration technology concepts

17

Product

Capability

WebSphere Data Interchange

򐂰

WBI Monitor (formerly Holosofx®)

18

Connect

򐂰

Monitor

򐂰

Manage

Features 򐂰

Provides advanced translation, validation, and batched information exchange capabilities for Electronic Data Interchange (EDI) standards.

򐂰

Electronically translates EDI format data, such as invoices, purchase orders, and billing forms for exchange with trading partners.

򐂰

Provides advanced data validation and standards compliance functions, allowing functional acknowledgements to be generated in response to inconsistencies in data content.

򐂰

Provides WebSphere Data Interchange Client, a dedicated GUI mapping tool that is optimized to build EDI, XML, and application data format transformations.

򐂰

Allows direct import of EDI standards definitions, application data structures, and industry-standard or user-defined XML DTDs for mapping and translation.

򐂰

Provides configuration and administration capabilities that allow the definition of the construction and deconstruction of envelopes.

򐂰

Offers a minute-by-minute view of work items, including the status and workload of each job and user-level, to illustrate how business processes are achieving corporate goals.

򐂰

Delivers ongoing business process improvement by constantly sending real-time data back into process modeling tools.

򐂰

Gives you the ability to stop, adjust, and redirect details of workflow processes, including workload balancing, while they are underway.

򐂰

Business and technical users can utilize the tailored alert system to define, display, and receive instant alerts on operational results.

򐂰

Tracks your business processes and displays important metrics in a convenient enterprise dashboard, or through IBM WebSphere Portal, to check the pulse of company performance.

򐂰

Offers a Web application so you can manage your processes from an Internet connection anywhere in the world, and gives you the option of deploying on a range of platforms, including mainframe-class servers running the secure, stable z/OS operating system.

򐂰

Views business results in real time and analyzes business processes based on real, not estimated, statistics.

WebSphere Business Integration for SAP

Product

Capability

WBI Modeler

򐂰

Model

򐂰

Models and simulates business processes graphically.

򐂰

Manage

򐂰

WebSphere Business Integration Workbench: Test, analyze, simulate, and validate business processes and software models.

򐂰

WebSphere Business Integration Workbench server: A Java 2 Enterprise Edition (J2EE) compliant application that can be deployed on WebSphere Application Server on a variety of platforms. It provides repository management and Web publishing capabilities in a centralized data warehouse.

򐂰

Prebuilt, customizable business-process templates that deliver most of the necessary code for a wide variety of business processes running on the WebSphere Business Integration Server.

򐂰

Reduce risk and save time and money by using pre-built, proven products rather than building custom code.

WBI Collaborations

򐂰

Integrate

򐂰

Connect

Features

2.2 IBM Business Integration Reference Architecture The IBM Business Integration Reference Architecture (BIRA) shows the key areas of integration capability that are required for comprehensive, enterprise wide strategies and solutions. This chapter describes the IBM Business Integration Reference Architecture on different levels: 򐂰 Overview about IBM Business Integration Reference Architecture 򐂰 Comprehensive Services of IBM Business Integration Reference Architecture 򐂰 Roles and Artifacts in the IBM Business Integration Reference Architecture 򐂰 IBM Software Offerings in the IBM Business Integration Reference Architecture It also refers to the Service Oriented Architecture (SOA) and e-business on demand and discusses how these are related to IBM Business Integration.

2.2.1 Overview The IBM Business Integration Reference Architecture is a complete and comprehensive architecture that covers all the integration needs of an enterprise. Its services are well integrated and are delivered in a modular way, allowing integration implementations to start at a small project level. As each additional project is addressed, new integration functions can be easily added, incrementally enhancing the scope of integration across the enterprise. The architecture also supports Service Oriented Architecture strategies and

Chapter 2. Business Integration technology concepts

19

solutions, given that the middleware architecture itself is designed using principles of service orientation and function isolation. Figure 2-1 gives an overview of IBM Business Integration Reference Architecture. Development Platform

Business Performance Management Services

Interaction Services

Process Services

Information Services

Enterprise Service Bus

Partner Services

Business Application Services

Application and Data Access Services

Business Application and Data Services

Enterprise Applications and Data Infrastructure Services

Figure 2-1 BI Reference Architecture - Overview

Development Platform Development tools allow people to efficiently complete specific tasks and create specific output based on their skills, their expertise, and their role within the enterprise. Business Analysts who analyze business process requirements need modeling tools that allow business processes to be charted and simulated. Software Architects need tool perspectives that allow them to model data, functional flows, system interactions, and so on. Integration Specialists require capabilities that allow them to configure specific inter-connections in the integration solution. Programmers need tools that allow them to develop new business logic with little concern for the underlying platform. Yet, while it is important for each person to have a specific set of tool functions based on their role in the enterprise, the tooling environment must provide a framework that promotes joint development, asset management, and deep collaboration among all these people. A common repository and functions common across all the developer perspectives (for example, version control functions or project management functions) are provided in the Business Integration Reference Architecture through a unified development platform.

20

WebSphere Business Integration for SAP

Business Performance Management Software Business performance management tools incorporate monitoring capabilities that aggregate operational and process metrics in order to efficiently manage systems and processes. Managing these systems requires a set of capabilities that span the needs of IT operations professionals and business analysts who manage the business operations of the enterprise. These capabilities are delivered through a set of comprehensive services that collect and present both IT and process-level data, allowing business dashboards, administrative dashboards, and other IT level displays to be used to manage system resources and business processes. Through these displays and services, it is possible for Line Of Business (LOB) and IT personnel to collaborate and determine, for example, what business process paths may not be performing at maximum efficiency, the impact of system problems on specific processes, or the relationship of system performance to business process performance. This collaboration allows IT personnel and assets to be tied more directly to the business success of the enterprise than they traditionally have been. One key feature of the IBM Business Integration Reference Architecture is the linkage between the Development Platform and the Business Performance Management Services. The ability to deliver run-time data and statistics into the development environment allows analyses to be completed that drive iterative process re-engineering through a continuous business process improvement cycle.

Interaction Services User Interaction Services provide the capabilities required to deliver IT functions and data to end users, meeting the end-user's specific usage preferences. User interaction is handled by a multi-channel access service. A portal can be accessed through various channels like Web browsers, PDAs, mobile phones, voice and so on. All channels share common characteristics, such as the following: 򐂰 Aggregating geographically distributed structured and unstructured information and services into one place. Information accessed can include syndicated content supplied specifically for the purpose of reuse and integration with other material. 򐂰 Collaborative services (also known as communication services) allow people to chat, locate expertise, share calendars, participate in discussion groups, use white boards, and so on. 򐂰 Content management services provide search, tracking, and data mining capabilities. 򐂰 Self-service (also known as transactional services) enable users to interact with systems directly without going through an intermediary, such as a customer representative or salesperson. This allows users to buy products, schedule meetings, check account balances, enroll for classes, and so on.

Chapter 2. Business Integration technology concepts

21

򐂰 Supporting personalization for a group or an individual. One of the more interesting aspects of the interaction service is its ability to be different things to different people. One of the ways it does this is through personalization and customization.

Process Services Process Services provide the control services required to manage the flow and interactions of multiple services in ways that implement business processes. A business can change how it operates through modeling, automation, and monitoring of processes across people and heterogeneous systems, both inside and outside the enterprise. The process service allows the integration of a complete process end-to-end.

Information Services Diverse forms of business information can be integrated across the enterprise. Integration enables coherent search, access, replication, transformation, and analysis over a unified view of information assets to meet business needs. Information Services provide the capabilities required to federate, replicate, and transform data sources that may be implemented in a variety of ways.

Business Application Services The IBM Business Integration Reference Architecture also contains a set of Business Application Services that provide run-time services required for new application components. Business Application Services provide new business logic required to adapt existing business processes to meet changing competitive and customer demands of the enterprise. Design and implementation of new business logic components for integration enables them to be fully re-usable, allowing them to participate in new and updated business processes over time. The Business Application Services include functions important to the traditional programmer for building maintainable, flexible, and re-usable business logic components.

Partner Services In many enterprise scenarios, business processes involve interactions with outside partners and suppliers. Integrating the systems of the partners and suppliers with those of the enterprise improves efficiency of the overall value chain. Partner Services provide the document, protocol, and partner management services required for efficient implementation of Business-to-Business processes and interactions.

Infrastructure Services Underlying all these capabilities of the IBM Business Integration Reference Architecture is a set of Infrastructure Services that provide security, directory, IT

22

WebSphere Business Integration for SAP

system management, and virtualization functions. Infrastructure services are underlying and supporting services for the IBM Business Integration Reference Architecture. They include: 򐂰 Security service 򐂰 Directory service 򐂰 IT system management service 򐂰 Virtualization service The security and directory services include functions involving authentication and authorizations required for implementing, for example, single sign-on capabilities across a distributed and heterogeneous system. IT system management and virtualization services include functions that relate to scale and performance, for example, edge services and clustering services, the virtualization capabilities allow efficient use of computing resources based on load patterns, and so on. The ability to leverage grids and grid computing are also included in infrastructure services. While many infrastructure services perform functions tied directly to hardware or system implementations, others provide functions that interact directly with integration services provided in other elements of the architecture through the Enterprise Service Bus (ESB). These interactions typically involve services related to security, directory, and IT operational systems management.

Enterprise Service Bus ESB provides a standards-based means of application to application communication like Web Services, message transport, and mediation.

Application and Data Access Services Wraps the native Application Programmable Interface (API) of Enterprise Information Systems (EIS) like SAP. Adapters are built to present a common client interface to each EIS in a common development tooling. The usage of prebuilt adapters provides rapid deployment and reduces risk. WebSphere Business Integration Adapters are run-time components integrated with the business integration system. WebSphere Business Integration Adapters span a wide range of applications and technologies. All the adapters are two-faced animals. The first part of the adapter is its application-facing component. This is the part of the adapter that has explicit internal coding and knowledge of how to interact with the application or technology. For example, for a database adapter, the application-facing part has database API calls to access the database. For an SAP adapter, it contains Business Application Programming Interface (BAPI) calls to access the SAP system. The adapter's application specific components are different for each different type of adapter. IBM has implemented the code to be able to access the applications or technologies.

Chapter 2. Business Integration technology concepts

23

The second part of the adapter is the broker facing component. This has the responsibility for interacting with the broker by forming communication links to send and receive the adapter’s data. This component is identical in all adapters. It has the built-in capability to transform the application-originated or destined data to and from a common data representation for transmission to the broker. The data content that is sent to and from the broker is the IBM Business Object.

Business Application and Data Services Business Application and Data Services are applications in the existing IT landscape, for example, legacy systems. Business Applications and Data Services can be integrated with the Enterprise Service Bus using Application and Data Access Services like adapters.

2.2.2 Comprehensive Services For effective business integration, the architecture must support a set of services that can be used to implement integration points where and how they are needed. The services represent concerns that should be separated and elaborated as part of the implementation architecture. Collectively, they form the basis upon which people, processes, and data can be integrated. The Business Integration Reference Architecture provides a comprehensive set of services to enable Business Integration (see Figure 2-2 on page 25). The services fit into a tiered architecture that clearly define the broad set of services required for a complete integration solution. The architecture defines not just the functional services, but the operational ones as well.

24

WebSphere Business Integration for SAP

Comprehensive Services Design

Model

Process Monitoring

Implement

Development Platform

Test

IT Monitoring

Business Performance Management Services

Interaction Services

Process Services

Delivery

Choreography

Federation

Experience

Transactions

Replication

Resource

Staff

Transformation

Information Services

Enterprise Service Bus

Event

Mediation

Transport

Partner Services

Business App Services

Community

Component

Document

Interface

Protocol

Core

Application and Data Access Services

Event Detect

On-Ramp

Business Application and Data Services

Enterprise Applications and Data Infrastructure Services

Figure 2-2 WBI Reference Architecture - Comprehensive Services

Development Platform This layer of services comprise the software development platform and support iterative software development. 򐂰 Model: Provides the ability for analysts to work in conjunction with IT to build models that are representative of business processes. 򐂰 Design: Allows models to be staged into design using traditional IT tools, which provide the ability to attribute and extend the models with core IT assets and to develop business processes as well as integration components. 򐂰 Implement: Enables the ability to move developed artifacts into production as part of an organization’s configuration management architecture/standards. 򐂰 Test: Provides the ability to support both unit test as well as integrated test capabilities as part of the basic development tooling.

Chapter 2. Business Integration technology concepts

25

Business Performance Management Services This layer of services comprise the framework for providing visibility into the key metrics associated with run-time management of integration components. 򐂰 Process Monitoring: Enables support for traditional Business Activity Monitoring (BAM) by allowing users to have dashboard views into key performance indicators tied to their deployed integration assets/components. 򐂰 IT Monitoring: Provides direct visibility into operational run-time behavior as part of the underlying event detection and tooling to allow this information to be integrated with process oriented views as appropriate for the target user.

Interaction Services This layer of service provides the external interaction services for user and device integration. 򐂰 Delivery: Enables the interaction framework for different users to interact with the integration framework via portlets and pervasive messaging and includes specialized technologies, such as multi-device support, page aggregation, markup transcoding, language translation, and internationalization. 򐂰 Experience: Provides the various user-centric services that are responsible for the delivery of a robust user experience, including personalization and collaboration. 򐂰 Resource: Provides run-time management of the portlet components supporting, for example, security and entitlements.

Process Services This layer of services provide the ability to aggregate integration components to support coarse grained business functions. 򐂰 Choreography: Provides the ability to orchestrate integration components into processes that in turn can be used to build other composite processes. 򐂰 Transactions: Enables the ability to support both ACID transactional activities as well as compensatory processing as part of the process framework. 򐂰 Staff: Allows the ability to integrate people-oriented task management into processes with support for task assignment, delegation, and facilities to manage workflow related endpoints through integration with interaction services.

26

WebSphere Business Integration for SAP

Information Services This layer of services provide data integration and aggregation over heterogeneous data sources. 򐂰 Federation: Enables the ability to aggregate data from traditional (for example, Relational Database Management System (RDBMS)) and non-traditional sources, such as XML data stores, text data, and content stores. 򐂰 Replication: Provides support for automated real-time data synchronization, enabling locality of access for data access regardless of source implementation. 򐂰 Transformation: Enables the translation of data information to support data cleansing and metadata interchange through leveraging SQL and XML standards.

Enterprise Services Bus Provides inter-connectivity services within the enterprise and across multiple locations or even multiple companies. 򐂰 Event: Provides event driven services through messaging services to enable the components (and constituent stakeholders) to be responsive to external stimuli, for example, business events. 򐂰 Transport: Provides communication services for synchronous and asynchronous delivery with varying levels of delivery assurance. 򐂰 Mediation: Enables message transformation, dynamic routing, and service binding resolution services during transport.

Partner Services This layer of services provides support for traditional Business-to-Business (B2B) partner integration solutions 򐂰 Community: Allows for the management of the trading community for both the hub manager as well as providing partner self-management functions. 򐂰 Document: Enables the support for business protocols, such as RosettaNet and AS1/AS2, as well as state management for public process conversations. 򐂰 Protocol: Provides transport level services, including authentication, document routing, and other edge services for automated document interchange.

Chapter 2. Business Integration technology concepts

27

Business Application Services This layer of services provides the framework and operating environment for the run-time management of custom application components. 򐂰 Component: Provides a run-time environment or container that automatically handles issues such as object persistence, relationship navigation, object query, and transaction management. 򐂰 Core: Provides run-time services, such as memory management, object instantiation and pooling, event notification, directory and security, which must be part of the general programming model through Java 2 Platform, Enterprise Edition (J2EE), XML, and the Messaging and Web Services programming model. 򐂰 Interface: Provides services for robust bidirectional integration with databases, messaging systems, management frameworks (for example, JMX/CEI), and other enterprise applications.

Applications and Data Access Services This layer of services provides for the access and operational interface to existing application and data with support for transactional services and connection services for databases, messaging systems, and other data sources. 򐂰 Event Detect: Provides notification services based on the event framework that is supported by the specific application/data source. 򐂰 On-Ramp: Enables application/data integration patterns, including one way inbound, request-reply, and solicit reply patterns to support application and data integration.

2.2.3 Roles and sample artifacts The IBM software development platform provides an integrated and complete set of tools that address the integration problem and address role-based development. Looking at the various roles, a few common requirements are listed below: 򐂰 Regardless of the role, a high degree of collaboration is required across roles. 򐂰 Each role requires specialized tools to accomplish its tasks. 򐂰 By applying a clean separation of concerns through the development process, each developer can deploy their artifacts into the architecture based on their role (see Figure 2-3 on page 29).

28

WebSphere Business Integration for SAP

Roles and Sample Artifacts Business Analyst

Integration Specialist

Architect

Developer

Tester

Development Platform

Business Performance Management Services Interaction Services

Process Services

Information Services

Business Processes

Data Models

Portlets

Mediations

Partner Services

Partner Profiles

Dashboards

Enterprise Service Bus

Business App Services App Components

Business Object Definitions

Application and Data Access Services Adapters Business Application and Data Services

Enterprise Applications and Data Infrastructure Services

Figure 2-3 WBI Reference Architecture - Artifacts

Roles 򐂰 A Business Analyst: – Captures business requirements. – Models and analyzes business processes. – The Business Analyst typically produces Requirements Documents, Use Cases, and Business Process Models. 򐂰 An Architect: – Models applications and data. – Models activities. – An Architect produces Object Models, Data Models, Class Diagrams, Sequence Diagrams, and Activity Diagrams.

Chapter 2. Business Integration technology concepts

29

򐂰 An Integration Specialist: – Acts as the key specialist across integration technologies. – Configures the integration environment, for example, Messaging infrastructure, and Component configuration, for example, processes, collaborations, and adapters. – Interfaces to other specialists, for example, operations, and RDBMS. – An Integration Specialist produces Message Flows, Process Flows/Collaborations, Connection Configurations, and Adapters. 򐂰 A Developer: – Develops the application from the requirements and models defined by the Business Analyst and Architect. – Many types of developers with specific roles are very common. A development team might have J2EE developers, Business Process Developers, Web Developers, and Portlet developers on their development team. – A Developer produces the application components (in many organizations, developers may be specialized to the development of specific types of artifacts, for example, portlets, stored procedures, J2EE components, adapters, and so on.) 򐂰 A Tester: – Develops test cases for the applications and business processes built by the Architects, Developers, and Integration Specialists. – Tests the application/component to ensure the quality of the application. – A tester produces test cases, runs tests, documents test results, and provides communication for quality control aspects of the software development process.

Sample artifacts Different run-time artifacts are produced during the development of applications, services, and business processes. These artifacts deploy into various components of the integration architecture. The following are representative of the types of artifacts created and are not meant to describe each in detail.

Business Performance Management Services 򐂰 Dashboards: Business performance monitoring interfaces to support key constituencies and stakeholders.

30

WebSphere Business Integration for SAP

Interaction Services 򐂰 Portlets: User interaction artifacts that support user interactions with the underlying integration and enterprise collaboration services.

Process Services 򐂰 Business Processes: Artifacts describing choreographed aggregation of service endpoints to support composite application processes.

Information Services 򐂰 Data Models: Data representations/schema artifacts to support federated and replicated data capabilities.

Enterprise Service Bus 򐂰 Mediations: Routing and transformation artifacts to support enterprise service bus message/service flow attributes. 򐂰 Business Object Definitions: Artifacts that describe common reusable business object definitions.

Partner Services 򐂰 Partner Profiles: Configuration objects describing business partner interactions including transport, security, and entitlements.

Business Application Services 򐂰 Application Components: Artifacts produced during application development including J2EE/Java 2 Platform Standard Edition (J2SE) components.

Application and Data Access Services 򐂰 Adapters: Artifacts providing application access integration, including connection management, transactional support, application-specific metadata, and application specific objects.

2.2.4 IBM software offerings The IBM Business Integration portfolio has the greatest functional breadth of any middleware vendor. This allows IBM to offer a single vendor solution to customers and providing “best-of-breed” components for integration solutions (see Figure 2-4 on page 32).

Chapter 2. Business Integration technology concepts

31

IBM Software Offerings Development Platform

WebSphere BI Modeler

WebSphere Studio

Business Performance Management Services WBI Monitor Interaction Services

Information Services

WebSphere BI Server

WebSphere Portal Server

Enterprise Service Bus Web Services Gateway

Partner Services

DB2 Information Integrator

WebSphere BI Server Foundation

WebSphere MQ

WebSphere BI Connect

Process Services

Business App Services WebSphere Application Server

WBI Event/Message Broker

Application and Data Access Services WBI Adapters

HATS

DB2 II Classic

Business Application and Data Services

Enterprise Applications and Dataand Data Enterprise Applications

Infrastructure Services

Figure 2-4 WBI Reference Architecture - Software offerings

Development platform The IBM software development solution is the part of the IBM on demand operating environment that address your design and build needs. This part of the on demand operating environment is referred to as the IBM Software Development Platform. This platform is open, extensible (based on the Eclipse framework), and supportive of your strategic technology direction. This solution spans UNIX®, Windows, IBM ^, and real-time operating systems. And it works hand-in-hand with software execution platforms from Microsoft®, Sun, Borland, and other vendors, which gives you the broadest choice of development options. The Eclipse framework provides an industry standards tool framework. IBM contributed software/R&D as initial Eclipse technology and the Eclipse foundation is now supported by a group of Consortium Members. The support for Eclipse is huge; Download requests topped 3.1 million in first year (with over 18 million to date), consisting of over approximately 880 K developers, companies, or organizations from over 125 countries. More importantly, vendors are committing to Eclipse. Over 175 vendors use Eclipse as their standard solution framework, including significant commitments from TogetherSoft, Serena, QNX, and Merant with hundreds of open source or freeware plug-in projects available.

32

WebSphere Business Integration for SAP

WebSphere Business Integration Modeler WebSphere Business Integration Modeler helps anyone in the organization, whether it be a business analyst or IT specialist, to capture a business process and clearly define and document the process. Both the current (as-is) and the future (to-be) process can be modeled and compared using the simulation and analysis capabilities of WebSphere Business Integration Modeler. Comparing these processes identifies Return On Investment (ROI) opportunities in the business by changing the process as modeled.

WebSphere Studio The WebSphere Studio family provides an open extensible Universal Tooling Platform that enables tool integration between vendors as well as providing an extensive set of best-of-breed integrated tools and utilities for application development. In WebSphere Studio Application Developer (WSAD) Integration Edition Version 5.1, business processes can be defined in a new industrial standard called Business Process Execution Language for Web Services (BPEL4WS). Since the BPEL4WS standard does not cover all the functionality needed for process integration, IBM introduced a functional enhancement to BPEL4WS called BPEL4WS Extensions that makes use of designated enhancement points in the BPEL4WS standard. One area of enhancements is the support for person activities (Staff) that are defined as enhanced invoke activities.

Business Performance Management Services Here we discuss Business Performance Management Services.

WebSphere Business Integration Monitor The WebSphere Business Integration Monitor solution provides dashboard and alert notification services which interact with the integrated event-based monitoring using messaging services to provide heads-up display for Business Process Management (BPM). WebSphere Business Integration Monitor Version 5.1 provides direct interaction with the Common Event Infrastructure. Business Activity Monitoring enables the tracking of business events across the enterprise, and the value chain. This enables real-time metrics from processes in motion, alerts to provide notification on service levels, and exception conditions. Additionally, the dashboard components are enabled to integrate with additional portlets to provide customized views specific for the role. Lastly, the monitor allows operational capabilities, including stopping, starting, or redirecting processes and can be used in tandem with other IT Monitoring solutions, such as the Tivoli® Monitoring for Business Integration.

Chapter 2. Business Integration technology concepts

33

Interaction Services Here we discuss Interaction Services.

WebSphere Portal Server WebSphere Portal Server provides a best-in-class framework for developing and managing user interaction-based integration solutions. WebSphere Portal Server provides page aggregation, markup transcoding, language translation, multi-device support, and internationalization. Multi-device support and internationalization are the static versions of the Markup Transcoding and Language Translation services, respectively. These provide the facilities to easily support multiple languages and devices when portal resources are constructed. Additionally, although not explicitly called out, pervasive messaging is also provided through the WebSphere MQ Everyplace® and Enterprise Service Bus components technology to provide support for additional devices. WebSphere MQ Everyplace suite also provides functions and capabilities associated with the integration of multiple pervasive devices.

Process Services Here we discuss Process Services.

WebSphere Business Integration Server WebSphere Business Integration Server provides process services via the WebSphere MQ Workflow and WebSphere Interchange solutions, offering an advanced set of integration solutions in conjunction with accelerator technology, such as pre-built collaborations. The WebSphere Business Integration Server components can also be surfaced via Web Services Description Language (WSDL), allowing customers to use foundation technologies to compose higher-order composite applications.

WebSphere Business Integration Server Foundation Provides long-duration activities and People-to-App/Staff Services via a native Business Process Execution Language (BPEL) solution. Additionally, the BPEL Process Choreographer solution provides for externalized business rules via the WebSphere Application Server based Business Rule Beans framework. The engine provides for compensating process services as part of overall process flow choreography.

34

WebSphere Business Integration for SAP

Information Services Here we discuss Information Services.

DB2® Information Integrator The DB2 Information Integrator provides direct support for data federation and replication over heterogeneous sources, both traditional relational sources as well as non-traditional sources, including text and XML data structures. Through standard interfaces, including SQL, XQuery, DB2 II, it provides full read/write access across diverse data and content sources.

Partner Services Here we discuss Partner Services.

WebSphere Business Integration Connect WebSphere Business Integration Connect Advanced/Enterprise provides document exchange services with a rich set of operational tools to manage the trading community. The solution architecture is built on the embedded version of WebSphere Application Server. Additionally, the product provides integrated event/alert management, which is the largest differentiator of the product offering. These tools enable both reactive problem determination via browser-based integration for both the hub and participants as well as an event-driven solution to automatically detect events and notify parties as needed.

Business Application Services Here we discuss Business Application Services.

WebSphere Application Server The WebSphere Application Server framework provides the market-leading application server, providing best-in-class support for J2EE, XML, Messaging, and Web Services programming models. It produces the integration of autonomic administration and management, JMX management interface, superior transaction performance, and integrated availability and scalability. Additionally, as mentioned above, the WebSphere Business Integration Server Foundation support for native Business Process Execution Language for Web Services (BPEL4WS) provides an integrated solution for developing service oriented architectures.

Enterprise Service Bus The ESB architecture construct for end-to-end integration of distributed software applications and components is enabled through a set of messaging solution components, which are standards based, and enable the development of a network of distributed, standards-compliant and platform-neutral interconnection middleware. The ESB provides the connectivity infrastructure for a Service

Chapter 2. Business Integration technology concepts

35

Oriented Architecture. This places the ESB in context, as its reason for being is to support an open, standards based, and service oriented architecture.

Application and Data Access Here we discuss Application and Data Access.

WebSphere Business IntegrationAdapters The WebSphere Business Integration Adapters provide connectivity with one consistent framework-based approach and an application specific component, as illustrated in Figure 2-5. All adapters run on the same common framework, ensuring that they can be reused with different brokers as your integration needs change over time. The common framework also allows greater speed and ease of adapter deployment, requiring less skill to install a broad range of adapters.

Business Object Handlers Global Utility Functions Application Event Notification

Application

Generic Services

Java to C++ Translation

IIOP/ JMS

Event Message Interface

JMS

Message Transport Driver

IIOP

Application Interface Functions

Application Specific Component

Adapter Framework

Figure 2-5 Adapter architecture

The Adapter can be logically divided into two sections: 򐂰 The Application Specific Component – Provides bidirectional connectivity directly to application API (for example, SAP JCo) or technology interface. – Handles the requirements of accessing the application; includes basic initialization and setup methods, business object handling, and event notification.

36

WebSphere Business Integration for SAP

򐂰 The Adapter Framework – Provides the common run-time infrastructure on which a specific adapter is implemented. – Assures uniformity in administration and behavior across the adapter family. – Provides services, such as bidirectional broker interaction, logging, and quality of service. – Handles the requirements of the Transport layer, such as sends and receives BOs, and converts BOs to XML to transport to broker. – Provides Generic Services: BO definition library, subscription manager, logging, and tracing.

Host Access Transformation Services WebSphere Host Access Transformation Services, or HATS, is the newest addition to the WebSphere Host Integration Solution. HATS delivers improved ease of use of existing 3270 and 5250 applications by dynamically transforming the screens into more Web-like HTML pages for the end user.

DB2 II Classic Federation DB2 II Classic Federation provides access to mainframe data sources such as IDMS and Adabas. The DB2 II Classic can be used in tandem with the DB2 II solution to provide federated access to mainframe data sources as part of an overall data integration architecture.

2.2.5 Service Oriented Architecture (SOA) A Service Oriented Architecture is an approach for building distributed systems that deliver application functionality as service to either end-user applications or other services. A SOA defines an architecture that leverages open standards to represent software assets as services. IBM Business Integration supports the SOA today (supports service definition, interaction, and orchestration). SOA also provides the capability for achieving greater responsiveness. It permits a company to leverage a componentized approach to application functionality that allows composite applications and business processes to be created dynamically and literally in real time. Solutions based on an Service Oriented Architecture also deliver tremendous benefits: 򐂰 Lower development costs 򐂰 Less pain when integrating assets across heterogeneous environments 򐂰 Greater reuse of IT assets 򐂰 More effective security and manageability

Chapter 2. Business Integration technology concepts

37

SOA is a distributed software model. The key components of an SOA include: 򐂰 Services 򐂰 Dynamic discovery 򐂰 Messages A service is a callable routine that is made available over a network. It exposes an interface contract, which defines the behavior of the service and the messages it accepts and returns. The term service is often used interchangeably with the term provider, which specifically denotes the entity that provides the service. Interfaces are often published in public registries or directories where they are categorized based on different services offered, just as businesses and their phone numbers are listed in a phone book. Clients (service consumers) can look up a particular service by dynamically querying for services based on various categorization features. This process is referred to as the dynamic discovery of services. Service consumers or clients consume services via messages. Because interface contracts are platform- and language-independent, messages are typically constructed using XML formats that conform to XML schema.

2.2.6 e-business on demand e-business on demand is defined as:

An enterprise whose business processes (integrated end-to-end across the company and with key partners, suppliers, and customers) can respond with speed to any customer demand, market opportunity, or external threat1. The new on demand computing environment is an open standards-based, and heterogeneous world, integrated and freely enabled with autonomic capabilities. WebSphere Business Integration supports the transformation to an on demand business. An on demand business has the following characteristics.

IT view 򐂰 Integrated A business process is mapped to application logic and integrated through middleware. All data is shared across dependent applications without redundancy. 򐂰 Open The application logic and interface is based on open standards, like J2EE and XML. Also, the application’s logic and data is self-describing. Logic and data describe what is used and how it is used, like Java Beans does. 1

38

Source: Sam Palmisano, IBM Chairman and Chief Executive Officer, in October 2002

WebSphere Business Integration for SAP

򐂰 Virtualized The application has a large degree of redundancy to met its Service Level Agreements. Also, it is able to evolve and execute in the face of disasters or attacks. One way to achieve this is to run the application in a Grid environment. Also, the application is location and time independent to “run once” for all languages and locales. An example would be a SAP R/3 Unicode system. 򐂰 Autonomic The application has self-monitoring and self-healing capabilities. The application has the ability to recover from errors, clean up its data structures if corrupted, and continue running all of the time.

Business view 򐂰 Responsive Able to sense changes in the environment and to respond dynamically to unpredictable fluctuations in supply or demand, emerging customer, partner, supplier, and employee needs, or unexpected moves by the competition. 򐂰 Variable Able to adapt cost structures and business processes flexibly, to reduce risk, and to drive business performance at higher levels of productivity, cost control, capital efficiency, and financial predictability. 򐂰 Focused Committed to concentrating on core competencies and differentiating tasks and assets; able to use tightly integrated strategic partners to manage tasks ranging from manufacturing, logistics, and fulfillment to human resources and financial operations. 򐂰 Resilient Prepared for changes and threats like computer viruses, earthquakes, or sudden spikes in demand. A business with these attributes requires technology that can support it, but that is not the computing environment that is operating today. No, today's environment is heterogeneous, widely distributed, vertically isolated, and generally more complex than businesses would like. The same IT that is essential to a business' ability to create strategic advantage is also a major obstacle to becoming the kind of fluid, responsive, dynamic business that has been talked about for years. Beyond just transforming department by department, business processes and applications need to integrate horizontally to link data, legacy systems, and

Chapter 2. Business Integration technology concepts

39

custom applications, and this integration requires new levels of data integrity and transaction processing. An infrastructure built on Web services, new development tools, and open standards is needed. On-demand integration, applications that had previously integrated vertically with an operating system and stand-alone processor must now integrate horizontally, application to application. Applications are written to the middleware layer, not to the operating system, and decoupled from the underlying infrastructure.

2.3 SAP Enterprise Service Architecture This section gives an overview of the SAP NetWeaver technology platform that was announced by SAP in 2003. SAP NetWeaver is the technical foundation for mySAP Business Suite and SAP xApps. It is a rearrangement and consolidation of basic functional and business specific components to support cross-functional business processes. SAP NetWeaver is built on service oriented architecture paradigms and therefore has a lot in common with IBM’s On Demand business strategy. In SAP’s terminology the business applications packaged in the mySAP Business Suite and composed in SAP xApps are mostly referenced as applications that fit into a Enterprise Service Architecture. As shown in Figure 2-6 on page 41, the SAP NetWeaver technology stack can be divided into six core building blocks: 򐂰 People integration 򐂰 Information integration 򐂰 Process integration 򐂰 Application platform 򐂰 Composite application framework 򐂰 Lifecycle management

40

WebSphere Business Integration for SAP

SAP NetWeaver People Integration

Portal

Collaboration

Information Integration Business Intelligence

Knowledge Management

Master Data Management

Process Integration Integration Broker

Business Process Management

Life Cycle Management

Composite Application Framework

Multi-Channel Access

Application Platform J2EE

ABAP

DB and OS Abstraction



.NET

WebSphere

Figure 2-6 SAP NetWeaver overview

This division supports the delivery of business integration capabilities of different levels. The fact that both WebSphere and .Net are mentioned in the official SAP NetWeaver overview chart emphasizes that NetWeaver is designed to interoperate with these primary market technologies. These interoperation capabilities can be pictured as the usage of well-defined APIs and common standards to offer SAP customers who implement SAP NetWeaver reliable bridges between the technology stacks. SAP has introduced the implementation of a huge variety of industry standards in SAP NetWeaver. The adherence and commitment to these standards are a major criteria for the success of the SAP NetWeaver technology. Figure 2-7 on page 42 lists some important industry standards that are supported in the various SAP NetWeaver building blocks.

Chapter 2. Business Integration technology concepts

41

Figure 2-7 SAP NetWeaver standards support

2.3.1 People Integration People Integration within SAP NetWeaver is responsible for providing the user with the requested functionality with the right information. People that are in touch with the business, both internal and external users, get a seamless user experience regardless of how many systems are involved to fulfill the particular user request. SAP Enterprise Portal is the core component of the People Integration area. It delivers services like: 򐂰 Unification of business data 򐂰 Personalized views on business data 򐂰 Role-based access to business relevant information The Collaboration component is a part of the SAP Enterprise Portal package. It enables user to dynamically get in contact. Supported communication channels are: 򐂰 Shared e-mail and calenders

42

WebSphere Business Integration for SAP

򐂰 Collaboration rooms 򐂰 Threaded discussions 򐂰 Document stores The Multi-Channel Access module is a layer that is put on top of the People Integration building block as an enabler to reuse existing components like portal and collaboration. SAP Mobile Infrastructure (MI) is the platform that enables multi-channel access to information and processes. It extends the reach of existing user interfaces like SAP Enterprise Portal to devices like mobile and handheld devices via wireless and radio frequency technology. Thus business data and functions can be accessed and executed offline and are replicated and synchronized in a consistent manner.

2.3.2 Information Integration The Information Integration section includes products that are responsible for making structured and unstructured information available in the enterprise in a consistent and accessible manner. For a user or system, the access methods are transparent regardless of where the information is originally stored. SAP Business Intelligence (BI) combines important corporate information from various data sources to enable the enterprise to manage and analyze every single business aspect in a very granular manner. SAP BI is able to visualize key success factors very flexibly using a wide variety of formats, such as interactive Web reports and personalized dashboards. SAP BI provides the tools to use information to make the right decision, set strategy, and measure the results of business tactics. SAP Business Information Warehouse (BW) is a data warehouse that forms the foundation of the SAP Business Intelligence solution. The version, which is shipped with SAP NetWeaver ’04, is SAP BW 3.5. Knowledge Management (KM) in SAP terminology describes the products that are used to turn unstructured information into organizational knowledge. This transformation is done by classifying and structuring the enterprise data in such a way that it can be interpreted and is usable to the enterprise systems and the corporate user communities. KM therefore provides a service based single point of access to SAP’s content management system and third-part repositories. The provided services include: 򐂰 Search capabilities 򐂰 Taxonomy 򐂰 Data classification 򐂰 Content management and publishing

Chapter 2. Business Integration technology concepts

43

Master Data Management (MDM) is a brand new component in SAP’s business application portfolio. It enables the sharing of harmonized master data formerly trapped in multiple systems and ensures cross-system data consistency. The goal is to have a consolidated master data system that reuses existing IT environments and leverages made investments. MDM is a perfect example of how the various components in the SAP NetWeaver technology stack work together and consume each others services. MDM defines only the core business logic, that is, how master data consolidation and management can be implemented. Data extraction and distribution services are provided by the SAP Exchange Infrastructure, which belongs to the process integration module of SAP NetWeaver.

2.3.3 Process Integration Process Integration enables business processes to spread across system boundaries and execute seamlessly across heterogeneous IT landscapes. The products located in this SAP NetWeaver area would be called traditionally middleware in IBM’s terminology. While in the past SAP focused on creating business applications with defined system interfaces for integration and the integration itself was done by dedicated system integrators, SAP is now offering its own process and system integration suite. The technical core component of the process integration layer is the SAP Exchange Infrastructure (XI) (see Figure 2-8 on page 45). SAP XI is the technical infrastructure for XML-based message exchange between SAP and non-SAP systems. It is already shipped with predefined business process templates from SAP. Additionally, new business scenarios can be created using an integrated toolset. SAP XI’s integration capabilities are the foundation for all future SAP applications, such as the Master Data Management example in 2.3.2, “Information Integration” on page 43. SAP XI supports industry standards like BPEL4WS, but is also open to other open standards via pluggable interfaces, where standard formats can be imported and exported.

44

WebSphere Business Integration for SAP

Figure 2-8 SAP Exchange Infrastructure

The Business Process Management (BPM) block pictured in the SAP NetWeaver overview diagram in Figure 3-6 is a component that spans across various SAP NetWeaver areas and can be understood as a virtual product. BPM is used to bring together the right people with the right systems, giving them the required information at the right time. BPM is a process-centric technology to: 򐂰 Automate business processes within SAP components 򐂰 Enable users to interact with business processes 򐂰 Support the full business process lifecycle from design, automation, execution, monitoring, analysis, and optimization 򐂰 Support the business process lifecycle across system boundaries BPM can be divided into three focus areas, which clears up the virtual character of this component: 򐂰 Ad Hoc Workflow: A component of the SAP Enterprise Portal framework that enables individuals to interact with business processes and create new, ad hoc processes. 򐂰 SAP Business workflow: Embedded within the SAP Web Application Server and automates business processes running within SAP components. Traditional SAP users are empowered through this component to interact with business processes. The component SAP Business workflow is not a new invention of SAP NetWeaver, but was already available in the pure ABAP based SAP Application Server.

Chapter 2. Business Integration technology concepts

45

򐂰 Cross-Component BPM: Part of the SAP Exchange Infrastructure. It drives complex business processes across business applications and enterprise borders. This component enables business process to execute in heterogeneous system landscapes exceeding SAP applications. As mentioned above, SAP is new in the integration and middleware market. To achieve a fast start in this business area and to speed up the development and release of reliable and accepted products, SAP decided to involve business partners. In October 2003, SAP and IDS Scheer introduced a strategic co-development to integrate IDS Scheer’s ARIS Process Platform with SAP NetWeaver. The goal is to create a comprehensive BPM solution aligning technology with business processes. The product supports the entire process lifecycle leading to an extended BPM solution allowing the customer to optimize business processes from modeling to monitoring: design, model, configure, execute, and monitor. ARIS for SAP NetWeaver, available as product from SAP or IDS Scheer by mid-2004, marks the first milestone on the way to an extended BPM solution and is the crucial point of the BPM building block in the SAP NetWeaver overview (see Figure 2-6 on page 41).

2.3.4 Application platform The application platform of SAP NetWeaver is the SAP Web Application Server (Web AS). It provides the complete infrastructure to develop, deploy, and run all SAP NetWeaver applications. The major key capability of SAP Web AS is the full support for both the proven ABAP and the innovative open source J2EE technology. SAP Web AS integrates the ABAP and Java personalities in one application server. This is not done by providing one hybrid interpreter or virtual machine, but by coupling the ABAP and the Java interpreter via well-defined interfaces and communication channels. Figure 2-9 on page 48 shows that the architecture of SAP Web Application Server can be separated into five areas: 򐂰 Presentation layer: In the presentation layer, the user interface can be developed with Java Server Pages (JSP), Business Server Pages (BSP), or with Web Dynpro technology. The underlying business layer provides the business content in Java or ABAP. 򐂰 Business layer: The business layer consists of a full-featured, J2EE-certified run-time environment that processes the requests passed from the ICM and dynamically generates the responses. The business logic can be written either in ABAP or in Java based on the J2EE standard. Developers can implement business logic and persistence with Enterprise JavaBeans (EJB) using the full J2EE environment. Developers can also access the business objects of applications running in the ABAP environment to benefit from their business logic and persistence.

46

WebSphere Business Integration for SAP

򐂰 Integration layer: The integration engine is an integral part of SAP Web AS and allows instant connection to SAP XI. The integration engine provides messaging services that exchange messages between the components that are connected in SAP XI. 򐂰 Connectivity layer: The Internet Communication Manager (ICM) dispatches user-interface requests to the presentation layer and provides a single framework for connectivity using a variety of communication protocols. Currently, modules are available for Hypertext Transfer Protocol (HTTP), HTTPS (extension of HTTP running under the Secure Socket Layer (SSL)), Simple Mail Transport Protocol (SMTP), Simple Object Access Protocol (SOAP), and Fast Common Gateway Interface (FastCGI). 򐂰 Persistence layer: The persistence layer supports database independence and scalable transaction handling. Business logic can be developed completely independent of the underlying database and operating system. Database independence is also made possible by support for open standards. The database interface ensures optimized data access from within the ABAP environment through Open SQL. SAP propagates the outstanding capabilities of Open SQL for ABAP to Open SQL for Java and offers a variety of standard Application Programming Interfaces (APIs) to application programmers, such as SQLJ. Other technologies, such as Java Data Objects (JDO) and container-managed persistence (CMP) for EJB, or the direct use of the Java Database Connectivity (JDBC) API, are also supported.

Chapter 2. Business Integration technology concepts

47

Browser/ Portal

3rd Party Apps/ Exchange

SAP Web Application Server Connectivity Internet Communication Manager

Presentation Layer

Integration Layer

Web Dynpro

Business Layer

Integration Engine

J2EE/ABAP

Persistence Database Interface

Figure 2-9 SAP Web Application Server architecture

2.3.5 Solution Lifecycle Management This building block addresses special requirements for heterogeneous enterprise system landscapes. To ensure the cost-effective operation of such complex environments with the requested quality of service in terms of reliability, availability, and scalability (just to mention a few of them), the complete lifecycle of business applications has to be supported. SAP NetWeaver provides centralized technology for all stages of the software lifecycle: 򐂰 Design of IT landscapes 򐂰 Technical installation 򐂰 Development, testing, and deployment of business applications 򐂰 Operation 򐂰 Change management

48

WebSphere Business Integration for SAP

SAP NetWeaver provides tools, methodologies, technical and business documentation, and implementation services.

2.3.6 Composite Application Framework SAP Composite Application Framework (CAF) includes the methodology, tools, and run-time environment to develop and run composite applications, called SAP xApps. SAP CAF leverages the service based architecture to rapidly compose new business applications out of reusable patterns. The application design process is model-driven, in order to build applications with as little programming as possible. That means reduced development and deployment time for new applications and business-pattern-oriented integration. A special object access layer decouples underlying systems from business objects and processes. It provides a consistent object model and a rich user experience, and gives developers a productive way to create composite applications on top of a set of heterogeneous applications. SAP CAF includes the methodology, tools, and run-time environment to develop and run composite applications.

2.4 Interoperability of WBI and SAP XI In January 2003, SAP introduced SAP NetWeaver as the new middleware environment for their open standards based, services oriented application software strategy (Enterprise Services Architecture). For future SAP releases, NetWeaver is the standard platform superseding the known mySAP.com technology. One core building block of the NetWeaver technology stack is SAP Exchange Infrastructure (XI). SAP XI is SAP's component for business process management and process integration and shipped within the mySAP Business Suite. Many future SAP solutions like Master Data Management requires SAP XI. Therefore, SAP XI has to be seen as a given in all future SAP environments. Most customers have both integration landscapes in place: SAP XI as an effective solution for integrating within SAP environments and WebSphere Business Integration as the traditional, flexible, and proven integration infrastructure leveraging the huge set of existing technology and application adapters. The fact that most customers are likely to have both WebSphere Business Integration and SAP XI in place makes the interoperability of both integration infrastructures a major success factor. WebSphere Business Integration addresses this demand for interoperability by providing a dedicated WebSphere Business Integration adapter that enables WebSphere Business Integration brokers to communicate with an SAP XI broker. The WebSphere Business

Chapter 2. Business Integration technology concepts

49

Integration Adapter for SAP XI 1.0 uses common standards like Java Messaging Service (JMS) and SOAP to provide an out of the box integration of this two integration landscape on the message level, as shown in Figure 2-10.

App B

App C

WBI Adapter for Siebel WBI Adapter for i2

App A

SAP XI Broker

IBM WBI Broker SOAP/JMS

SOAP/JMS

App D

WBI Adapter for SAP XI

IBM WebSphere MQ Figure 2-10 WebSphere Business Integration and SAP Exchange Infrastructure

In addition to the WebSphere Business Integration adapter for SAP XI, IBM and SAP are committed to evolve and implement further standards that ease up business integration activities and make integration across vendor boundaries a feasible task. The Java Connector Architecture (JCA) and the Business Process Execution Language for Web Services (BPEL4WS) are perfect examples for such standards that are driven and supported by both companies.

50

WebSphere Business Integration for SAP

Part 2

Part

2

Business scenario solution design In this part, a sample business case scenario is introduced with individual Use Case specifications, providing an analysis of the integration requirements, a review of various technology options, and a designed to illustrate the interoperability of WebSphere Business Integration and the SAP system. Part 2 consists of Chapters 3 to 5. Chapter 3, “Business case scenario” on page 53 introduces a sample business case scenario and defines four Use Cases in the business requirements. Constraints and assumptions are also included for IT implementation.

© Copyright IBM Corp. 2004. All rights reserved.

51

Chapter 4, “Solution approaches and technology options” on page 73 analyzes the business case and identifies appropriate integration styles to be used. Various integration technology options are reviewed with detailed product mappings. Chapter 5, “Solution design” on page 109 defines a solution to the business scenario from the architecture, process flow, messaging interactions, and operation model perspectives. Appropriate broker and adapter technologies are justified.

52

WebSphere Business Integration for SAP

3

Chapter 3.

Business case scenario This chapter is intended to present a sample of a real-world business scenario, to illustrate what challenges two companies face when they decide to merge with each other. Several business Use Cases are defined for demonstration purposes. Constraints and assumptions are also included for IT implementation.

© Copyright IBM Corp. 2004. All rights reserved.

53

3.1 Business domain This section describes the current state of two companies that decided to merge and some key requirements that need to be taken into account to ensure a seamless integration of two heterogeneous environments. Due to time and resource constraints, the scenario is intentionally simplified and does not claim completeness or overall soundness.

3.1.1 Current business model of Company A Company A is a retailer in the high-tech industry with subsidiaries around the world. The company manufactures a small set of electronic products in their own factory, whereas the majority of their product portfolio is supplied from a handful of selected partners. To automate the business activities and optimized management, a sophisticated Sales & Distribution process has been developed through years of evaluations. The overall infrastructure for this process comprises a set of best-of-breed business applications and systems that are optimized to guarantee on-time delivery of purchase orders and flexible product information management, which is one of the key factors for the business success and growth. As illustrated in Figure 3-1 on page 55, the infrastructure can be divided into four key parts: 򐂰 eCommerce Portal System 򐂰 Sales & Distribution System 򐂰 Supply Chain System 򐂰 Unconsolidated business applications

54

WebSphere Business Integration for SAP

Customer

Sales Team

HR Team

Procurement Team

Regular Employee

eCommerce Portal Business Application

Customer Repository Sales & Distribution

Product Master Data

Business Application

Corporate Information Intellectual Capital

Supply Chain System

Suppliers

Figure 3-1 Conceptual model of Company A

The eCommerce Portal System serves as the primary sales channel for the company. Customers can access the portal via the Internet using a variety of devices like standard Web browsers, handheld devices, or mobiles. They can browse the product catalog, search for product information, and place orders. Each customer is served with a personalized view of the eCommerce portal, which is adjusted to their special needs and which can be influenced by themselves. Enhanced usability features ease up the daily tasks and made the eCommerce portal an accepted and well-rated business component. Beyond customers, the eCommerce portal is also used by the companies sales agents, who use the traditional sales channel to take phone calls from the clients and enter the order data into the system. Business transactions receive the same quality of service regardless of which user group - customer or sales agent initiated them. The same business rules and processes are applied to guarantee consistency across the whole enterprise. The Sales & Distribution system is an off-the-shelf product, which handles the order management, tracking, and product distribution. Although the system is based on a standard software product, we were able to customize it to fit Company A’s special business requirements. The system also interacts with various external systems for product information organization and customer data

Chapter 3. Business case scenario

55

management as well as supply chain control. This interaction is based on well-defined and proven interfaces. Most of them are based on open industry standards, which makes regular operation and maintenance an easy task. The Supply Chain system and the Sales & Distribution system are not manufactured from the same business application vendor. The Supply Chain system is an highly customizable ERP product, which automates the supply chain workflow and supplier relationship management. While the eCommerce portal is responsible for providing the customer a first class procurement experience, the Supply Chain system guarantees the corresponding execution, fulfillment and delivery of the customer requests. This sophisticated supply chain process enables Company A to handle their suppliers in a uniform way and gaining additional flexibility to adjust their product palette to react in a reasonable time to changing market situations. The system defines a detailed procedure that new suppliers have to fulfill to be qualified to participate in this supply chain network. The overall infrastructure has been built based on open standards, and specially tailored for the particular needs of Company A with great flexibility, reliability, and scalability. The systems are highly available, and information updates are in real time. However, other than this leading-edge Sales & Distribution process, no enterprise-wide technology solutions have been implemented in the past. There is no common user registry or e-mail infrastructure in place. Each department hosts its own systems and customer data repository that are needed to run its business. The uncentralized process model resulted in a number of stovepiped applications and heterogeneous environments. Business information and intellectual capital is distributed across different locations in the company on disparate platforms. Business requirements that arise that cannot be covered by the three well-aligned business applications listed above take a lot of time and money to be fulfilled.

3.1.2 Current business model of Company B Company B is a niche player in the high-tech industry. The company manufactures high quality digital imaging devices in the upper price segment. Company B does not maintain its own manufacturing line, as all parts and components are purchased from various partners and assembled in an installation plant. The mounted goods are distributed worldwide mostly via wholesalers. The heart of Company B’s IT infrastructure is a common groupware infrastructure, which hosts nearly all internal business application in a uniform way.

56

WebSphere Business Integration for SAP

As illustrated in Figure 3-2, the infrastructure can be divided into three key parts: 򐂰 Sales & Distribution system 򐂰 Assembly plant 򐂰 Groupware infrastructure

Customer Wholesale

Sales Team

HR Team

Procurement Team

Regular Employee

Groupware Infrastructure Customer Data Sales & Distribution

Product Master Inventory System

Procurement

Business Applications

Corporate Information

HR Finance

Assembly Plant

Suppliers

Figure 3-2 Conceptual model of Company B

The Sales & Distribution system is based on a standard business application. Company B invested a lot of time and money to enhance and modify the standard application by custom development to fulfill special business requirements. The reason for this investment was that at this point in time and to date no standard software vendor provides an out-of-the-box solution that covers all requirements. The system supported the internal sales team in processing sales orders received from the wholesalers in a consistent and contemporary way. Additional sales channels are not established. The Sales & Distribution system features open interfaces that incorporate external data sources and provide Sales & Distribution functionality to external applications. An example is

Chapter 3. Business case scenario

57

the externalized inventor system, which is tightly connected with the Sales & Distribution system, but is still an autonomous business application. The next virtual component that acts in concert with the Sales & Distribution system is the Assembly plant. The Assembly plant consists of a couple of best-of-breed applications that are interconnected and act as a logical entity to the surrounding environment. The Assembly plant application landscape is historically grown and is tailored to fit specific supplier and production requirements. Each supplier is connected in a proprietary manner. Neither exchanged data formats nor access mechanisms follow an open industry standard concept, but are implemented appropriately. Company B has no common blueprint describing the relationship to a supplier but negotiated different contracts with every partner individually. Company B has a corporate groupware strategy in place. The workplaces of all employees are located within the corporate intranet. The groupware infrastructure drives a huge set of people-centric business applications that the employees have to interact with in their daily job. Common services like electronic mail, Web publishing, and collaboration rooms belong to the groupware landscape. Corporate information databases as well as collaboration capabilities help to increase the efficiency of frequent tasks. Various departments like Procurement, Human Resources (HR), or Financing (FI) run their specific business applications on this groupware infrastructure. Dedicated departments that ensures that these applications follow certain internal standards with regard to: 򐂰 Usability 򐂰 Operation 򐂰 Maintainability The company has an IT department to maintain and enhance all business relevant applications. This group is responsible for evaluating leading-edge technologies to justify the applicability and feasibility of these technologies to support current business processes. Even though Company B is open-minded to new technologies, the tight IT budget is always the limiting factor. Thus, the focus is set more and more to lower the operation costs of the existing IT environments. This should help free up funds that can be used to drive innovations.

3.1.3 Merger business objectives Both companies expect that they can complement each other and perform more efficiently as one company in the marketplace. The merger of the two companies is driven by various business factors: 򐂰 Benefit from complementary product portfolios

58

WebSphere Business Integration for SAP

򐂰 Achieve cost reduction by sharing common infrastructures 򐂰 Increase efficiency by consolidating business processes 򐂰 Profit from each other specializations in certain business areas 򐂰 Introduce a more flexible company structure The product offerings of the companies do not overlap, but belong to the same sector. This spares expensive product portfolio adjustments. The companies can offer a new merged product catalogue within a very short time frame. Departments that are present in both companies can be pooled together. The HR and FI departments are perfect candidates for such a consolidation. This consolidation would not only take place on the head count level, but also and especially on the business process level. Processes of the former companies must go through detailed reviews that reveal weaknesses and areas of improvement. Completely new business processes have to be introduced to expedite and support the merger. The new company must become a nimble and competitive enterprise that is able to respond to the changing market conditions in a reasonable time. Beyond all these transformation activities, it must be ensured that the traditional business execution is not disrupted.

3.1.4 Unified business model The new enterprise reviews all internal and external business processes step by step to ensure a unified execution of these processes across former company borders. The final goal is to create a single virtual company. The unified conceptual model for the merged enterprise is illustrated in Figure 3-3 on page 60 (please refer to the online version, found at ftp://www.redbooks.ibm.com/redbooks/SG246354, to see the relevant colors).

Chapter 3. Business case scenario

59

Customer Wholesale

Sales Team

HR Team

Procurement Team

Regular Employee

Common Groupware Infrastructure Customer

Sales & Distribution

Customer Repository

Customer Repository

Business Applications

Policy Service Sales & Distribution

Supply Chain System

Inventory System

HR System

Corporate Information

Procurement System

Sales & Distribution

Assembly Plant Internal Purchase Requisition System

Suppliers

Procurement Team

Regular Employee

Figure 3-3 Conceptual model of the merged enterprise

The green blocks illustrate the existing infrastructure of the former Company A and the yellow blocks the existing infrastructure of the former Company B. Blocks with mixed colors represent unified components, which leverage existing assets and add new systems for new processes. The red lines depicts where the four processes in the new model are located and are discussed in more detail further in this chapter: 򐂰 Process 1 couples both Sales & Distribution systems to enable customers or sales agents to place orders for former Company B’s products through the eCommerce portal. 򐂰 Process 2 is a brand-new people-centric process that allows authorized employees to request internal purchase requisitions. This requisition has to pass an approval procedure and finally be placed in the electronic procurement system.

60

WebSphere Business Integration for SAP

򐂰 Process 3 connects the inventory validation logic of former Company B products transparently to the eCommerce portal. No adjustments on the portal are required. 򐂰 Process 4 creates a new process to furnish the sales agents. This means adding new customer data through a groupware interface, and storing the new records in a consolidated repository. The details of these new processes are discussed in the sections that follow.

3.1.5 Unified business model benefits The most significant benefit is to sell the former Company B products through Company A’s eCommerce portal. This extends the reach of Company B’s sales market considerably. The open architecture of the eCommerce portal supports this extension perfectly. The eCommerce portal offers a product publication process that all former Company B products have to follow. For the customer, it is a seamless integration. Availability dates and delivery times are provided consistently across all products. The requirement for the underlying business integration middleware is to merge the information from different existing system resources. Another area of synergy is to use Company A’s optimized supply chain to obtain the components required to build the products for former Company B. It is consistent to utilize the existing supply chain when the products are sold in the common eCommerce portal and save costs in the procurement area. All specific supplier relationships are substituted with a unique supplier relations process that ensures on-time delivery of goods and a transparent contract negotiation cycle. The challenging part for the business integration middleware in the short term is to coordinate the exchange of the assembly information of the former Company B products into the existing supply chain network. The new product introduction process must become a unique process for all product categories for mid-term and long-term. These short term and long term requirements must be executable on the same business integration middleware. Company B has a company wide groupware strategy in place. All employees are connected via e-mail and can access company wide information from their workplace. There is a plan to extend this offering to all employees of the merged enterprise. The architecture of the existing groupware infrastructure supports this extension. Together with this initiative, a common employee registration process is introduced. A central user registry is implemented that provides authentication and authorization services to general business applications via standardized interfaces. This central user management concept significantly reduces the administrative overhead. The role based authorization concept ensures that an employee sees and gets the exact information required for its respective job role.

Chapter 3. Business case scenario

61

To manage the increased number of employees efficiently in a unique way, it is necessary to develop a set of common Human Resources (HR) processes. These processes must fulfill the requirements of the different job roles in the company and the specifics in the particular countries. The processes have to cover various HR areas like time and travel management, payroll, recruitment, benefits, and personnel development. The HR solution enables the staff department to make management analysis of the actual staff structure. Beyond the administrative usage, the HR solution becomes the central point of access for all applications or processes that require HR specific information. An example could be an internal process that is triggered by an employee and requires the approval of its manager. This application has to query the HR system for this information and request the approval from the respective person.

3.2 Business Use Case definition This section describes four Use Cases in more detail to expose their business workflow processes. The Use Cases are further analyzed from a business perspective only. The technical solution design and implementation using comprehensive business integration technologies is covered in Part 3, “Business scenario solution implementation” on page 143.

3.2.1 Use Case 1 - Product data repository Both companies maintained their own product data repositories, so it is of vital importance to establish a process where product data is maintained in the new enterprise. This new process guarantees that the traditional businesses keep on running while a smooth transition is started to consolidate both repositories. The goal is that the new repository appears to the affiliated business components as one logical component. The product data repository is the new central component of all master data management activities that the company will execute in the future and it has to provide a high level of openness, extensibility, and scalability. The operation of the new product data repository system is done using the existing standard groupware infrastructure so that the induction period for the employees who are maintaining it is as short as possible. Processes for master data creation, updates, and distribution execute in the same environment. A product list is stored in the central repository and distributed to the surrounding business components as required. Changes are done in the central repository and synchronized.

62

WebSphere Business Integration for SAP

The product repository needs to meet the following requirements: 򐂰 Ensure consistency of product data across all business applications. 򐂰 The product data has to be made available in synchronous and asynchronous ways to meet all kinds of demand. 򐂰 Distribute product data to external partners without major architectural changes of the product data repository system. 򐂰 The interfaces of the product data repository have to follow common industry standards. 򐂰 Ensure easy connectivity of various internal applications and external partners. Figure 3-4 on page 64 shows the business case diagram for Use Case 1.

Chapter 3. Business case scenario

63

ERP System

Sales & Distribution

Data Synchronization and Transformation Enhanced Event Handling

Material Master Data

Legacy System

Figure 3-4 Business case diagram - Use Case 1

3.2.2 Use Case 2- Internal purchase requisition process Internal purchase requisitions are a major expense factor of the new enterprise. Having a common internal requisition process in place is essential to achieve cost control and cost savings in the future. The new process enables employees

64

WebSphere Business Integration for SAP

to order goods centrally via an electronic channel. The goods available are predefined to ensure a cost efficient procurement process. The preselection of these goods is done by the procurement department. Depending on the products ordered, different policies are applied accordingly. Some products can be ordered without approval, while others may require specific approval. The order and approval policies are also defined by the procurement department and are located in a separate system. Based on which policies are effective, the new process has to query the enterprise Human Resource (HR) system for employee data to be able to route the approval request to the correct person. The HR system is an independent company wide application that provides employee and organizational data via open service based interfaces. Requests that require approval are presented to the approvers via the same electronic channel using the existing groupware infrastructure. Based on the decision of the approver, orders are placed in the procurement system or rejected. In both cases, the originator of the request is informed about the result. The major characteristic of the internal purchase order requisition process is that it is highly flexible and completely independent from the back-end systems it incorporates to fulfill the specific business process. Changes in the connected systems do not require changes in the business process. The integration of the existing procurement system is done in a way so that it is exchangeable in the future. The goal is to use external procurement system providers in the future to handle the complete delivery process of ordered goods. Figure 3-5 on page 66 shows the business case diagram for Use Case 2.

Chapter 3. Business case scenario

65

Figure 3-5 Business case diagram - Use Case 2

3.2.3 Use Case 3 - Inventory availability validation Customers are able to order products from former Company B in the common eCommerce portal. The eCommerce portal calculates availability dates of requested goods online by using a unified available to promise (ATP) check business logic. The customer does not recognize that the shown ATP data is retrieved from a different source. This seamless integration is essential to provide a unified corporate presence to the customer.

66

WebSphere Business Integration for SAP

The ATP check integration is implemented as a non-invasive solution and guarantees that the eCommerce portal business logic on one side and the production system on the other side are not affected. The eCommerce portal is able to relate specific products to the respective ATP check business logic and retrieves the information from the right source. The requested ATP information is real-time data that gives the customer the certainty that the ordered goods are available at the given point in time. An alternative would be to provide static ATP data. This means that a certain lead time is added to the order date. This approach does not fulfill the expected quality of service the eCommerce portal delivers to the customer but can be used as a fall-back solution to be able to provide an ATP date at all. The key characteristics of the desired solution are: 򐂰 Seamless integration into existing eCommerce infrastructure 򐂰 Non-invasive integration style 򐂰 Adjustable to reflect changing market situations in a reasonable time Figure 3-6 on page 68 shows the business case diagram for Use Case 3.

Chapter 3. Business case scenario

67

ERP System

Sales & Distribution

Process Automation and Collaboration

External Availability Check

Figure 3-6 Business case diagram - Use Case 3

68

WebSphere Business Integration for SAP

Legacy System

3.2.4 Use Case 4 - Customer data repository This Use Case has much in common with 3.2.1, “Use Case 1 - Product data repository” on page 62. Like in the master data area, the new enterprise has to establish a common process for customer base maintenance and introduce a common customer data repository. The goal is to have one logical customer data repository that hosts the customer master data of both former companies. This transformation is done without losing any historical information of the customers. Existing business applications can still access customer data in the same way they used to. The steadily increasing range of business wide applications that rely on the correctness and availability of the customer data necessitates that the customer data repository delivers a high degree of reliability and scalability. Future operation of this common customer data repository can be performed via the existing groupware infrastructure to enhance the usability for the employees maintaining the current customer data repository. The customer master data has to remain consistent even if it is used by various independent business applications. To ensure the high quality of customer data, specific processes are established for customer data creation, change, and deletion. This guarantees the consistency and accuracy of the customer data repository for the future. Different applications require different access methods to the customer data repository. The customer data repository provides synchronous and asynchronous as well as transactional access to the requested data. Its architecture also supports future extensions to exchange customer data with external partners across enterprise boundaries. The major challenge for this solution is to integrate two existing components that are already tightly contained in different landscapes. Integration has to be done by coupling two integration infrastructures together without disrupting their original functionality. The key characteristics of the desired solution are: 򐂰 Single point of maintenance 򐂰 Current and consistent customer data 򐂰 Provide different access mechanisms 򐂰 High availability of this business critical data Figure 3-7 on page 70 shows the business case diagram for Use Case 4.

Chapter 3. Business case scenario

69

Figure 3-7 Business case diagram - Use Case 4

70

WebSphere Business Integration for SAP

3.3 Constraints and assumptions To simplify the design, facilitate delivery of a demonstration application, and focus on the integration solutions in a heterogeneous environment, the following requirements and assumptions are established: 򐂰 Company A’s eCommerce portal is a Web-based J2EE application. 򐂰 Company A’s supply chain system is a standard application. 򐂰 Company A’s Sales & Distribution system is based on SAP R/3. 򐂰 Company B’s Sales & Distribution system is based on SAP R/3. 򐂰 Company B’s Material Management system is based on SAP R/3. 򐂰 Company B’2 inventory repository is implemented as a relational database. 򐂰 Company B’s groupware infrastructure is implemented using Lotus Domino technology. 򐂰 Necessary data protection is designed in the inter-system communications. Secure Sockets Layer (SSL) is a viable option at the transport layer. 򐂰 Part of a process is implemented in a transaction as deemed necessary. 򐂰 Minimum exception handling is implemented to deal with errors resulted from incorrect data formats, insufficient data elements, and invalid data contents. 򐂰 Minimum system management and monitoring is provided. The following supporting system design are not in the scope: 򐂰 Firewalls are not included in the cross-network communications. 򐂰 Scalability, availability, and disaster recovery topics are not addressed. 򐂰 Security topics like user authentication, authorization, confidentiality, integrity, encryption, and non-repudiation is not included.

Chapter 3. Business case scenario

71

72

WebSphere Business Integration for SAP

4

Chapter 4.

Solution approaches and technology options This chapter introduces the technology for implementing the Use Cases that are defined in Chapter 3, “Business case scenario” on page 53. The chapter starts by covering general characteristics of the basic technology integration components, namely integration broker and adapters. Then special requirements for SAP integration are collected. Subsequently, an overview of the integration brokers and adapters of the WebSphere Business Integration product family as central technology provider is given. The chapters ends with a discussion of the WebSphere Business Integration adapters for mySAP.com and SAP Exchange Infrastructure.

© Copyright IBM Corp. 2004. All rights reserved.

73

4.1 Basic technology integration components The understanding of business integration within this book is to connect data and processes of existing Enterprise Information Systems (EIS) into an overall business infrastructure. It is common that EISs used in different business areas run on different platforms and that each EIS provides a typical interface and access mechanism. The heterogeneity ranges from different protocols and data formats at the transport level up to the support of different programing paradigms at the Application Programing Interface (API). One of the main challenges is to agree on a common denominator in terms of finding a universal nomenclature and coordinate the different interface types of the various Enterprise Information Systems that have to be integrated. Given the heterogeneity, using direct interconnections between the different EISs without an intermediate instance would require extending the existing EISs with connection functionality (Figure 4-1). This would result in the development of dedicated connection solutions for converting data and process logic from one EIS to the other. Each of these bilateral connections would be required to extend at least one of the EISs involved. In addition, a huge effort would have to be spent on maintaining and managing connections from many different places. The complete infrastructure would be very static, because changes in one component would require the adjustment of a multitude of affected connections.

Figure 4-1 Business Integration with direct connections

74

WebSphere Business Integration for SAP

A more manageable and efficient architecture for business integration is to introduce a central integration broker and EIS specific adapters (Figure 4-2 on page 75).

Figure 4-2 Business Integration with a central integration broker

The integration broker is responsible for routing data between participating EISs and performing transformations, such as parsing, mapping, or aggregation, on the received data before forwarding it. In addition, the integration broker may process business logic between connected EISs, for example, synchronization of data from various resources or executing short term or long term business processes. Each EIS is connected to the central integration broker using a dedicated adapter. The adapter is responsible for transforming the EIS specific data into a common format that is agreed upon with the integration broker. The integration broker does all processing and transformation based on the common format. The introduction of a central broker together with specific adapters for the connected EIS constitute the adaptive character of this integration architecture, and prevents complex adjustments when the involved back-end systems change.

Chapter 4. Solution approaches and technology options

75

An EIS specific adapter contains two outlets (Figure 4-3 on page 76): one interfacing to the respective EIS and one interfacing to the integration broker. The outlet to the EIS understands its given application interface. The outlet to the integration broker supports the interface of the integration broker. In this way, the adapter is an abstraction layer and shields the integration broker from the peculiarities of an EIS. The integration broker must understand only one protocol and one data format when communicating with the adapters

Adapter Enterprise Information System

EIS Specific Outlet

Transformations

.

Integration Broker Specific Outlet

Integration Broker

Figure 4-3 Internal structure of an adapter

It is common that a fairly complex EIS can be accessed by various interfaces. An adapter is not limited to supporting only one interface per EIS, but it can bundle different interfaces of the same EIS. This can be achieved by configuring the adapter with the description of the exchanged data and the interface type to be used with the EIS (Figure 4-4). This information is stored in configuration files and enables the adapter to cope with EIS specific application data of various data types and access mechanisms during run time.

Type Description of EIS Specific Data

EIS Specific Data of Various Types

Transformations

Data in Integration Broker Format

Figure 4-4 Type description driven by data transformation within an adapter

Besides doing the transformations, a further main characteristic of an adapter is that it runs within its own process. This relieves the integration broker from accessing the EIS directly, and thus decouples its availability from the other systems to be integrated. Additionally, in this way, the EIS can be accessed without being changed.

76

WebSphere Business Integration for SAP

Being an active component, the adapter can independently support bidirectional communication between an EIS and the integration broker, as shown in Figure 4-5 on page 77.

Request Processing Enterprise Information System

Interface to EIS

Adapter

Integration Broker

Event Processing Enterprise Information System

Event Store

Adapter

Integration Broker

Figure 4-5 Bidirectional communication between an EIS and integration broker

The scenario, in which data get forwarded from an integration broker to an EIS, is called Request Processing, and is usually based on existing interfaces of an EIS, which are called by the adapter directly. The other scenario, called Event Processing, usually drives a business integration scenario in that data, or events, are produced independently within an EIS and need to be forwarded by its adapter to the integration broker. If the EIS cannot be configured to submit events to an external component directly, special functionality must be introduced that enables an adapter to retrieve the event by itself. Normally, this is done using an Event store for buffering events and extending the adapter by a mechanism for detecting events stored there.

4.2 SAP specialities regarding business integration The SAP enterprise server is implemented following a three-tier architecture. The database layer provides the central persistency instance and supports a wide palette of databases of all the major database vendors. The middle tier is comprised of SAP application server instances, which distribute the workload among each other to serve the expected requests within a reasonable response time. The end users are utilizing a specific fat client style SAP graphical user interface (SAPGUI) to access the SAP back-end system. The latest SAP

Chapter 4. Solution approaches and technology options

77

releases also introduced standard Web browsers as an additional end-user client type. The traditional SAP business applications were packaged in so called modules written in Advanced Business Application Programming (ABAP) and executed on the SAP Application Server. With the introduction of the mySAP.com technology, this traditional architecture has been extended to support additional standard Internet technologies. Beyond the proven ABAP capabilities, the new SAP Web Application Server (WebAS) comes with an additional Java personality implemented on a full blown Java 2 Enterprise Edition (J2EE) application server. SAP NetWeaver is the current technology platform that delivers business applications on both technology stacks ABAP and Java. Integrating the SAP enterprise server into a business integration scenario has to support the various releases of a SAP enterprise system and its most important interfaces.

4.2.1 Support of various SAP releases SAP provides ambitious business applications in a huge number of business areas. The portfolio goes from standard application modules like Human Resources and Material Management up to industry-specific solutions for the automotive industry or the telecommunication sector. These business applications are not static entities but steadily changing components. The functionality increases and new components for upcoming business areas appear while older releases still have to be maintained and keep on running. It is not unusual that an SAP infrastructure consists of many different SAP releases on different platforms, as shown in Figure 4-6 on page 79.

78

WebSphere Business Integration for SAP

Customer Data

SAP Human Resource 4.6C

SAP Quality Management R/3 Enterprise 4.70 Integration hub

SAP Financial Accounting 4.0B

SAP Customer Relationship Management 4.0

Figure 4-6 Different SAP system releases

The complex SAP infrastructure, with its steadily growing application components, makes specific demands on an effective business integration solution, such as: 򐂰 Support for different software releases and platforms New releases extend the provided business logic and introduce new interfaces. It is common that the various systems run in a heterogeneous infrastructure. With the latest SAP releases, an additional Java technology stack beyond the traditional ABAP stack is included within SAP solutions. This increases the numbers of appointed interfaces significantly. 򐂰 Support for a distributed enterprise architecture The architecture of the business integration solution has to be distributable itself to meet enterprise requirements. The solution must deliver a high degree of adoptability to fit into a multi-staged infrastructure, consisting of multiple SAP environments, like development, test and production, in parallel.

Chapter 4. Solution approaches and technology options

79

4.2.2 Support of a staged system landscape SAP business solutions deliver a huge portion of functionality out of the box and SAP applications are highly customizable. This is a major decision criteria for SAP. These custom SAP development efforts are embedded in a proven development architecture. Therefore, SAP introduced a three-stage development concept, as listed below and in Figure 4-7: 򐂰 Development environment 򐂰 Test environment 򐂰 Production environment

Test I Performance Dev I

Test II

Development System

Usability Unit Test

Production System

Transport System

Dev II

Test III

Sandbox tSystem

Consolidation

Development Stage

Test Stage

Production Stage

Figure 4-7 Typical SAP system landscape

The first stage contains SAP systems for core development. Multiple developers can work in parallel on the same project without disturbing each other. A

80

WebSphere Business Integration for SAP

sophisticated locking and repository mechanism ensures that the developed assets stay consistent. The focus is to rapidly produce the required application logic. Production features like load balancing, performance, and high availability are out of scope at this stage. At a certain development status, the produced components are transferred to the test environment. At this stage, unit tests are carried out to ensure that the complete application works together as expected. At this point, other applications also have to prove that functional and nonfunctional requirements are met, such as usability, process flow, error handling, and reasonable response times. Finally, approved application components are transferred to the production environment, which is generally a high available, clustered environment with multiple application servers. This environment must be able to serve the expected workload the custom business application is facing. SAP provides a dedicated transport system to guarantee a consistent replication of newly developed and tested revisions between the different stages.

4.2.3 Support of various SAP R/3 interfaces This section gives the reader an introduction and overview about the different types of SAP R/3 interfaces. It is not common to access raw data within the SAP R/3 system directly. One of the prescribed accessing mechanisms has to be used to accomplish this task: 򐂰 Application Link Enabling (ALE) & Intermediate Documents (IDOC) 򐂰 Remote Function Call (RFC) 򐂰 Business Application Programming Interface (BAPI) 򐂰 Batch Data Communications (BDC) 򐂰 Electronic Data Interface (EDI) 򐂰 Web Services (SAP Web Application Server 6.20 and later) Batch Data Communications, Electronic Data Interface, and Web Services are not within the scope of this chapter.

ALE and IDocs ALE can integrate business processes between different back-end systems (SAP and non-SAP). It enables the controlled exchange of consistent business data between loosely-coupled SAP application systems and non-SAP systems. ALE uses IDocs to pass information in and out of SAP. An IDoc is an information container that has an exactly predefined (structured ASCII) format. It can be understood as the serialized representation of a business object. ALE represents an asynchronous communication style.

Chapter 4. Solution approaches and technology options

81

RFCs RFCs are SAP specific Remote Procedure calls in the distributed SAP landscape. ABAP function modules can be marked as remote enabled and made accessible to a RFC client remotely. The SAP system can act as an RFC server or as an RFC client. RFCs represent a synchronous communication style.

BAPIs BAPIs are an object oriented programming interface. A BAPI can be understood as a class or instance method of business object located within a SAP system. Technically, they are implemented as RFC-enabled function modules for an SAP business object’s method. SAP guarantees that the interfaces of the provided standard BAPIs remain stable over a certain release levels. BAPIs represent a synchronous communication

4.3 WebSphere Business Integration product suite capabilities 4.1, “Basic technology integration components” on page 74 introduced the general notion of an integration broker and active adapters. This section shows how these general notions are fulfilled by the WebSphere Business Integration product suite. It first takes a deeper look at the WebSphere Business Integration adapters. Then, three different integration brokers provided by WebSphere Business Integration are introduced.

4.3.1 WebSphere Business Integration adapters At the beginning of this chapter, the common characteristics of an adapter for business integration are introduced. This section covers how IBM WebSphere Business Integration adapters implement these general concepts. The section starts with a discussion of business objects, which describe the common data format handled within WebSphere Business Integration adapters and Integration Broker. Subsequently, the technical architecture of the adapter is described. This section ends with a short presentation of the configuration and development tools. Note: A WebSphere Business Integration adapter consists of the adapter’s connector and its configuration and development toolkits like Object Discovery Agent (ODA). However, for the sake of simplicity, the terms adapter and connector are used synonymously within this book.

82

WebSphere Business Integration for SAP

Business objects Business objects define a common format for exchanging data between an adapter and an integration broker (Figure 4-3 on page 76). A business object consists of payload data as well as instructions on how to process the data. The payload data is defined as a hierarchical record structure (Figure 4-8). Such a record comprises a list of attributes, either having a simple type, like string, or a reference to a child business object. Arrays are defined as being child business objects of cardinality n. Processing instructions are defined as standard operations, like Create, Update and Delete. The interpretation of these operations, called verbs, within an adapter or integration broker depends on the EIS to be integrated.

Customer Account

Attributes

ID type = string Name type = string Account type = Account cardinality=n

Verbs

Profile type = Profile cardinality = 1 Create Update

ID type = string Credit Data type = string

Profile ID type = string Profile Data type = string

Figure 4-8 Sketch of a business object Definition “Customer”

Technical architecture of WBI adapters A WebSphere Business Integration adapter consists of two parts: the Application Specific Component and the Adapter Connector Framework (Figure 4-9 on page 84). All connectors share the connector framework, but differ in the application specific component.

Chapter 4. Solution approaches and technology options

83

Application Event Notification Global Utility Functions

Application Specific Component

Transport Layer

Business Object Handlers

Generic Services

Enterprise Information System

Application Interface Functions

Adapter

MQ

JMS

Integration Broker

IIOP

Adapter Connector Framework

Figure 4-9 Adapter architecture

The application specific component of an adapter provides bidirectional connectivity with the interfaces of its connected EIS for request as well as event processing. It corresponds to the entities EIS specific outlet and transformations in Figure 4-3 on page 76. The application specific component comprises: 򐂰 A connector base class to initialize and set up the connector. 򐂰 A business object handler for converting EIS specific data into a business object and vice versa. 򐂰 An event notification mechanism to detect and respond to application events within the EIS. Depending on the type of application interfaces, there are two categories of WebSphere Business Integration adapters. Application adapters, like the WebSphere Business Integration adapter for mySAP.com, call the native interface of an EIS. Technology adapters, on the other hand, provide a more generic interface, usually based on open standards, for integrating a connected EIS. An example is the WebSphere Business Integration adapter for SAP Exchange Infrastructure, which is based on JMS. While for an application adapter the transformation between its native data format and business objects can be built in, a technology adapter must be able to handle data from an EIS of various formats, like XML, EDI, or delimited. This can be accomplished by configuring the business object handlers to use a data handler that provides a transformation functionality of a dedicated format.

84

WebSphere Business Integration for SAP

Corresponding to the entity “Integration broker specific outlet” within Figure 4-3 on page 76, the Adapter Connector Framework provides bidirectional interaction with the integration broker by means of the transport layer. This layer supports WebSphere MQ, JMS, and CORBA IIOP as transport protocols. In addition, the connector framework offers generic services like monitoring, logging, and tracing.

Configuration and development tools for WBI adapters The concept of an adapter offers integration of existing EISs using ready-made components and hence without developing dedicated integration solutions. However, this requires an adapter to be a highly configurable entity. Important configuration parameters are: 򐂰 The business object definitions that the adapter is able to handle. 򐂰 The application interfaces, which an EIS offers. 򐂰 Different transport protocols for communicating with an integration server. 򐂰 The integration broker that is utilized. The various tools that are provided for configuring an WebSphere Business Integration adapter are depicted in Figure 4-10.

Connector Configurator

Adapter

Enterprise Information System

Application Specific Component

Adapter Connector Framework

Integration Broker

repository ODA

Business Object Designer

Figure 4-10 Configuration tools for WBI adapters

The Connector Configuration tool is used to create and modify the connector’s configuration file that contains all the parameters, which are listed in Figure 4-10.

Chapter 4. Solution approaches and technology options

85

Business object definitions, represented as XML schemas, are created and edited using the Business Object Designer tool. The definitions are stored within a repository that can be accessed by the business object handler within the application specific component of an adapter. The adapter drives the transformation of EIS. Based on the business object definition, the connector uses the Data Handler to transform EIS specific data into business objects and vice versa, and thus corresponds to the type description entity in Figure 4-3 on page 76. Using the Object Discovery Agent (ODA), a business object definition can be derived automatically from the data formats provided by a EIS. IBM provides a huge portfolio of application and technology adapters. An actual list is provided at the following URL: http://www.ibm.com/software/integration/wbiadapters

If a given EIS is not supported by an adapter, it can be developed based on a framework provided by the WebSphere Business Integration Adapter Development Kit (ADK). In the same way, there is an Object Discovery Agent Development Kit (ODK), which consists of a set of APIs to develop a custom ODA.

4.3.2 WebSphere InterChange Server WebSphere InterChange Server (Figure 4-11) is a convenient broker for implementing integration scenarios that involve data and process coordination between different EISs with special requirements on centralized business processing rules.

WebSphere InterChange Server Enterprise Information System

Collaboration

Controller

Adapter ASBO

GBO

Mapping & Cross-Referencing

Controller GBO

Business Process Integration

ASBO Mapping & Cross-Referencing

Figure 4-11 WebSphere InterChange Server Architecture

At the heart of the InterChange Server are collaborations, which are software modules that contain code and business process logic that drive interactions between connected EIS. The logic of a collaboration comprises static and

86

WebSphere Business Integration for SAP

dynamic routing of data, ranging from simple piping of data between connected EISs to complex synchronization of data from various sources and multi-step process coordination. In order to separate the process logic as much as possible from the connected EIS, the InterChange Server distinguishes between application specific business objects (ASBO) and generic business objects (GBO). An adapter converts EIS specific data into a business object. This is a common format for all adapters; however, from a semantic point of view, it is still dependent on the EIS. For example, an SAP R/3 has its own notion of a data describing “Customer” entities, containing more or different attributes than related business objects from other EIS. Hence, these business objects are named ASBO. A GBO can be regarded as an abstraction of related ASBOs, extracting all the attributes that are relevant for exchange and business process logic. Since collaborations only work on GBOs, they provide - to a certain extent - application independent process logic. A GBO is derived from a ASBO through a data mapping and cross-referencing step. Data mapping is the process of mapping attributes from a ASBO to a GBO and vice versa. It may contain simple transformation steps, like merely copying of attribute data, up to more complex operations, like joining several source attributes to a destination one. Based on a given mapping API, even self developed mapping operations can be used. When attributes in a source and destination business object contain equivalent data that is represented differently, like a customer ID or a country code, the transformation step employs cross-referencing, also called a relationship. A relationship establishes an association between data from two or more business objects and is usually implemented using the contents of database tables. The mapping and cross-referencing step is performed within the connector controller, which is a run-time service that mediates between an adapter and the collaboration on the ICS. Each connected adapter must have a controller as a counterpart within the InterChange Server. Collaborations, mapping, and relationships are created and maintained using dedicated tools, which are controlled from within the Eclipse-based workbench System Manager.

Chapter 4. Solution approaches and technology options

87

4.3.3 WebSphere Business Integration Server Foundation WebSphere Business Integration Server Foundation (WBISF) is IBM’s next generation integration platform supporting open industry standards. It is a Java 2 Enterprise Edition (J2EE) compliant application server built on the entrenched WebSphere Application Server. WBISF can be considered as the rebranded name of the WebSphere Application Server Enterprise Edition from Version 5.1 onwards. The rebranding reflects the trend to merge typical integration server capabilities with traditional application server technologies. The goal is to introduce an on demand Integrated Platform Suite that allows you to design, develop, execute, and administer business processes seamlessly across different platforms and system boundaries. The core products that are shown in Figure 4-12 mentioned areas to support the complete business process application life cycle are 򐂰 WebSphere Business Integration Server Foundation V5.1 򐂰 WebSphere Business Integration Modeler V5.1 򐂰 WebSphere Business Integration Monitor V5.1 򐂰 WebSphere Studio Application Developer Integration Edition 5.1

Figure 4-12 On demand Integrated Platform Suite

WBISF supports Business Process Execution Language for Web Services (BPEL4WS). This is the de facto industry standard for defining and executing business processes in a flexible and platform neutral manner. The IBM proprietary standard Flow Definition Markup Language (FDML) is still supported, even if it is marked as deprecated, to allow customers to migrate from FDML to BPEL during a transition period. The WebSphere Studio Application Developer Integration Edition (WSADIE) includes wizard driven migration support to minimize transition times as much as possible. In addition, WSADIE provides

88

WebSphere Business Integration for SAP

tooling support to develop business processes visually using comprehensive editors. Business Process Choreographer (BPC) provides support for business-process applications within the WBISF. WPC supports service composition as specified by BPEL4WS and enables developers to define the structure and behavior of a business process. Typical business processes implemented in an enterprise require the interaction of human and IT resources following well-defined rules. WPC supports long-running as well as short-running business processes. Important: There are various names for the same characteristics of business processes: 򐂰 Long-running processes – Interruptible processes that can be suspended and resumed. – Process state is persistent. – Also mentioned as macroflow. 򐂰 Short-running processes – Non-interruptible processes that maintain only the active state. – Process state is not persistent. – Also mentioned as microflow. WBISF provides the run-time environment for WPC. WPC is also sometimes called the business process container of WBISF or the Business Process Execution (BPE) container. Figure 4-13 on page 90 shows the components of the container. It is implemented as a J2EE application that uses the underlying WebSphere Application Server run-time services and resources.

Chapter 4. Solution approaches and technology options

89

Business Process Engine External I/F

Internal I/F

Session EJBbased API

Request Dispatch

External Queue

Internal Queue

Messagedriven Beanbased API

Internal Queue Handler MDB

Process Navigation

Navigator

Data Handling

Invocation

Process, Activity

Variables, Conditions

Java, WSIF

People Interaction Work Item Manager

Staff Queries

Authorization

User Reg. LDAP

Work itembased

Compensation

Observer Audit Trail

Factory

Business Process DB

Persistent Storage Handler Transient Storage Handler

Figure 4-13 Business process execution container architecture

The WebSphere Business Integration programing model is based on the adapter based integration of various back-end systems into a common integration broker environment. WebSphere Business Integration Server Foundation, as one integration broker, supports this programing model. The complete WebSphere Business Integration Adapters portfolio can be utilized via the WebSphere Business Integration Adapter Framework. Suitable Mediations are applied on the application specific business objects (ASBO) to generate generic business objects (GBO). Figure 4-14 illustrates the relationship between ASBOs, GBOs, Mediations, and Adapters in a WBISF environment.

Figure 4-14 Adapter based integration in WBISF

90

WebSphere Business Integration for SAP

4.3.4 WebSphere Business Integration Message Broker WebSphere Business Integration brokers provide a publish/subscribe style of messaging. In publish/subscribe messaging, the application that sends the information does not know which application receives the information. The sender application publishes messages that contain the information and applications receive the information according to the topics that they have subscribed to. WebSphere Business Integration Message Broker incorporates and extends WebSphere Business Integration Event Broker. WebSphere Business Integration Message Broker provides point-to-point messaging as well as the Publish/Subscribe style of messaging. In point-to-point messaging, the application that sends the information knows which application receives the information. The benefit of point-to-point messaging is that the broker can route the messages according to the message content. The broker can also manipulate the message content, interact with databases, and even transform the message from one format to another. WebSphere Business Integration brokers products use WebSphere MQ’s messaging and queuing technology to transport information between business applications in the form of messages. WebSphere MQ provides assured, once-only delivery of each message (see Figure 4-15).

WBI Message Broker WBI Event Broker WebSphere MQ (Incl JMS)

Figure 4-15 WBI Message Broker extends WBI Event Broker

In a WebSphere Business Integration brokers environment, the complete WebSphere Business Integration Adapters portfolio can be utilized via the WebSphere Business Integration Adapter Framework (see Figure 4-16 on page 92).

Chapter 4. Solution approaches and technology options

91

WBI Message Broker Application A

Message Flow Adapter

ASBO

ASBO

Adapter

Application B

Figure 4-16 WBI Message Broker Architecture

The WebSphere Business Integration brokers run time contains message flows, which contain the message routing and transformation logic.The logic of a message flow comprises static and dynamic routing of data, ranging from simple piping of data between connected applications to complex synchronization of data from various sources. Note: In contrast to the WebSphere Business Server Foundation and the WebSphere InterChange Server, the WebSphere Business Integration brokers use only application Specific business objects (ASBOs) and not generic business objects (GBOs). An adapter converts application specific data into an application specific business object. The business object is placed as a message in the correct XML-based wire format on a WebSphere MQ queue for the integration broker. The integration broker receives the message and passes it to the message flow. After the message is processed by the message flow, the integration broker places the resulting message on the WebSphere MQ queue for the connector for application B. WebSphere Business Integration Message Broker is used to: 򐂰 Securely connect business applications with those of business partners, suppliers, and customers. 򐂰 Exchange information between applications regardless of the information format, the platforms on which the applications are installed, and the geographical locations and time zones of the applications. 򐂰 Integrate dissimilar computer systems that an organization owns as a result of mergers and acquisitions.

92

WebSphere Business Integration for SAP

4.3.5 Integration server selection The WebSphere Business Integration product family offers different integration servers which provide specific strengths in certain integration areas. Available integration servers are: 򐂰 WebSphere Business Integration Server Foundation (WBISF) 򐂰 WebSphere InterChange Server (WICS) 򐂰 WebSphere Business Integration Message Broker (WBIMB) Table 4-1 illustrates the strengths of the different integration servers and can be used to make a decision for a particular integration requirement. Table 4-1 Integration brokers characteristics matrix Characteristic

WBISF

WICS

WBIMB

MQSeries® prevalent environment

o

o

+

Java oriented environment

+

+

o

Next generation platform

+

o

o

Make use of prebuild collaborations

o

+

o

Business process integration/modelling

+

+

o

Standards based solutions

+

o

o

Web Services based solutions

+

+

o

Human interaction

+

o

o

High availability

+

+

+

High volume message exchange

o

o

+

Dynamic message routing

o

o

+

Platform availability 򐂰

Unix

+

+

+

򐂰

Linux

+

o

+

򐂰

zOS

+

o

+

Legend: o - neutral + - strength

Chapter 4. Solution approaches and technology options

93

4.4 WebSphere Business Integration in the SAP environment This section describes the features and functions of the two SAP related WebSphere Business Integration Adapters: 򐂰 WebSphere Business Integration Adapter for mySAP.com 򐂰 WebSphere Business Integration Adapter for SAP Exchange Infrastructure

4.4.1 WBI Adapter for mySAP.com The WebSphere Business Integration Adapter for mySAP.com is a software suite consisting of a run-time component and development and administration tools (see Figure 4-17 on page 95). The WebSphere Business Integration Adapter for mySAP.com uses the SAP Java Connector to access SAP R/3 systems. The adapter contains following components: 򐂰 Connector (the run-time component) 򐂰 Connector Configurator tool 򐂰 Business Object Designer tool 򐂰 SAP Object Discovery Agent (SAP ODA)

94

WebSphere Business Integration for SAP

Connector Configurator Connector Application Specific Component

WBIMB WICS WAS

Connector Framework SAP R/3

XML Schema

Business Object Designer

SAP ODA

Figure 4-17 WBI Adapter for mySAP.com architecture, white board style

The Connector Configuration tool is used to create and modify the connector’s configuration. It defines which business objects the connector supports and the connector properties. The Business Object Designer tool generates Business Objects, which represent SAP R/3 interfaces, like IDocs, BAPIs, and RFCs. Therefore, it uses the SAP Object Discovery Agent (ODA). The SAP ODA is a very innovative component of the WebSphere Business Integration Adapter for mySAP.com. It connects to the SAP R/3 system and queries it for metadata to get the appropriate interface definitions. This information is used by the Business Object Designer to construct the fairly complex objects which are required at run time. The run-time component of the WebSphere Business Integration Adapter for mySAP.com is the so called connector, which consists of: 򐂰 The connector framework 򐂰 An application specific component

Chapter 4. Solution approaches and technology options

95

򐂰 The EDI Data Handler The application specific component comprises different modules. Each of these modules address a particular SAP R/3 interfaces type, as illustrated in Figure 4-18. Also, the adapter can make use of the Extension Module and the CrossWorld Station in R/3.

Interface

WBI Adapter ALE Module

iDoc sent to SAP Return “IDoc received”

SAP Application Business Logic

Asynchronous:IDoc processed Database updated Status to ALE table

ASBO sent to SAP

ABAP Extension Module BAPI Module

Database

ASBO returned w/object key

Status returned

Converted to IDoc Converted to Dynamic Object

Synchronous

Advanced Event Notification Management/Troubleshooting Tools

BAPI processed synchronously with object key feedback

Hierarchical Dynamic Retrieve Module

Retrieve from SAP tables using standard SAP API

RFC Server Module

SAP Program calls WBI synchronously and waits for response

Figure 4-18 Modules of the WBI Adapter for mySAP.com - detailed view

The connector communicates with the SAP R/3 back end via RFC and it uses the SAP Java Connector (SAP JCo) API. The communication type between the adapter and the integration broker is one of following: 򐂰 WebSphere MQ 򐂰 Java Messaging Service (JMS) 򐂰 Internet Inter-ORB Protocol (IIOP) (Object Request Broker (ORB)) The connector can be deployed on different physical locations, as illustrated in Figure 4-19 on page 97.

96

WebSphere Business Integration for SAP

Figure 4-19 Deployment topology

򐂰 Option 1: The connector runs on the SAP R/3 application server. 򐂰 Option 2: The connector runs on the integration server. 򐂰 Option 3: The connector runs on a own or third party server. 򐂰 Option 4: The connector runs on a server outside the local area network.

BAPI Module The BAPI Module (see Figure 4-20 on page 98) is a Java written subcomponent of the adapter that enables the integration broker to make direct calls to a SAP R/3 application server. The module uses the standard SAP Java Connector (SAP JCo) to establish a connection to the SAP system. As an SAP JCo client application, this invokes the SAP Remote Function Call (RFC) library to connect to the SAP Gateway of the respective application server. The BAPI Module can access any remote enabled function module in the SAP system and represents a non-invasive integration approach; it does not require any modification or adjustments in the accessed SAP back-end system. The business object generation utility, SAP Object Discovery Agent (ODA), generates business object definitions that support BAPIs. The discovery agent interprets the interface of a BAPI, maps its parameters to the business object

Chapter 4. Solution approaches and technology options

97

attributes, and adds the application-specific information for each attribute. Using the SAP ODA in conjunction with the Business Object Designer, it is relative easy to create business objects from complex interface structures.The BAPI Module is unidirectional; it supports calls from the integration broker to the SAP application.

WebSphere Business Integration Adapter

RFC Connection

SAP Gateway

SAP RFC Library

SAP Java Connector - JCo

Business Object Handlers

SAP Back-end System

BAPIs RFCs

Figure 4-20 BAPI Module

Hierarchical Dynamic Retrieve Module The Hierarchical Dynamic Retrieve (HDR) Module (Figure 4-21 on page 99) is very similar to the BAPI Module described above. It is also a Java produced subcomponent of the adapter that enables the integration broker to processes hierarchical or flat business objects retrieved from a SAP R/3 application server. The module also uses the standard SAP JCo to establish a connection to the SAP system. The main difference to the BAPI Module is that a dedicated RFC module is used to access SAP metadata of existing SAP tables. The Business Object Designer supports the generation of business objects representing SAP tables using the HDR module. The ODA queries the metadata of the respective database tables and populates the business object automatically. All application specific information is filled in to avoid circumstantial manual actions. The HDR Module supports flat tables as well as nested table constructs. The HDR Module is unidirectional; it supports calls from the integration broker to the SAP application.

98

WebSphere Business Integration for SAP

WebSphere Business Integration Adapter

RFC Connection

SAP Gateway

SAP RFC Library

SAP Java Connector - JCo

Business Object Handler

SAP Backend System

RFC_READ_TABLE

Figure 4-21 HDR Module

RFC Server Module The RFC Server Module (see Figure 4-22 on page 100) acts as a server to the SAP application. It enables the integration broker to receive business objects from SAP applications that support RFCs. The module uses the standard SAP JCo to implement an RFC Server connection to the SAP system. As with any SAP JCo RFC Server application, this invokes the SAP Remote Function Call (RFC) library to connect to the SAP Gateway of the respective application server. The target SAP system must be configured to accept the RFC Server application on the gateway. This is done by setting up a RFC destination to define the entry point in the SAP Gateway the RFC Server Module is using. Because the RFC Server Module acts as a server to the SAP application, it “pushes” or sends events from the SAP application to the integration broker. This behavior is very different from other modules, which poll the application for events. Like the other modules of the adapter, the RFC Server module can also make use of the Business Object Designer and the SAP ODA to rapidly create new business objects. Several settings during the wizard driven object creation process tell the Business Object Designer that a RFC Server specific business object handler has to be created. The generated Java classes are stored in a different directory than the Java classes created with the other modules. The RFC Server Module is unidirectional; it supports calls from the SAP application to the integration broker.

Chapter 4. Solution approaches and technology options

99

WebSphere Business Integration Adapter Register Program ID Multi-threaded RFC Connection

SAP Gateway

SAP RFC library

SAP Java Connector - JCo

RFC Server Specific Business Object Handlers

SAP Backend System

RFC RFC RFC Client client client

Figure 4-22 RFC Server Module

ALE Module The ALE Module (see Figure 4-23 on page 101) is much more complex than the BAPI Module and the RFC Server Module, because it supports bidirectional communication. The SAP application can call the integration broker and the integration broker can call the SAP application. In addition, the ALE Module implements an asynchronous communication style that adds another level of complexity. The ALE module uses MQ Series queues for Transaction ID (TID) and IDocs management to guarantee a consistent one time delivery of exchanged data objects. The connector checks for subscriptions when processing the data from SAP to the connector. Communications from the broker to the SAP system is often called Request processing, while calls initiated by the SAP system are called Event processing. The SAP RFC libraries are used in both directions and the connection endpoint at the SAP system is the SAP Gateway.

Request processing - Integration Broker to SAP 1. The integration broker sends a integration broker business object to the SAP connector. 2. The business object’s data represents a processing request to the connector. 3. The connector converts the business object to a table format compatible with the SAP Intermediate Document (IDoc) format. 4. The connector uses RFCs to the ALE interface of the SAP R/3 system to pass the IDoc data.

100

WebSphere Business Integration for SAP

Event processing - SAP to Integration Broker 1. The connector receives data representing an application event from SAP in IDoc table format via a RFC Server listener thread. 2. Each event from SAP is considered a transaction and persisted in MQSeries queues. 3. The connector converts the data to a integration broker business object before sending it to the integration broker. 4. The connector updates the status of the processed event. The connector uses a two-step process with a TID to handle each event storing events in WebSphere MQ queues persistently, guaranteeing once-only delivery of data from SAP to the connector. The ALE Module is best used for asynchronous communications.

ALE Request Processing Business Object Handlers

WebSphere MQ

JMS Connection

ALE Event Processing Business Object Handler

RFC

SAP Gateway

SAP RFC Library

SAP Java Connector - JCo

WebSphere Business Integration Adapter

RFC Connection

SAP Backend System

Register Program ID Multi-threaded RFC Connection

RFC RFC client Client

Figure 4-23 ALE Module

ABAP Extension Module The ABAP Extension Module (Figure 4-24 on page 104) enables an integration broker to send business objects to and receive events from SAP R/3 applications. The module consists of components written in Java and ABAP, whereas the main part is the ABAP portion. The Java component of the module

Chapter 4. Solution approaches and technology options

101

utilizes the standard SAP Java Connector (SAP JCo) to establish a connection to the respective SAP system. The communication is done using a standard RFC connection to the SAP Gateway and executing respective function modules of the ABAP component of the ABAP extension module. The ABAP components consist of various SAP application function modules, database tables, and programs. Some of these ABAP components are developed and delivered as part of the adapter and some are native to every SAP installation. These elements handle the event delivery and business object request processes initiated by the Java component. The ABAP components are delivered in connector transport files to be loaded into an SAP application. The ABAP components are all located in a separate name space and do not override any SAP standard objects. This guarantees that the SAP system, which is using the enhanced functions of this module, are still easy to maintain and to upgrade.

CrossWorld Station After the implementation of the transport files, the full functionality of the ABAP Extension module is available. These functions are accessible via SAP transactions and screens. The central entry point to access the base functions of the ABAP components of the ABAP Extension Module is called CrossWorld Station. The CrossWorld Station is a set of R/3 transactions for: 򐂰 Analyzing of adapter logs 򐂰 Monitoring of the adapter 򐂰 Developing inbound and outbound business object definitions 򐂰 Defining event distribution settings 򐂰 Configuring the SAP system to work with the ABAP Extension Module

Java components The handle the event delivery and event business object request processes. 򐂰 Opens an RFC connection to the SAP application using the SAP RFC library and the SAP Gateway. 򐂰 Handles requests from the integration broker and passes the requests to an ABAP component of the connector. 򐂰 Polls the SAP application for events.

102

WebSphere Business Integration for SAP

ABAP components These elements handle the event delivery and business object request processes initiated by the Java components. 򐂰 Handles business object requests from the Java component by calling the appropriate function modules designed to handle a particular business object type and verb. 򐂰 Detects, triggers, and stores events in the event table. 򐂰 Handles event requests and their subsequent return (event status update) from the Java component. The main feature of the ABAP Extension Module is its advanced event detection mechanisms and business object handlers that manipulate the most common objects from SAP. The ABAP Extension Module can make use of four mechanisms to detect an event in the SAP application: 򐂰 Code enhancements 򐂰 Batch programs 򐂰 SAP Business Workflow 򐂰 Change Pointer Event detection is the process that is used to verify that an event was generated in the SAP application. The event detection mechanism calls an event trigger, which takes the detected event and adds it to an event table in SAP. The objects can be retrieved and manipulated to and from SAP in real time, and they can be also retrieved through both request/reply and publish/subscribe models. The adapter notifies you of the success and status of the object transaction request, and returns the unique ID of any created object. The adapter enables real-time retrieval of complex objects from SAP or requests to create, change, or delete business objects. In contrast to the other modules of the WebSphere Business Integration Adapter for SAP, the ABAP Extension Module is an invasive integration approach.

Chapter 4. Solution approaches and technology options

103

Request Processing

Event Notification Poll for Events

ABAP Handlers

SAP Gateway

SAP RFC library

SAP Java Connector - JCo

WebSphere Business Integration Adapter

RFC Connection

RFC Connection

Function RFC client Modules

Tables Tables

CWLD Namespace

SAP Backend System

Figure 4-24 ABAP Extension Module

4.4.2 WBI Adapter for SAP Exchange Infrastructure The adapter that is introduced in this section provides an integration of SAP Exchange Infrastructure into a WebSphere Business Integration scenario. This adapter is available in a version that supports JMS and one that uses Simple Object Access Protocol (SOAP) over Hypertext Transfer Protocol/extension of HTTP running under SSL (HTTP/HTTPS) as the underlying communication technology. The latter has been released recently and thus is only described in this chapter.

JMS based WBI adapter for SAP XI The WebSphere Business Integration adapter for SAP Exchange Infrastructure V1.0 allows the WebSphere Integration broker to asynchronously exchange business objects with SAP Exchange Infrastructure using a WebSphere MQ based JMS implementation (Figure 4-25 on page 105). Using JMS supports a transactional message exchange between the two integration brokers and is very well suited for business scenarios where data is changed at the downstream back-end systems.

104

WebSphere Business Integration for SAP

The WebSphere adapter for SAP Exchange Infrastructure supports requests as well as event processing. The messages sent or received by the adapter are compatible with the IDoc-XML format that is defined by a SAP IDoc structure. Message generation and checking within the adapter is driven by a business object type that is generated by the XML Object Discovery Agent (ODA) from a corresponding SAP IDoc structure. WBI_XI_Queue

SAP XI XML Message

WBI Adapter for SAP XI

Business Object

WBI Integration Broker

XI_WBI_Queue XML Data Handler

XML ODA

Figure 4-25 Architecture of WBI adapter for SAP XI V1.0

On receiving a business object as a request from the InterChange Server, the adapter calls the XML data handler to convert the business object into an XML message according to a business object type the adapter is associated with. Thereafter, the JMS layer makes the appropriate calls to open a queue session and routes the message into a defined WebSphere MQ queue. Event processing, in which the adapter receives XML messages from SAP Exchange Infrastructure and relays them to the Integration Broker, works similar to the request processing described before. Both kinds of processing are metadata driven, meaning that major format conversions and message routing functions are defined by meta-objects.

SOAP based WBI adapter for SAP XI The WebSphere Business Integration adapter for SAP Exchange Infrastructure V2.0 supports Simple Object Access Protocol (SOAP) over HTTP/HTTPS as the underlying communication technology for requests as well as event processing. In this way: 򐂰 SAP Exchange Infrastructure, regardless of its downstream EIS, can be integrated as a web service into a WebSphere Business Integration scenario. or

Chapter 4. Solution approaches and technology options

105

򐂰 A WebSphere Business Integration scenario can be exposed as a Web service to the SAP Exchange Infrastructure. Figure 4-26 depicts the architecture of this adapter, using WebSphere InterChange Server as the integration broker.

SAP XI Server

SAP XI SOAP Adapter

Internet Internet

SOAP over HTTP/HHTPS

Enterprise Web Server

In request processing, a collaboration issues a Web service provided by the SAP Exchange Infrastructure. The collaboration delivers the service call as a top-level business object, containing a request and optional response, as well as fault business objects, to the adapter. Using the SOAP data handler, the business objects are converted into SOAP messages before they are sent to the SOAP adapter of SAP Exchange Infrastructure, usually using a Web infrastructure, such as a Web server, firewall, and Internet in between. On receiving a response to the request, the adapter calls the SOAP data handler to convert the message to a business objects, and returns it to the collaboration.

WBI Adapter for SAP XI 2.0

SOAP Data Handler

Collaboration Business Object

WBI InterChange Server

SAP XI ODA

Figure 4-26 Architecture of WBI Adapter for SAP XI, V2.0

In event processing, a collaboration is exposed as a Web service that is called by the SOAP adapter of the SAP Exchange Infrastructure. The steps to be executed in this case are similar to the one described for request processing, except that the direction of processing is changed. For event as well as request processing, both WebSphere InterChange Server and SAP Exchange Infrastructure must agree on an interface description of the Web service in the Web Services Description Language (WSDL) format, which defines the structure of the SOAP messages and, thus, also of the type of the business objects that are exchanged between the collaboration and the adapter. If the interface description is determined by SAP Exchange Infrastructure, the collaboration within the InterChange Server must be developed accordingly. For this scenario, the WebSphere adapter provides the SAP XI Object Discovery Agent (SAP XI ODA) that converts a given WSDL definition into a top-level business object type. Based on this, the collaboration can be developed to send

106

WebSphere Business Integration for SAP

or receive business objects to or from the adapter of the generated type, either within a request or a event processing scenario. The interface description may also be derived from a given collaboration within an event processing scenario. For this purpose, the InterChange Server provides the WSDL Configuration wizard, which generates a WSDL file for an existing collaboration.

Chapter 4. Solution approaches and technology options

107

108

WebSphere Business Integration for SAP

5

Chapter 5.

Solution design This chapter defines a technical solution to the business case scenario described in Chapter 3, “Business case scenario” on page 53, from the standpoint of system architecture, process flow, and data flow, as designed for all four Use Cases. Appropriate integration broker and integration adapter selection is rationalized in the design of each Use Case solution.

© Copyright IBM Corp. 2004. All rights reserved.

109

5.1 Business process analysis The business process requirements of the merged enterprise are specified in detail in Chapter 3, “Business case scenario” on page 53. Four Use Case definitions were made in that chapter. These areas are discussed here in more detail. Each defined Use Case addresses a particular business problem in different business areas. For this reason, the technical challenges differ from case to case. Table 5-1 categorizes the Use Cases with regard to the integration characteristics and the key technical challenges. Table 5-1 Use Case characteristics Use Case

Integration type

Purpose

Technical challenges

Use Case 1

Application connectivity

Synchronize the master data of two sales systems. Notify subscribed business components of occurrences, such as a placed sales order.

򐂰

Consistent and reliable product master data synchronization between ERP systems.

򐂰

Flexible, performing, and asynchronous event notification.

Allow internal employees to submit purchase requisition requests via a standard process. The process involves preexisting business applications and provides an approval mechanism.

򐂰

Incorporates various systems on different distributed platforms.

򐂰

Supports long-running, asynchronous processes.

򐂰

Embraces human interaction within the process.

Enable the SD System of Company A to access the inventory system of Company B to get reliable product availability data.

򐂰

Seamless, real-time integration of remote business logic.

򐂰

Provides the opportunity to dynamically adjust the system linkages.

Create a new and easy to use interface for the sales team to add new customer records into the customer data repository.

򐂰

Provides system access via the standard groupware infrastructure.

򐂰

Distributes business data to the relevant back-end systems.

Master data synchronization & Event notification

Use Case 2 Internal purchase requisition process

Use Case 3

Process choreography & User integration

Process automation

Automate inventory availability verification

Use Case 4 Maintain customer data across system boundaries

110

Inventory availability validation

WebSphere Business Integration for SAP

5.2 Design principles and methodology Various design principles and methodologies are steadily under discussion on how to do business integration most effectively. One ideal approach is to establish a new technical model for the merged enterprise and to completely replace the heterogeneous environments that consists of mixed technologies in the former companies. However, the compulsory business continuity requirements and financial constraints limit the possibility to rebuild from scratch. Another more practical reason for not taking this approach is the attempt to fuse both environments and obtain a crossbreed that has the strengths of both former business models. Existing assets have to be analyzed and reused as much as possible, and new business processes must be implemented on top of the current infrastructure incorporating existing business functions. The following principles are followed in the technical design: 򐂰 Reuse existing infrastructure where and when possible to avoid cost of additional hardware and software. 򐂰 Satisfy corporate security requirements for secure applications. 򐂰 Apply corporate technical standards, best practices, and guidelines. Force consistency with industry standard architectures to build an open platform that is prepared for future growth. 򐂰 Ensure that a newly-created process function is a collaboration of loosely coupled subsystems. Reuse, not rebuild, business logic. 򐂰 Identify business logic that can be exposed as shared services and make them available as componentized modules. 򐂰 Externalize the common business logic via well-defined interfaces. 򐂰 Minimize the impact to existing client applications.

5.3 System context As discussed in the preceding sections, a tactical solution to efficiently combine both former companies’ infrastructures is to establish a unified technical model by leveraging the existing technical assets in the previously two separate environments.

Chapter 5. Solution design

111

5.3.1 Logical model of Company A Figure 5-1 shows the logical architecture of Company A.

Firewall

Firewall

Salesman Thin Client Salesman Rich-client App Sales & Distribution System (A) ERP

Portal Server Customer Thin Client

J2EE

Customer Data Repository Supply Chain System

DBMS ERP

Supplier Rich-client App External Network

DMZ

Internal Trusted Network

Figure 5-1 Logical architecture of Company A

The eCommerce Portal server is hosted in the Demilitarized Zone (DMZ) and serves customer requests. It is protected by a firewall that filters any external accesses to the system except for standard Web browser based activities. The Sales and Distribution (SD) system that contains the core business logic and confidential corporate data is located in the secure internal networks segment. The external access to this system is only permitted for dedicated system that must be located in the DMZ. In this particular scenario, this is the eCommerce portal server and the Supply Chain System. All other departmental servers reside in the internal trusted network. The internal sales team also uses a Web browser interface to communicate with the Portal Server from the internal trusted network and a rich client application to access the SD system. The SD system stores customer master data in a customer data repository, which is based on a relational database and tightly integrated with the SD system.

112

WebSphere Business Integration for SAP

5.3.2 Logical model of Company B The logical architecture of Company B is illustrated in Figure 5-2.

Firewall

Employee Groupware Client Salesman Rich-client App

Procurement System

Sales & Distribution System ERP

HR System ERP

Policy System

ERP

Messaging SystemSA

J2EE

J2EE P

Inventory System DBMS

Customer Data Repository

Supplier Rich-client App 1

Domino

Assembly Plant Custom

Supplier Rich-client App 2 External Network

Internal Trusted Network

Figure 5-2 Logical architecture of Company B

In contrast to Company A, Company B has no electronic sales channel. Therefore, all sales orders are handled by the sales team internally. There is no direct interaction between any external network and sales system. Consequently, all servers are allocated inside the internal trusted network. A salesman uses a rich client application to access the Sales & Distribution (SD) system. The SD system is tightly integrated with the Inventory System and the Customer Data Repository.

Chapter 5. Solution design

113

As described, the Assembly Plant is not one system, but an arrangement of various best-of-breed and custom applications that were historically grown together. Any supplier uses an appropriate rich client application to communicate with various system components of the Assembly Plant and exchange purpose-built business data. A multiplicity of applications are hosted on distributed servers of the internal groupware infrastructure. These applications are self-contained and related to certain business areas. They can be accessed by the groupware clients that are installed on all employee workplaces.

5.3.3 Unified model of merged enterprise The unified model basically combines both infrastructures to form a single virtual environment. Suitable integration technologies are used to link systems together, to expand the existing business workflows and to realize new processes. Due to the fact that the secure environment of former Company A is matured and well-established for external interactions, and the supply chain process is automated, the unified architecture primarily takes this infrastructure as the baseline, with the addition of the former Company B’s assets. The logical architecture of the merged enterprise is shown in Figure 5-3. Firewall

Firewall Legend - Company A Assets - Company B Assets

Salesman Thin Client

Employee Groupware Client

Salesman Rich-client App

- New Assets

Portal Server (A) Customer Thin Client

UC 2

Procurement System (B)

- New Processes

J2EE

Sales & Distribution System (A) SAP

Sales & Distribution System (B) SAP

UC 1a UC 1b

UC 2

Internal UC 2 Purchase Requisiti on System UC 2

SAP

UC 2 Inventory System(B)

UC 3

Messaging System (B) J2EE

DBMS UC 4 Customer Data Repository (A) Supply Chain System(A) Supplier Rich-client App External Network

DBMS

ERP

DMZ

Figure 5-3 Logical architecture of merged enterprise

114

WebSphere Business Integration for SAP

Customer Data Repository (B)

Assembly Plant (B)

Domino

Custom Internal Trusted Network

HR System (B) SAP Policy System (B) J2EE

The new processes of the four Use Cases are depicted as dotted lines in the diagram. Use Case 1a deals with the product data synchronization from the Sales & Distribution System A to B. Use Case 1b is an order event notification from Sales & Distribution System B to A. Use Case 2 is a brand-new process for internal employees to use to leverage the existing groupware application to access a new Internal Purchase Requisition System to submit procurement requests. Use Case 3 handles the product availability validation from the Sales & Distribution System A to the Inventory System. Use Case 4 enables Sales & Distribution System A to retrieve the customer data residing in Customer Data Repository B. New system and integration servers are added to the model, which are described in 5.4, “System architecture” on page 115, to extend the current business processes for the whole family of products from both companies, and handle the new business processes. As the unified environment inherently comprises diverse technologies and platforms, a comprehensive integration solution is needed to meet a broad range of integration demands. Based on the business requirements and technical values of various options discussed in the foregoing chapters, WebSphere Business Integration platform is chosen as the foundation of the integration solutions in all four Use Cases. The detailed rationalization of specific technology selected is provided in each Use Case discussion in the sections that follow.

5.4 System architecture To simplify the environment setup and deployment in this demonstration, system-level requirements, such as load-balancing, failover via redundancy, and scalability are not taken into account in the system architecture. Data center operation, such as monitoring, backup, system management, and zoning are not under consideration. Network and storage requirements are also not considered. All new servers are deployed to the same subnetwork for testing, with limited authentication and authorization. Each Use Case addresses a special business integration demand. The selected integration solution for each Use Case must fulfill different functional and technical requirements. Based on the requirements, a suitable system architecture is put in place. Figure 5-4 on page 116 displays the system architecture.

Chapter 5. Solution design

115

Firewall

Firewall Legend - Company A Assets - Company B Assets

Salesman Thin Client

Employee Groupware Client

Salesman Rich-client App

- New Assets - New Processes ITSOA Portal Server (A) Customer Thin client

J2EE

Sales & Distribution System (A) SAP

UC1

WBI Message Broker

Sales & Distribution System (B) SAP

ITSOB WBI InterChange Server

UC 3

UC 2

Procurement System (B)

ITSOD UC 2

WBI Server Foundation

SAP

UC 2

Inventory System(B)

Messaging System (B)

UC 3

ITSOF

Supply Chain System(A) Supplier Rich-client App External network

DBMS

ERP

WBI InterChange Server

J2EE

UC 4

Customer Data Repository (B) Domino

Assembly Plant (B) Custom

DMZ

Policy System (B) J2EE

ITSOC SAP XI Server

Customer Data Repository (A)

HR System (B) SAP

UC 2

DBMS UC 4

UC 2

Internal Trusted Network

Figure 5-4 System architecture of merged enterprise

Five new servers are introduced to the infrastructure to implement the four Use Cases: 򐂰 ITSOA is a WebSphere Business Integration Message Broker system for Use Case 1. 򐂰 ITSOD hosts WebSphere Business Integration Server Foundation for Use Case 2. 򐂰 ITSOB runs WebSphere InterChange Server for Use Case 3. 򐂰 Likewise, the WebSphere InterChange Server is also installed on ITSOC for Use Case 4, together with SAP XI Server on ITSOF. Table 5-2 on page 117 lists the relevant integration servers in the system architecture.

116

WebSphere Business Integration for SAP

Table 5-2 Integration servers in merged enterprise Server

Purpose

ITSOA WBI Message Broker Server

򐂰 򐂰

Order event notification

ITSOD WBI Server Foundation

򐂰

Process choreography for internal purchase requisition process

ITSOB WebSphere InterChange Server

򐂰

ITSOC WebSphere InterChange Server

򐂰

ITSO_XI SAP XI Server

򐂰

Product master data replication

Interaction 򐂰

SD System Company A

򐂰

SD System Company B

򐂰

HR System

򐂰

Policy Repository

򐂰

Procurement System

򐂰

Messaging Server

򐂰

Human interaction

Inventory availability validation

򐂰

SD System Company A

򐂰

Inventory System

Customer master data replication

򐂰

SAP XI Server

򐂰

Customer Data Repository Company B

Customer data routing to SAP back-end system

򐂰

SD System Company A

򐂰

WebSphere InterChange Server on ITSOC

Chapter 5. Solution design

117

5.5 Communications and connectivity The intersystem communications and application connectivity for the four Use Cases are displayed in Figure 5-5. Firewall

Firewall Legend

Salesman Web Browser

Employee Groupware Client Web Browser

Salesman Rich-client App SAPGUI

- New Processes

Messaging System (B)

JDBC

ITSOF MQ

WBI Inter Change Server

DMZ

Policy System (B) J2EE

IIOP

Customer Data Repository (B)

Assembly Plant (B) cust om

RFC SOAP/HTTP

J2EE

ITSOC SAP XI Server

WBI XI Adapter

WBI SAP Adapter

Inventory System(B)

WBI Domino Adapter

External network

WBI Server Foundation

SAP

DBMS SAP XI JMS Adapter

Supplier Rich-client App

Supply Chain System(A) ER P

Customer Data Repository (A) DB MS

WBI Inter Change Server

WBI JDBC Adapter

RFC

RFC

HR System (B) BAPI SAP

SOAP/HTTP ITSOB

RFC

Sales & Distribution System (B) SAP

ABAP/ALE

ALE/ RFC Server

SAP XI IDOC Adapter

SAP

WBI Message Broker

WBI SAP Adapter

ALE

J2EE

RFC

ITSOD RFC

WBI SAP Adapter

Customer Web Browser

Sales & Distribution System(A)

WBI SAP Adapter

Portal Server (A)

HTTP

Procurement System (B)

ITSOA

WBI SAP Adapter

- New Assets

BAPI

- Company A Assets - Company B Assets

Domino Internal Trusted Network

Figure 5-5 Communications diagram

The communications mechanisms for all new processes are summarized in Table 5-3. Table 5-3 Communications mechanisms

118

Use Case

Integration server type

Technologies / Adapters applied

UC 1

WBI Message Broker

򐂰

SAP ALE for product data replication

򐂰

WBI SAP adapter for order notification

UC 2

WBI Server Foundation

򐂰

WBI SAP adapter

UC 3

WebSphere InterChange Server

򐂰

WBI JDBC adapter

򐂰

WBI SAP adapter

WebSphere Business Integration for SAP

Use Case

Integration server type

Technologies / Adapters applied

UC 4

WebSphere InterChange Server and SAP XI Server

򐂰

WBI Domino adapter

򐂰

WBI XI adapter

򐂰

SAP XI IDoc adapter

򐂰

SAP XI JMS adapter

5.6 Use Case 1 - Solution overview This section provides a component-level design for Use Case 1, which contains two related, but independent, processes. The process flows are defined from a technical perspective. The available technology options are subsequently evaluated and rationalized to select the best option that fits the particular circumstance. Finally, the solution detail is defined with descriptions of modules and components used.

5.6.1 Process flow Here we discuss the process flow.

Use Case 1a The high level business process flow is shown in Figure 5-6 on page 120.

Chapter 5. Solution design

119

Start

Employee enters new product master data.

SAP System creates a data record.

Create

SAP Database

IDoc generated by System to represent the new product record. Integration System delivers message.

Notify

Notify

SAP System receives Idoc.

Input data validation and redundancy check

Fail

Error status code

Succeed Success Status code

SAP System creates a data record.

Create

SAP Database

End

Figure 5-6 Business process flow for Use Case 1a

The step-by-step procedure is described as follows: 1. A salesman creates a new product record by entering product information via a SAP graphical user interface (GUI) application.

120

WebSphere Business Integration for SAP

2. The GUI App sends the data via the Remote Function Call (RFC) to the SAP system, which first validates the input data submitted by the user. 3. The SAP system creates a data record that is stored in the SAP database. 4. The SAP system creates an Intermediate Documents (IDocs) based on the product data and dispatches it to the Integration System. 5. The Integration System transforms the necessary data segments and routes the data chunk to the other SAP system. 6. The recipient SAP system validates the incoming IDoc data. 7. In case the validation fails, an error status code is sent to the Integration System. 8. Otherwise, the IDoc is process in this SAP system and a new product record is created and stored in the database. 9. A success status code is sent back to the Integration System.

Use Case 1b The high level business process flow is displayed in Figure 5-7 on page 122.

Chapter 5. Solution design

121

Start

Employee enters a sales order.

SAP System creates a sales order record.

Create

SAP Database

System creates an event notification object. notify Integration System receives the notification.

End

Figure 5-7 Business process flow for Use Case 1b

The step-by-step procedure is explained in the following list: 1. A salesman creates a new sales order of the new products added to the system in Use Case 1a by entering order information via a SAP GUI application. 2. The GUI App sends the data via RFC to the SAP system, which first validates the input data submitted by the user. 3. The SAP system creates a data record that is stored in the SAP database. 4. The SAP system generates a trigger that represents the occurrence of the new order creation. 5. The event is dispatched to the Integration System. 6. Once notified, the Integration System creates a empty data structure and send it back to the SAP System.

122

WebSphere Business Integration for SAP

7. The SAP System populates this data structure with valid values retrieved from the database. 8. The populated data structure is sent to the Integration System.

5.6.2 Technology selection Here we discuss technology selection.

Use Case 1a Based on the business process requirements described in the preceding section, there are several technology choices available to implement this workflow. The primary candidate options are: 򐂰 InterChange Server 򐂰 Server Foundation 򐂰 Message Broker All these technologies are useful for asynchronous integration purposes, but there are subtle differences. InterChange Server and Server Foundation fit well into the process integration, whereas the Message Broker is suitable for application connectivity. Furthermore, Message Broker can access the message queues directly in the message-oriented environment. If the message size is fairly large, Message Broker shows superior performance. In addition, Message Broker can dynamically route the message to appropriate receivers, and support a broader range of diverse platforms. In this situation, the primary challenge is the application connectivity and information exchange. The product data structure contains a fairly large chunk of data. These data needs a reliable transport mechanism like message queues. As a result of the technical evaluation, it has been determined that the Message Broker is the best choice in this particular circumstance. Application Link Enabling (ALE) uses Intermediate Documents (IDocs) to pass information in and out of SAP. An IDoc is a container of information in a predefined (structured ASCII) format. IDocs are the preferred file format used by SAP R/3 to exchange data with foreign systems. The key advantages of ALE are standard structure and operation, embedded auditing and troubleshooting functionality in SAP, and broad acceptance as the interface technology for SAP to third parties. Consequently ALE is selected as the adapter to be used in this design.

Chapter 5. Solution design

123

Use Case 1b Based on the business process requirements described in the preceding section, a few technology options become available to implement this notification. The primary candidate options are: 򐂰 ABAP Extension Module 򐂰 Custom-built code The ABAP Extension Module provides rich functionality within SAP and is therefore considered invasive. It is the only adapter module that supports polling and can be used in conjunction with all other adapter modules to provide this functionality. The Extension Module has advanced event detection mechanisms and business object handlers that manipulate the most common objects from SAP. The objects can be retrieved and manipulated to and from SAP in real time, and they also can be retrieved through both request/reply and publish/subscribe models. The adapter notifies you of the success and status of the object transaction request, and returns the unique ID of any created objects. The adapter enables real-time retrieval of a complex object from SAP or a request to create, change, or delete an object. Even though the custom-build approach works, it takes longer and needs extra effort and skills, so the ABAP Extension Module is the best solution to this problem.

5.6.3 Solution details The solution to these two workflows in this Use Case is illustrated in Figure 5-8 on page 125. The WebSphere Business Integration Message Broker is used as the Integration System. ALE connectors are installed on both SAP systems for Use Case 1a, whereas the ABAP Extension Module is utilized in Use Case 1b. Figure 5-8 on page 125 is used to clarify, in which order, the various steps are triggered in the Use Case. The arabic numbers describe Use Case 1a and the Latin numbers describe Use Case 1b.

124

WebSphere Business Integration for SAP

1

SAP R/3 ALE

SAP GUI

2 3a

mySAP.com Adapter

3b

WebSphere Business Integration Message Broker

3c

mySAP.com Adapter 4

ALE

i

iv

ii

ABAP Extension Module

5

iii

SAP R/3

Figure 5-8 Solution detail for Use Case 1

Use Case 1a 1. A sales person creates a product in SAP via the SAP GUI. 2. As soon as the product is added in SAP‘s product repository, SAP sends the product data in the form of an IDoc to the connector using ALE. 3. The WebSphere Business Integration system processes the data: a. The connector transforms the IDoc into a business object and sends it to the broker. b. The broker transforms the business object structure and routes it to the second connector. c. The connector transforms the business object into an IDoc. 4. The connector sends the IDoc to SAP using ALE. 5. SAP adds the material to its product repository.

Use Case 1b i. As soon as a sales order of a product in SAP is created, an event notification is sent to the connector. ii. The connector receives the event notification and sends an empty business object to the ABAP Extension Module in SAP. iii. SAP populates the business object with the sales order data and sends the populated business object back to the connector.

Chapter 5. Solution design

125

iv. The connector passes the business object to the message broker for further processing.

5.7 Use Case 2 - Solution overview This section provides a component-level design for Use Case 2. The process flow is discussed from a technical perspective. The available technology options are subsequently evaluated and rationalized to select the best option that fits this particular circumstance. Finally, the solution detail is defined with descriptions of modules and components used.

5.7.1 Process flow The high level business process flow is illustrated in Figure 5-9 on page 127.

126

WebSphere Business Integration for SAP

Start

Employee logs in for authentication and authorization to access the Internal Purchase Requisition System via a Web browser.

Employee enters data of an internal purchase order request via a Web browser.

Human Resource System

Retrieve employee data

Validate input data and retrieve additional information.

Policy System

Retrieve approval policy.

Approval needed? No Yes

Human interaction to approve or reject the request via a Web browser.

Request approved?

Yes

Place order to the Procurement System.

Procurement System

No

Messaging System

Send notification

Prepare process feedback.

End

Figure 5-9 Business process flow for Use Case 2

Chapter 5. Solution design

127

The step-by-step procedure is described as follows: 1. An employee logs in via a Web browser for authentication and authorization to access the Internal Purchase Requisition System. 2. Once authenticated, the employee enters data for a purchase request and submits the order in the browser. 3. The Internal Purchase Requisition System confirms that the request is received and processed. 4. The Internal Purchase Requisition System retrieves additional employee data from the Human Resource System. 5. The Internal Purchase Requisition System communicates with the Policy Service to retrieve approval policy for the requested goods. 6. If the requested goods do not need any approval, the order is placed to the Procurement System. 7. Otherwise, the request is routed to the respective person for authorization. 8. The authorizer reviews the request details and decide to accept or reject the request. 9. If the request is authorized, the order is placed to the enterprise procurement system. 10.An e-mail notification is subsequently sent to the requester, together with the purchase order number generated if the order was successful; otherwise, the requester is notified about the rejection.

5.7.2 Technology selection The internal order application is a process driven business integration solution that requires asynchronous and synchronous invocation of existing enterprise services. On the process level, all the different business logic providers must be accessed in a general way to enable the process to run regardless of the enterprise service it is utilizing. A persistency layer is required to store the process status and progress. Modifications of the actual business process have to be done fairly simple by just adopting the business flow. There are several products available which offer this functionality and can cover the named functional and technical requirements. WebSphere MQ Workflow supports long-running business process workflows as they interact with systems and people. It is best suited to analyze, monitor, and improve critical business processes that execute in WebSphere MQ prevalent environments. WebSphere Interchange Server is a business integration solution for process integration and enterprise application connectivity. It is capable of coordinating business process activities that span multiple distributed applications.

128

WebSphere Business Integration for SAP

Collaborations graphically define end-to-end processes.There are a huge number of predefined and proven collaborations already available out of the box that can be reused to speed up implementation. WebSphere Business Integration Server Foundation extends and integrates existing IT assets using a next generation integration platform optimized for building and deploying composite applications. Major features and benefits are: 򐂰 Support for a standard based model and a grammar for describing the behavior of a business process based on interactions between the process and its partners 򐂰 Comprehensive development environment, including drag-and-drop tools to visually define the sequence and flow of business processes 򐂰 Strong support for activities that require human interaction 򐂰 Standard based support for business processes that integrate with back-end systems 򐂰 Builds on the latest J2EE standards based WebSphere Application Server platform 򐂰 Native support of J2EE and Web Service integration technology The following business process requirements make WBISF the best choice to implement this business process: 򐂰 Strong focus on user interaction and integration 򐂰 Incorporation of existing business processes to create a new business process 򐂰 Existing business processes can be exposed using clearly defined interfaces 򐂰 Support of synchronous and asynchronous communication styles 򐂰 Exchanged data is fairly small - event flow instead of payload processing 򐂰 Requirement to have a standards based and future-proof integration platform Persistency of business processes is implemented by using WebSphere MQ as a queueing mechanism. This enables WBISF to use all scalability, reliability, and security features of WebSphereMQ out of the box. The run-time architecture is multi-tiered and consists of following components: 򐂰 Business process container: Run-time environment for standard based business processes 򐂰 Adapter framework: Run-time environment for standards based back-end connectivity adapters 򐂰 Development environment: Eclipse based visual tooling

Chapter 5. Solution design

129

򐂰 Communication layer: WebSphere MQ connecting process container and adapter framework The business process container resides on the application server and can make use of all distribution and clustering mechanisms of WebSphere Application Server. The back-end connectors are distributable and scalable across different systems and communicate with the process container using WebSphere MQ. The connector receives message based requests and translates them into the SAP specific RFC protocol, executes the call into the back-end system, and puts the response back to the WebSphere MQ response channel. In addition to the mediate connector approach, business processes can also invoke an enterprise service directly using Web Service technology. This enables business processes running on WebSphere Business Integration Server Foundation to connect to a huge range of business components without extensive effort by using the WebSphere Application Server built in Web Service support. SAP BAPIs are the standard way to invoke business logic, which is located within SAP ERP systems in a synchronous style. SAP guarantees that BAPI interfaces remain unchanged over certain software releases. This makes them a good choice to avoid frequent adjustments in the integrating applications that typically surround an ERP system.

5.7.3 Solution detail This section describes the steps from a component view: 1. An employee uses a standard Web browser to log in to an application and to create an internal purchase order requisition. 2. The application immediately provides an acknowledgment to the employee and starts the process flow. 3. The application uses the employees input to execute a synchronous Web Service call at the policy system to find out if the ordered product requires an approval. The policy service returns a Boolean value. 4. In the next activity, the application places a JMS message into the WebSphere MQ request queue. This queue is observed by the WebSphere Adapter for mySAP.com that connects to the human resource system (SAP). 5. The connector takes the message based request, executes the respective BAPI call in the human resource system, and puts the response back to the queue in a message format. 6. The application picks up the response and stores the employees mail address information for further processing.

130

WebSphere Business Integration for SAP

7. If no approval is required, the application places a JMS message into the WebSphere MQ request queue. This queue is observed by the WebSphere Adapter for mySAP.com that connects to the procurement system (SAP). 8. The connector takes the message based request, executes the respective BAPI call in the human resource system, and puts the response back in the queue in a message format. 9. The application picks up the response and stores the employee information for further processing. 10.If the product requires an approval, a work item is created and displayed in the approver’s work list.The process is halted until the approver processes the staff activity either by accepting or by rejecting the request. 11.The approver uses a standard Web browser to log in to the application. The application recognizes the approver and displays all open work items. 12.If the approver accepts the order, the application places a JMS message into the WebSphere MQ request queue. This queue is observed by the WebSphere Adapter for mySAP.com that connects to the procurement system (SAP). 13.The connector takes the request, executes the respective BAPI call in the human resource system, and puts the response back in the queue. 14.The application picks up the response and stores the employee information for further processing. 15.If the approver rejects the order, the status field of the order is set to Order rejected. 16.In any case, the final step is that the application takes the collected and stored information and sends an notification. A Web Service call is made to a Notification service. This service takes the mail address of the recipient, the message subject, and the message body as input parameters and sends an e-mail to a predefined SMTP host. 17.The status of the internal order is updated and the originating employee can review the processed order.

5.8 Use Case 3 - Solution overview This section provides a component-level design for Use Case 3. The process flow is discussed from a technical perspective. The available technology options are subsequently evaluated and rationalized to select the best option that fits this particular circumstance. Finally, the solution detail is defined with descriptions of the modules and components used.

Chapter 5. Solution design

131

5.8.1 Process flow The high level business process flow is shown in Figure 5-10.

Start

Employee enters search criteria in SAP system.

System calls remote Available to promise logic.

Integration system receives function call using adapter.

Integration system retrieves data using adapter.

Query Request

Inventory System

Integration system delivers result via adapter. System receives Available to promise result data.

Employee views result in SAP system.

End

Figure 5-10 Business process flow for Use Case 3

The step-by-step procedure is described as follows: 1. An employee wants to know if a plant has part X available and how many of part X is available at the location to fill an order. The employee uses the SAP

132

WebSphere Business Integration for SAP

GUI application to determine the availability of the item. Via the GUI application, the employee fills in the material availability search mask. 2. SAP generates a search request and routes it to an external inventory availability system via an integration mechanism. 3. The external inventory availability system locates the item and returns the response to SAP via the integration mechanism implemented. 4. The employee then reviews the results of the request from the SAP GUI application without knowledge of all the integration that has occurred behind the scenes.

5.8.2 Technology selection Based on the integration requirements of the business process described in the previous section, there are several technology choices available to implement this integration. The primary candidates to implement this integration are: 򐂰 WebSphere InterChange Server 򐂰 WebSphere Business Integration Server Foundation 򐂰 WebSphere Business Integration Message Broker All of these technologies allow the synchronous processing of the desired integration scenario. WebSphere InterChange Server allows for the integration of disparate systems with relatively little or no knowledge of the inner workings of the two systems and is best suited to smaller IT shops and businesses wanting swift, complete, and transparent integrations. WebSphere Business Integration Server Foundation allows the same level of integration, but also allows the additional flexibility to make a front end for managing this process, and/or to customize the integration greatly. WebSphere Business Integration Message Broker can route messages among queues and re-route as needed based on message contents, work with large messages very quickly, and support a much broader range of platforms. This integration needs to be transparent to the user, does not require the overhead of a customized interface, nor does the integration require a great degree of customization. The solution that lends itself most to this criteria is the WebSphere InterChange Server. The WebSphere InterChange Server allows for swift implementation of this integration, does not require a significant learning curve, nor a great IT investment to implement. Choosing the WebSphere InterChange Server for this integration also allows for the transparent integration

Chapter 5. Solution design

133

of other standardized systems, such as Peoplesoft Enterprise, Siebel, or other similar systems as the business needs change going forward.

5.8.3 Solution detail Figure 5-11 on page 135 shows a detailed flow of what occurs in this solution using the WebSphere InterChange Server.

134

WebSphere Business Integration for SAP

Start

Employee enters search criteria in SAP system. Request

SAP System

JDBC Adapter transforms business object to query request for IBM DB2.

mySAP.com Adapter transforms request to business object for WICS. WebSphere Interchange Server transforms data.

Query Request

IBM DB2

WebSphere Interchange Server transforms data.

Query Result

mySAP.com Adapter transforms business object to response for SAP.

JDBC Adapter transforms IBM DB2 response to business object for WICS.

Response SAP System

Employee views result in an SAP system.

End

Figure 5-11 Solution detail for Use Case 3

The step-by-step procedure is described as follows: 1. An employee wants to know if a plant has part X available and how many of part X is available at the location to fill an order. The employee uses the SAP

Chapter 5. Solution design

135

GUI application to determine the availability of the item. Via the GUI application, the employee enters the material availability search. 2. SAP generates a search request and routes it to the predefined RFC server destination that has been defined as the target for the search. 3. The mySap.com WebSphere Business Integration Adapter receives the request and transforms it to a business object understood by the WebSphere InterChange Server. 4. The WebSphere InterChange Server then uses a predefined map to transform this business object into a IBM DB2 object expected by the JDBC WebSphere Business Integration Adapter. 5. The JDBC WebSphere Business Integration Adapter takes the IBM DB2 Object result and transforms it into a request to IBM DB2 for the desired availability information. 6. The resulting information is passed back through the adapter, converted from a IBM DB2 object, back into an SAP business object, back through the SAP Adapter, and finally to SAP. 7. The employee then reviews the results of the request from the SAP GUI application without knowledge of all the integration that has occurred behind the scenes.

5.9 Use Case 4 - Solution overview This section provides a component-level design for Use Case 4. A high level view on the process flow is given first. The available technology options for realizing the process flow are evaluated subsequently. Finally, a solution detail is defined with descriptions of modules and components used.

5.9.1 Process flow The process flow of Use Case 4 consists of the following steps (Figure 5-12 on page 137): 1. A client representative enters the contact data for a new customer using a Lotus Notes client. 2. The data entered are stored as a document within a dedicated Lotus Domino database. 3. Using Integration technology, new or changed documents within that Lotus Domino database are detected and transmitted subsequently to an SAP R/3 system that hosts the common customer data repository. Thereby, the Lotus

136

WebSphere Business Integration for SAP

Domino documents get converted into the SAP defined IDoc structure, before being stored there.

Start

Employee enters search criteria in SAP system. Request

SAP System

JDBC Adapter transforms business object to query request for IBM DB2.

mySAP.com Adapter transforms request to business object for WICS. WebSphere Interchange Server transforms data. WebSphere Interchange Server transforms data. mySAP.com Adapter transforms business object to response for SAP.

Query Request

IBM DB2 Query Result JDBC Adapter transforms IBM DB2 response to business object for WICS.

Response SAP System

Employee views result in SAP system.

End

Figure 5-12 Business process flow for Use Case 4

Chapter 5. Solution design

137

5.9.2 Technology selection As shown in Figure 5-12 on page 137, Use Case 4 is about integration of the two enterprise information systems Lotus Domino and SAP R/3. Technology selection for this Use Case is driven by the following major requirements: 򐂰 The SAP R/3 back-end system, which hosts the customer data repository, should be accessed only by using the SAP Exchange Infrastructure. 򐂰 Integration technology, which sits between the Lotus Domino Server and the SAP system, must be able to transform the native formats of Lotus Notes databases into SAP IDoc structures, and vice versa. 򐂰 In addition, the Integration technology must be able to automatically detect and handle events that are triggered by the creation or update of documents within the Lotus Domino database. SAP Exchange Infrastructure supports XML-based message exchange between SAP and non-SAP systems. However, it does not understand the format of Lotus Domino databases, nor can it detect events originating at a Lotus Domino server. For this purpose, the WebSphere Business Integration adapter for Lotus Domino is very well suited. It understands how to detect new or updated documents within a given Lotus Domino database and supports the bidirectional exchange of these documents between a Lotus Domino Server and a WebSphere Business Integration Server. The adapter for Lotus Domino can be attached to all the different Integration Servers that have been described in the previous sections. Since the focus of this business process is the integration of disparate systems with a moderate amount of data exchange, the WebSphere InterChange Server is selected for the implementation of Use Case 4. The two integration brokers, WebSphere InterChange Server, and SAP Exchange Infrastructure are connected by means of WebSphere MQ queues. Both integration brokers access these queues using their corresponding JMS adapter. Selecting WebSphere MQ as the underlying transport mechanism not only matches the asynchronous nature of the document centric interaction, but also permits you to update the customer data repository with transactional support. Finally, an IDoc adapter is selected to connect the SAP Exchange Server with the SAP R/3 back-end system, which deploys Application Link Enabling (ALE) as the underlying technology.

138

WebSphere Business Integration for SAP

5.9.3 Solution detail Based on the results of the technology selection, the business process in Figure 5-12 on page 137 is refined, as depicted in Figure 5-13 on page 140.

Chapter 5. Solution design

139

Start

Client representative enters data of a new customer contact.

Lotus Domino Event Listener

WebSphere Business Integration Adapter for SAP Exchange Infrastructure

WebSphere Business Integration Adapter for Lotus Domino WebSphere Interchange Server

WebSphere MQ SAP Exchange Infrastructure Integration Server SAP Exchange Infrastructure IDoc Adapter

SAP Exchange Infrastructure JMS Adapter

SAP System

SAP system creates a customer data record.

End

Figure 5-13 Solution detail for Use Case 4

1. A client representative enters the contact data for a new customer using a Lotus Notes client.

140

WebSphere Business Integration for SAP

2. The data entered is stored as a document within a dedicated Lotus Domino database. 3. When an Event Listener process detects new or updated documents within that Lotus Domino database, it puts an event document into a event table. 4. The WebSphere Business Integration adapter for Lotus Domino polls the event table. If a new event is detected, the adapter retrieves the corresponding Domino document to the WebSphere InterChange Server. 5. At the WebSphere InterChange Server, the Domino documents is converted into an XML message that conforms to a given SAP IDoc type. 6. This XML message is written to a WebSphere MQ queue using the JMS based WebSphere Business Integration Adapter for SAP Exchange Infrastructure. 7. The WebSphere MQ queue is polled by the SAP Exchange Infrastructure JMS adapter. The adapter retrieves new XML messages from the queue and delivers them to the SAP Exchange Infrastructure Integration Server. 8. The SAP Exchange Infrastructure Integration Server forwards the XML message to the SAP Exchange Infrastructure IDoc adapter. 9. The IDoc adapter converts the XML message into an IDoc and sends them to SAP R/3 using ALE. The conversion requires no mapping, since WebSphere InterChange Server is responsible for providing messages in an adequate format. 10.Finally, the IDoc is received by the SAP R/3 system where it is delivered to an internal process for storing customer data.

5.10 Related technology used in this book This book only covers a subset of the hole IBM WebSphere Business Integration and SAP technology. Figure 5-14 on page 142 shows the simplified architecture.

Chapter 5. Solution design

141

Business Performance Management Services

Process Services

Enterprise Service Bus Business Business Application Application Services Services

Application and Data Access Services Business Application and Data Services

Enterprise Applications and Data

Infrastructure Services

Figure 5-14 Simplified architecture

The Development Tools are used to create custom processes and services that use the Enterprise Service Bus to talk with the adapters. The book also shows how to extend the WebSphere Business Integration environment with our own services in the Business Application Service. The book shows how to integrate SAP on the Application (ABAP personality) layer and on the process (Exchange Infrastructure) layer.

142

WebSphere Business Integration for SAP

Part 3

Part

3

Business scenario solution implementation This part contains a system installation and configuration specification, and detailed nuts-and-bolts implementations of the solution designed in the early chapters, as well as best practices and lesson learned. Part 3 is composed of Chapters 6 to 11.

© Copyright IBM Corp. 2004. All rights reserved.

143

Chapter 6, “Environment setup” on page 145 specifies the run-time environment for the business scenario. It contains an environment overview, hardware specifications, software prerequisites, server installation, and common configurations. Chapter 7, “Use Case 1: WBIMB using WBI Adapter for mySAP.com” on page 173 shows how to implement the solution designed for Use Case 1, WebSphere Business Integration Message Broker using WebSphere Business Integration Adapter for mySAP.com. Chapter 8, “Use Case 2: WBISF using WBI Adapter for mySAP.com” on page 327 describes how to implement the solution designed for Use Case 2, WebSphere Business Integration Server Foundation using WebSphere Business Integration Adapter for mySAP.com. Chapter 9, “Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC” on page 465 discusses how to implement the solution designed for Use Case 3, WebSphere InterChange Server using WebSphere Business Integration Adapter for mySAP.com and Java Database Connectivity. Chapter 10, “Use Case 4: Integration of SAP XI with WBI InterChange Server” on page 555 discusses how to implement the solution designed for Use Case 4, Integration of SAP XI with WebSphere Business Integration InterChange Server. Chapter 11, “Best practices and lessons learned” on page 643 provides the tips and hints obtained in the design and implementation of the sample business application as well as discussions on the trends and related emerging-technology.

144

WebSphere Business Integration for SAP

6

Chapter 6.

Environment setup This chapter gives a general overview about the environment setup for the implementation of the four Use Cases described in Chapter 7, “Use Case 1: WBIMB using WBI Adapter for mySAP.com” on page 173, Chapter 8, “Use Case 2: WBISF using WBI Adapter for mySAP.com” on page 327, Chapter 9, “Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC” on page 465, and Chapter 10, “Use Case 4: Integration of SAP XI with WBI InterChange Server” on page 555. The subsequent chapters also provide some details on the installation and configurations of the individual Use Cases.

© Copyright IBM Corp. 2004. All rights reserved.

145

6.1 Technology matrix As discussed in the previous sections, a variety of integration technologies are applied in the solution design of the four Use Cases. Table 6-1 summarizes the relevant technologies utilized in each Use Case respectively. Table 6-1 Technology matrix Use Case / Software

#1

#2

WebSphere InterChange Server WebSphere Business Integration Message Broker

X

DB2

X

SAP JCO 2.0.10

X

X

146

X

X

X

X X

X

WebSphere Business Integration Adapter Framework

X

WebSphere Business Integration Adapter for mySAP.com -ALE module

X

X

WebSphere Business Integration Adapter for mySAP.com -BAPI module

X

WebSphere Business Integration Adapter for mySAP.com -Hierarchical Dynamic Retrieve module

X

WebSphere Business Integration for SAP

X

X

SAP JCO 2.1.12

WebSphere Business Integration Adapter for XI

X

X

WebSphere MQ

WebSphere Business Integration Adapter for mySAP.com -RFC Server module

#4

X

WebSphere Business Integration Server Foundation

WebSphere Business Integration Adapter for mySAP.com -ABAP Extension module

#3

X

X

X

Use Case / Software

#1

#2

WebSphere Business Integration Adapter for JDBC

#3

#4

X

WebSphere Business Integration Adapter for Domino

X

WSADIE

X

6.2 Run-time environment overview The system architecture is specified in Chapter 5, “Solution design” on page 109. The components and modules for each Use Case are also discussed in detail in that chapter. Figure 6-1 illustrates the setup of the run-time environment to realize the overall system architecture.

Adapter for mySAP.com

ITSOA Windows2000

siccserv.isicc.de.ibm.com AIX 5.2

WebSphere Business Integration Message Broker 5.0.3

DB2 8.1

Adapter for mySAP.com

sapbts08.sapbts.de.ibm.com AIX 4.3

MQ 5.3.0.5

Adapter for mySAP.com

ITSOD Windows2000 WebSphere Business Integration Server Foundation 5.0.2

ITSOE Windows2000

MQ 5.3.0.5

WebSphere InterChange Server 4.2.2.2

DB2 8.1

MQ 5.3.0.5

SAP XI 3.0

Adapter for XI

ITSOC Windows2000 WebSphere InterChange Server 4.2.2.2

DB2 8.1

Adapter for Lotus Domino

ITSO_XI Windows2000

Adapter for JDBC

ITSOB Windows2000 Adapter for mySAP.com

SAP R/3 SAP R/3 4.7

SAP SAPR/3 R/3 4.6c

DB2 8.1 Lotus Domino 6.5

MQ 5.3.0.5

Figure 6-1 Run-time environment diagram

Chapter 6. Environment setup

147

Table 6-2 lists the primary software packages and products installed on individual run-time machines and in which Use Cases they are used. Table 6-2 Run-time environment components Host name

Use Case

Software

Version

ITSOA

UC 1

Windows2000

Pro

WebSphere Business Integration Message Broker

5.0.3

WebSphere MQ

5.3.0.5

DB2

8.1 FixPack 5

WebSphere Adapter Framework

2.4

WebSphere Business Integration Adapter for mySAP.com

5.5.2

Windows 2000

Server

WebSphere InterChange Server

4.2.2.2

WebSphere MQ

5.3.0.5

DB2

8.1 FixPack 5

WebSphere Business Integration Adapter for mySAP.com

5.5.2

WebSphere Business Integration Adapter for JDBC

2.4.0

Windows 2000

Pro

WebSphere InterChange Server

4.2.2.2

WebSphere MQ

5.3.0.5

DB2

8.1 FixPack 5

WebSphere Business Integration Adapter for XI

1.0

WebSphere Business Integration Adapter for Domino

1.1

ITSOB

ITSOC

148

UC 3

UC 4

WebSphere Business Integration for SAP

Host name

Use Case

Software

Version

ITSOD

UC 2

Windows 2000

Pro

WebSphere Business Integration Server Foundation

5.0.2

WebSphere MQ

5.3.0.5

WebSphere Adapter Framework

2.4

WebSphere Business Integration Adapter for mySAP.com

5.5.2

Windows 2000

Pro

IBM DB2

8.1 FixPack 5

Lotus Domino

6.0

Windows 2000

Pro

SAP NetWeaver Exchange Infrastructure

3.0

UC 1, 2, 3, & 4

AIX®

5.2

SAP R/3

4.7

UC 1

AIX

4.3

SAP R/3

4.6c

ITSOE

ITSO_XI

siccserv

sapbts08

UC 2 &4

UC 3

6.3 Common installations The following common software is required for the new servers to be used in the run-time environment: 򐂰 DB2 database engine 򐂰 WebSphere MQ This next section describes the common installation of these two particular products.

Chapter 6. Environment setup

149

6.3.1 Installing IBM DB2 UDB Version 8.1 with FixPack 5 Installation of IBM DB2 is illustrated next.

Install IBM DB2 Universal Database™ Enterprise Server 8.1 1. Launch the setup.exe for IBM DB2 Universal Database Enterprise Server Edition 8.1 2. The DB2 Setup Launchpad is displayed (Figure 6-2). Select Install Products.

Figure 6-2 IBM DB2 Launchpad

3. When prompted to choose the product to be installed (Figure 6-3 on page 151), select DB2 UDB Enterprise Server Edition and click Next.

150

WebSphere Business Integration for SAP

Figure 6-3 Product Installation window

4. After the Preparing to Install screen, the Welcome to the DB2 Setup wizard screen is displayed, as illustrated in Figure 6-4 on page 152. Click Next.

Chapter 6. Environment setup

151

Figure 6-4 IBM DB2 Setup Wizard

5. Accept the terms of the License Agreement, as illustrated in Figure 6-5 on page 153 and click Next.

152

WebSphere Business Integration for SAP

Figure 6-5 License Agreement window

6. Select the Custom option, as in Figure 6-6 on page 154 and click Next.

Chapter 6. Environment setup

153

Figure 6-6 Installation type selection window

7. Choose Install DB2 Enterprise Server Edition on this computer. If you wish to save the configuration settings for future use on another DB2 installation, then also choose Save the settings in a response file. Click Next. 8. There are many choices that can be made on the feature installation screen (Figure 6-7 on page 155). The choices made for this DB2 installation are just the items necessary for this project. – Change the install directory to C:\SQLLIB. – Choose not to install the Application Development tools. – Choose not to install Getting started. – Choose not to install Business Intelligence. – Click Next.

154

WebSphere Business Integration for SAP

Figure 6-7 Installation Features window

9. On the warning screen, as in Figure 6-8, click OK.

Figure 6-8 APPC Support Warning window

Chapter 6. Environment setup

155

10.Select the languages you wish to install, as in Figure 6-9, and then click Next.

Figure 6-9 Language Selection window

11.On the user administration screen, as in Figure 6-10 on page 157, enter the user information for the administration server. – If a local user that does not exist is used, DB2 creates the user if provided with sufficient administrative privileges. If the user is a domain user, the user ID must have administrative rights on this machine. – Also check the box Use the same user name and password for the remaining DB2 services. – Click Next.

156

WebSphere Business Integration for SAP

Figure 6-10 User ID configuration window

12.Click Next on the Set up the administration contact list screen, as in Figure 6-11 on page 158.

Chapter 6. Environment setup

157

Figure 6-11 Set up the administration contact list window

13.On the warning screen in Figure 6-12 on page 159, click OK. 14.Choose to Create the DB2 instance and click Next.

158

WebSphere Business Integration for SAP

Figure 6-12 IBM DB2 instance creation window

15.Click Next on the Configure DB2 instances screen, as in Figure 6-13 on page 160.

Chapter 6. Environment setup

159

Figure 6-13 IBM DB2 instance configuration window

16.Select Do not prepare the DB2 tools catalog on this computer and click Next (see Figure 6-14 on page 161).

160

WebSphere Business Integration for SAP

Figure 6-14 IBM DB2 tools catalog preparation window

17.Select Defer the task until after installation is complete on the Specify a contact for health monitor notification screen (see Figure 6-15 on page 162). Click Next.

Chapter 6. Environment setup

161

Figure 6-15 Health monitor notification contact window

18.Select Defer the task until after installation is complete on the Request satellite information screen, as in Figure 6-16 on page 163. Click Next.

162

WebSphere Business Integration for SAP

Figure 6-16 Satellite system information window

19.Specify the location to store your response file, as in Figure 6-17 on page 164, review your current settings, and then click Finish.

Chapter 6. Environment setup

163

Figure 6-17 Install options review window

20.Ensure that the installation is complete (see Figure 6-18 on page 165).

164

WebSphere Business Integration for SAP

Figure 6-18 Installation in progress

21.At the Setup is complete screen (see Figure 6-19 on page 166), click Finish.

Chapter 6. Environment setup

165

Figure 6-19 Setup completion window

Installation of FixPack 5 for DB2 1. Launch setup.exe to begin the installation. 2. At the IBM DB2 Setup Launchpad, click Install Product (see Figure 6-20 on page 167).

166

WebSphere Business Integration for SAP

Figure 6-20 IBM DB2 launchpad

3. Choose to install DB2 UDB Enterprise Server Edition and then click Next (see Figure 6-21 on page 168).

Chapter 6. Environment setup

167

Figure 6-21 Product installation window

4. Depending on the current state of DB2, the installation may present a list of DB2 processes that are running (see Figure 6-22). – If your DB2 is in a state where it is safe to kill all of the processes, then do so; otherwise, shut your DB2 down safely from the services panel, or from the command line, then start this installation again after choosing No. – If it is safe to do shut down your DB2 forcibly, click Yes.

Figure 6-22 Process warning window

168

WebSphere Business Integration for SAP

5. After the Preparing to Install screen, the Welcome to the DB2 Setup wizard screen is displayed (see Figure 6-23). Click Next.

Figure 6-23 IBM DB2 setup wizard

6. The installation should begin, as illustrated in Figure 6-24 on page 170.

Chapter 6. Environment setup

169

Figure 6-24 Installation progress window

After the installation finishes, the screen in Figure 6-25 on page 171 should appear.

170

WebSphere Business Integration for SAP

Figure 6-25 Installation completion window

7. Click Finished.

6.3.2 Installing WebSphere MQ V5.3 with CSD04 All the messaging functionality in WebSphere Business Integration Message Broker is provided by WebSphere MQ. Therefore, to configure WebSphere Business Integration Message Broker, WebSphere MQ must be installed. WebSphere MQ V5.3 Server is supplied on a CD in the product package. CSD04 is not supplied in the product package; it must be downloaded from the IBM Web site and installed separately. To install WebSphere MQ V5.3, follow these steps: 1. In the launchpad, click the CD-ROM option. When prompted, insert the correct CD. 2. Insert the CD that is labelled IBM WebSphere MQ for Windows Version 5.3, and then click OK. The CD autoruns. If the CD does not autorun, in Windows Explorer, browse to the CD, then double-click MQLaunch.exe. The WebSphere MQ Installation Launchpad opens.

Chapter 6. Environment setup

171

3. In the WebSphere MQ Installation Launchpad, start the Help Center and read the Release Notes. 4. Check that all the WebSphere MQ software and network prerequisites are installed. Note that the WebSphere MQ Installation Launchpad cannot detect whether a Java Runtime Environment (JRE) has been installed. A JRE can be installed after WebSphere MQ has been installed. 5. In Step 3 of the WebSphere MQ Installation Launchpad, click Launch WebSphere MQ Installer to start installing WebSphere MQ. 6. Work through the installer and, when prompted, select the following options: – Custom installation. – Install the JMS Messaging feature. For further instructions, refer to the WebSphere MQ product documentation and Readme. To install WebSphere MQ V5.3 CSD04, follow these steps: 1. Stop all WebSphere MQ services: a. Click Start → Settings → Control Panel → Administrative Tools → Services. The Services dialog opens. b. In Services, right-click IBM MQSeries, then click Stop. A progress bar is displayed while the service stops. 2. In a Web browser, go to the following URL: http://www-306.ibm.com/software/integration/mqfamily/support/summary/ind ex.html

This is the IBM Web site from which WebSphere MQ CSDs (also known as FixPacks) can be downloaded. 3. In the first table on the web page, which is labelled IBM WebSphere MQ (formerly IBM MQSeries), click on the WebSphere MQ for Windows link. The WebSphere MQ Support page opens. This page displays only the most recent FixPack for WebSphere MQ. However, previous FixPacks can still be downloaded. 4. Click the link to download the most recent FixPack for WebSphere MQ for Windows V5.3. The FixPack and Interim Fixes page opens. 5. Select CSD05, then continue through the download and registration process to download the setup files. 6. When the setup files have been downloaded, read the accompanying documentation and release notes, then start the installer and install the CSD.

172

WebSphere Business Integration for SAP

7

Chapter 7.

Use Case 1: WBIMB using WBI Adapter for mySAP.com This chapter describes the installation and implementation of SAP R/3 integration scenarios using the WebSphere Business Integration Message Broker and the WebSphere Business Integration Adapter for mySAP.com. It gives the reader a primer for configuring SAP R/3 to work with the ALE Module and the ABAP Extension Module of the adapter. This chapter contains the following topics: 򐂰 Operational model 򐂰 Installation of WebSphere Business Integration components 򐂰 Configuration of WebSphere Business Integration components 򐂰 Configuration of SAP R/3 for WebSphere Business Integration 򐂰 Development of WebSphere Business Integration components 򐂰 Deployment of WebSphere Business Integration components 򐂰 Running the scenario

© Copyright IBM Corp. 2004. All rights reserved.

173

7.1 Operational model This Use Case contains two parts: 򐂰 MaterialSynchronization scenario (Figure 7-1 on page 175) This scenario describes the integration of SAP R/3 systems using the WebSphere Business Integration Message Broker and the ALE Module of the WebSphere Business Integration Adapter for mySAP.com. 򐂰 OrderEventNotification scenario (Figure 7-2 on page 176) This scenario describes the integration of SAP R/3 systems using the WebSphere Business Integration Message Broker and the ABAP Extension Module of the WebSphere Business Integration Adapter for mySAP.com. The following steps describe the flow of the business processes comprising this Use Case: 1. Receives an IDoc (message type MATMAS) from the SAP R/3 ALE interface. 2. Converts the IDoc into an application specific business object. 3. Puts the business object into the outbound queue of the sending connector. 4. Passes the business object to the message flow for processing. 5. Transfers the business object to the inbound queue of the destination connector. 6. Converts the business object into a IDoc. 7. Sends the IDoc to the SAP R/3 ALE interface.

174

WebSphere Business Integration for SAP

Figure 7-1 Operational model: MaterialSynchronization scenario

The second part of this Use Case is described with the following flow: 1. The business integration system receives an event notification from the ABAP Extension Module in SAP R/3 as soon as a sales order is created in transaction va01. 2. The business integration system sends an empty business object into SAP. 3. SAP populates the business objects with values from the sales order. 4. SAP sends the filled business object to the business integration system for further processing.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

175

Figure 7-2 Operational model: OrderEventNotification scenario

7.2 Installation of WebSphere Business Integration components This section describes how to perform an installation of WebSphere Business Integration Message Broker and its prerequisite software, WebSphere Business Integration Adapter Framework, and WebSphere Business Integration Adapters. To obtain a fully functional installation of WebSphere Business Integration Message Broker, all of the prerequisite software must be installed: 򐂰 Microsoft Windows 2000 Service Packs 򐂰 Microsoft Data Access Components (MDAC) V2.7 򐂰 IBM WebSphere MQ 򐂰 IBM Java Runtime Environment 򐂰 IBM DB2 V8.1 򐂰 IBM Agent Controller 򐂰 IBM WebSphere Business Integration Message Broker 򐂰 IBM WebSphere Business Integration Adapter Framework 򐂰 IBM WebSphere Business Integration Adapter for mySAP.com

176

WebSphere Business Integration for SAP

7.2.1 Plan the installation To obtain a fully functional installation of WebSphere Business Integration for this Use Case, the prerequisite software shown in Table 7-1 must be installed. Table 7-1 Prerequisites: WebSphere Business Integration Message Broker Prerequisite software

Version

What the software is for

Microsoft Windows 2000

Service Pack 3

Required if running Windows 2000. The Service Pack is needed for security, and for WebSphere Business Integration Message Broker to function correctly.

Java Runtime Environment (JRE)

V1.3.1

Required. Used by the IBM Agent Controller installer and WebSphere MQ.

IBM DB2 Universal Database Enterprise Server Edition

V7.2 with FixPack 9 or V8.1 with FixPack 2

Used to store information about the broker domain configuration, and about resources deployed to the broker.

Microsoft Data Access Component (MDAC)

V2.7 with Service Pack 1 or V2.7 with Service Pack 1a or V2.8

Used for database connections and other forms of data connections, such as data sources over the network.

IBM WebSphere MQ

V5.3 with CSD04 or CSD05

Facilitates messaging between the Configuration Manager, the brokers, and business applications.

IBM Agent Controller

V5.0.2

Used by the message flow debugger in WebSphere Business Integration Message Broker.

IBM WebSphere Business Integration Message Broker

V5.0.3

Used for message transformation and routing.

IBM WebSphere Business Integration Adapter Framework

V2.4

Framework where WBI Adapters can be plugged in.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

177

Prerequisite software

Version

What the software is for

IBM WebSphere Business Integration Adapter for mySAP.com

V5.5

Specific WBI Adapter to connect SAP back-end systems with WBI infrastructures.

Most of the prerequisite software products required for the Windows system are supplied in the product package. Software that is not supplied on CDs can be downloaded from the Internet. Table 7-2 shows the product installation directories of use case 1. Table 7-2 Product installation directories Directory

Component

C:\SQLLIB

IBM DB2

C:\WBIMB

IBM WebSphere Business Integration Message Broker, inclusive IBM Agent Controller, and Microsoft Data Access Components

C:\WebSphereAdapters

IBM WebSphere Business Integration Adapters

C:\WebSphereMQ

IBM WebSphere MQ

C:\JRE131

Java Runtime Environment

Tip: It is recommended to avoid installation directory names that include spaces.

7.2.2 Install Microsoft Windows 2000 Service Packs If you are running Microsoft Windows 2000 on the computer, Service Pack 3 or later must be installed. If you are running Windows XP, Service Pack 1 or later must be installed. The Service Packs fix bugs in Microsoft Windows 2000 that can prevent WebSphere Business Integration Message Broker from functioning properly, and provide greater security. To install a Microsoft Windows Service Pack: 1. Open a Web browser. 2. Go to the following URL: http://www.windowsupdate.com

178

WebSphere Business Integration for SAP

The Service Pack can be installed directly from the Windows Update site. Follow the directions on the Web site.

7.2.3 Install a Java Runtime Environment Although the WebSphere Business Integration Message Broker pre-installed Launchpad does not check for a Java Runtime Environment (JRE) on the computer, JRE V1.3.1 or above must be installed to run the IBM Agent Controller installer. The IBM 32-bit SDK for Java 2 V1.4.0 is supplied with WebSphere MQ V5.3. To install a JRE: 1. Switch to the folder where the installation files are located. 2. Double-click MQLaunch.exe. The WebSphere MQ Installation Launchpad opens. 3. In the WebSphere MQ Installation Launchpad, on the Software Prerequisites page, click the + next to Supported Java Runtime Environment 1.3 or later to expand that section of the page. 4. Click WebSphere MQ CD. The installation starts. 5. Work through the installer to complete the installation of the JRE.

7.2.4 Install IBM DB2 UDB V8.1 with FixPack 5 This installation is covered in 6.3.1, “Installing IBM DB2 UDB Version 8.1 with FixPack 5” on page 150.

7.2.5 Install Microsoft Data Access Component (MDAC) V2.7 Microsoft Data Access Components (MDAC) is a collection of DLLs and associated component resources to support a number of different APIs, including Open Database Connectivity (ODBC). It enables applications to access data from various data storage sources. Upgrade the installed version of MDAC to Version 2.7 with Service Pack 1. MDAC for database connections is needed. The correct version of MDAC is supplied in the product package.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

179

To install MDAC V2.7 with Service Pack 1: 1. Switch to the folder where the installation files are located. 2.) Double-click MDAC_TYP.exe to start the installation. The installation starts.

7.2.6 Install WebSphere MQ V5.3 with CSD05 This installation is covered in 6.3.2, “Installing WebSphere MQ V5.3 with CSD04” on page 171.

7.2.7 Install IBM Agent Controller The Agent Controller is a daemon process that enables client applications to launch host processes and interact with agents that coexist within host processes. The Agent Controller provides a means for extending application behavior so that information regarding the application's execution can be externalized and then collected either locally or remotely. Installation of IBM Agent Controller is necessary if the flow debugger in WebSphere Business Integration Message Broker is required to debug message flow applications. The IBM Agent Controller setup files are supplied in the product package. Before installing IBM Agent Controller, a Java Runtime Environment (JRE) V1.3.1 or above must have been installed. To install IBM Agent Controller: 1. Switch to the folder where the installation files are located. 2. Double-click Setup.exe to start the installation. 3. When prompted, select the following options: – When specifying the location of the JRE, browse to the bin directory, which contains the java.exe file. – Disable security.

7.2.8 Install WebSphere Business Integration Message Broker In this Use Case, the business integration system consists of an integration broker and connectors that allow SAP R/3 systems to exchange data through the coordinated transfer of information in the form of business objects. The broker provides message routing, transformation, and publish/subscribe features. This section describes how to install a WebSphere Business Integration Broker.

180

WebSphere Business Integration for SAP

Start the installer If you are not using the pre-install launchpad as a guide through the installation process, then start the installer directly from folder where the installation files are located. Do the following steps: 1. Switch to the folder where the installation files are located. 2. Click Setup.exe to start the installer. 3. Read and respond to the messages that are displayed on the WebSphere Installation page. 4. Ensure that an user with administrative privileges, but not the user Administrator, is used for the installation. 5. Click on the Launch IBM WebSphere Business Integration Brokers Installation link at the bottom of the WebSphere Installation page. The installer starts.

Install When the installer was started, a command line window opens while the Java Virtual Machine initializes. Do the following steps: 1. When prompted, in the Installer dialog, select the language in which the installer will be displayed, and then click OK (see Figure 7-3). If this dialog is not displayed, it might be hidden behind another window on the desktop.

Figure 7-3 The Installer language selection dialog

The first page of the installer is displayed (see Figure 7-4 on page 182). Click Next to continue.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

181

Figure 7-4 Installer welcome page

2. Confirm that the required migration tasks are completed (see Figure 7-5 on page 183). – To continue with the installation, click Yes, and then click Next. – To cancel the installation and perform the required migration tasks, click No, and then click Cancel. If migrating from a previous version of the product, refer to the most recent version of the Install Guide (open the launchpad, then click on the Install Guide button).

182

WebSphere Business Integration for SAP

Figure 7-5 The migration prerequisites page

3. Read the Software License Agreement (see Figure 7-6 on page 184) and click one of the following options: – Accept the Software License Agreement by clicking I accept the terms in the license agreement, and then click Next. The next page of the installer is displayed. – If the Software License Agreement is not accepted, click I do not accept the terms in the license agreement, and then click Cancel. The installation cannot continue.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

183

Figure 7-6 The Software License Agreement page

4. Decide where to install WebSphere Business Integration Message Broker (see Figure 7-7 on page 185). – To install the product in the default location, click Next. – To browse to an alternative location, click Browse. When an alternative location is selected, click Next.

184

WebSphere Business Integration for SAP

Figure 7-7 The Install location page

5. Select the type of installation to be performed (see Figure 7-8 on page 186): – To install all of the components that are required, click Typical. This option is recommended for most users. – To select specific components, click Custom. Select this option only when you are familiar with the product components.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

185

Figure 7-8 Install type selection page

The installer displays a summary screen of the products to be installed (see Figure 7-9 on page 187). If installing WebSphere Business Integration Message Broker, the following components are installed: – WebSphere Business Integration Event Broker – WebSphere Business Integration Message Broker – IBM Message Brokers Toolkit for WebSphere Studio – Webscale Distribution Hub V2.0 6. Click Next to install the displayed components.

186

WebSphere Business Integration for SAP

Figure 7-9 The installation summary page

A progress bar is displayed (see Figure 7-10 on page 188, which is an example of the WebSphere Business Integration Event Broker installer).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

187

Figure 7-10 WebSphere Business Integration Event Broker install progress

A separate progress page is displayed for each part of the software. If installing WebSphere Business Integration Message Broker, the following progress screens are displayed: 򐂰 WebSphere Business Integration Event Broker 򐂰 WebSphere Business Integration Event Broker uninstaller 򐂰 WebSphere Business Integration Message Broker 򐂰 WebSphere Business Integration Message Broker uninstaller 򐂰 IBM Message Brokers Toolkit for WebSphere Studio 򐂰 IBM Message Brokers Toolkit for WebSphere Studio uninstaller

Configuring security groups When the installer finishes installing WebSphere Business Integration Message Broker, the Security wizard is launched automatically. The wizard creates the user groups that are needed to control the security of WebSphere Business Integration Message Broker’s resources and tasks. The wizard also assigns an administrator’s user account to the relevant groups.

188

WebSphere Business Integration for SAP

The Security wizard creates the security groups shown in Table 7-3. Table 7-3 The security groups that are created by the Security Wizard Group

Purpose

mqbrasgn

Allows users to assign message flows and message sets to brokers.

mqbrdevt

Allows users to create message sets and message flows.

mqbrkrs

Allows users to start brokers, the User Name Server, and the Configuration Manager.

mqbrops

Allows users to manage brokers, message flows, and broker domains, view logs, and trace message flows.

mqbrtpic

Allows users to manage topics and access control lists.

To create and assign a user account to the relevant security groups, do the following steps: 1. On the welcome page of the Security Wizard, click Next (see Figure 7-11 on page 190).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

189

Figure 7-11 The Security Wizard

2. From the User name list, select the user account that is added to all the relevant WebSphere Business Integration Message Broker security groups, and then click Next (see Figure 7-12 on page 191). Do not select the user name Administrator. WebSphere Business Integration Message Broker cannot be run using the default Windows Administrator account. The user account is added to all of the groups listed in Table 7-3 on page 189. The user account is also added to the following groups: – mqm: The WebSphere MQ security group. – Administrators: The Windows administrators group. 3. Optional: To add another user to the groups, click Back to add another user to the WebSphere Business Integration Message Broker security groups.

190

WebSphere Business Integration for SAP

Figure 7-12 The User Select and Create page

4. On the summary page (see Figure 7-13 on page 192), click Finish.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

191

Figure 7-13 Security Wizard summary page

Post-installation tasks Before using the product, and before creating and starting a broker, the following tasks must be completed: 򐂰 Confirm that enough licenses for the number of processors on the computer are available. 򐂰 Register the product. This is required by the license.

7.2.9 Install Message Broker FixPacks The instructions in this section describe how to install a FixPack on top of an installed version of WebSphere Business Integration Message Broker.

Before installing the FixPack Before installing the FixPack, perform the following tasks: 1. Ensure that the user ID that is used is a member of the Windows Administrators group in the local security domain. Use the same user ID that was used to install WebSphere Business Integration Message Broker.

192

WebSphere Business Integration for SAP

2. Ensure that all WebSphere Business Integration Message Broker services are stopped, including the Configuration Manager, the User Name Server (if applicable), and all brokers on the system: – To stop the Configuration Manager, at a command prompt, enter the following command: mqsistop configmgr

– To stop each broker, enter the following command: mqsistop WBRK_BROKER

where WBRK_BROKER is the name of the broker. – To stop the User Name Server, enter the following command: mqsistop usernameserver

3. Close the Message Brokers Toolkit. 4. Close all WebSphere Business Integration Message Broker files, such as the product Readme. 5. Close all running programs.

Install the FixPack The following instructions describe how to install the FixPack. The FixPack can be installed from a CD or from files downloaded from the Web.

Install the FixPack from a CD To install the FixPack from a CD: 1. Read the contents of the memo.ptf file and any readme.html files. These files are in the root directory of the CD and contain additional information regarding the installation and fixes available in this FixPack. 2. Insert the FixPack CD into the CD-ROM drive. If autorun is enabled, setup.exe runs automatically. If not, browse the CD and double-click setup.exe.

Install the FixPack from files downloaded from the Web To install the FixPack from files that are downloaded from the Web: 1. Read the contents of the memo.ptf file that accompanies the downloaded file. This file contains additional information regarding the installation and fixes available in this FixPack. 2. Run the executable file that are downloaded. 3. When prompted, accept the default install location or specify an alternative. 4. Click Next to extract the files.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

193

5. Click Finish to close the dialog. The setup.exe file runs automatically.

7.2.10 Install WBI Adapter Framework V2.4 The WebSphere Business Integration Adapter Framework V2.4 consists of various subcomponents. The subcomponents are: 򐂰 System Manager 򐂰 Virtual Test Connector 򐂰 Log Viewer 򐂰 Business Object Designer 򐂰 Connector Configurator Important: Make sure that no instance of WebSphere Studio Application Developer Integration Edition or any other Eclipse development environment is running when starting the framework installation. 1. Switch to the folder where the installation files are located and execute setupwin32.exe to start the framework installation. 2. Select English as the language for the install wizard and click on OK (see Figure 7-14).

Figure 7-14 Language selection

3. Press Next on the welcome screen (Figure 7-15 on page 195).

194

WebSphere Business Integration for SAP

Figure 7-15 Welcome screen

4. Accept the license agreement and select Next (Figure 7-16).

Figure 7-16 License agreement

5. Enter a directory, such as C:\WebSphereAdapters, as the installation destination and press Next (Figure 7-17 on page 196).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

195

Figure 7-17 Installation directory

6. Review the installation settings and click on Next (Figure 7-18).

Figure 7-18 Installation summary

7. The WebSphere MQ Java libraries should be detected automatically (Figure 7-19 on page 197). Click on Next.

196

WebSphere Business Integration for SAP

Figure 7-19 WebSphere MQ library location

8. Select Install WebSphere Studio Workbench and plug-ins and click on Next (Figure 7-20).

Figure 7-20 Workbench installation

9. Leave the default Program group and click on Next (see Figure 7-21 on page 198).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

197

Figure 7-21 Program group selection

10.Click on Finish to close the wizard after the installation is complete (Figure 7-22).

Figure 7-22 Final window

198

WebSphere Business Integration for SAP

7.2.11 Install WBI Adapter for mySAP.com The WebSphere Business Integration Adapter for mySAP.com includes the mySAP.com connector and the mySAP.com Object Discovery Agent (ODA). Before installing the adapter, the Adapter Framework must be installed. Do the following steps: 1. Switch to the folder where the installation files are located and execute the file setupwin32.exe to start the installation. 2. Choose English from the drop-down list as the installation language (Figure 7-23).

Figure 7-23 Language selection

3. Press Next on the Welcome Screen (Figure 7-24).

Figure 7-24 Welcome screen

4. Accept the license agreement and click on Next (Figure 7-25 on page 200).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

199

Figure 7-25 License agreement

5. Select the folder where the Adapter Framework is installed and click on Next (Figure 7-26).

Figure 7-26 WebSphere Adapter Framework location

6. On the installation summary screen, click on Next (Figure 7-27 on page 201).

200

WebSphere Business Integration for SAP

Figure 7-27 Installation summary

7. In this scenario, no WebSphere InterChange Server is used. Leave the input field blank and click on Next (Figure 7-28).

Figure 7-28 Interchange Server name

8. Leave the default Program group and click on Next (Figure 7-29 on page 202).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

201

Figure 7-29 Program group selection

9. Click on Finish to close the wizard after the installation is done (Figure 7-30).

Figure 7-30 Final window

202

WebSphere Business Integration for SAP

Install a second connector To enable the integration broker to communicate with two SAP systems at the same time, a second instance of the connector must be installed. It is necessary that connectors have a unique name: 򐂰 Make a copy of the directory c:\WebSphereAdapters\connectors\SAP and name it c:\WebSphereAdapters\connectors\SAP_2. 򐂰 Make a copy of the directory c:\WebSphereAdapters\repository\SAP and name it c:\WebSphereAdapters\repository\SAP_2. 򐂰 Rename the connector definition file (CN_SAP.txt) in the new repository directory to match the new connector name, for example, CN_SAP_2.txt. 򐂰 Rename the new connector class file CWSAP.jar with a second connector name, such as CWSAP_2.jar. 򐂰 Rename start_SAP.bat to start_SAP_2.bat. 򐂰 Create a shortcut for start_SAP_2.bat: On Windows, right-click on the desktop and select New → Shortcut. Select the start_SAP_2.bat file and click Next. Name the shortcut mySAP_2.com Connector. 򐂰 Right-click on the shortcut and select Properties. In the Target field, append the string SAP_2 WMQI_WAS -cC:\WebSphereAdapters\repository\SAP_2\SAP_2Connector.cfg. 򐂰 The target field should look like C:\WebSphereAdapters\connectors\SAP_2\start_SAP_2.bat SAP_2 WMQI_WAS -cC:\WebSphereAdapters\repository\SAP_2\SAP_2Connector.cfg.

7.3 Configuration of WebSphere Business Integration components This section explains how to configure the components of the WebSphere Business Integration System: WebSphere MQ, the adapter, the business objects, and the integration broker. It includes the following tasks: 򐂰 Configure WebSphere MQ to work with the WebSphere Business Integration Adapter for mySAP.com and the WebSphere Business Integration Message Broker. 򐂰 Create a WebSphere Business Integration Message Broker Domain. 򐂰 Configure the ALE Module of the WebSphere Business Integration Adapter for mySAP.com.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

203

򐂰 Configure the ABAP Extension Module of the WebSphere Business Integration Adapter for mySAP.com.

7.3.1 Configure WebSphere MQ WebSphere Business Integration Adapter for mySAP.com uses MQ queues and standard Java Messaging Service (JMS) software as the communication transport mechanism between the connector framework and the broker. To enable WebSphere Business Integration Message Broker to work with a connector, a queue manager must be configured and also queues for carrying messages between the connector and WebSphere Business Integration Message Broker. Ensure that the connector’s configuration files contain correctly specified queue and queue manager information, which is provided in this chapter.

Define the queue manager The connector uses a single queue manager to manage all of its interactions with queues. The standard properties in the connector’s configuration file contain the queue manager information needed by the connector at startup. The connector uses this information to establish a connection to the queue manager to be used for communicating with the WebSphere Business Integration Message Broker. The WebSphere Business Integration system supports several queue managers and queue configurations. The connector can communicate with the queue manager in any of the following modes: 򐂰 Bindings mode: WebSphere Business Integration Message Broker and the connector communicate directly with the queue manager, without using a TCP/IP connection. The queue manager and the connector must be on the same machine and must use the same queue manager. This is the default mode and is described in “Create a queue manager using the WebSphere MQ Explorer” on page 205. 򐂰 Bindings mode with remote queue definitions: If WebSphere Business Integration Message Broker and the connector are installed on separate machines, with each machine running its own queue manager, the connector and WebSphere Business Integration Message Broker can still communicate with their respective queue managers using bindings mode, but remote queue definitions are also needed. 򐂰 Client mode: Communication occurs through a client connection that uses TCP/IP as its underlying transport. If the queue manager and the connector are on the different machines, the connector is limited to using client mode. To learn more about MQSeries messages, see WebSphere MQ Using Java, SC34-6066. To learn more about MQSeries queues, see WebSphere MQ:

204

WebSphere Business Integration for SAP

Intercommunication, SC34-6059, and WebSphere MQ: Script Command (MQSC) Reference, SC34-6055. All three of these IBM manuals can be found at: http://www-306.ibm.com/software/integration/mqfamily/library/manualsa/manua ls/crosslatest.html

Create a queue manager using the WebSphere MQ Explorer Tip: The supplied configure_mq.bat file can also be used to set up the queue manager, queues, and channels. 1. Open the WebSphere MQ Explorer from the Windows Start menu. 2. In the WebSphere MQ Explorer, select the Queue Managers folder and Action → New → Queue Manager. 3. Name the queue manager, using the format host.queue.manager. In this example, it would be ITSOA.queue.manager. 4. Click Next. 5. Keep the default settings and click Next. 6. Close the WebSphere MQ Explorer. 7. Open the WebSphere MQ Services Console. 8. Click on the queue manager ITSOA.queue.manager. 9. Open the Custom Services folder in the queue manager ITSOA.queue.manager. 10.The following MQ services must be run (see Figure 7-31 on page 206). – Queue manager – Command server – Channel initiator – Listener

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

205

Figure 7-31 MQ Services

11.Right-click on Listener and select Properties. 12.Go to the Parameters Tab and select the TCP Protocol. Set the port to 1414 (default) or to another free port. To verify which ports are already in use on the processor, open a command prompt and enter the following command: netstat -a

If port 1414 is being used by another queue manager, type in another port number, for example, 1416 or 1515. 13.Use the host name as the local address, for example, ITSOA, and click OK. Figure 7-32 shows the Listener properties.

Figure 7-32 WebSphere MQ Listener properties

206

WebSphere Business Integration for SAP

Define the queues Use MQ commands or the MQ Explorer to define the following local queues (see Table 7-4 and Table 7-5 on page 208) for each connector. Also, the script mqsetup.tst delivered with the WebSphere Business Integration Adapter Framework can be used for defining queues. For more information about defining queues using the script, see 8.3.1, “Configuration of WebSphere MQ” on page 359. Table 7-4 Connector queues Queue name

Usage of the queue

AdminInQueue

Delivers administrative messages from WebSphere Business Integration Message Broker to the connector framework.

AdminOutQueue

Delivers administrative messages from the connector framework to WebSphere Business Integration Message Broker.

DeliveryQueue

Delivers event delivery messages from the connector framework to WebSphere Business Integration Message Broker.

FaultQueue

Delivers fault messages from the connector framework to WebSphere Business Integration Message Broker. The connector framework places a message on this queue when it is unable to place the message on the reply-to queue.

RequestQueue

Delivers request messages from WebSphere Business Integration Message Broker to the connector framework.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

207

Queue name

Usage of the queue

SynchronousRequestQueue

Delivers request messages from the connector framework to WebSphere Business Integration Message Broker that require a synchronous response. This queue is necessary only if the connector uses synchronous execution. With synchronous execution, the connector framework sends the message to SynchronousRequestQueue and waits for a response back from WebSphere Business Integration Message Broker on the SynchronousResponseQueue. The response message sent to the connector bears a correlation ID that matches the ID of the original message.

SynchronousResponseQueue

Delivers response messages from WebSphere Business Integration Message Broker to the connector framework sent in reply to a synchronous request. This queue is necessary only if the connector uses synchronous execution.

Tip: To make it easier to determine the associated queue of each connector, prefix the queue name with name of the connector. For example, name the SAP connector’s event delivery queue SAPCONNECTOR/DELIVERYQUEUE. If the ALE module of the adapter is used, additional local queues must be defined. Table 7-5 Connector queues for the ALE module

208

Queue name

Usage of the queue

ArchiveQueue

Specifies the MQ Series queue that archives TIDs and IDoc data after the ALE Module has finished processing events.

EventQueue

Specifies the MQ Series queue that stores TIDs and IDoc data during the ALE Module’s processing of events.

WebSphere Business Integration for SAP

Queue name

Usage of the queue

ErrorQueue

Defines a queue to handle MQ messages that fail between the WIPQueue and the EventQueue.

WIPQueue

Specifies the MQ work-in-progress (wip) queue that holds TIDs and IDoc data while the ALE Module builds the MQ message for the event queue. After the connector receives all data for an event, it moves the data in this queue to the EventQueue.

UnsubscribeQueue

Defines a queue to collect unsubscribed IDoc objects. Unsubscribed IDoc objects previously were placed in the ArchiveQueue. These messages can be resubmitted using the event management utility. The connector now checks for subscriptions when processing the data from SAP to the connector, resulting in transactions remaining in SAP until the message flow is started.

TidQueue

Specifies the queue on which messages containing the TID and TID status reside. This property is used by the ALE Module only when processing requests.

Tip: To make it easier to determine the associated queue of each connector, prefix the queue name with name of the connector. For example, name the SAP connector’s archive queue SAPCONNECTOR/ARCHIVEQUEUE. For more information about defining queues, see WebSphere MQ System Administration Guide, SC34-6068 and WebSphere MQ: Script Command (MQSC) Reference, SC34-6055, both of which can be found at: http://www-306.ibm.com/software/integration/mqfamily/library/manualsa/manua ls/crosslatest.html

Create local queues using the MQ Explorer Tip: The supplied configure_mq.bat file can also be used to set up the queues. 1. Open the MQ Explorer and select the Queues folder in the queue manager.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

209

2. Select Action → New → Local Queue. 3. Enter SAPCONNECTOR/DELIVERYQUEUE as the queue name. 4. Repeat steps 2 and 3 for each queue listed above.

Define the channels Use MQSeries commands or the MQ Explorer to define server connection channels. The following channels are required by the WebSphere Business Integration System.

Create channels using the WebSphere MQ Explorer Tip: The supplied configure_mq.bat file can also be used to set up the channels 1. Open the MQ Explorer and select the Advanced folder in the queue manager. 2. Select the Channels folder. 3. Select from the menu Action → New → Server Connection Channel. 4. Enter CHANNEL1 as the channel name. 5. Repeat steps 2 and 4 for each ALE channel that is required (one per ALE module. In this Use Case, the channels TIDCHANNEL and TIDCHANNEL2 are used).

7.3.2 Create a message broker domain A message broker domain represents the WebSphere Business Integration Message Broker run-time environment. A broker domain contains a single Configuration Manager with associated brokers. It may also contain a User Name Server if authentication is used for publish/subscribe messaging. This Use Case does not use a User Name Server. To quickly create a default configuration for WebSphere Business Integration Message Broker run the Getting Started wizard in the Message Broker’s Toolkit. When you are familiar with WebSphere Business Integration Message Broker, broker domains can be created manually. To learn more about broker domains, refer to the redbook WebSphere Business Integration Message Broker Basics, SG24-7090.

210

WebSphere Business Integration for SAP

Create a broker using the Getting Started wizard The Getting Started wizard creates the minimum components that are needed to run a message flow application. In order to run the Getting Started wizard, prerequisite software such as DB2 and WebSphere MQ must have been installed. The wizard creates: 򐂰 A broker. 򐂰 A DB2 database for storing the Configuration Manager’s data. 򐂰 A DB2 database for storing data that is deployed to the broker. 򐂰 A link between the domain and the broker. 򐂰 A queue manager that is used by the broker and the Configuration Manager if no queue manager exists. Use the queue manager ITSOA.queue.manager created in “Create a queue manager using the WebSphere MQ Explorer” on page 205. 򐂰 A configuration for the queue manager to use a listener port for communication between the Configuration Manager and the Message Brokers Toolkit. 򐂰 A project within the Message Brokers Toolkit workspace to contain the broker domain connection information. Tip: The broker, the configuration manager, and the nameserver can be created also using following commands: 򐂰 mqsicreatebroker -i -a -q -n -u -p -s -j -P 򐂰 mqsicreateconfigmgr -i -a -q -s -n -u -p 򐂰 mqsicreateusernameserver -i -a -q

Table 8-3 lists the components that the wizard creates, and their default values.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

211

Table 7-6 Components created by the Getting Started wizard Component

Description

WebSphere Business Integration Brokers services user account

The Windows account.

WebSphere Business Integration Broker services DB2 account

The Windows account.

Broker domain and broker domain connection

Localdomain.

Server Project

LocalProject.

Queue Manager name

ITSOA.queue.manager

Queue Manager port

By default, the field for this information is empty. The port number conventionally has four digits, that is, 1414.

Configuration Manager

The Configuration Manager is the interface between the workbench, the configuration repository, and an executing set of brokers. It provides brokers with their initial configuration, and updates them with any subsequent changes. It maintains the broker domain configuration.

Configuration manager database

WBRKCMDB.

Broker

ISTOA_WBIMB.

Broker database

WBRKBKDB.

Start the Message Brokers Toolkit To run the Getting Started wizard, open the Message Brokers Toolkit. To start the Message Brokers Toolkit: 򐂰 Click Start → Programs → IBM WebSphere Studio → Message Brokers Toolkit. Wait while the installation completes (see Figure 7-33 on page 213).

212

WebSphere Business Integration for SAP

Figure 7-33 The install completion screen

When the installation completes, the Message Brokers Toolkit opens. The welcome information provided on the opening screen of the Message Brokers Toolkit provides the Getting Started information. Read this page to learn more about getting started with the product (see Figure 7-34).

Figure 7-34 The Message Broker tooling welcome page

Running the Getting Started wizard To create a configuration use the Getting Started wizard, do the following steps: 1. Log on with administrator privileges. 2. On the product welcome page, click Create a default configuration. The Getting Started wizard opens (see Figure 7-35 on page 214). 3. Click Next.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

213

Figure 7-35 The Getting Started wizard welcome page

4. Enter the information for the user account that is used to run the WebSphere Business Integration Message Broker services, such as the broker (see Figure 7-36 on page 215). – To create a new account, click New user account, then follow the steps to create the new account. – To use an existing account, click Existing user account, then enter the user name and password for the account that is used. The user account must be a member of the Administrators group and the mqm and mqbrkrs security groups. The account must also have enabled the security privilege to “act as part of the operating system”. If the account does not have this privilege, the Getting Started wizard can set it, but it requires you to reboot the computer.

214

WebSphere Business Integration for SAP

Figure 7-36 The broker services user account page

5. Decide which user account is used to access the broker and Configuration Manager DB2 databases: – To use the same user account as in step 4, ensure that the Also use this account for accessing the DB2 databases check box is selected. – To use a different account, clear the Also use this account for accessing the DB2 databases check box. Click Next and complete the information on the next page to specify the account to be used for accessing the DB2 databases. 6. Click Next. 7. In the Queue Manager name field, type the name of the queue manager, for example, ITSOA.queue.manager. 8. In the Queue Manager port field, type the number of the port on which the queue manager listens (see Figure 7-37 on page 216). Port 1414 is the default WebSphere MQ port.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

215

9. Accept the default Broker Domain name, and select ITSOA.queue.manager as the queue manager name. This is the queue manager created in “Create a queue manager using the WebSphere MQ Explorer” on page 205. 10.Use the default database name values. If components with those names already exist, change the names of the components that the Getting Started wizard creates. The database name has a maximum limit of eight characters. 11.Click Next. The wizard checks whether the a database with the specified name already exists on the computer. If it does exist, confirm it to continue. If continuing, data in the existing database might be lost. Alternatively, type a new name in the Database name field.

Figure 7-37 Broker domain details page

12.Set the Broker name to ITSOA_WBIMB and use the default database name values (see Figure 7-38 on page 217). If components with those names already exist, change the names of the components that the Getting Started wizard creates. The database name has a maximum limit of eight characters.

216

WebSphere Business Integration for SAP

13.Click Next. The wizard checks whether a database with the specified name already exists on the computer. If it does exist, confirm it to continue. If continuing, data in the existing database might be lost. Alternatively, type a new name in the Database name field. The wizard again checks whether the database specified for the broker already exists.

Figure 7-38 The broker details page

14.Accept the default project name for the Server project that the wizard creates. The connection name is not editable, because it was specified previously on the broker domain details page. If a server projects already exists, select one of the existing server projects from the list. If running the Getting Started wizard directly after installing the product, the only option available is LocalProject. 15.Click Next. 16.A summary screen is displayed (see Figure 7-39 on page 218), which lists the choices that are made on previous pages of the wizard. Click Next to start the configuration.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

217

Figure 7-39 The Getting Started wizard summary page

17.When the configuration is complete, the Getting Started wizard displays a success message (see Figure 7-40).

Figure 7-40 Successful default configuration created

7.3.3 Configure the WBI Adapter for mySAP.com to access SAP R/3 via ALE The Connector Configurator tool provides a graphical user interface for configuring the connector of the WebSphere Business Integration Adapter for mySAP.com. When you are finished specifying values for the connector’s configuration properties, the Connector Configurator generates a configuration file for the connector and places it in the connector’s local repository.

218

WebSphere Business Integration for SAP

The installer loaded a connector definition file for the connector in c:\WebSphereAdapters\connectors\repository\SAP. The connector definition file provides initial values for some configuration file properties. The first step is to use the Connector Configurator to create a configuration file for the connector. While the connector definition file provides some starting values for the configuration file, the configuration file contains all the standard and application-specific properties for the connector, and specifies its supported business objects. This section contains the following tasks: 򐂰 Create a configuration using the Connector Configurator tool 򐂰 Create a shortcut to the connector’s startup script

Create a configuration using the Connector Configurator tool 1. Start the Connector Configurator by selecting Start → Programs → IBM WebSphere Business Integration Adapters → Tools → Connector Configurator. 2. Select Open → From File. 3. Navigate to the connector’s repository directory and open the file CN_SAP.txt. 4. Fill in the standard properties shown in Table 7-7 and Figure 7-41 on page 221. Table 7-7 Standard connector properties Property

Value

AdminInQueue

SAPCONNECTOR/ADMININQUEUE

AdminOutQueue

SAPCONNECTOR/ADMOUTQUEUE

AgentTraceLevel

5

ApplicationName

SAPConnector

BrokerType

WMQI

Character Encoding

ascii7

ContainerManagedEvents DeliveryQueue

SAPCONNECTOR/DELIVERYQUEUE

DeliveryTransport

JMS

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

219

220

Property

Value

DuplicateEventElimination

false

FaultQueue

SAPCONNECTOR/FAULTQUEUE

jms.FactoryClassName

CxCommon.Messaging.jms.IBMMQSerie sFactory

jms.MessageBrokerName

QueueManagerName:MQChannelName: MQhostname:MQPort (ITSOA.queue.manager:CHANNEL1:ITS OA:1414)

jms.UserName

User ID of MQ Admin

jms.Password

Password of MQ Admin

Locale

en_US

MessageFileName

SAPConnector

PollFrequency

10000

PollEndTime

HH:MM

PollStartTime

HH:MM

RepositoryDirectory

c:\WebSphereAdapters\Repository\SAP

RequestQueue

SAPCONNECTOR/REQUESTQUEUE

ResponseQueue

SAPCONNECTOR/RESPONSEQUEUE

RFH2MessageDomain

mrm

RestartRetryCount

3

RestartRetryInterval

1

SynchroneousRequestQueue

SAPCONNECTOR/SYNCHRONEOUSR EQUESTQUEUE

SynchroneousRequestTimeout

0

SynchroneousResponseQueue

SAPCONNECTOR/SYNCHRONEOUSR ESPONSEQUEUE

WireFormat

CwXML

XMLNameSpaceFormat

short

WebSphere Business Integration for SAP

Figure 7-41 Standard connector properties

5. Fill in the connector specific properties (see Table 7-8 and Figure 7-42 on page 223). Table 7-8 Connector specific properties Property

Value

ABAPDebug

false

ArchiveDays

7

ApplicationPassword

SAP User Password

ApplicationUserName

SAP User ID

ALEUpdateStatus

false

ALESelectiveUpdate ALEStatusMsgCode ALESuccessCode

52

ALEFailureCode

68

ALEFailureText Client

800

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

221

Property

Value

DateTimeFormat Group GatewayService

sapgw00

Hostname

siccserv.isicc.de.ibm.com®

Language

E

LogFileName

STDOUT

MaxNumberOfConnections

1

Modules

ALE

Namespace

true

NumberOfListeners

1

PingFrequency

15000

PollQuantity

20

RequestTransport

MQ

RfcProgramId

RFCSERVER

RFCTraceOn

false

RefreshLogonCycle UseDefaults

false

SAPSystemID

222

Sysnr

00

SAPtid_QueueManager

ITSOA.queue.manager

SAPtid_QueueManagerLogin

User ID of MQ Admin

SAPtid_QueueManagerLoginPassword

Password of MQ Admin

SAPtid_QueueManagerHost

ITSOA

SAPtid_MQPort

1414

SAPtid_MQChannel

TIDCHANNEL

SAPtid_Queue

SAPCONNECTOR/TID

SAPALE_Wip_Queue

SAPCONNECTOR/WIP

WebSphere Business Integration for SAP

Property

Value

SAPALE_Event_Queue

SAPCONNECTOR/EVENT

SAPALE_Archive_Queue

SAPCONNECTOR/ARCHIVE

SAPALE_US_Queue

SAPCONNECTOR/US

SAPALE_Error_Queue

SAPCONNECTOR/ERROR

Figure 7-42 Connector specific properties

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

223

6. Add the Business Object sap_matmas03 and the Message Set ID to the connector’s configuration (see Figure 7-43). Leave the Message Set ID field empty until the message set is created. Get the Message Set ID from the file messageSet.mgset in the Message Set Project using the Message Brokers Toolkit in a later step (refer to 7.7.3, “Create Message Sets and loading Business Object Definitions” on page 288).

Figure 7-43 Supported Business Objects

7. Define the logging and tracing file locations (the files must be created manually before using starting the connector the first time) (see Figure 7-44).

Figure 7-44 Log and trace file

8. The Data Handler properties cannot be filled in when using the WebSphere Business Integration Message Broker. 9. Save the file to the c:\WebSphereAdapters\connectors\repository\SAP folder.

224

WebSphere Business Integration for SAP

Create a shortcut to the connector’s startup script To start the connector, a shortcut to the start_SAP.bat file located in the Adapter’s folder must be created on the desktop and it must be modified: 1. To create the shortcut, select Start → WebSphere Business Integration Adapters → Adapters → Connectors → Adapter for mySAP.com, click and drag the menu item, and drop it onto the desktop. 2. Right-click on the shortcut and select Properties. 3. In the Properties dialog box, modify the Target field: a. Append, after the path, the connector name SAP to the start_SAP.bat. b. Append, after the connector name, the parameter WMQI_WAS. c. Append the parameter c:\WebSphereAdapters\connectors\SAP\start_SAP.bat SAP WMQI_WAS -cC:\WebSphereAdapters\repository\SAP\SAPConnector.cfg.

7.3.4 Configure the WBI Adapter for mySAP.com to access SAP R/3 via the ABAP Extension module The connector of the WebSphere Business Integration Adapter for mySAP.com must be configured for the ALE and the ABAP Extension Module. This section shows how to configure the second connector for the ABAP Extension Module. However, both connectors must be configured for the ALE and the ABAP Extension Module, because they are used in both scenarios of this Use Case.

Configure the connector for the ALE Module The ALE configuration of the second connector is nearly the same as for the first connector. Therefore, refer to 7.3.3, “Configure the WBI Adapter for mySAP.com to access SAP R/3 via ALE” on page 218 for information on configuring the ALE part of the connector. Differences between both ALE configurations: 򐂰 The second connectors uses its own JMS and ALE queues. Also, the connector points to a different SAP system. 򐂰 The connector’s desktop shortcut points to start_SAP_2.bat. 򐂰 The connector name is SAP_2.

Configure the connector for the ABAP Extension Module 1. To configure the connector for the ABAP Extension Module, invoke the Connector Configurator by selecting Start → Programs → IBM WebSphere Business Adapters → Tools → Connector Configurator.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

225

2. Select File → Open → from File. Then open the Connector Configurator template file CN_SAP.txt in the WBI Adapters repository, for example, c:\WBIAdapters\Repository\SAP\CN_SAP.txt. 3. In the Standard Properties tab give the values as below. Table 7-9 Standard connector properties Property

Value

AdminInQueue

SAP_2CONNECTOR/ADMININQUEUE

AdminOutQueue

SAP_2CONNECTOR/ADMOUTQUEUE

AgentTraceLevel

5

ApplicationName

SAPConnector

BrokerType

WMQI

Character Encoding

ascii7

ContainerManagedEvents

226

DeliveryQueue

SAP_2CONNECTOR/DELIVERYQUEUE

DeliveryTransport

JMS

DuplicateEventElimination

false

FaultQueue

SAP_2CONNECTOR/FAULTQUEUE

jms.FactoryClassName

CxCommon.Messaging.jms.IBMMQSerie sFactory

jms.MessageBrokerName

QueueManagerName:MQChannelName: MQhostname:MQPort (ITSOA.queue.manager:CHANNEL1:ITS OA:1414)

jms.UserName

User ID of MQ Admin

jms.Password

Password of MQ Admin

Locale

en_US

MessageFileName

SAPConnector

PollFrequency

10000

PollEndTime

HH:MM

PollStartTime

HH:MM

RepositoryDirectory

c:\WebSphereAdapters\Repository\SAP

WebSphere Business Integration for SAP

Property

Value

RequestQueue

SAP_2CONNECTOR/REQUESTQUEUE

ResponseQueue

SAP_2CONNECTOR/ RESPONSEQUEUE

RFH2MessageDomain

mrm

RestartRetryCount

3

RestartRetryInterval

1

SynchroneousRequestQueue

SAP_2CONNECTOR/SYNCHRONEOUS REQUESTQUEUE

SynchroneousRequestTimeout

0

SynchroneousResponseQueue

SAP_2CONNECTOR/SYNCHRONEOUS RESPONSEQUEUE

WireFormat

CwXML

XMLNameSpaceFormat

short

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

227

Figure 7-45 Standard properties of the connector

4. Fill in the values for Connector Specific Properties, as in Table 7-10 and Figure 7-46 on page 231. Table 7-10 Connector specific properties Property

Value

ABAPDebug

false

ArchiveDays

7

ApplicationPassword

SAP User Password

ApplicationUserName

SAP User ID

ALEUpdateStatus

false

ALESelectiveUpdate ALEStatusMsgCode

228

WebSphere Business Integration for SAP

Property

Value

ALESuccessCode

52

ALEFailureCode

68

ALEFailureText Client

030

DateTimeFormat Group GatewayService

sapgw48

Hostname

sapbts08.sapbts.de.ibm.com

Language

E

LogFileName

STDOUT

MaxNumberOfConnections

1

Modules

Extension, ALE

Namespace

true

NumberOfListeners

1

PingFrequency

15000

PollQuantity

20

RequestTransport

MQ

RfcProgramId

RFCSERVER

RFCTraceOn

false

RefreshLogonCycle UseDefaults

false

SAPSystemID Sysnr

48

SAPtid_QueueManager

ITSOA.queue.manager

SAPtid_QueueManagerLogin

User ID of MQ Admin

SAPtid_QueueManagerLoginPassword

Password of MQ Admin

SAPtid_QueueManagerHost

ITSOA

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

229

230

Property

Value

SAPtid_MQPort

1414

SAPtid_MQChannel

TIDCHANNEL2

SAPtid_Queue

SAP_2CONNECTOR/TID

SAPALE_Wip_Queue

SAP_2CONNECTOR/WIP

SAPALE_Event_Queue

SAP_2CONNECTOR/EVENT

SAPALE_Archive_Queue

SAP_2CONNECTOR/ARCHIVE

SAPALE_US_Queue

SAP_2CONNECTOR/US

SAPALE_Error_Queue

SAP_2CONNECTOR/ERROR

WebSphere Business Integration for SAP

Figure 7-46 Connector specific properties

5. Select the Supported Business Object tab on the Connector Designer – SAPConnector window. Add the Business Object BO_EVENTRIGGER to the connector’s configuration (see Figure 7-47 on page 232). Leave the Message Set ID field empty until the message set was created. Get the Message Set ID in a later step from the file messageSet.mgset in the Message Set Project using the Message Brokers Toolkit (refer to 7.7.3, “Create Message Sets and loading Business Object Definitions” on page 288).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

231

Figure 7-47 Supported Business Objects for the ABAP Extension & ALE Module

6. In the Trace/Log files tab, define the logging and tracing file locations (the files must be created manually before starting the connector the first time) (see Figure 7-48).

Figure 7-48 Log and Trace File

7. The Data Handler properties cannot be filled in when using the WebSphere Business Integration Message Broker. 8. Save the file as SAP_2Connector.cfg to the repository c\WebSphereAdapters\connectors\repository\SAP_2 folder. Repeat the ABAP Extension Module configuration for the first connector: 1. Add the Business Object BO_EVENTRIGGER to the first connector’s configuration. 2. Add the value Extension to connector specific property module. 3. Save the connector configuration file.

232

WebSphere Business Integration for SAP

Create a shortcut to the connector’s startup script To start the connector, a shortcut to the start_SAP_2.bat file located in the adapter’s folder must be created on the desktop and it must be modified: 1. To create the shortcut, select Start → WebSphere Business Integration Adapters → Adapters → Connectors → Adapter for mySAP.com, click and hold on Adapter for mySAP.com, and drag and drop the item onto the desktop. 2. Right-click on the shortcut and select Properties. 3. In the Properties dialog box, modify the Target field: a. Append, after the path, the connector name SAP_2 to the start_SAP_2.bat. b. Append, after the connector name, the parameter WMQI_WAS. c. Append the parameter C:\WebSphereAdapters\connectors\SAP_2\start_SAP_2.bat SAP_2 WMQI_WAS -cC:\WebSphereAdapters\repository\SAP_2\SAP_2Connector.cfg. d. Click on OK.

7.4 Configuration of SAP R/3 - general configuration steps This chapter contains the following configuration steps: 򐂰 Configure a SAP Gateway 򐂰 Create a SAP CPIC User ID 򐂰 Set up a SAP RFC destination.

7.4.1 Configure a SAP Gateway Make sure a SAP Gateway is installed and running on the SAP application server. Refer to the SAP documentation on how to set up a SAP Gateway.

7.4.2 Create a CPIC User ID A CPIC user ID is required for accessing the SAP system using the WebSphere Business Integration Adapter for mySAP.com. The CPIC user ID must be specified in the connector’s configuration file. 1. To set up a CPIC user ID, open the transaction su01 (the window in Figure 7-49 on page 234 should appear).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

233

2. Enter a name for the user ID (for example, WBIADMIN). 3. Enter a password for the user ID. 4. Set the User Type to Communication. 5. Set the appropriate User Role and User Profile (SAP_ALL is recommended for development purposes). 6. Save the user ID by clicking on Save.

Figure 7-49 Transaction su01: Maintain User

7.4.3 Set up a RFC Destination from SAP R/3 to Gateway During initialization, the RFC Server Module of the connector registers with the SAP Gateway. It uses the value set for the RfcProgramId connector-specific configuration property. This value must match the value in SAP R/3. SAP R/3 must be configured so that the RFC Server Module can create a handle to it.

234

WebSphere Business Integration for SAP

To register the RFC Server Module as an RFC destination, do the following steps: 1. In SAP, open transaction SM59. 2. Expand the TCP/IP connections directory. 3. Click Create (or press F8). The window in Figure 7-50 on page 236 should appear. 4. In the RFC destination field, enter the name of the RFC destination system, for example, WBICON. 5. Set the connection type to T (Start an external program via TCP/IP). 6. Enter a description for the new RFC destination, and then click Save. 7. Click the Registration button for the Activation Type. 8. Set the Program ID, for example, RFCSERVER, and then press Enter. 9. Save the RFC Destination by clicking Save. Attention: Test Connection only succeeds if the connector is running.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

235

Figure 7-50 Transaction sm59: RFC Destination

7.5 Configuration of SAP R/3 to work with the ALE Module of the Adapter The SAP application must be configured to work with the ALE Module of the Adapter for mySAP.com. This section describes, step-by-step, the configuration of ALE. The SAP configuration must be done twice: for the inbound and the outbound SAP applications. Most of the configuration steps are the same. There is a difference in the configuration of the distribution model between the inbound and the outbound SAP application.

236

WebSphere Business Integration for SAP

This section contains the following configuration steps: 򐂰 Create a Partner Logical System 򐂰 Create a SAP Logical System 򐂰 Create a Distribution Model for the outbound SAP application 򐂰 Create a Distribution Model for the inbound SAP application 򐂰 Generate Partner Profiles and transactional RFC Ports

7.5.1 Create a partner logical system The logical system is used as the partner ID for communication. Each system in the distributed environment must have a unique logical system name (even non-SAP systems like WebSphere Business Integration Adapter for mySAP.com). 1. In the SAP application, open transaction bd54. 2. The table is cross-client dialog appears. Click OK to continue. 3. Add a entry for the WebSphere Business Integration Adapter for mySAP.com. Name it, for example, WBICON, and supply a description. 4. Click on Save. The screen in Figure 7-51 should appear.

Figure 7-51 Transaction bd54: Logical systems

A Prompt for Workbench request pop-up window is seen. SAP records information whenever a user changes critical SAP system properties.

7.5.2 Create a local SAP logical system The logical system is used as the ID for communication. Each system in the distributed environment must have a unique logical system name (even non-SAP systems like the WebSphere Business Integration Adapter for mySAP.com).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

237

To create a local SAP Logical System, do the following steps: 1. In the SAP application, open the transaction bd54. 2. Add a entry for the SAP client the Adapter is accessing. Name it with the format CLNT, for example, IDSCLNT800, and supply a description. 3. Link the local SAP logical system to the client. a. Open transaction scc4 (see Figure 7-52). b. Click on the Table view menu. c. Select Display → Change to change the current Display view to the Change view. d. The table is cross-client dialog appears. Click OK to continue. e. Double-click the entry for the client number. In this Use Case, it is client 800. f. Type IDSCLNT800 as the logical system name of the SAP system.

Figure 7-52 Transaction scc4: Link local SAP logical system to a client

238

WebSphere Business Integration for SAP

4. Click on Save.

7.5.3 Create a Distribution Model in the inbound SAP application If a message is to be sent from one logical system to another, in the distribution model, specify which message type, from which logical system, is to be sent to which other logical system. 1. In the SAP application, open transaction bd64. 2. Switch to the edit mode (press F9). 3. Click on the Create a Model View button. Enter a Short Text, for example, WBI Connection, and a Technical Name, for example, WBICON, for the Model View (see Figure 7-53).

Figure 7-53 Transaction bd64: Create a model view

4. Select the Model View that was created and click on the Add Message Type button. Enter MATMAS into the Message type field (Figure 7-54). .

Figure 7-54 Transaction bd64: Add a message type to the model view

5. Click on Save. 6. Generate a Partner Profile and a transactional RFC Port (the name of the port is generated automatically; here, it is A000000020) by selecting Environment → Generate Partner Profile.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

239

Figure 7-55 Transaction bd64: Generate Partner Profile

7. The summary is displayed (Figure 7-56). Note that a port was generated automatically.

Figure 7-56 Generate partner profile

8. Open transaction we21 and check the port (Figure 7-57 on page 241).

240

WebSphere Business Integration for SAP

Figure 7-57 Transaction we21: Ports in IDoc processing

9. Open transaction we20 to check the Partner profiles (Figure 7-58).

Figure 7-58 Transaction we20: Partner profiles

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

241

7.5.4 Create a Distribution Model in the outbound SAP application If a message is sent from one logical system to another, specify, in the distribution model, which message type, from which logical system, is to be sent to which other logical system. 1. In the SAP application, open transaction bd64. 2. Switch to the edit mode (press F9). 3. Click the Create a Model View button. Enter a Short Text, for example, WBI Connection, and a Technical Name, for example, WBICON, for the Model View (Figure 7-59).

Figure 7-59 Transaction bd64: Create a model view

4. Select the Model View that was created and click on the Add Message Type button. Enter MATMAS into the Message type field (Figure 7-60). .

Figure 7-60 Transaction bd64: Add a message type to the model view

5. Click on Save. 6. Generate a Partner Profile and a transactional RFC Port by selecting Environment → Generate Partner Profile.

242

WebSphere Business Integration for SAP

7.6 Configuration of SAP R/3 to work with the ABAP Extension Module of the Adapter The ABAP Extension Module of the WebSphere Business Integration Adapter for mySAP.com provides rich functionality within SAP R/3. It is the only adapter module that supports polling and can be used in conjunction with all other adapter modules to provide this functionality. The ABAP Extension Module has advanced event detection mechanisms and business object handlers that manipulate the most common objects from SAP. The objects can be retrieved and manipulated to and from SAP in real time, and they also can be retrieved through both request/reply and publish/subscribe models. The adapter notifies you about the success and status of the object transaction request, and returns the unique ID of any created objects. The adapter enables real-time retrieval of a complex object from SAP or a request to create, change, or delete an object. This section contains the following topics: 򐂰 Creating CWLD namespaces 򐂰 Making the namespace CWLD available for modifications 򐂰 Installing connector transport files for the ABAP Extension Module 򐂰 Processing the business objects in the ABAP Extension module 򐂰 Creating an Event triggering and detection mechanism using Business Workflow

7.6.1 Creating the /CWLD/ namespace Before the transport files for the ABAP Extension Module can be installed, a namespace must be created in SAP R/3. Do the following steps: 1. Open the Transport Organizer (transaction se03). 2. Expand the Administration menu and double-click on the Display/Change Namespaces option (see Figure 7-61 on page 244).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

243

Figure 7-61 Transaction se03 - Transport Organizer

3. The view Display View “Repository Namespaces”: Overview appears. Click on the Display → Change (Ctrl+F1) button (see Figure 7-62 on page 245).

244

WebSphere Business Integration for SAP

Figure 7-62 Repository Namespace view

4. If data is being edited by other users, an information window is displayed. Click the Continue button to close the Information window. 5. Click the New Entries (F5) button and type /CWLD/ in the Namespace field. (see Figure 7-63 on page 246).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

245

:.

Figure 7-63 Repository Namespace view - new entries

6. Select the Namespace role field, expand it (press F4) to see options, and then select Recipient (C). Type WBI Namespace in the Short text field and type CrossWorlds® in the Owner field (see Figure 7-64 on page 247).

246

WebSphere Business Integration for SAP

Figure 7-64 New Entry details

7. Click the Save (Ctrl+S) button. If the system is set up to track customizing changes, there is a prompt for a change request that will allow transport of the namespace to another system.

Make the namespace /CWLD/ available for modifications ABAP objects in the /CWLD/ namespace cannot be modified until the namespace is available for modification. To update SAP4.x delivered ABAP objects, a repair license to modify the objects must be available. Contact IBM technical support to obtain the license. Do the following steps: 1. Open the Transport Organizer Tools window (transaction SE03). 2. Expand the Administration menu and double-click on the Display/Change namespaces option. 3. Click on the Display >Change (Ctrl+F1) button. 4. Click on the Continue button to close the Information window. 5. Double-click on namespace /CWLD/ and enter the repair license. Click on the Save (Ctrl+S) button. 6. Click the Back (F3) button twice, expand the Administration menu and double-click on the Set System Change option. 7. For the namespace /CWLD/, select Modifiable in the Modifiable column of the Namespace/Name Range row. Click on the Save (Ctrl+S) button.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

247

After the namespace is created, the WebSphere Business Integration transport files can be installed.

7.6.2 Install connector transport files for the ABAP Extension Module All of the SAP R/3 transports of the WebSphere Business Integration Adapter for mySAP.com for Windows can be found in the \connectors\SAP\dependencies\transports directory, and for UNIX they are found in the /connector/SAP/bin directory. The transports are installed on an SAP R/3 application server, as described below. The transport files for the IBM WebSphere Business Integration Adapter for mySAP.com (R/3 Version.4.x) contain a variety of objects, such as table structures, functions, and data. These development objects must be imported into the SAP system to provide the specific functionality required by the ABAP Extension Module. Each transport file is included in a.zip file. For example, the transport file for the SAP R/3 Version 4.x Primary transport is located in the 4_Primary.zip file. See the transport note included in each transport.zip file for detailed information about the transport file. There are seven connector transport files, which are listed in Table 7-11 on page 249. Modifications required by the adapter are handled by these connector transport files. The Primary, Utilities, and Request transport files are required. The following is a list of the SAP R/3 Version 4.x connector transport files. To ensure that all necessary tables are created before the data for those tables is added, install the transports in the order listed. 1. 4_Primary (CWDK900333) 2. 4_Utilities (CWDK900483) 3. 4_Request (CWDK900455) 4. 4_Delivery (CWDK900487) 5. 4_NumberRange (CWDK900337) 6. 4_Tools_Maintenance (CWDK900463) 7. 4_Tools_Development (CWDK900480) The functionality provided by the Primary, Utilities, Request, and Delivery transport files is to make the run-time components. The Tools_Maintenance and Tools_Development transport files can be installed at anytime after the required transport files are installed. They are not required for the run-time environment.

248

WebSphere Business Integration for SAP

Table 7-11 Connector transport files Name of Transport

Purpose

4_Primary

This transport file contains the development objects, which are loaded only once into the system. It contains the number range objects, the development classes, and the dynamic transaction declaration include program, as well as the restriction include program, which can be used to make customer-specific changes to the triggering logic. Important: If you are applying this transport file to a system that already has the connector running on it, the contents of the transport file may overwrite changes that were made to the existing environment.

4_Utilities

This client-independent transport file contains objects and functionality that are shared among the request, delivery, development, and maintenance components. For example, it contains the log and data elements.

4_Request

This client-independent transport file contains the functionality required to support business object request operations.

4_Delivery

This client-independent transport file contains the functionality required to support event delivery operations, including event triggering and event polling.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

249

Name of Transport

Purpose

4_Number Range

This client-dependent transport file contains the four number ranges in their initial state. Use these intervals or create the number range intervals themselves. Note: Re-importing the Number Range transport file initializes the existing number range intervals for the connector. This corrupts the data in the connector’s log, current event, future event, and archive tables if those tables are not refreshed before reusing. This transport file can be installed at any time after the Primary transport has been installed.

4_Tools_Maintenance

The functionality required to support maintenance operations, such as displaying the log statistics and event tables.

4_Tools_Development

This client-independent transport file contains the functionality required to support the development of objects.

Install connector transport files The connector transport files make all the necessary modifications to SAP R/3 by importing programs and other development objects. They do not alter any SAP R/3 programs or modify user exits. Attention: If reapplying transports, any development done prior to reapplying the transport files are overwritten. To install the transports: 1. Copy the transports to the SAP R/3 application server. There are two kinds of transport files: a. Copy files (control files) that have names beginning with K to the \usr\sap\trans\cofiles directory. b. Copy the files (data files) that have names beginning with R to the \usr\sap\trans\data directory. 2. Log in to the SAP R/3 system. a. Import the transport files by using the SAP R/3 transaction STMS (Transport Management System).

250

WebSphere Business Integration for SAP

b. Click on the Import overview (F5) icon. c. Double-click the appropriate queue to be updated. d. In the menu bar, select Extras → Other requests → Add. e. Populate the transport request field, and then click on the check mark (see Figure 7-65.

Figure 7-65 Transaction STMS - Add transport request to the queue

f. When the Add Transport Request confirmation window appears, click Yes to attach the import to the queue. g. Select the transport in the queue that was just added. h. In the menu bar, click Request, and then click Import (see Figure 7-66 on page 252).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

251

Figure 7-66 Transaction STMS - Import Request

i. Populate the Target client field (with, for example, 800), select Immediate, and click on the check mark to import the transport file (see Figure 7-67 on page 253).

252

WebSphere Business Integration for SAP

Figure 7-67 Transaction STMS - Select Target Client

j. In the confirmation dialog box, click Yes (See Figure 7-68).

Figure 7-68 Transaction STMS - Confirmation of transport import

3. Repeat steps 1 to 3 to import the other transports in the order listed above.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

253

Verify connector transport files installation Verify that transport files were moved to SAP R/3. There are two options to view the log: 1. Open the Transport Organizer (transaction SE01). – Populate the Request/Task field with the name of the transport file. – Click Display to see the log. 2. Use the Transport Management System graphic interface (transaction STMS). – Click the Import overview (F5) icon. – Double-click the appropriate queue. – Right-click the transport number, and then select Logs. Examine the log to see if the installation was successful.

Post installation task After the transports are installed, change the development class to follow the migration path of the development classes. Use IBM CrossWorlds Station (transaction /CWLD/HOME) to do the following: 1. Click on the Tools tab, and then click on the Transport Layer button. 2. Select the appropriate Transport layer entry, and then click on the Save button (see Figure 7-69 on page 255).

254

WebSphere Business Integration for SAP

Figure 7-69 Assign transport layer for the development class

Note: It is recommended to document outside of SAP any changes made to the development objects in the connector transports. These changes can be overwritten by the next release of transport files. If changes are overwritten, they must be reapplied manually.

Verify that SAP generated the objects successfully To verify that SAP generated the objects successfully: 1. Go to the ABAP Editor using transaction SE38. 2. Enter /CWLD/CONSTANTS in the Program field (see Figure 7-70 on page 256).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

255

Figure 7-70 Transaction se38 - ABAP Editor

3. Select Source Code, and then click Display. 4. From the Program menu, click Generate. 5. Click Select All, and then click Continue (F2). If you receive the message Programs successfully generated, the transports were successfully imported.

7.6.3 Process the business objects in the ABAP Extension module Business object processing for the extension module is the same for all business objects regardless of the specific native SAP API that is used. For example, if developing a business object based on a Call Transaction or an IDoc, the business object data is processed the same way. The processing is the same whether a business object is sent into the SAP application as a retrieve performed as part of event notification or as a business object request. The business object’s verb also does not change the processing.

256

WebSphere Business Integration for SAP

Business object processing consists of four steps: 򐂰 The connector converts an application-specific business object into a flat structure containing business object data and passes the data to the SAP application. 򐂰 The connector’s function module /CWLD/RFC_DO_VERB_NEXTGEN dynamically routes the business object data to an ABAP handler, for example /CWLD/DYNAMIC_RETRIEVE. The function of an ABAP handler is to get business object data into or out of the SAP application database. 򐂰 The ABAP handler processes the business object data, generates business object response data, and returns new business object data to the connector through /CWLD/RFC_DO_VERB_NEXTGEN. 򐂰 The connector receives the new business object data, and uses the business object definition of the application-specific business object to create a new business object to pass to the integration broker. An overview of the business object processing for sales is shown in Figure 7-71.

Figure 7-71 Sales order business object processing

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

257

7.6.4 Create an Event triggering and detection mechanism The Adapter for mySAP.com is event-driven. In order to get events out of SAP R/3, an event triggering mechanism in SAP R/3 must be implemented for each WBI supported business object. Event detection is part of the event triggering process in the ABAP Extension Module. It is the process of identifying that an event was generated in the SAP application. The event detection mechanism calls an event trigger, which takes the detected event and adds it to an event table. Event detection mechanisms support real-time triggering and retrieval of objects. SAP application is tightly integrated with the SAP database and allows very limited access for direct modifications to its database. Therefore, the event detection mechanisms are implemented in the application transaction layer above the database. An event detection mechanism has the ability to make a function module call. In this Use Case, a Business Workflow for event detection is used. Business workflow is a cross-application tool within the SAP application that enables SAP R/3 to integrate business tasks between applications. This tool supplements the existing business functions of the SAP application. The standard functions of SAP can be adapted using business workflow to meet the specific requirements of the desired business function. Workflow uses the Business Object Repository (BOR), which stores the definitions for each SAP object in the application.

Determine which SAP Business Object to use for triggering Whenever a SAP sales order is created in this Use Case using the transaction VA01 the business process triggers an event for the business object BO_EVENTRIGGER. Use SAP’s Business Object Repository (transaction swo1) to determine which SAP business object to use for triggering the events. 1. Go to the Business Object Builder using transaction swo1 (see Figure 7-72 on page 259).

258

WebSphere Business Integration for SAP

Figure 7-72 Business Object Builder

2. Click on the Business Object Repository button, select All object types in the pop-up screen that appears, and then click Continue (green check) (see Figure 7-73).

Figure 7-73 Business Object Repository Browser

3. The Business Object Repository Browser appears.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

259

4. Expand Sales and Distribution, and then expand Sales (see Figure 7-74 on page 260).

Figure 7-74 Business Object Repository

5. Double-click on BUS2032 Sales Order, and then expand Events. These are the events associated with Sales Order. Note the entries for SalesOrder.CREATED.

260

WebSphere Business Integration for SAP

Link SAP Events to the WBI queueing Function Module Link the events associated with the SAP business object to the WebSphere Business Integration queueing function module by performing the following steps: 1. In the main window of SAP, select Tools → Business Workflow → Development → Administration → Event Manager → Type Linkages.

Figure 7-75 SAP Easy Access main view

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

261

2. Click on Type linkages. It opens a window called Event Type Linkages (see Figure 7-76).

Figure 7-76 Event type linkages

3. In this window, search for the Object Type BUS2032. Double click on it and it opens a view called Event Type Linkages Details (see Figure 7-77 on page 263).

262

WebSphere Business Integration for SAP

Figure 7-77 Event Type Linkages - Details

4. Add the entries shown Figure 7-77. 5. Save it by clicking on the Save (Ctrl+S) button. 6. Go to the main screen by clicking on Back (F3). Also an entry must be added to the Instance linkages table to trigger the event: 1. In the main window of SAP, navigate to the Tools → Business Workflow → Development → Administration → Event Manager → Instance Linkages. The window Change View “Instance Linkages”: Overview opens (see Figure 7-78 on page 264).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

263

Figure 7-78 Change View “Instance Linkages” - Overview

2. In the Object Type, search for BUS2032 and double-click on it. The Instance Linkages - Details window opens (see Figure 7-79 on page 265).

264

WebSphere Business Integration for SAP

Figure 7-79 Instance Linkages - Details

3. Add the details shown in Figure 7-79 and click on Save.

Map the SAP Business Object to a WBI Business Object The SAP business object name and event must be mapped to the WebSphere Business Integration business object name (for example, BO_EVENTRIGGER) and a verb (for example, Retrieve). WebSphere Business Integration and SAP uses unique naming conventions for business objects and verbs, and therefore maps the names and verbs. For example, WebSphere Business Integration uses the verbs Create, Retrieve, and Update, and SAP uses CREATED, RETRIEVED, and CHANGED. To map the objects, do the following: 1. Go to CrossWorlds Station and transaction /cwld/home (see Figure 7-80 on page 266).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

265

Figure 7-80 IBM CrossWorld Station - Development Tab

2. In CrossWorlds Station, click on the Tools tab, and then click on the Config Objects button. If someone else is already in this transaction, the Locked data window appears. Click Yes to display the locked data. The CW Configuration Objects: Overview view appears (see Figure 7-81 on page 267).

266

WebSphere Business Integration for SAP

Figure 7-81 CW Configuration Objects - Overview view

3. Verify that a configuration name for SalesOrder.CREATED exists. Go to CrossWorlds station by clicking on the Back button. 4. Click on the Configuration tab and then on the Configuration Values button. It opens the window Change View “IBM CW Object parameter configuration”: Overview (see Figure 7-82 on page 268). If someone else is already in this transaction, a Locked data Window appears. Click on Yes. 5. Verify that there is an entry mapping for SalesOrder.CREATED to BO_EVENTRIGGER.Retrieve.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

267

Figure 7-82 Change View “IBM CW Object parameter configuration” - Overview

6. Return to CrossWorlds home by clicking on the Back button.

Configure Event Distribution .

Attention: The Event Distribution tables are case sensitive. If the case does not match, then events do not get picked up. 1. Go to CrossWorlds home (transaction /cwld/home). 2. Select the Tools tab, and then click non Maintain Objects. 3. Click on the New entries button. 4. Enter the business object name, for example, BO_EVENTRIGGER, and save it (see Figure 7-83 on page 269).

268

WebSphere Business Integration for SAP

Figure 7-83 Add business object

5. Click on the Back button. 6. In the Tools tab, click on Config Objects. 7. Enter BO_EVENTRIGGER.Retrieve under the Configuration name and save it (see Figure 7-84 on page 270).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

269

Figure 7-84 Add BO_EVENTRIGGER.Retrieve

8. Select the Configuration tab and click on Configuration Values (see Figure 7-85 on page 271). 9. Enter the value SalesOrder.CREATED as the configuration name. 10.Enter a value for the counter, for example, 1. 11.Enter a value for the configuration value, for example, BO_EVENTRIGGER.Retrieve.

270

WebSphere Business Integration for SAP

Figure 7-85 Add configuration values

12.Click on Save. 13.Click on the Back button. 14.Go to the Development tab. 15.Click on Modify BO Metadata. Enter the values shown in Figure 7-86 on page 272. The data structure looks like the according WebSphere Business Integration business object structure defined with the Business Object Designer tool in 7.7.2, “Create Business Object for the ABAP Extension Module” on page 283.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

271

Figure 7-86 Modify BO Metadata

16.Go to CrossWorlds home (transaction /cwld/home). 17.Click on the Configuration tab, and then click on the Event Distribution button. 18.If someone else is already in this transaction, a Locked data window appears. Apply changes to this table; and wait until the transaction is unlocked. When the data is unlocked, click on the Back button, and then repeat the previous step. 19.To create a new entry, click on the New Entries button and type in the following data: – Object Name: BO_EVENTRIGGER – Counter: A unique number – Connector Name: SAPConnector (name of the SAP adapter) – Server Name: WMQI_WAS (if using the Message Broker) – User: SAP User ID The new entry will look like Figure 7-87 on page 273.

272

WebSphere Business Integration for SAP

Figure 7-87 Event distribution - New entry

20.Click on the Save button. If asked for a Customizing request, create a new one at this time: 1. Click on the New button. 2. Type SAP Workflow triggering for WebSphere. 3. Click Save. 4. Click Enter (green check). If an entry already exists, then there is no need to create a customizing request. 5. Click the Back button and verify that the entry exists in the table. 6. Return to CrossWorlds station home by clicking the Back button twice.

7.7 Development of WebSphere Business Integration Business Objects WebSphere Business Integration Message Broker uses only application-specific business objects, not generic business objects. Therefore, all references to business objects throughout this chapter refer to application-specific business objects. Many of the books in the IBM WebSphere InterChange Server documentation set, including the Business Object Development Guide, cover both environments and therefore refer to both types of business objects.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

273

There are several options to create the Business Object definitions to be used by the WebSphere Business Integration Adapter for mySAP.com: 򐂰 Use the SAP Object Discovery Agent with the Business Object Designer tool to generate a rudimentary set of application-specific business object definitions, which can refine using the Business Object Designer tool. The Object Discovery Agent examines specified objects in the application, “discovers” the elements of those objects that correspond to business object attributes and their attributes, and generates business object definitions to represent the information. The Adapter for mySAP.com can handle SAP standard and customized IDocs, BAPIs, and RFCs. The SAP Object Discovery Agent generates Business Objects by accessing the SAP data repository using the Dynamic Retrieve Module of the adapter. Also, SAP Object Discovery Agent can generate Business Objects using IDoc definition files. 򐂰 Create business object definitions from scratch using the Business Object Designer tool. The following sections shows: 򐂰 How to create a Business Object from the IDoc type MATMAS03 using the SAP Object Discovery Agent and the Business Object Designer tool 򐂰 How to create a Business Object for the ABAP Extension Module from scratch using the Business Object Designer tool

7.7.1 Create Business Object for the ALE module This chapter describes how to create a Business Object using the SAP Object Discovery Agent and the Business Object Designer tool. To start the Business Object Designer tool, the System Manager must be launched. The Business Objects are saved in the System Manager to deploy them in a later step to the Message Brokers Toolkit.

Start the SAP Object Discovery Agent 򐂰 Start the Business Object Discovery Agent by selecting Start → Programs → IBM WebSphere Business Integration Adapters → Adapters → Object Discovery Agent → mySAP.com Object Discovery Agent. The window in Figure 7-88 on page 275 should appear.

274

WebSphere Business Integration for SAP

Figure 7-88 SAP Object Discovery Agent

Start the WebSphere Business Integration System Manager Using the System Manager, the Business Object Designer tool can be started. Also, the System Manager is used to save Business Objects and to deploy them as Message definition files into the Message Brokers Toolkit: 1. To start the System Manager, select Start → Programs → IBM WebSphere Business Integration Adapters → Adapters → Tools → System Manager. 2. In the System Manager perspective, create a new Integration Component Library called, for example, OrderEventNotification_Lib. a. Right-click on the Integration Components Library and select New Integration Components Library. b. In the Project name, enter MaterialSynchronization_Lib (see Figure 7-89 on page 276).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

275

Figure 7-89 Create a new Integration Component Library

c. Click Finish. 3. In the System Manager perspective, create a new User Project: a. Right-click on the User Projects folder and select New User Project → New Message broker project. b. In the Project name, enter MaterialSynchronization_Proj. c. Select the project MaterialSynchronization_Lib as the Integration Component Library and click Finish.

276

WebSphere Business Integration for SAP

Figure 7-90 Create new User Project

Create Business Object for the MATMAS IDoc Use the System Manager to open the Business Object Designer tool. 1. Open the MaterialSynchronization_Lib Integration Component Library folder and right-click the folder Business Objects. 2. Select Create New Business Object to open the Business Object Designer. 3. The dialog box that appears asks for a Business Object name. This is only required if a Business Object is built from scratch. Therefore, skip this dialog box and click Cancel. 4. In the Business Object Designer, select File → Open from file.... 5. Select the file BO_SAPIdocControl.txt located in the WebSphereAdapters\repository\SAP directory. The file contains the Idoc control structure that is a prerequisite for all SAP ALE Business Objects. 6. In the Business Object Designer, select File → New using ODA.... 7. Click on the Find Agents button. 8. Select the SAP ODA to connect to (see Figure 7-91 on page 278) and click Next.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

277

Figure 7-91 Select the SAP ODA in the Business Object Wizard

9. Enter the SAP system properties and click Next (see Table 7-12 and Figure 7-92 on page 279). Table 7-12 ODA configuration parameters

278

Item

Description

Username

SAP logon user name

Password

SAP logon password

Client

SAP logon client

ASHostname

Host name of SAP server

FileDestination

Location to save ODA generated files. Recommended location: < install directory>/repository/SAP/

WebSphere Business Integration for SAP

Figure 7-92 Properties in the Business Object Wizard

10.Browse the system for the source IDoc type MATMAS03 in the folder IDoc Types, Generate from System and click Next (see Figure 7-93).

Figure 7-93 Select the IDoc in the Business Object Wizard

11.Confirm the selection and click Next (see Figure 7-94 on page 280).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

279

Figure 7-94 Verify the selection in the Business Object Wizard

12.Review the BO properties and click OK (see Figure 7-95).

Figure 7-95 Supply additional information in the Business Object Wizard

13.Save the Business Object Definition to the System Manager by selecting the option Save and also save the Business Object Definition to a separate file by selecting the option Save a copy of the business object definition to a separate file to the connectors’ repositories (for example, c:\WebSphereAdapters\repository\SAP and c:\WebSphereAdapters\repository\SAP_2). The business object definition is saved to both repositories, because both connectors are using the business object definition.

280

WebSphere Business Integration for SAP

14.Go to the General tab and add the message type of the IDoc to the verb that is used. The message type in this case is MATMAS (see Figure 7-96).

Figure 7-96 Add the IDoc message type in the application specific information

15.Save the Business Object Definition again to the System Manager and to the connectors’ repositories. In the System Manager perspective the Business Objects are now displayed in the MaterialSynchronization_Lib Integration Component Library (see Figure 7-97 on page 282).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

281

Figure 7-97 Business Objects in the Integration Component Library

1. Select the MaterialSynchronization_Proj User Project by right-clicking it and select Update Project. 2. In the Dialog Box, select MaterialSynchronization_Lib and click Finish. 3. The MaterialSynchronization_Proj user Project contains now the Business Objects (see Figure 7-98 on page 283).

282

WebSphere Business Integration for SAP

Figure 7-98 Business Objects in the User Project

In a later step (see 7.7.3, “Create Message Sets and loading Business Object Definitions” on page 288), the Business Objects are exported from the user Project to the Message Brokers Toolkit. Because both connectors are using the same application specific Business Objects for the ALE and ABAP Extension modules they can use the same Business Object definitions. Therefore, it is not necessary to create a second Business Object definition of the IDoc type MATMAS03 for the second connector.

7.7.2 Create Business Object for the ABAP Extension Module Use the Business Object Designer to generate a business object definition from scratch for the ABAP Extension Module. In this Use Case, a simple flat business object was used. To start the Business Object Designer tool, the System Manager must be launched. The Business Objects are saved into the System Manager to deploy them in a later step to the Message Brokers Toolkit.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

283

Start the WebSphere Business Integration System Manager The Business Object Designer tool can be started using the System Manager. Also, the System Manager is used to save Business Objects and to deploy them as Message definition files into the Message Brokers Toolkit. 򐂰 To start the System Manager, select Start → Programs → IBM WebSphere Business Integration Adapters → Adapters → Tools → System Manager. 򐂰 In the System Manager perspective, create a new Integration Component Library named OrderEventNotification_Lib (see Figure 7-99).

Figure 7-99 Business Objects in the Integration Component Library

򐂰 In the System Manager perspective, create a new User Project named OrderEventNotification_Proj. – Right-click on the User Projects folder and select New User Project → New Message broker project. – In the Project name, enter OrderEventNotification_Proj. – Select the project OrderEventNotification_Lib as the Integration Component Library and click Finish (see Figure 7-100 on page 285).

284

WebSphere Business Integration for SAP

Figure 7-100 New User Project

Create a Business Object for the ABAP Extension Module Perform the following steps to generate a business object definition: 1. Open the Integration Component Library folder OrderEventNotification_Lib. Right-click on the Business Objects folder. 2. Select Create New Business Object to open the Business Object Designer. 1. The upcoming dialog box asks for a Business Object name. Enter the name of the business object, for example, BO_EVENTRIGGER. 2. Leave the application specific information blank and click OK. 3. In the Attribute Tab of the new business object window, enter the attributes shown in Figure 7-101 on page 286. These attributes are also defined in the ABAP Extension Module in SAP (Figure 7-86 on page 272).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

285

Figure 7-101 Business Object for the ABAP Extension module

4. Select the General tab. 5. Enter the application specific information value :/CWLD/DYNAMIC_RETRIEVE in the Retrieve verb field (see Figure 7-102).

Figure 7-102 Application specific information - Retrieve

286

WebSphere Business Integration for SAP

6. Save the Business Object Definition to the System Manager by selecting the option Save and also save the Business Object to a separate file by selecting the option Save a copy of the business object definition to a separate file to the connectors’ repositories (for example, c:\WebSphereAdapters\repository\SAP and c:\WebSphereAdapters\repository\SAP_2). The business object definition is saved to both repositories, because both connectors are using the business object definition. 7. In the System Manager, the Business Objects are now displayed in the Integration Component Library (see Figure 7-103).

Figure 7-103 Business Objects in the Integration Library

8. Select the OrderEventNotification_Proj User Project. Right-click it and select Update Project. 9. In the Dialog Box, select the Integration Component Library OrderEventNotification_Lib and click Finish. 10.The User Project contains now the Business Objects for the ABAP Extension Module (see Figure 7-104 on page 288).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

287

Figure 7-104 Business Object in the User Project

In the next section, the Business Objects are exported from the user Project to the Message Brokers Toolkit.

7.7.3 Create Message Sets and loading Business Object Definitions Once the business object definitions for the ALE and the ABAP Extension module have been created, they must be imported to the WebSphere Business Integration Message Broker using the Message Broker Toolkit and the System Manager. 1. Open the System Manger by selecting Start → Programs → IBM WebSphere Business Integration Adapters → Tools → System Manger. 2. First of all, define the preferences of the broker in the System Manager by selecting Windows → Preferences. a. Specify the message broker importer path, for example, c:\WBIMB\eclipse\mqsicreatemsgdefs.exe.

288

WebSphere Business Integration for SAP

b. Specify the workspace directory, for example, c:\WBIMB\eclipse\workspace, and click OK (see Figure 7-105 on page 289).

Figure 7-105 System Manager - Broker preferences

3. Select, in the System Manager perspective, the MaterialSynchronization_Proj User Project and right-click on it. 4. Select Deploy to Message Broker workspace (see Figure 7-106 on page 290).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

289

Figure 7-106 Deploy to Message Broker workspace

5. In the upcoming Dialog Box, select all the Business Objects and click Next (see Figure 7-107 on page 291).

290

WebSphere Business Integration for SAP

Figure 7-107 Deploy the Business Objects to the Message Broker Toolkit

6. Enter, as the Message Set, MaterialSynchronization_MsgSet, and select the option Namespace aware. Set the XML Namespace format to short (see Figure 7-108 on page 292).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

291

Figure 7-108 Deploy the Business Objects to the Message Broker Toolkit

7. Click Finish. A Dialog Box confirms that the Business Objects were deployed to the Message Broker Toolkit (see Figure 7-109).

Figure 7-109 Deploy the Business Objects to the Message Broker Toolkit

By deploying the Business Objects to the Message Broker Toolkit, a MessageSet Project named MaterialSynchronization_MsgSet and a Message Set named MaterialSynchronization_MsgSet are created that contain xsd and mxsd files. Therefore, the graphical mapping tool and the code utility can be utilized. Also, namespaces are created for the message set.

Configure the Message Set After the Message Set MaterialSynchronization_MsgSet is created, it must be configured to work with WebSphere Business Integration Adapters. 1. Open the Broker’s Toolkit by selecting Start → Programs → IBM WebSphere Business Integration Message Brokers → Message Brokers Toolkit.

292

WebSphere Business Integration for SAP

2. Switch to the Broker’s Administration perspective and define an XML wire format name called CwXML. a. Right-click on Physical properties and select Add XML Wire Format (see Figure 7-110).

Figure 7-110 Define the CwXML format

b. In the dialog box, enter CwXML in the Name field (see Figure 7-111).

Figure 7-111 Define the CwXML format

3. Click OK. 4. Set the Default Wire Format in the messageSet.mset file to CwXML (see Figure 7-112 on page 294). 5. Set the Runtime Parser in the messageSet.mset file to MRM (see Figure 7-112 on page 294).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

293

Figure 7-112 Message set Default Wire Format and Runtime Parser

6. Save the messageSet.mset file. 7. Close the Message Broker Toolkit. 8. Update the connector configuration with the message set ID of the Message Set MaterialSynchronization_MsgSet. a. Start the Connector Configurator by selecting Start → Programs → IBM WebSphere Business Integration Adapters → Tools → Connector Configurator. b. Select Open → From File. c. Navigate to the connector’s repository directory and open the file SAPConnector.cfg. d. Switch to the Supported Business Objects tab and enter in the Message Set ID field the Message Set ID of the Message Set MaterialSynchronization_MsgSet (see Figure 7-43 on page 224). In a later step (7.7.3, “Create Message Sets and loading Business Object Definitions” on page 288), the Business Objects and other components are deployed to the broker’s run-time environment using the Message Broker Toolkit. Repeat the steps above to deploy OrderEventNotification_Proj to the Message Set OrderEventNotification_MsgSet.

294

WebSphere Business Integration for SAP

7.8 Development of a message flow for the MaterialSynchronization (ALE Module) scenario A message flow application is a program that routes, transforms, and manipulates messages. A message flow is deployed and runs in a broker. This sections describes how to create a message flow that takes a SAP ALE Business Object from one queue and copies values of the SAP ALE Business Object to a second SAP ALE Business Object. The message flow also transforms the Business Object and passes the output SAP ALE Business Object to a second queue.

7.8.1 Create a Message Flow Project Before you start adding and configuring message flow nodes, a project in the Broker Administration Toolkit must be created. Also, a message flow file and a message flow schema must be created: 1. In the Broker Application Development perspective, create a message flow project called MaterialSynchronization_MsgFlowProj: a. Select File → New → Message Flow Project. b. In the Project Name field, type MaterialSynchronization_MsgFlowProj, and then click Finish. A new project called MaterialSynchronization_MsgFlowProj is displayed in the workspace (see Figure 7-113 on page 296). c. Right-click on the Message Flow Project and select New > Broker Schema. Enter a name for the schema, for example MaterialSynchronization_Schema.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

295

Figure 7-113 Create a new message flow project

2. In the Broker Application Development perspective, create the MaterialSynchronization_MsgFlow message flow in the MaterialSynchronization_MsgFlowProj: a. In the Resource Navigator view, click on MaterialSynchronization_MsgFlowProj to highlight it. b. Select File → New → Message Flow. c. Ensure that the Project field contains MaterialSynchronization_MsgFlowProj (see Figure 7-114 on page 297). d. Add the schema. e. In the Name field, type MaterialSynchronization_MsgFlow, and then click Finish.

296

WebSphere Business Integration for SAP

Figure 7-114 Create a new message flow

7.8.2 Build the message flow This section describes how to implement a message flow and transform business objects using ESQL.

Add and connect nodes On the left-side of the Message Flow editor is the Node Palette, which has a list of all the nodes available for to use in the message flow (see Figure 7-115 on page 298).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

297

Figure 7-115 The MaterialSynchronization_MsgFlow message flow nodes.

To build the message flow: 1. Make sure that the Selection button (above the Node Palette) is highlighted so that nodes from the Node Palette can be selected. 2. Click the MQInput node to select it from the Node Palette, then click somewhere on the canvas, the white area to the right of the Node Palette, to add the node to the message flow. 3. Repeat steps 1 and 2 to add a Compute node and an MQOutput node to the canvas. To define the order that the nodes process an input message, connect them together, as shown in Figure 7-116 on page 299. Most, though not all, nodes have at least one terminal with which to connect them to other nodes. The MQInput node has three terminals. Hover the mouse pointer over each terminal to highlight it and to display its label. The terminals on the MQInput node are labelled Failure, Out, and Catch.

298

WebSphere Business Integration for SAP

1. Click on the Connection button (above the Node Palette) so that the nodes can be connected together. 2. Click on the Out terminal of the MQInput node. Notice that a thin black line with an arrow head appears. Move the mouse pointer and click on the In terminal of the Compute node so that the arrow connects the MQInput node to the Compute node. 3. Connect the Out terminal of the Compute node to the In terminal of the MQOutput node. The canvas looks similar to the canvas shown in Figure 7-116. 4. To save the MaterialSynchronization_MsgFlow message flow, select File → Save MaterialSynchronization_MsgFlow.msgflow. When saving a message flow file, the Message Brokers Toolkit validates the message flow. The MaterialSynchronization_MsgFlow message flow has two errors, as shown in Figure 7-116, which are indicated by a small white cross on a red background on the MQInput and Compute nodes. The MaterialSynchronization_MsgFlow message flow files and folders in the Resource Navigator view are also highlighted with crosses.

Figure 7-116 The MaterialSynchronization_MsgFlow message flow validated.

A brief description of each error is given in the Tasks view below the Message Flow editor: 򐂰 The error in the MQInput node is because no name of the input queue, from which the MQInput node takes input messages, was entered. 򐂰 The error in the Compute node is because no ESQL module, which defines how the Compute node process input messages, was created. The following sections describe how the errors can be fixed by configuring the nodes.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

299

7.8.3 Configure the message flow In the MaterialSynchronization_MsgFlow message flow, the MQInput node takes an input message from the SAPConnector’s Deliveryqueue called SAPCONNECTOR/DELIVERYQUEUE and passes it to the Compute node. After the Compute node has processed the message, the MQOutput node puts the output message to the SAP_2CONNECTOR/REQUESTQUEUE. In the MaterialSynchronization_MsgFlow message flow, when the Compute node receives the input message from the MQInput node, the Compute node builds an output message that contains a copy of the header and transformed content of the input message. To configure the message flow, two WebSphere MQ local queues must have been created (refer to “Define the queues” on page 207): 򐂰 SAPCONNECTOR/DELIVERYQUEUE 򐂰 SAP_2CONNECTOR/REQUESTQUEUE Also, the ESQL module that transforms the message must be implemented.

Configure the node properties To configure the properties of a node: 1. Click on the Selection button at the top of the Node Palette. 2. Right-click on the node and then click Properties. Perform steps 1 and 2 to configure each node as follows:

Configure the MQInput node To configure the MQInput node: 1. Open the Properties dialog box for the MQInput node (see Figure 7-117 on page 301). 2. On the Basic page in the Queue Name field, type SAPCONNECTOR/DELIVERYQUEUE. 3. On the Default page in the Message Domain field, type MRM. 4. On the Default page in the Message Set field, type the name of the message set and the message set id, for example, MaterialSynchronizationMsgSetProj (NUTU955002001). 5. On the Default page in the Message Type field, type the name of the business object, for example, sap_matmas03. 6. On the Default page in the Message Format, type CwXML.

300

WebSphere Business Integration for SAP

Figure 7-117 MQ Input Node Properties

7. Click OK to close the Properties dialog box. 8. Save MaterialSynchronization_MsgFlow.msgflow (press Ctrl-S). The error on the MQInput node is no longer displayed.

Configure the MQOutput node To configure the MQOutput node: 1. Open the Properties dialog box for the MQOutput node. 2. On the Basic page in the Queue Name field, type SAP_2CONNECTOR/REQUESTQUEUE. The Queue Manager Name field can be left empty because the SAP_2CONNECTOR/REQUESTQUEUE queue is on the same queue manager as the SAPCONNECTOR/DELIVERYQUEUE queue. Click OK to close the Properties dialog box.

Configure the Compute node Do not edit any of the properties in the Compute node but take a look at the properties to see what has caused the error: 1. Open the Properties dialog box for the Compute node. 2. On the Basic page of the Properties dialog box, notice that the ESQL Module field contains MaterialSynchronization_MsgFlow_Compute. This value is entered automatically when the node is created because the Compute node must contain some ESQL. ESQL is held in a separate file called, in this case,

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

301

MaterialSynchronization_MsgFlow.esql. However, an error is displayed in the Tasks view because the file MaterialSynchronization_MsgFlow.esql does not yet exist. 3. Click Cancel to close the Properties dialog box without saving any changes. The next section describes how to create MaterialSynchronization_MsgFlow.esql and how to write some simple ESQL for the Compute node.

7.8.4 Write ESQL for the Compute node This ESQL demonstrates how to construct a business object for the ALE module of the adapter. All of the ESQL that belongs to a message flow is stored, by default, in a single file. In this case, all the ESQL for the MaterialSynchronization_MsgFlow message flow is stored in a file called MaterialSynchronization_MsgFlow.esql. Before implementing the ESQL, associate the Message Flow Project with the Message Set Project and vice versa. By doing this, the ESQL code compilation feature can be utilized. Also, the graphical mapping feature can be used to transform messages. This section shows you how to implement ESQL natively: 1. Switch to the Resource Perspective. 2. Right-click on the Message Flow Project and select Properties. 3. Switch to Project References and select the Message Set Project. 4. Right-click the Message Set Project and select Properties. 5. Switch to Project References and select the Message Flow Project. 6. Right-click the Message Flow Project and select Rebuild Project. 7. Right-click the Message SetProject and select Rebuild Project.

Create the ESQL file To create MaterialSynchronization_MsgFlow.esql, right-click on the Compute node, and then click on Open ESQL. MaterialSynchronization_MsgFlow.esql does not already exist so the Message Brokers Toolkit creates the file in the MaterialSynchronization_MsgFlow Messageflow Project. When the MaterialSynchronization_MsgFlow.esql file is created, it automatically opens in the ESQL editor. When the MaterialSynchronization_MsgFlow.esql file is created, it already contains the minimum ESQL that is needed for the Compute node to

302

WebSphere Business Integration for SAP

successfully validate. If the ESQL file does not automatically generate some ESQL, do the following: 1. Close both MaterialSynchronization_MsgFlow.esql and MaterialSynchronization_MsgFlow.msgflow. 2. Open MaterialSynchronization_MsgFlow.msgflow, and then right-click on the Compute node and click Open ESQL. Save MaterialSynchronization_MsgFlow.esql (Ctrl-S) and then click on the MaterialSynchronization_MsgFlow.msgflow tab to return to the Message Flow editor. The error on the Compute node is no longer displayed and no items relating to this task appear in the Tasks view. Click on the MaterialSynchronization_MsgFlow.esql tab to display MaterialSynchronization_MsgFlow.esql in the ESQL editor again.

The MaterialSynchronization_MsgFlow_Compute ESQL module In the MaterialSynchronization_MsgFlow.esql file, there is a single module of ESQL called MaterialSynchronization_MsgFlow_Compute. This is the ESQL module that is referenced from the Compute node Properties dialog box. If another Compute node, or a Database node, is added to the MaterialSynchronization_MsgFlow message flow, a new ESQL module is also created in MaterialSynchronization_MsgFlow.esql for the new node. The ESQL for the MaterialSynchronization_MsgFlow_Compute module is as follows: CREATE COMPUTE MODULE MaterialSynchronization_MsgFlow_Compute CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN --CALL CopyMessageHeaders(); --CALL CopyEntireMessage(); RETURN TRUE; END; CREATE PROCEDURE CopyMessageHeaders() BEGIN DECLARE I INTEGER 1; DECLARE J INTEGER CARDINALITY(InputRoot.*[]); WHILE I < J DO SET OutputRoot.*[I] = InputRoot.*[I]; SET I = I + 1; END WHILE; END; CREATE PROCEDURE CopyEntireMessage() BEGIN SET OutputRoot = InputRoot;

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

303

END; END MODULE;

The ESQL that is automatically generated does not produce any output. When the Compute node receives the input message, it builds an output message without any content. Therefore, the ESQL must be edited: 1. The fourth line (--CALL CopyMessageHeaders();) and the fifth line (--CALL CopyEntireMessage();) of the MaterialSynchronization_MsgFlow_Compute module are commented out so that the Compute module does not parse them. To uncomment the lines, delete -- from the start of each line. 2. Save MaterialSynchronization_MsgFlow.esql. The Compute node now parses the lines that instruct the Compute node to copy the header and content of the input message to the output message. The message that the MQOutput node puts to the OUT queue has the same content as the message that the MQInput node got from the IN queue. For the Material Synchronization scenario to implement the ESQL, refer to “ESQL module” on page 648.

7.9 Development of a message flow for the OrderEventNotification (ABAP Extension Module) scenario A message flow application is a program that routes, transforms, and manipulates messages. A message flow is deployed and running in a broker. This section describes how to create a simple pass through message flow for the ABAP Extension Module Business Object.

7.9.1 Create a Message Flow Project Before starting, adding, and configuring message flow nodes, a project in the Broker Administration Toolkit must be created. Also, a message flow file must be created: 1. In the Broker Application Development perspective, create a message flow project called OrderEventNotification_MsgFlowProj: a. Select File → New → Message Flow Project. b. In the Project Name field, type OrderEventNotification_MsgFlowProj, and then click Finish (see Figure 7-118 on page 305). A new project called OrderEventNotification_MsgFlowProj is displayed.

304

WebSphere Business Integration for SAP

Figure 7-118 Create a new message flow project

2. In the Broker Application Development perspective, create the OrderEventNotification_MsgFlow message flow in the OrderEventNotification_MsgFlowProj: a. In the Resource Navigator view, click on OrderEventNotification_MsgFlowProj to highlight it. b. Select File → New → Message Flow. c. Ensure that the Project field contains OrderEventNotification_MsgFlowProj (see Figure 7-119 on page 306). d. Leave the Schema field empty so that the message flow is created in the default schema. e. In the Name field, type OrderEventNotification_MsgFlow, and then click Finish.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

305

Figure 7-119 Create a new message flow

7.9.2 Build the message flow This section describes how to implement a simple pass through message flow without computing node.

Add and connect nodes On the left side of the Message Flow editor is the Node Palette, which is a list of all the nodes available for use in the message flow (see Figure 7-120 on page 307).

306

WebSphere Business Integration for SAP

Figure 7-120 The message flow nodes

To build the message flow: 1. Make sure that the Selection button (above the Node Palette) is highlighted so that nodes from the Node Palette can be selected. 2. Click the MQInput node to select it from the Node Palette, then click somewhere on the canvas, the white area to the right of the Node Palette, to add the node to the message flow. 3. Repeat steps 1 and 2 to add a MQOutput node to the canvas. To define the order that the nodes process an input message, connect them together, as shown in Figure 7-121 on page 308. Most, though not all, nodes have at least one terminal with which to connect them to other nodes. The MQInput node has three terminals. Hover the mouse pointer over each terminal to highlight it and to display its label. The terminals on the MQInput node are labelled Failure, Out, and Catch. 1. Click on the Connection button (above the Node Palette) so that the nodes can be connected together.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

307

2. Click on the Out terminal of the MQInput node. Notice that a thin black line with an arrow head appears. Move the mouse pointer and click the In terminal of the MQOutput node. The canvas looks similar to the one shown in Figure 7-121. 3. To save the MaterialSynchronization_MsgFlow message flow, select File → Save OrderEventNotification_MsgFlow.msgflow.

Figure 7-121 The pass through message flow

7.9.3 Configure the message flow In the OrderEventNotification_MsgFlow message flow, the MQInput node takes an input message from the SAPConnector’s Deliveryqueue called SAP_2CONNECTOR/DELIVERYQUEUE and passes it to the MQOutput node. It puts the output message in the SAPCONNECTOR/REQUESTQUEUE. To configure the message flow, two WebSphere MQ local queues must be available: 򐂰 SAPCONNECTOR/DELIVERYQUEUE 򐂰 SAP_2CONNECTOR/REQUESTQUEUE

Configure the node properties To configure the properties of a node: 1. Click on the Selection button at the top of the Node Palette. 2. Right-click on the node, and then click Properties. Perform steps 1 and 2 to configure each node as follows:

Configuring the MQInput node To configure the MQInput node: 1. Open the Properties dialog box for the MQInput node. 2. On the Basic page in the Queue Name field, type SAPCONNECTOR/DELIVERYQUEUE. 3. On the Default page in the Message Domain field, type MRM.

308

WebSphere Business Integration for SAP

4. On the Default page in the Message Set field, type the name of the message set and the message set ID, for example, OrderEventNotificationMsgSetProj (NUTU955002001). 5. On the Default page in the Message Type field, type the name of the business object, for example, BO_EVENTRIGGER. 6. On the Default page in the Message Format, type CwXML (see Figure 7-122).

Figure 7-122 MQ Input Node Properties

7. Click OK to close the Properties dialog box. 8. Save OrderEventNotification_MsgFlow.msgflow (Ctrl-S). The error on the MQInput node is no longer displayed.

Configure the MQOutput node To configure the MQOutput node: 1. Open the Properties dialog box for the MQOutput node. 2. On the Basic page in the Queue Name field, type SAP_2CONNECTOR/REQUESTQUEUE. The Queue Manager Name field can be left empty because the SAP_2CONNECTOR/REQUESTQUEUE queue is on the same queue manager as the SAPCONNECTOR/DELIVERYQUEUE queue. Click OK to close the Properties dialog box.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

309

7.10 Deployment of the message flow applications Deployment is the method used to send message flows to execution groups within brokers. There are two methods of deployment that can be used to deploy resources in the Message Broker Toolkit. There is also an additional method of deploying resources using the mqsideploy utility on the command line; however, this is beyond the scope of this book. This section shows you how to deploy a message flow application to a broker using a broker archive.

7.10.1 Deploy a message broker archive There are several ways to deploy a message broker archive within the Message Brokers Toolkit, although both require that a connection to the Configuration Manager has been established. This section describes how to deploy a archive using the option Deploy File.

Deploy a message broker archive using Deploy File Deploy a message broker archive using Deploy File: 1. In the Broker Administration perspective, open the message broker archive file to deploy in the Broker Administration Navigator view (create a file with the file extension.bar, for example, ITSOA_Archive.bar, by selecting New → Message Brokers → Message Broker Archive). 2. Add the message flows MaterialSynchronization_MsgFlow and OrderEventNotification_MsgFlow and the message sets MaterialSynchronization_MsgSet and OrderEventNotification_MsgSet to the broker archive. 3. Save the broker archive file ITSOA_Archive.bar. 4. Right-click on the message broker archive file and select Deploy File from the context menu that is displayed. 5. The Deploy a BAR File wizard is displayed. This shows brokers and their execution groups in the broker domain, as shown in Figure 7-123 on page 311.

310

WebSphere Business Integration for SAP

Figure 7-123 Deploy broker archive file

6. Select the execution group default to deploy the message broker archive file. Click on OK to perform the deploy operation. A confirmation message is received from the Configuration Manager if the deploy operation was successful, but the Event Log in the Message Brokers Toolkit can be checked for the following success messages in the Event Log in the Message Brokers Toolkit to determine if the deploy operation was successful: BIP2056 and BIP4040.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

311

7.11 Run the business scenario This section shows you how to run both scenarios of the Use Case: the MaterialSynchronisation- and the OrderEventNotification scenarios.

7.11.1 Part 1: Run the MaterialSynchronisation (ALE) scenario 򐂰 Start the message flow MaterialSynchronization_MsgFlow using the Message Broker’s Toolkit and make sure the message flow OrderEventNotification_MsgFlow is stopped. 򐂰 Start the first connector by double-clicking on the shortcut on the desktop. 򐂰 Start the second connector by double-clicking on the shortcut on the desktop. 򐂰 In the outbound SAP application, open transaction smgw to verify that the connector is connected. 򐂰 In the inbound SAP application, open transaction smgw to verify that the second connector is connected. 򐂰 In the outbound SAP application, open transaction bd10 to send a material: – Add a material. – Set the message type to MATMAS. – Set the Logical system to WBI. – Select Send Material in full. – Click Execute (F8) (see Figure 7-124 on page 313).

312

WebSphere Business Integration for SAP

Figure 7-124 Transaction bd10 - Send Material

򐂰 In the outbound SAP application, open transaction we02 to verify that the IDoc was delivered to the connector (see Figure 7-125 on page 314).

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

313

Figure 7-125 Transaction we02 - outbound IDoc log information

򐂰 In the inbound SAP application, open transaction we02 to verify that the IDoc was delivered to the SAP system (see Figure 7-126 on page 315).

314

WebSphere Business Integration for SAP

Figure 7-126 Transaction we02 - inbound IDoc log information

7.11.2 Part 2: Run the OrderEventNotification (ABAP Extension Module) Scenario This section contains the following topics: 򐂰 Starting the message flow OrderSynchronization_MsgFlow using the Message Broker’s Toolkit and making sure the message flow MaterialSynchronization_MsgFlow is stopped. 򐂰 Starting the Visual Test Connector. 򐂰 Starting the Adapter for mySAP.com. 򐂰 Creating a Sales Order in SAP. – As soon as the sales order is created, an event notification is send to the connector. The connector sends a empty business object to SAP R/3.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

315

– SAP populates that business object with the sales order data and sends the populated business object back to the connector. 򐂰 Viewing the result in the Visual Test Connector.

Starting the Visual Test Connector 1. Start the Visual Test Connector by selecting Start → Programs → IBM WebSphere Business Integration Adapter → Tools → Visual Test Connector. The window in Figure 7-127 should appear.

Figure 7-127 Test Connector

2. In the Visual Test Connector, select File → Create/Select Profile... (see Figure 7-128 on page 317).

316

WebSphere Business Integration for SAP

Figure 7-128 Test Connector - Create/Select Profile

3. Create a new Profile by clicking on the Create new Profile button.

Figure 7-129 Test Connector - Connector Profile

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

317

4. Browse for the connector configuration file by clicking on the Browse button. 5. Enter the name of the connector, for example, SAP_2Connector. 6. Define the broker type. Since Message Broker is used in this Use Case, select WMQI. 7. Click OK (see Figure 7-130).

Figure 7-130 Test Connector - New Profile

8. Double-click on the new entry SAP_2Connector (see Figure 7-131).

Figure 7-131 Test Connector - SAP_2Connector profile

9. In the menu, select File → Connect to start the test connector (see Figure 7-132 on page 319).

318

WebSphere Business Integration for SAP

Figure 7-132 Test Connector - Connect

Start the SAPConnector Start the SAPConnector by double-clicking on the start_SAP.bat shortcut on the desktop. When the connector is up and running, it polls for events and it picks up the event as soon as a sales order is created in SAP. When the event notifies the connector, the connector sends the empty business object BO_EVENTRIGGER to SAP R/3. SAP R/3 populates this business object with data from the sales order table VBAK and sends it back to the connector.

Create a Sales Order In SAP R/3 Create a sales order in SAP R/3 to test that the environment is set up properly. 1. Go to the Create Sales Order transaction (va01). The window in Figure 7-133 on page 320 should appear.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

319

Figure 7-133 Transaction va01: Create Sales Order

2. Type OR (standard order) as the Order Type, and then press Enter. The Create Sales Order: Overview view appears. 3. Enter the values shown in Figure 7-134 on page 321 and click on Save.

320

WebSphere Business Integration for SAP

Figure 7-134 Creating a Standard sales order

4. Click Save. In the window that follows (Figure 7-135 on page 322), look at the bottom left corner. The message that states Standard Order has been saved appears.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

321

Figure 7-135 Standard Order created

View the result As soon as the order is created, the connector picks up the event and sends a empty business object to SAP R/3. 1. SAP populates that business object with the sales order data and sends the populated business object back to the connector. 2. The connector passes the business object to the broker (see Figure 7-136 on page 323).

322

WebSphere Business Integration for SAP

Figure 7-136 Connector trace

3. The broker passes the business object through the simple message flow to the Visual Test Connector.

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

323

4. The populated business object arrives in the Test Connector (see Figure 7-137).

Figure 7-137 Incoming business object

5. The populated business object can be reviewed in the Visual Test Connector by double-clicking on it (see Figure 7-138 on page 325).

324

WebSphere Business Integration for SAP

Figure 7-138 Review the business object data in the Test Connector

򐂰 View the log information in the CrossWorld’s station by clicking on the View Log button using transaction /CWLD/HOME.

7.12 Usage of the Message Broker’s trace to locate errors To trace the message broker, the DOS command prompt window must be used. 1. First the trace must be started by entering the command mqsichangetrace -u -e -l debug -r (see Figure 7-139 on page 326)

Chapter 7. Use Case 1: WBIMB using WBI Adapter for mySAP.com

325

Figure 7-139 Activate trace

2. To read the trace, perform the following two commands: mqsireadlog R -u -e -o Trace1 mqsiformatlog -i Trace1 -o Trace1.txt

3. Open the file Trace1.txt with a text editor to view the trace information.

7.13 Summary This Use Case describes the complete development lifecycle of an application integration scenario developed with the WebSphere Business Integration Message Broker Toolkit and executed on a WebSphere Message Broker run-time environment with WebSphere Business Integration Adapters. The key capability is the implementation of a central interface infrastructure, which is easy to expand with new interfaces, and to enable a Enterprise Service Bus. Also, this Use Case describes the ABAP Extension Module of the WebSphere Business Integration Adapter for mySAP.com. The added value of using the ABAP Extension Module is the event notification mechanism in SAP R/3, which is described in this chapter.

326

WebSphere Business Integration for SAP

8

Chapter 8.

Use Case 2: WBISF using WBI Adapter for mySAP.com This Use Case describes how to develop a new business process with WebSphere Studio Application Developer Integration Edition V5.1 and execute it on WebSphere Business Integration Server Foundation. This process is a people-centric enterprise integration approach that incorporates various existing enterprise services to choreograph new business processes. This chapter contains the following topics: 򐂰 Operational model 򐂰 Installation of WebSphere Business Integration components 򐂰 Configuration of WebSphere Business Integration components 򐂰 Development of the business process 򐂰 Deployment of the business process 򐂰 Running the scenario

© Copyright IBM Corp. 2004. All rights reserved.

327

8.1 Operational model This Use Case describes an Internal Order scenario that utilizes several existing enterprise services and some newly created services to compose a new business process. The run-time environment is a WebSphere Business Integration Server Foundation. The WebSphere Business Integration Adapter for mySAP.com is used to connect to the SAP back-end system and retrieve data. The new process consumes data from the following services: 򐂰 Human Resource system running on SAP and accessed via SAP Remote Function Calls (RFCs) 򐂰 Enterprise Procurement system running on SAP and accessed via SAP RFCs 򐂰 Enterprise policy service exposed with standard Web Services 򐂰 Notification service running on a J2EE application server and accessed via Web Services The business details of this process flow are described in 5.7, “Use Case 2 Solution overview” on page 126. Any employee is able to start a new internal order process by providing some data and submitting the request. To do so, the user has to be logged in and authenticated via a standard Web browser. The internal order requisition needs the following input data: 򐂰 An order description that has a human readable identifier. 򐂰 Desired delivery date. 򐂰 Employee number. 򐂰 Material number. 򐂰 Order quantity. 򐂰 Delivery plant. These input values are exemplary and do not claim to be a pattern for internal ordering. There are various other combinations that would also make sense. This arrangement is only an example of what data a user has to provide. After submission, the user immediately gets a reply that the request is sent. The status of the request can be monitored to verify where the request is currently processed. The first enterprise service access retrieves the mail address of the originating user from the existing Human Resource system. The second process activity checks if the requested material requires an approval or not. This is done by querying an existing policy system via a Web Service interface. Depending on the reply of the policy service, the order is directly placed in the enterprise

328

WebSphere Business Integration for SAP

procurement system or routed to a functional approver. The approver is an authorized employee who can see all incoming requests in a special inbox. Based on the request information, the approver decides to approve or decline a request. If a request is approved, it is routed to the enterprise procurement system where the internal purchase order is placed. The existing notification service is used in any case to inform the requestor about the result of the request. The notification service uses the existing e-mail infrastructure to deliver the result to the correct person. The operational model in Figure 8-1 shows how the subcomponents communicate with each other and where they are physically installed. The Use Case does not provide a custom front-end application. Instead, the standard WebSphere Process Choreographer Web client is used to simulate process invocation, routing, staff interaction, and execution.

Figure 8-1 Operational model

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

329

8.2 Installation of WebSphere Business Integration components This section describes how to install the WebSphere Business Integration components that are required to implement this Use Case. The section covers the following tasks: 򐂰 Installing WebSphere Studio Application Developer Integration Edition (WSADIE) 򐂰 Installing WebSphere Business Integration Server Foundation (WBISF) 򐂰 Installing Remote Agent Controller 򐂰 Installing WebSphere Business Integration Adapter Framework 򐂰 Installing WebSphere Business Integration Adapter for mySAP.com

8.2.1 Plan the installation Table 8-1 lists the prerequisite software for this Use Case and why you need to install it. Table 8-1 Software prerequisite list

330

Prerequisite software

Version

What the software is for

IBM DB2

8.1 FP 5

WebSphere Process Choreographer repository.

IBM Java Development Kit

1.3.1

Compilation of generated business object of the mySAP.com Adapter.

IBM WebSphere MQ

5.3 CSD05

Provides message based connectivity between the WBI connector and the integration broker.

IBM WebSphere Business Integration Server Foundation

5.1 FP2

Integration broker in this Use Case.

IBM WebSphere Studio Application Developer Integration Edition

5.1

Business process development environment.

IBM Remote Agent Controller

5.1

Remote deployment and administration component.

WebSphere Business Integration for SAP

Prerequisite software

Version

What the software is for

IBM WebSphere Business Integration Adapter Framework

2.4

Framework where WBI Adapters can be plugged in.

IBM WebSphere Business Integration Adapter for mySAP.com

5.5

Specific WBI Adapter to connect SAP back-end systems with WBI infrastructures.

Detailed instructions on how to install IBM DB2 is covered in 6.3.1, “Installing IBM DB2 UDB Version 8.1 with FixPack 5” on page 150. Detailed instructions on how to install IBM WebSphere MQ is covered in 6.3.2, “Installing WebSphere MQ V5.3 with CSD04” on page 171. Table 8-2 lists the directories used for the installation of the software components. Table 8-2 Product installation directories Directory

Component

C:\IBMRAC

IBM Remote Agent Controller

C:\SQLLIB

IBM DB2

C:\WebSphere\AppServer

IBM WebSphere Application Server

C:\WebSphereAdapters

IBM WebSphere Business Integration Adapters

C:\WebSphereMQ

IBM WebSphere MQ

C:\WSADIE51

IBM WebSphere Studio Application Developer Integration Edition

Tip: We recommend avoiding installation directory names that include spaces.

8.2.2 Install WSADIE V5.1 WebSphere Studio Application Developer Integration Edition (WSADIE) Version 5.1 is used to develop the business process for this Use Case. The development environment includes a built in server run time that enables the developer to test and debug the application during development.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

331

1. Switch to the folder where the installation files are located. 2. Execute the file launchpad.exe. The window in Figure 8-2 should appear.

Figure 8-2 WSAD Integration Edition Launchpad

3. Select Install WebSphere Studio Application Developer Integration Edition. The window in Figure 8-3 on page 333 should appear.

332

WebSphere Business Integration for SAP

Figure 8-3 Welcome window

4. Click Next. The window in Figure 8-4 should appear.

Figure 8-4 License agreement

5. Accept the license agreement and click Next. The window in Figure 8-5 on page 334 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

333

Figure 8-5 Installation directory

6. Enter a desired installation directory, such as C:\WSAD51, and click Next. The window in Figure 8-6 should appear.

Figure 8-6 Installation features

7. Accept the default installation options and click Next. The window in Figure 8-7 on page 335 should appear.

334

WebSphere Business Integration for SAP

Figure 8-7 Installation summary

8. Click Next. The window in Figure 8-8 should appear.

Figure 8-8 Final window

9. Click Finish and reboot the machine.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

335

8.2.3 Install WBISF V5.1 This Use Cases utilizes WebSphere Business Integration Server Foundation V5.1 as an integration broker to execute the defined business process. 1. Switch to the folder where the installation files are located. 2. Execute the file launchpad.bat. The window in Figure 8-9 should appear.

Figure 8-9 WebSphere Business Integration Server Foundation Launchpad

3. Select Install the product. The window in Figure 8-10 on page 337 should appear.

336

WebSphere Business Integration for SAP

Figure 8-10 Installation wizard

4. Select Next. The window in Figure 8-11 should appear.

Figure 8-11 License Agreement

5. Accept the license agreement and click Next. The window in Figure 8-12 on page 338 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

337

Figure 8-12 Installation type

6. Select Custom installation and click Next. The window in Figure 8-13 on page 339 should appear.

338

WebSphere Business Integration for SAP

Figure 8-13 WebSphere Business Integration Server Foundation Feature

7. Deselect Embedded messaging and click Next. The window in Figure 8-14 on page 340 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

339

Figure 8-14 Installation directory

8. Enter the desired installation directory, such as C:\WebSphere\AppServer, and click Next. The window in Figure 8-15 should appear.

Figure 8-15 Node name and host name

9. Accept the default node name and host name and click Next. The window in Figure 8-16 on page 341 should appear.

340

WebSphere Business Integration for SAP

Figure 8-16 Run as service feature

10.Deselect to start the WebSphere Application Server as a service and click Next. The window in Figure 8-17 on page 342 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

341

Figure 8-17 Installation summary

11.Review the installation options and click Next. The window in Figure 8-18 on page 343 should appear.

342

WebSphere Business Integration for SAP

Figure 8-18 Registration window

12.Deselect the register check box and click Next. The window in Figure 8-19 on page 344 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

343

Figure 8-19 Final installation window

13.Click Finish.

8.2.4 Install IBM Remote Agent Controller V5.1 This section describes how to set up the IBM Remote Agent Controller. 1. In the window shown in Figure 8-20, select English (United States) and click OK. The window in Figure 8-21 on page 345 should appear.

Figure 8-20 Select language

344

WebSphere Business Integration for SAP

Figure 8-21 Install Shield welcome window

2. Press Next on the welcome screen. The window in Figure 8-22 should appear.

Figure 8-22 License agreement

3. Accept the license agreement and click Next. The window in Figure 8-23 on page 346 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

345

Figure 8-23 Customer Information window

4. Enter the user name and organization and select Anyone who uses this computer and click Next. The window in Figure 8-24 should appear.

Figure 8-24 Installation destination folder

5. Select an installation directory, such as C:\IBMRAC, and click OK. The window in Figure 8-25 on page 347 should appear.

346

WebSphere Business Integration for SAP

Figure 8-25 Java Runtime Environment folder

6. Select the folder where the Java Runtime Environment is installed and click Next. The window in Figure 8-26 should appear.

Figure 8-26 Security settings

7. Select the check box Disable Security and press Next. The window in Figure 8-27 on page 348 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

347

Figure 8-27 Remote Agent Controller access

8. Select the check box Any computer to give every computer the permission to access the Remote Agent Controller and press the Next button. The window in Figure 8-28 should appear.

Figure 8-28 Ready to install window

9. Press the Install button to start the installation. The window in Figure 8-29 on page 349 should appear.

348

WebSphere Business Integration for SAP

Figure 8-29 Final window

10.Press Finish to close the installation wizard.

8.2.5 Install WBI Adapter Framework V2.4 The WebSphere Business Integration Adapter Framework V2.4 consists of various subcomponents. The subcomponents are: 򐂰 System Manager 򐂰 Virtual Test Connector 򐂰 Log Viewer 򐂰 Business Object Designer 򐂰 Connector Configurator Important: Make sure that no instance of WebSphere Studio Application Developer Integration Edition or any other Eclipse development environment is running when starting the framework installation. 1. Switch to the folder where the installation files are located and execute setupwin32.exe to start the framework installation. The window in Figure 8-30 on page 350 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

349

Figure 8-30 Language selection

2. Select English as the language for the install wizard and click on OK. The window in Figure 8-31 should appear.

Figure 8-31 Welcome window

3. Press Next on the welcome screen. The window in Figure 8-32 on page 351 should appear.

350

WebSphere Business Integration for SAP

Figure 8-32 License agreement

4. Accept the license agreement and select Next. The window in Figure 8-33 should appear.

Figure 8-33 Installation directory

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

351

5. Enter a directory, such as C:\WebSphereAdapters, as the installation destination, and press Next. The window in Figure 8-34 on page 352 should appear.

Figure 8-34 Installation summary

6. Review the installation settings and click on Next. The window in Figure 8-35 should appear.

352

WebSphere Business Integration for SAP

Figure 8-35 WebSphere MQ library location

7. The WebSphere MQ Java libraries should be detected automatically. Click on Next. The window in Figure 8-36 on page 353 should appear.

Figure 8-36 Workbench installation

8. Select Install WebSphere Studio Workbench and plug-ins and click on Next. The window in Figure 8-37 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

353

Figure 8-37 Program group selection

9. Leave the default Program group and click on Next. The window in Figure 8-38 on page 354 should appear.

Figure 8-38 Final window

10.Click on Finish to close the wizard after the installation is done.

354

WebSphere Business Integration for SAP

8.2.6 Install WBI Adapter for mySAP.com V5.5 The WebSphere Business Integration Adapter for mySAP.com includes the core mySAP.com adapter and the mySAP.com Object Discovery Agent (ODA). The WebSphere Business Integration Adapter Framework must be already installed. 1. Switch to the folder where the installation files are located. 2. Execute the file setupwin32.exe. The window in Figure 8-39 should appear.

Figure 8-39 Language selection

3. Choose English from the drop-down list. The window in Figure 8-40 on page 355 should appear.

Figure 8-40 Welcome window

4. Press Next on the Welcome Screen. The window in Figure 8-41 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

355

Figure 8-41 License agreement

5. Accept the license agreement and click on Next. The window in Figure 8-42 on page 356 should appear.

Figure 8-42 WebSphere Adapter Framework location

6. Select the folder where the Adapter Framework is installed and click on Next. The window in Figure 8-43 should appear.

356

WebSphere Business Integration for SAP

Figure 8-43 Installation summary

7. On the installation summary screen, click on Next. The window in Figure 8-44 on page 357 should appear.

Figure 8-44 Interchange Server name

8. In this scenario, no WebSphere InterChange Server is used. Leave the input field blank and click on Next. The window in Figure 8-45 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

357

Figure 8-45 Program group selection

9. Leave the default Program group and click on Next. The window in Figure 8-46 should appear.

Figure 8-46 Final window

10.Click on Finish to close the wizard after the installation is done.

358

WebSphere Business Integration for SAP

8.3 Configuration of WebSphere Business Integration components This section describes how to set up and configure the environment to enable this Use Case to run. The configuration includes setup and configuration of the following components: 򐂰 WebSphere MQ 򐂰 WebSphere Business Integration Adapter for mySAP.com 򐂰 WebSphere Studio Application Developer Integration Edition 򐂰 WebSphere Business Integration Server Foundation

8.3.1 Configuration of WebSphere MQ The integration broker communicates with the WebSphere Business Integration Adapters using WebSphere MQ. One queue manager and several local queues must be set up. Table 11-3 contains a list of the required queues for one adapter. Table 8-3 Adapter queues Queue name

Usage of the queue

ADMININQUEUE

Administration queue to the adapter

ADMINOUTQUEUE

Administration queue from the adapter

FAULTQUEUE

Queue for fault messages

REQUESTQUEUE

Synchronous request from the broker to the adapter

RESPONSEQUEUE

Synchronous response for requests from the REQUESTQUEUE

DELIVERYQUEUE

Asynchronous message from the adapter to the broker

SYNCHRONOUSREQUESTQUEUE

Synchronous request from the adapter to the broker

SYNCHRONOUSRESPONSEQUEUE

Synchronous response for the queue SYNCHRONOUSREQUESTQUEUE

The WebSphere Business Integration Adapters include a batch file that can be used to set up the required queue manager and the queues.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

359

1. Create a new text file called mqsetup.tst in the folder C:\WebSphereAdapters\templates. 2. Open the file in Notepad and add the text in Example 8-1. Example 8-1 mqsetup.tst **************************************************** * Define the SAP ADAPTER QUEUES **************************************************** DEFINE QLOCAL(SAPCONNECTOR/AdminInQueue) DEFINE QLOCAL(SAPCONNECTOR/AdminOutQueue) DEFINE QLOCAL(SAPCONNECTOR/DeliveryQueue) DEFINE QLOCAL(SAPCONNECTOR/RequestQueue) DEFINE QLOCAL(SAPCONNECTOR/ResponseQueue) DEFINE QLOCAL(SAPCONNECTOR/FaultQueue) DEFINE QLOCAL(SAPCONNECTOR/SynchronousRequestQueue) DEFINE QLOCAL(SAPCONNECTOR/SynchronousResponseQueue) ******************************************************* * Define the channel, channel type and transport method ******************************************************* DEFINE CHANNEL(CHANNEL1) CHLTYPE(SVRCONN) TRPTYPE(TCP)

3. Open a command prompt and type in the commands from Example 8-2. Example 8-2 Command Prompt commands cd C:\WebSphereAdapters\templates configure_mq.bat itsod.queue.manager mqsetup.tst

4. Open the WebSphere MQ Explorer and check if the queue manager runs and all queues are included.

8.3.2 Configuration of WBI Adapter for mySAP.com The WebSphere Business Integration Adapter for mySAP.com requires a Java 2 Software Development Kit V1.3 and the SAP Java Connector (SAP JCO) V2.0.10. 1. Open the file C:\WebSphereAdapters\bin\CWODAEnv.bat in Notepad. 2. Add the bin folder of the IBM Java 2 Java Software Development Kit to the PATH entry. For example: set PATH=”CROSSWORLDS”\bin;C:\ibmjdk1_3_1\bin

3. Download the SAP JCo V2.0.10 from the SAP Service Marketplace: http://service.sap.com/connector

360

WebSphere Business Integration for SAP

4. Copy the jcosap.jar, sapjcorfc.dll, and librfc32.dll from the jco package into the folders: – C:\WebSphereAdapters\connectors\SAP – C:\WebSphereAdapters\ODA\SAP

8.3.3 Configuration of WSADIE V5.1 This section describes the setup of an local test environment within WebSphere Studio Application Developer Integration Edition V5.1. 1. Open WebSphere Studio Application Developer Integration Edition and switch to the server perspective. The window in Figure 8-47 on page 361 should appear.

Figure 8-47 Create new local server and configuration

2. In the Server Configuration outline, right-click on the Servers folder. Select New → Server and Configuration.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

361

Figure 8-48 Local server name and server type

3. Enter LocalEE as the Server name and choose Integration Test Environment as the Server type. 4. Click on Finish. 5. Double-click on the LocalEE entry in the Server Configuration outline to open the configuration. The window in Figure 8-49 on page 363 should appear.

362

WebSphere Business Integration for SAP

Figure 8-49 Enable administrative console

6. Select the check box Enable administration console in the Configuration tab. The window in Figure 8-50 on page 364 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

363

Figure 8-50 Set environment variables

7. Switch to the Variables tab. The window in Figure 8-51 on page 365 should appear.

364

WebSphere Business Integration for SAP

Figure 8-51 Set variable DB2_JDBC_DRIVER_PATH

8. Change the variable DB2_JDBC_DRIVER_PATH to point to the file db2java.zip using the full path. For example: C:\SQLLIB\java\db2java.zip

Figure 8-52 Set variable MQ_INSTALL_ROOT

9. Change the variable MQ_INSTALL_ROOT to the path where you installed WebSphere MQ. For example: C:\WebSphereMQ

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

365

Figure 8-53 Enable WebSphere security

10.Switch to the Security tab. 11.Check the check box Enable security and enter a local operating system user and password. 12.Press Ctrl+S to save the settings and close the LocalEE configuration. 13.Right-click on the LocalEE entry in the Server outline and select Start. The window in Figure 8-54 on page 367 should appear.

366

WebSphere Business Integration for SAP

Figure 8-54 Run administration console

14.After the server has started completely, right-click on the LocalEE entry in the Server outline and select Run administrative console. 15.Select Resources → WebSphere MQ JMS Provider. The window in Figure 8-55 on page 368 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

367

Figure 8-55 Create WebSphere MQ JMS connection factory

16.Switch to the Server level and create a new WebSphere MQ Connection Factory. 17.Enter SAPConnectionFactory in the Name field. 18.Enter jms/SAPConnectionFactory in the JNDI name field.

368

WebSphere Business Integration for SAP

19.Enter the name of the queue manager in the Queue Manager field, such as ITSOD.queue.manager. 20.Save the configuration. 21.Select Resources → WebSphere MQ JMS Provider. The window in Figure 8-56 should appear.

Figure 8-56 Create WebSphere MQ JMS queue destination

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

369

22.Switch to the Server level and create a new WebSphere MQ Destination. 23.Enter SAPRequestQueue in the Name field. 24.Enter jms/SAPRequestQueue in the JNDI name field. 25.Enter the name of the request queue of the WebSphere MQ installation in the Base Queue Name field, such as SAPCONNECTOR/REQUESTQUEUE. 26.Select OK and save the application server configuration. 27.Restart the application server.

8.3.4 Configuration of WBISF The completed business process is deployed onto a WebSphere Business Integration Server Foundation run-time environment. The same configuration that was done for the local test and development environment has to be done for the run-time environment. For a detailed configuration description, refer to 8.3.3, “Configuration of WSADIE V5.1” on page 361. Additionally, the Business Process Container has to be set up to enable the WebSphere Process Choreographer to execute processes. 1. Open the Administrative Console. 2. Enter valid credentials at the logon screen and press OK. 3. Select Servers → Application Server from the navigator. 4. Click on server1. 5. Scroll down and click on Business Process Container. 6. Scroll down and click on Business Process Container Install wizard. The window in Figure 8-57 on page 371 should appear.

370

WebSphere Business Integration for SAP

Figure 8-57 Business Process Container database setup

7. Select DB2 Universal JDBC Driver Provider (XA) and click on Next. The window in Figure 8-58 on page 372 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

371

Figure 8-58 Business Process Container JMS setup

8. Select the WebSphere MQ JMS provider in the JMS provider drop-down list. 9. Enter the name of the WebSphere MQ queue manager in the field Queue Manager, such as ITSOD.queue.manager. 10.Enter a valid operating system user in the fields JMS User ID and JMS API User ID together with the correct password. 11.Enter the same user name in the field Security Role Mapping.

372

WebSphere Business Integration for SAP

12.Click Next. The window in Figure 8-59 should appear.

Figure 8-59 Business Process Container JMS resources

13.Select Create new JMS resources using default values and click Next. 14.Review the summary screen and click Finish. The wizard configures the Business Process Container according to the selections made. Check the output for error messages and save the configuration to the master configuration. Finally, restart the application server.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

373

8.4 Development of a business process The section describes the development steps to implement the described Use Case scenario. The scenario utilizes two workbenches. The System Manager is used to generate business objects from the back-end system and to configure the mySAP.com connector. These settings and objects are exported to the file system and imported into WebSphere Studio Application Developer Integration Edition V5.1 (WSADIE). Within WSADIE, a new business process is created that incorporates several encapsulated services. Attention: The focus of this Use Case is to show how easy it is to choreograph new business processes using WebSphere Business Integration Server Foundation by incorporating existing enterprise services. Exception handling and input validation is purposely limited to a minimum. It is highly recommended to implement more application specific exception handling to handle back-end errors and warnings more efficiently. All business process development activities are done in the WebSphere Studio Application Developer Integration Edition V5.1. A prepackaged workspace is used as a starting point, which is delivered in the file Base_Workspace_SAK400.zip. This workspace provides the Notification service out of the box. The exported business object definitions are used to create two enterprise service applications that are integrated into existing back-end systems. A third service project is defined to hold the Web Services Description Language style description of external services. In this Use Case, it is a back-end service exposed via an standard Apache-Axis Web Service interface.

8.4.1 Create Business Objects and Connector Configuration This section describes the steps necessary to create the required business objects using the Eclipse based System Manager, the Business Object Designer, and the Connector Configurator. 1. Open the System Manager from the Windows Start Menu. The window in Figure 8-60 on page 375 should appear.

374

WebSphere Business Integration for SAP

Figure 8-60 New Integration Component Library

2. Switch to the System Manager Perspective and select New Integration Component Library from the context menu. The window in Figure 8-61 should appear.

Figure 8-61 Integration component library settings

3. Enter SAP_ICL as project name and press Finish. The window in Figure 8-62 on page 376 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

375

Figure 8-62 Create a new business object

4. Select Create New Business Object from the context menu of the Business Objects folder. The window in Figure 8-63 should appear.

Figure 8-63 New Business Object using ODA

5. Press Cancel on the first pop-up screen and select File → New using ODA from the menu bar.

376

WebSphere Business Integration for SAP

6. The next screen (Figure 8-64) shows the Object Discovery Agent configuration. Press the Find Agents Button and select the SAPODA entry from the list.

Figure 8-64 ODA detection

After selecting the agent, the Business Object Designer queries all metadata from the ODA. The next screen (Figure 8-65 on page 378) shows a list of connection data for the SAP system. 7. Create and Save a new profile for the SAP R/3 system. 8. Select Search for items ... from the context menu to find the table. Enter pa0105 in the pop-up window to get the table.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

377

Figure 8-65 Search a table

9. Select the result and press Next. The window in Figure 8-66 should appear.

Figure 8-66 Select a table

10.In the Business Object properties screen, keep the default prefix and press OK. The window in Figure 8-67 on page 379 should appear.

378

WebSphere Business Integration for SAP

Figure 8-67 Business Object properties

11.In the last screen (Figure 8-68), deselect all check boxes and save the business object into the SAP_ICL project.

Figure 8-68 Save BO configuration

The Business Object for the purchasing request remote function call must be discovered as well.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

379

12.Use the menu item New using ODA. 13.Select the SAPODA in the configuration screen. 14.Use the existing profile for the SAP connection. 15.Select BOR → Materials Management → Purchasing → Purchase Requisition → BAPI_REQUISITION_CREATE in the Select Source screen (Figure 8-69).

Figure 8-69 Browsing the Business Object Repository

16.In the BO properties screen (Figure 8-70 on page 381), enter Retrieve as the Verb and Yes for the UseFieldName flag.

380

WebSphere Business Integration for SAP

Figure 8-70 Business Object properties

17.Save the Business Object to the SAP_ICL project and press Finish. 18.Close the Business Object Designer and press Refresh in the System Manager. After setting up the business objects, the configuration of the adapter must be made. 1. Select Create New Connector in the context menu of the Connectors folder (see Figure 8-71).

Figure 8-71 Create new connector configuration

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

381

2. Open the file CN_SAP.txt from the WebSphere Business Integration Adapter Framework repository folder. Select Open → From File ... to open the Adapter template (see Figure 8-72).

Figure 8-72 Open connector template

3. In the standard properties page, WAS must be selected as the broker. Enter all generated WebSphere MQ queues and the path to the repository (see Figure 8-73 on page 383).

382

WebSphere Business Integration for SAP

Figure 8-73 Standard connector properties

4. Enter the SAP access date into the Connector specific properties (see Figure 8-74 on page 384).

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

383

Figure 8-74 Connector specific properties

384

WebSphere Business Integration for SAP

5. In the supported Business Objects tab, select sap_bapi_requisition_create and sap_pa0105 as supported objects. 6. Save the adapter as SAPConnector to the SAP_ICL project. After the setup of the business objects and the connector configuration is complete, the components must be deployed in a User Project. System Manager user projects specify the integration components that are used for some particular purpose, such as a specific interaction pattern. 1. Open the User Projects folder and right-click on the New User project entry (see Figure 8-75).

Figure 8-75 New User project

2. In the New User Project wizard, type SAP_UserProject as the project name (see Figure 8-76 on page 386).

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

385

Figure 8-76 New user project settings

3. Select the complete SAP_ICL project to import all the components and press Finish. After you have created System Manager user projects and populated them with integration components, you can deploy the user projects to the Business Integration perspective for use in the creation of WebSphere Application Server Enterprise Application Archive projects. 1. Right-click on the SAP_UserProject folder and select Deploy WAS Project (see Figure 8-77 on page 387).

386

WebSphere Business Integration for SAP

Figure 8-77 Deploy WAS project

The next screen (Figure 8-78 on page 388) displays the different adapters and there Business Object dependency. It is possible to select four different kinds of interaction patterns (see Table 8-4). Table 8-4 WebSphere Application Server interaction patterns Interaction pattern

Description

AgentDelivery

Synchronous call from the adapter to the Broker

AgentRequest

Asynchronous call from the adapter to the Broker

HubOneWay

Asynchronous call from the Broker to the adapter

HubRequest

Synchronous call from the Broker to the adapter

The given Use Case requires a synchronous communication from the WebSphere Business Integration Server Foundation to the mySAP.com Adapter.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

387

Figure 8-78 Component selection page

2. Select the HubRequest pattern for both business objects and deselect the other integration patterns. The window in Figure 8-79 on page 389 should appear.

388

WebSphere Business Integration for SAP

Figure 8-79 Select the export directory

3. Select Export to Directory and enter a valid directory name. 4. Click Finish to export the project. This setup saves the connector configuration files and business object definition files of the user project to the selected directory. The connector configuration files (file in XML format with a .cfg or .con extension) are transformed into Web Services Description Language (WSDL) format and renamed with the .wsdl extension. The business object definition files are saved in .xsd format.

8.4.2 Import prepackaged workspace This section describes how to import the prepackaged workspace into the WebSphere Studio Application Developer Integration Edition environment. 1. Create an empty folder that becomes the new WSAD workspace. 2. Open WSAD and select the created folder to be the workspace directory. 3. Extract the content of the file Base_Workspace_SAK400.zip into the workspace directory.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

389

4. In WSAD, select File → Import .... The window in Figure 8-80 should appear.

Figure 8-80 Select Import data

5. Select Existing Project into Workspace.The window in Figure 8-81 on page 391 should appear.

390

WebSphere Business Integration for SAP

Figure 8-81 Project content directory

6. Browse to the location of the first project. 7. Select Finish. 8. Repeat this procedure for all extracted subfolders in this sequence: – JavaMailEJB – JavaMailEJBEAR – soapcfg – Notification_Service – Notification_ServiceWeb – Notification_ServiceEJB – Notification_ServiceEAR

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

391

8.4.3 Create the ERP Procurement Service This section describes how to create the service application that implements the part of the Internal Order business process that places the order in the back-end system. 1. Switch to the Create a Business Integration Perspective and create a new Service Project. 2. Right-click on the created Service Project and select Import .... The window in Figure 8-82 should appear.

Figure 8-82 Import from file system

3. Choose to import from File system. The window in Figure 8-83 on page 393 should appear.

392

WebSphere Business Integration for SAP

Figure 8-83 Import wizard

4. Select the directory where the exported files from the System Manager are located. 5. Make sure that all files are selected and click Finish. Check if all files are listed below in the newly created Service Project (see Figure 8-84 on page 394).

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

393

Figure 8-84 Generate Deploy Code

6. Right-click on the JMS Binding WSDL file and select Enterprise Services → Generate Deploy Code .... The window in Figure 8-85 on page 395 should appear.

394

WebSphere Business Integration for SAP

Figure 8-85 Deployment wizard

7. Select the Requisition create service and the HubRequest Binding. 8. For Inbound binding type, choose EJB and leave the rest unchanged and click Next. The window in Figure 8-86 on page 396 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

395

Figure 8-86 Inbound service files

9. Adjust the package name if required and leave the rest unchanged. Click Next. The window in Figure 8-87 on page 397 should appear.

396

WebSphere Business Integration for SAP

Figure 8-87 Select JNDI name

10.Adjust the JNDI name of the generated EJB if required and select Finish. The file structure should look like Figure 8-88 on page 398.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

397

Figure 8-88 File structure

8.4.4 Create the HR Information Lookup Service This section describes how to create the service application that implements the part of the Internal Order business process that retrieves Human Resource information about the person who places the internal order. 1. Switch to the Create a Business Integration Perspective and create a new Service Project. 2. Right-click on the created Service Project and select Import .... The window in Figure 8-89 on page 399 should appear.

398

WebSphere Business Integration for SAP

Figure 8-89 Import from file system

3. Choose to import from File system. The window in Figure 8-90 on page 400 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

399

Figure 8-90 Import wizard

4. Select the directory where the exported files from the System Manager are located. 5. Make sure that all files are selected and click Finish. Check if all the files are listed below the newly created Service Project. 6. Right-click on the JMS Binding WSDL file and select Enterprise Services → Generate Deploy Code .... The window in Figure 8-91 on page 401 should appear.

400

WebSphere Business Integration for SAP

Figure 8-91 Deployment wizard

7. Select the Requisition create service and the HubRequest Binding. 8. For Inbound binding type, choose EJB and leave the rest unchanged, and click Next. The window in Figure 8-92 on page 402 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

401

Figure 8-92 Inbound service files

9. Adjust the package name if required and leave the rest unchanged. Click Next. The window in Figure 8-93 on page 403 should appear.

402

WebSphere Business Integration for SAP

Figure 8-93 Select JNDI name

10.Adjust the JNDI name of the generated EJB if required and select Finish. The file structure should look like Figure 8-94 on page 404.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

403

Figure 8-94 File structure

8.4.5 Deploy the ERP Procurement service This section describes how to adjust the generated code to run in the local development environment. The service application exchanges data with the back-end connector via WebSphere MQ. The generated EJB defines a reference variable for a WebSphere MQ Connection factory and for a WebSphere MQ Queue destination. This references have to be adjusted before the application is deployed to the local test environment. 1. Open the deployment descriptor of the generated EJB and adjust the reference bindings (see Figure 8-95 on page 405).

404

WebSphere Business Integration for SAP

Figure 8-95 Adjust reference binding for Queue Connection factory

2. The QueueConnectionFactory and the Queue reference has to match the WebSphere MQ settings in the Administration Console, such as jms/SAPConnectionFactory and jms/SAPRequestQueue (see Figure 8-96 on page 406).

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

405

Figure 8-96 Adjust reference binding for Queue Destination

3. Switch to the Business Integration Perspective. 4. Right-click on the ERP_ProcurementService Project and select Generate Deployment Code. 5. Switch to the Server perspective. 6. Right-click on the LocalEE test server and select Add and remove projects.... The window in Figure 8-97 on page 407 should appear.

406

WebSphere Business Integration for SAP

Figure 8-97 Add project to Test Server

7. Add the ERP_ProcurementService Project. 8. Select Finish.

8.4.6 Deploy the HR Information Lookup service This section describes how to adjust the generated code to run in the local development environment. The service application exchanges data with the back-end connector via WebSphere MQ. The generated EJB defines a reference variable for a WebSphere MQ Connection factory and for a WebSphere MQ Queue destination. This references have to be adjusted before the application is deployed to the local test environment. 1. Open the deployment descriptor of the generated EJB and adjust the reference bindings (see Figure 8-98 on page 408).

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

407

Figure 8-98 Adjust reference binding for Queue Connection factory

2. The QueueConnectionFactory and the Queue reference has to match the WebSphere MQ settings in the Administration Console, such as jms/SAPConnectionFactory and jms/SAPRequestQueue (see Figure 8-99 on page 409).

408

WebSphere Business Integration for SAP

Figure 8-99 Adjust reference binding for Queue Destination

3. Switch to the Business Integration Perspective. 4. Right-click on the ERP_ProcurementService Project and select Generate Deployment Code. 5. Switch to the Server perspective. 6. Right-click on the LocalEE test server and select Add and remove projects.... The window in Figure 8-100 on page 410 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

409

Figure 8-100 Add project to Test Server

7. Add the HR_InfoLookupService Project. 8. Select Finish.

8.4.7 Incorporate external services This section describes how to incorporate external services in a complex process choreography scenario. The process developer requires a service description within a valid WSDL file. This file is placed into a Service project and can be referenced in a business process. 1. Create a Service Project and name it ExternalServices (see Figure 8-101 on page 411).

410

WebSphere Business Integration for SAP

Figure 8-101 Create a new Service Project

2. Create a package within this project and name it servicedefinition (see Figure 8-102).

Figure 8-102 Create a new package

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

411

3. From Windows Explorer, drag the MaterialApproval.wsdl file into this package. The folder structure should look like Figure 8-103.

Figure 8-103 Folder structure

8.4.8 Design Internal Order business process The Internal Order business process choreographs a new process by linking existing services’ style applications together. An application flow defines in which sequence the external services are called. 1. Create a Service project and name it InternalOrderProcess_Service (see Figure 8-104 on page 413).

412

WebSphere Business Integration for SAP

Figure 8-104 Create a new Service project

2. Create a package called process.sak400 (see Figure 8-105).

Figure 8-105 Create a new package

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

413

3. From the Windows Explorer, drag the InternalOrderProcess.wsdl file into the newly created package. The window in Figure 8-106 should appear.

Figure 8-106 Create new Service Skeleton

4. Right-click on the InternalOrderProcess.wsdl file and select Build from service.... 5. Select Java Service Skeleton and click Next. The window in Figure 8-107 on page 415 should appear.

414

WebSphere Business Integration for SAP

Figure 8-107 Create new port and binding

6. Select Create a new port and binding and click Next. The window in Figure 8-108 on page 416 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

415

Figure 8-108 Define locations

7. Ensure the Port type name is InternalOrderCallbackPortType and click Next. The window in Figure 8-109 on page 417 should appear.

416

WebSphere Business Integration for SAP

Figure 8-109 Location for generated classes

8. Accept the default values and click Finish. 9. In the Service view, double-click InternalOrderCallbackPortType.java to open the file within the Java editor. 10.Add the following code snippet (Example 8-3) to the user code section of the method just before the return statement. Example 8-3 Snippet - InternalOrderCallbackPortType.txt System.out.println("User: " + argUsername + " created successfully purchase order [" + argRequisitionNumber + "]." );

11.Right-click on the InternalOrderProcess.wsdl file and choose to create a Business process, as shown in Figure 8-110 on page 418.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

417

Figure 8-110 Create Business Process

12.Select WSAD-IE v5.0 Business Process. The window in Figure 8-111 on page 419 should appear.

418

WebSphere Business Integration for SAP

Figure 8-111 Select Output operation

13.Click Browse beside the output operation and select the InternalOrderProcess.wsdl file. 14.Select InternalOrderCallbackPortType and click Finish. 15.Double-click on the InternalOrder.process file to start modelling the business process. 16.From the palette, drop three Java snippets onto the process and rename them to: – prepareCall – preparepositiveNotification – preparenegativeNotification 17.From the palette, drop a Staff activity onto the process and rename it to Approval. 18.Switch to the Service perspective and expand the Service projects to see the four required WSDL files (see Figure 8-112 on page 420).

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

419

Figure 8-112 Expand external services tree

19.From the Services view, drop the sap_pa0105HubRequestServiceEJBService.wsdl file into the process (see Figure 8-113).

Figure 8-113 Drop HR Information Lookup service

20.Select the Retrieve operation. 21.Click OK if a Java Build Path Notification pops up. 22.Rename the node to gathered.

420

WebSphere Business Integration for SAP

23.From the Services view, drop the sap_bapi_requisition_createHubRequestEJBService.wsdl file into the process (see Figure 8-114).

Figure 8-114 Drop create internal order service

24.Select the Retrieve operation. 25.Click OK if a Java Build Path Notification pops up. 26.Rename the node to createPurchaseOrder. 27.From the Services view, drop the JavaMailerSOAPService.wsdl file into the process (see Figure 8-115).

Figure 8-115 Drop Notification service

28.Select the sendJMail operation. 29.Click OK if a Java Build Path Notification pops up. 30.Rename the node to notifyRequestor. 31.From the Services view, drop the MaterialApproval.wsdl file into the process. 32.Select the checkMaterial operation. 33.Click OK if a Java Build Path Notification pops up. 34.Rename the node to checkApprovalPolicy. 35.Select the Control Link tool and connect the node, as shown in Figure 8-116 on page 422.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

421

Figure 8-116 Connect business process nodes

36.Save the process with Ctrl+S. The window in Figure 8-117 should appear.

Figure 8-117 Staff activity properties

37.Right-click on the staff activity and select Staff. 38.Highlight Potential Owner and click Change. The window in Figure 8-118 on page 423 should appear.

422

WebSphere Business Integration for SAP

Figure 8-118 Select activity owner

39.In the Verb drop-down list, select Users. 40.Enter the Administrator user ID in the Description field and in the Name field and click OK. 41.Switch from the Process tab to the Server tab and select Run Process as Interruptible. The window in Figure 8-119 on page 424 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

423

Figure 8-119 Properties of getHRData

42.Right-click on the getHRData node, choose Properties, and then click on Implementation. The window in Figure 8-120 should appear.

Figure 8-120 Add variable for request

43.Select the input terminal, click New Variable, and then click OK. The window in Figure 8-121 on page 425 should appear.

424

WebSphere Business Integration for SAP

Figure 8-121 Add variable for response

44.Select the output terminal and click New Variable and then click OK. 45.Click OK. 46.Repeat the above steps for the checkApprovalPolicy, createPurchaseOrder and notifyRequestor nodes. 47.Right-click on the Approval node. 48.Choose Properties and then Data. The window in Figure 8-122 on page 426 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

425

Figure 8-122 Select staff activity parameters

49.Select the input terminal and choose Variable input from the drop-down list. .

50.Select the output terminal and click New Variable. 51.Enter the Name approvalResult and select Type Built in Boolean from the drop-down list and then click OK (see Figure 8-123).

Figure 8-123 Add variable for staff activity

426

WebSphere Business Integration for SAP

52.Click OK and save the process with Ctrl+S. 53.Right-click on the link between the Approval activity and the preparenegativeNotification node and click Properties. 54.Highlight Condition. 55.Select Built-in and choose Otherwise from the drop-down list and click OK. 56.Right-click the link between the checkApprovalPolicy activity and the Approval node and click Properties. 57.Highlight Condition. 58.Select Built-in and choose Otherwise from the drop-down list and click OK. 59.Select the prepareCall activity and click Show Java. 60.Enter the code snippet listed in “Prepare Service call” on page 652. 61.Select the preparepositiveNotification activity and click Show Java. 62.Enter the code snippet listed in “Prepare positive notification” on page 654. 63.Select the preparenegativeNotification activity and click Show Java. 64.Enter the code snippet listed in “Prepare negative notification” on page 655. 65.Right-click the link between the Approval activity and the createPurchaseOrder activity and click Properties. 66.Highlight Condition. 67.Select Java and click OK. 68.Click Show Java and enter the code in Example 8-4 into the user section. Example 8-4 Snippet - Approval2createPurchaseOrder.txt result=getApprovalResult().getValue();

69.Right-click on the link between the checkApprovalPolicy activity and the createPurchaseOrder activity and click Properties. 70.Highlight Condition. 71.Select Java and click OK. 72.Click Show Java and enter the code in Example 8-5 into the user section. Example 8-5 Snippet - checkApprovalPolicy2Approval.txt result=getCheckMaterialResponse().getCheckMaterialReturn();

73.Select Service Projects → InternalOrderProcess_Service → process.sak400 and select InternalOrder.process.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

427

74.Right-click on the file and select Enterprise Services → Generate Deploy Code .... The window in Figure 8-124 should appear.

Figure 8-124 Deploy code generation properties

75.Choose Create a new port and binding. 76.Select Inbound binding type EJB and select Next. The window in Figure 8-125 on page 429 should appear.

428

WebSphere Business Integration for SAP

Figure 8-125 File location window

77.Accept the default values in the file location screen and click Next. The window in Figure 8-126 on page 430 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

429

Figure 8-126 JNDI name selection window

78.Adjust the default JNDI name if necessary and select Finish. 79.Switch to the Server perspective. 80.Right-click on the LocalEE test server and select Add and remove projects.... 81.Add the InternalOrderProcess_Service project to run on the local test server. 82.Make sure that all other Service projects that are used in this business process are also deployed. 83.Select Finish. 84.Restart the local test server.

430

WebSphere Business Integration for SAP

8.4.9 Configure the Visual Test Connector The Visual Test Connector (VTC) can be used to simulate the Enterprise Information System. This section describes how to configure the virtual test connector to pick the original connector configuration file and simulate the SAP system. Tip: The connector configuration file is located in the workspace directory of the Integration library created earlier in this chapter, for example, such as C:\eclipse\workspace\SAP_ICL\Connectors\SAPConnector.con 1. Open the Visual Test Connector from the Windows Start Menu. 2. Select File → Create/Select Profile from the menu. 3. Select File → New Profile from the menu of the popup. The window in Figure 8-127 should appear.

Figure 8-127 Create a new VTC Profile

4. Select the connector configuration file from the Integration Component library project. 5. Set the Broker Type to WAS. 6. Type in SAPConnector as the connector name. 7. Press OK. 8. Select the new profile SAPConnector from the profile list and press OK. The window in Figure 8-128 on page 432 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

431

Figure 8-128 VTC profile list

9. Select File → Connect to start and connect the connector. The window in Figure 8-129 should appear.

Figure 8-129 Virtual Test Connector GUI

The VTC displays all business object that are sent to this connector and allows you to create the appropriate reply messages.

432

WebSphere Business Integration for SAP

8.4.10 Configure the mySAP.com Connector The mySAP.com Connector component of the adapter can be registered to start as a Windows service or triggered manually as a batch file. In this Use Case scenario, it is started using a custom batch file. This allows the user to easily see if data arrives at the connector or not. The default adapter installation includes a batch file called start_SAP.bat in the connectors\SAP directory (Example 8-6). This batch file takes parameters to parameterize the startup of a specific connector. Example 8-6 Snippet - startSAPConnector.txt C: cd C:\WebSphereAdapters\connectors\SAP\ start_SAP.bat SAP WAS -cC:\WSADIE50\workspace\SAP_ICL\Connectors\SAPConnector.con

8.5 Deployment of the business process The completed business process can deployed in two different ways. The first option is to use the export mechanism of the WebSphere Studio Application Developer Integration Edition and generate Enterprise Archive (EAR) files that can be installed on the target run-time application server. Installing Enterprise Archives is a standard WebSphere Application Server task that can be reviewed in the WebSphere InfoCenter. The second method is using the Remote Agent Controller to connect remotely to an application server and install the applications directly out of the development environment. This method is described in the following paragraph with the assumption that the WebSphere Business Integration Server Foundation is installed on a Linux server, is up and running, and the remote agent controller task is also started on the deployment target server. Note: Make sure that the remote application server root directory is mapped to a local drive letter before starting to create a new remote server instance. 1. Switch to the server perspective and create a new Server and Server Configuration. The window in Figure 8-130 on page 434 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

433

Figure 8-130 Create remote deployment server

2. Enter RemoteWBISF as the Server name and choose Integration Server as the Server type and click Next. The window in Figure 8-131 on page 435 should appear.

434

WebSphere Business Integration for SAP

Figure 8-131 Remote server host name

3. Enter the full qualified server name into the Host name field and click Next. 4. The Remote Agent Controller, which is installed on the remote server, is now contacted to retrieve application server specific information (see Figure 8-132 on page 436).

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

435

Figure 8-132 Review installation directory

5. Review the remote application server settings and adjust them if they are not correct. Click Next. The window in Figure 8-133 on page 437 should appear.

436

WebSphere Business Integration for SAP

Figure 8-133 Remote target directory type

6. Choose to create a new remote file transfer instance using the Copy file transfer mechanism and click Next. The window in Figure 8-134 on page 438 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

437

Figure 8-134 Remote target directory

7. Enter the local drive letter that maps to the remote application server root directory into the Remote target directory field. Click Next. The window in Figure 8-135 on page 439 should appear.

438

WebSphere Business Integration for SAP

Figure 8-135 Application server HTTP port

8. Verify if the correct HTTP port is used and click Finish. Before starting the remote server the first time, the same adjustments have to be done in the remote server configuration, which was done for the local test environment. Refer to 8.3.3, “Configuration of WSADIE V5.1” on page 361. Configuration check list: 򐂰 Enable Administrative Console. 򐂰 Adjust WebSphere environment variables for WebSphere MQ and IBM DB2. 򐂰 Set up Business process container. 򐂰 Set up WebSphere MQ connection factory and queue destination. 򐂰 Enable security.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

439

Tip: After making all adjustments in the remote application server configuration, restart the remote application server and review the produced log files before deploying any application. Make sure that no errors are listed in the application server log. 9. Switch to the Server perspective. 10.Right-click on the RemoteWBISF server and select Add and remove projects.... The window in Figure 8-136 should appear.

Figure 8-136 Add projects to remote server

11.Add all applications that are required for the business process to run and select Finish. 12.Restart the remote application server.

8.6 Run the business process The complete business process can be executed and tested using the built in WebSphere Process Choreographer Web client. Any user that has an account in the local operating system where the WebSphere Business Integration Server Foundation is running can place an internal order using the Web client. The user

440

WebSphere Business Integration for SAP

with the user ID Administrator is authorized to approve order requests. To simulate approval and rejection scenarios, an authorized user places three orders. 򐂰 One order for a product that does not require approval. 򐂰 Two orders for products that do require approval. The approver is rejecting one order and accepting the others.

8.6.1 Create internal orders using the Web client This section describes how to create exemplary internal orders using the WebSphere Process Choreographer Web client. 1. Open the URL http://:9080/bpe/webclient in a Web browser. The window in Figure 8-137 on page 442 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

441

Figure 8-137 Login to Web client

2. Enter valid credentials in the Login form and click OK. 3. Select Process Templates List → My Templates in the left navigation pane. The window in Figure 8-138 on page 443 should appear.

442

WebSphere Business Integration for SAP

Figure 8-138 Select InternalOrder process

4. Click on the InternalOrder process from the template list. The window in Figure 8-139 on page 444 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

443

Figure 8-139 Start InternalOrder process

5. Review process settings and click on Start Instance. The window in Figure 8-140 on page 446 should appear. 6. Fill in all input fields using the test data in Table 8-5 on page 445.

444

WebSphere Business Integration for SAP

Table 8-5 Test data Field name

Requires approval

Non-approval

Process instance name

anything

anything

deliveryDate

11.11.2004

11.11.2004

employeeNumber

00001000

00001000

materialNumber

R-1003 or DPC1017

R-4005

plant

1000

1200

quantity

1

1

Restriction: This test data assumes that a standard SAP R/3 IDES system is accessed. Otherwise, appropriate test data has to be generated before running the scenario.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

445

Figure 8-140 Place first internal order

7. Enter order data to request a non-approval product and click on Start Instance. 8. Select Process Templates List → My Templates in the left navigation pane. 9. Click on the InternalOrder process from the template list.

446

WebSphere Business Integration for SAP

10.Enter input mask by clicking on Start Instance. The window in Figure 8-141 should appear.

Figure 8-141 Place second internal order

11.Enter the order data to request a approval product that requires approval and click Start Instance.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

447

12.Select Process Templates List → My Templates in the left navigation pane. 13.Click on the InternalOrder process from the template list. 14.Enter the input mask by clicking on Start Instance. The window in Figure 8-142 should appear.

Figure 8-142 Place third internal order

448

WebSphere Business Integration for SAP

15.Enter the order data to request a approval product that requires approval and click Start Instance. 16.Select Process Templates List → My Templates in the left navigation pane. 17.Click on the InternalOrder process from the template list. 18.Enter the input mask by clicking Start Instance. 19.Select Process Instance List → Created By Me in the left navigation pane to review all created order requests. The window in Figure 8-143 on page 450 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

449

Figure 8-143 Internal order request list

20.The first order is already in the Finished state because it did not require approval. 21.Select the first order to see more details. The window in Figure 8-144 on page 451 should appear.

450

WebSphere Business Integration for SAP

Figure 8-144 Processed order details of first order

22.The output message section displays the reply from the involved back-end systems. The internal order was created and has the displayed order number. The notification e-mail was sent to the listed address. 23.Select Process Instance List → Created By Me in the left navigation pane to review all created order requests.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

451

24.Select the second order to see more details. The window in Figure 8-145 should appear.

Figure 8-145 Order details of second order

25.The order is in the Running state. The My To Dos section displays that the process is waiting for the Approval activity to complete.

452

WebSphere Business Integration for SAP

26.Select Process Instance List → Created By Me in the left navigation pane to review all created order requests. 27.Select the third order to see more details (see Figure 8-146).

Figure 8-146 Order details of third order

28.The order is in the Running state. The My To Dos section displays that the process is waiting for the Approval activity to complete.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

453

29.Click on Logout in the upper right corner.

8.6.2 Execute approval activity using the Web client This paragraph describes how to process internal orders that are waiting approval using the WebSphere Process Choreographer Web client. 1. Open the URL http://:9080/bpe/webclient in a Web browser. 2. Enter the credentials of the authorized approval user ID in the Login form, such as Administrator, and click OK. The window in Figure 8-147 on page 455 should appear.

454

WebSphere Business Integration for SAP

Figure 8-147 Approvers My To Dos list

3. Select the second order to see more details. The window in Figure 8-148 on page 456 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

455

Figure 8-148 Second order details

4. Click on the Claim button. The window in Figure 8-149 on page 457 should appear.

456

WebSphere Business Integration for SAP

Figure 8-149 Second order start approval activity

5. The second order is now in status Claimed. Click on the second order entry to start the approval activity. The window in Figure 8-150 on page 458 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

457

Figure 8-150 Approve second order

6. In this Use Case, the approver has to enter the word true into the value field to approve an internal order or anything else to reject it. 7. Enter true in the value field. 8. Click on Complete.

458

WebSphere Business Integration for SAP

9. Admit a claim on the third order in the same way as done before for the second order. The window in Figure 8-151 should appear.

Figure 8-151 Reject third order

10.Enter false in the value field. 11.Click on Complete. 12.Click on Logout in the upper right corner.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

459

8.6.3 Review approved internal orders using the Web client This section describes how to review processed internal orders using the WebSphere Process Choreographer Web client. 1. Open the URL http://:9080/bpe/webclient in a Web browser. 2. Enter the credentials of the user ID that was used originally to create the three internal order requests and click OK. 3. Select Process Instance List → Created By Me in the left navigation pane to review all created order requests. The window in Figure 8-152 on page 461 should appear.

460

WebSphere Business Integration for SAP

Figure 8-152 Internal order request list after approval

4. All internal orders are now in status Finished. 5. Select the second internal order entry to display its details. The window in Figure 8-153 on page 462 should appear.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

461

Figure 8-153 Second internal order details after approval

6. The internal order has been approved. The internal order number and notified mail address is displayed. 7. Select Process Instance List → Created By Me in the left navigation pane to review all created order requests.

462

WebSphere Business Integration for SAP

8. Select the second internal order entry to display its details. The window in Figure 8-154 should appear.

Figure 8-154 Third internal order details after rejection

9. The internal order has been rejected. No internal order has been placed.

Chapter 8. Use Case 2: WBISF using WBI Adapter for mySAP.com

463

8.7 Summary This Use Case describes the complete development lifecycle of a custom business process developed with WebSphere Studio Application Developer Integration Edition (WSADIE) and executed on WebSphere Business Integration Server Foundation (WBISF). A key capability is the reuse of service based enterprise functions to orchestrate new business processes. This enterprise services can incorporated even if they are distributed across systems and implemented on different platforms. Beyond the invocation of service based enterprise functions, the new created business process can empower users to interact with the process and influence the process flow.

464

WebSphere Business Integration for SAP

9

Chapter 9.

Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC This chapter describes a SAP integration scenario implementation using the WebSphere InterChange Server (WICS) and the WebSphere Business Integration Adapters for JDBC and mySAP.com. This gives the reader an opportunity to see how quickly an established SAP R/3 system can be integrated with an external system that may not make business sense to be moved to an SAP environment. This chapter contains the following topics: 򐂰 Operational model 򐂰 Installation of WebSphere Business Integration components 򐂰 Configuration of WebSphere Business Integration components 򐂰 Development of the WebSphere Business Integration components 򐂰 Deployment of WebSphere Business Integration components 򐂰 Running the scenario

© Copyright IBM Corp. 2004. All rights reserved.

465

9.1 Operational model In this business integration, the WebSphere InterChange Server is used as an integration hub to integrate two systems. Based on this simple integration, the aim is to show how it can be used to integrate any number of systems and processes on a larger scale, and to demonstrate how to unify multiple disparate systems into a homogeneous business processing environment. Figure 9-1 gives you an overview of the operational model.

Figure 9-1 Operational model

9.2 Installation and configuration This chapter describes how to perform an installation of WebSphere InterChange Server and its prerequisite software and WebSphere Business Integration Adapters. To obtain a fully functional installation of WebSphere InterChange Server, all of the prerequisite software must be installed: 򐂰 Microsoft Windows 2000 and service packs 򐂰 IBM WebSphere MQ 򐂰 IBM Java Runtime Environment

466

WebSphere Business Integration for SAP

򐂰 IBM DB2 V8.1 򐂰 IBM WebSphere Business Integration Adapter for mySAP.com 򐂰 IBM WebSphere Business Integration Adapter for JDBC

9.2.1 Installing Microsoft Windows 2000 Service Packs Installation of the WebSphere InterChange Server requires a minimum patch level of Service Pack 4 when installing on Microsoft Windows 2000 Professional, Server, or Advanced Server. The service pack may be obtained directly from the Windows Update site http://www.windowsupdate.com.

9.2.2 Installation of WebSphere MQ The installation of WebSphere MQ has been documented earlier; please refer to 6.3.2, “Installing WebSphere MQ V5.3 with CSD04” on page 171.

9.2.3 Configuration of WebSphere MQ 1. Edit the /mqseries/crosswords_mq.tst file to match Figure 9-2 on page 468.

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

467

Figure 9-2 WebSphere MQ local queue configuration

468

WebSphere Business Integration for SAP

2. Open a command prompt and enter crtmqm itsob.queue.manager (see Figure 9-3).

Figure 9-3 Creating a queue manager

3. Select Start → Programs → IBM WebSphere InterChange Server → IBM WebSphere MQ → Configure Queue Manager, right-click, select Properties (see Figure 9-4).

Figure 9-4 Modifying the Configure Queue manager shortcut

4. In the Target field, update the queue manager name to itsob.queue.manager. 5. Select Programs → IBM WebSphere InterChange Server → IBM WebSphere MQ → Configure Queue Manager (see Figure 9-5 on page 470).

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

469

Figure 9-5 Configuring the queue manager

6. If it runs successfully, the output looks similar to that of Figure 9-6 on page 471.

470

WebSphere Business Integration for SAP

Figure 9-6 Queue manager configuration output

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

471

9.2.4 Installation of IBM DB2 The installation of IBM DB2 is common to all the Use Cases in this book. Please refer to the installation instructions in 6.3.1, “Installing IBM DB2 UDB Version 8.1 with FixPack 5” on page 150.

9.2.5 Configuration of IBM DB2 1. From a DOS prompt, enter the following commands: net localgroup db2adm /add net localgroup db2adm db2admin /add net localgroup db2adm administrator /add

The responses should match those in Figure 9-7.

Figure 9-7 IBM DB2 administrative group creation

2. Enter db2cmd. A new DOS window should launch entitled DB2 CLP. 3. In the new DB2 CLP window, enter the following commands: db2 update dbm cfg using SYSADM_GROUP db2adm db2stop db2start

The responses should match those in Figure 9-8.

Figure 9-8 IBM DB2 administration configuration

4. Enter DB2SET DB2CODEPAGE=1208.

472

WebSphere Business Integration for SAP

5. Next, enter db2 and a screen similar to that of Figure 9-9 on page 473 is displayed.

Figure 9-9 Startup of IBM DB2 command line processor (CLP)

6. Next, enter attach to db2 user db2admin using sak400, where db2admin is the administrative ID used to access DB2 and sak400 is the password associated with that ID. Confirmation that the connection was successful is displayed in Figure 9-10.

Figure 9-10 DB2 Instance Attach

7. Issue the CREATE DATABASE command, as shown in Figure 9-11. This creates the WICS repository database to be used.

Figure 9-11 Create database command

8. Enter quit at the db2 => prompt. 9. Issue the UPDATE command, as shown in Figure 9-12.

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

473

Figure 9-12 Database manager configuration update

10.Issue the commands below. The results should be similar to those in Figure 9-13. DB2 DB2 DB2 DB2

CONNECT TO ICSREPOS UPDATE DATABASE CONFIGURATION USING MAXAPPLS 60 DEFERRED UPDATE DATABASE CONFIGURATION USING APPLHEAPSZ 4096 DEFERRED CONNECT RESET

Figure 9-13 ICSREPOS database configuration

11.Enter DB2SET DB2_RR_TO_RS=yes. 12.Enter DB2STOP. 13.Enter DB2START. 14.The tables used for this example were created using the following SQL: CREATE TABLE DB2ADMIN.AVAILABILITY ( XREFKEY INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1, NO CACHE ) , BATCH VARCHAR (10) , CHKGRULE VARCHAR (2) , CUSTNUM VARCHAR (10) , DOCNUM VARCHAR (10) , ITEMNUM VARCHAR (6) , MATERIAL VARCHAR (18) , PLANT VARCHAR (4) , STORLOC VARCHAR (4) , STOCKINDICATOR CHARACTER (10) , UNITOFMEASURE VARCHAR (3) , WBSELEMENT VARCHAR (24) , QTYAVAILABLE DECIMAL (18, 0) , INDICATOR CHARACTER (1) , ENDREPLLEADTIME DATE , CONSTRAINT CC1084350596672 PRIMARY KEY ( XREFKEY) ) ; CREATE TABLE "DB2ADMIN"."REC_COM" ("XREF_KEY" INTEGER NOT NULL ,"REQ_DATE" DATE ,"REQ_QTY" DECIMAL(18,0) ,"CMMTD_DATE" DATE , "CMMTD_QTY" DECIMAL(18,0),CONSTRAINT CC1083933830391 FOREIGN KEY (XREF_KEY) REFERENCES DB2ADMIN.AVAILABILITY (XREFKEY) ON DELETE NO ACTION ON UPDATE NO ACTION ) ;IN "USERSPACE1" ;

474

WebSphere Business Integration for SAP

CREATE TABLE "DB2ADMIN"."WMDVSX" ("XREF_KEY" INTEGER NOT NULL ,"REQ_DATE" DATE ,"REQ_QTY" DECIMAL(18,0) ,"MRP_ELEMENT" CHAR(12) , "LINE_INDEX" INTEGER, CONSTRAINT CC1083935333609 FOREIGN KEY (XREF_KEY) REFERENCES DB2ADMIN.AVAILABILITY (XREFKEY) ON DELETE NO ACTION ON UPDATE NO ACTION ) ;IN "USERSPACE1" ;

15.The sample data used is as follows: INSERT INTO DB2ADMIN.AVAILABILITY (BATCH, CHKGRULE, CUSTNUM, DOCNUM, ITEMNUM, MATERIAL, PLANT, STORLOC, UNITOFMEASURE, WBSELEMENT, QTYAVAILABLE, ENDREPLLEADTIME) VALUES ('5', 'AC', '12345', '1232', '1456', 'DPC1017', '1200', '1200', 'ST', 'duh', 258, '2004-05-02') INSERT INTO DB2ADMIN.AVAILABILITY (BATCH, CHKGRULE, CUSTNUM, DOCNUM, ITEMNUM, MATERIAL, PLANT, STORLOC, UNITOFMEASURE, WBSELEMENT, QTYAVAILABLE, ENDREPLLEADTIME) VALUES ('6', 'AC', '22345', '2232', '3456', 'DPC1017', '1201', '1201', 'ST', 'duh', 47, '2004-05-12')

9.2.6 Installation of Interchange Server 1. Launch setupwin32.exe to start the installer 2. Choose the language for the installer to run in and click Next (see Figure 9-14).

Figure 9-14 Installation language selection

3. At the Welcome screen, click Next (see Figure 9-15 on page 476).

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

475

Figure 9-15 WebSphere InterChange Server InstallShield wizard

4. Now the License Agreement screen is displayed. Accept the license agreement and click Next (see Figure 9-16).

Figure 9-16 License agreement window

5. Enter the directory to install WebSphere InterChange Server into, then click Next (see Figure 9-17 on page 477).

476

WebSphere Business Integration for SAP

Figure 9-17 Installation directory selection window

6. An options screen is presented to select which items are to be installed. Choose the options denoted in Figure 9-18 on page 478. After the appropriate installation options are chosen, click Next.

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

477

Figure 9-18 Installation options window

7. Select IBM DB2 V8.1 as the database type. Check the box next to Use IBM WebSphere MQ 5.3 for messaging support. Click Next (see Figure 9-19 on page 479).

478

WebSphere Business Integration for SAP

Figure 9-19 Database selection window

8. Enter the name of the Interchange Server. ITSOB_WICS was used in this Use Case. Click Next (see Figure 9-20).

Figure 9-20 WebSphere InterChange Server name

9. Enter the directory path to install DB2 into. The DB2 installation instructions book shows the correct path as C:\SQLLIB. Click Next (see Figure 9-21 on page 480).

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

479

Figure 9-21 IBM DB2 installation location

10.Choose to have WebSphere InterChange Server run as a service. Click Next (see Figure 9-22).

Figure 9-22 WebSphere InterChange Server service configuration

11.Click Next on the Select Program Folder screen (see Figure 9-23 on page 481).

480

WebSphere Business Integration for SAP

Figure 9-23 Start programs folder name selection

12.Review the summary information and click Next.

Figure 9-24 Review installation options

13.The installation begins and takes several minutes to complete.

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

481

Figure 9-25 Installation progress

14.After the installation has completed, the Interchange Server Configuration Wizard is launched. (Figure 9-26)

Figure 9-26 WebSphere InterChange Server configuration wizard launch window

482

WebSphere Business Integration for SAP

15.Choose the location for WebSphere InterChange Server’s log file and then click on the WebSphere MQ tab (see Figure 9-27).

Figure 9-27 WebSphere InterChange Server configuration

16.Enter the following information (Figure 9-28 on page 484), then click on the Database tab: a. Host name of the machine. b. Port number the WebSphere MQ is listening on; default is 1414. c. The name of the queue manager (this does not need to be created at this point). d. Enter the WebSphere MQ channel that to be used. This is typically CHANNEL1.

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

483

Figure 9-28 WebSphere InterChange Server configuration - WebSphere MQ

17.On the Database tab, enter the following information, then click Apply (see Figure 9-29 on page 485). a. Database: DB2 Max Connections, Max Pools, and Idle Connections should be fine with the default values. b. Event Management Database: icsrepos Login: db2admin Password: sak400 Max Connections: Unlimited c. Transactions Database: icsrepos Login: db2admin Password: sak400 Max Connections: Unlimited

484

WebSphere Business Integration for SAP

d. Repository Database: icsrepos Login: db2admin Password: sak400 Max Connections: Unlimited e. Flow Monitoring Database: icsrepos Login: db2admin Password: sak400 Max Connections: Unlimited

Figure 9-29 WebSphere InterChange Server configuration - database

18.A confirmation window shows that the WebSphere InterChange Server configuration has been updated (see Figure 9-30 on page 486). Click OK.

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

485

Figure 9-30 Configuration update confirmation

19.Click Exit (see Figure 9-31).

Figure 9-31 WebSphere InterChange Server configuration

20.A confirmation screen shows that the WebSphere InterChange Server was successfully installed (see Figure 9-32 on page 487). Click Next.

486

WebSphere Business Integration for SAP

Figure 9-32 Installation summary

21.Choose Yes, restart my computer and click Finish (see Figure 9-33).

Figure 9-33 Installation completion

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

487

Installation of 4.2.2.2 toolset patch and server patch Here we discuss the installation of the the 4.2.2.2 toolset patch and server patch.

Part I: Toolset patch 1. Ensure that WICS and all WICS tools are stopped. 2. Launch 4222_toolset_patch.exe 3. When the welcome screen is displayed, click Next (see Figure 9-34).

Figure 9-34 Toolset InstallShield wizard

4. Next, enter the directory path where WICS was installed. This field should be prepopulated with the correct value. If it is not the correct location of the WICS installation, then correct it. Click Next (see Figure 9-35 on page 489).

488

WebSphere Business Integration for SAP

Figure 9-35 WebSphere InterChange Server installation directory

5. Review the summary information, then click Next (see Figure 9-36).

Figure 9-36 Installation options review window

6. The installation should begin (see Figure 9-37 on page 490).

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

489

Figure 9-37 Installation progress

7. When it has completed, click Finish (see Figure 9-38).

Figure 9-38 Installation summary window

Part II: Server patch 1. Create a directory inside the WICS installation folder called backup.

490

WebSphere Business Integration for SAP

2. Move the following files from the lib folder to the backup folder: lib/CrossWorlds.jar->backup/CrossWorlds.jar lib/xwbase.jar->backup/xwbase.jar lib/xworacle.jar->backup/xworacle.jar lib/xwsqlserver.jar->backup/xwsqlserver.jar lib/xwutil.jar->backup/xwutil.jar

3. Move the following file from the messages folder to the backup folder: messages/InterchangeSystem.txt -> backup/InterchangeSystem.txt

4. Unzip the WICS_4.2.2.2_WIN.zip file to a temporary location. 5. Copy the following files to the appropriate location /lib/CrossWorlds.jar -> /lib/CrossWorlds.jar /lib/xwbase.jar -> /lib/xwbase.jar /lib/xworacle.jar -> /lib/xworacle.jar /lib/xwsqlserver.jar -> /lib/xwsqlserver.jar /lib/xwutil.jar -> /lib/xwutil.jar /messages/InterchangeSystem.txt -> /messages/InterchangeSystem.txt

9.2.7 JDBC Adapter Installation 1. Launch setupwin32.exe to start the adapter installation. 2. At the language selection screen, choose the language for installation and click OK (see Figure 9-39).

Figure 9-39 JDBC adapter installation language selection

3. After the wizard initializes, the Welcome screen is displayed. Click Next (see Figure 9-40 on page 492).

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

491

Figure 9-40 JDBC adapter InstallShield wizard

4. Accept the terms of the license agreement and click Next (see Figure 9-41).

Figure 9-41 License agreement

5. Enter the directory to install the adapter into. In this Use Case, the installation is done in the same directory that WebSphere InterChange Server is installed into. Click Next (see Figure 9-42 on page 493).

492

WebSphere Business Integration for SAP

Figure 9-42 Adapter installation directory

6. Review the installation options, and then click Next (see Figure 9-43).

Figure 9-43 Installation options review

7. Enter the name of WebSphere InterChange Server, as shown in Figure 9-44 on page 494. Click Next.

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

493

Figure 9-44 WebSphere InterChange Server name entry window

8. Enter the name of the program group for the adapters to be added to. The Default was chosen for this Use Case. Click Next (see Figure 9-45).

Figure 9-45 Start programs folder name selection

9. The installation should begin (see Figure 9-46 on page 495).

494

WebSphere Business Integration for SAP

Figure 9-46 Installation progress

10.After the installation has completed, a window is displayed stating that the installation has completed successfully. Click Finish (see Figure 9-47).

Figure 9-47 Installation completion

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

495

9.2.8 mySAP.com Adapter Installation Installation of the mySAP.com Adapter is identical to the JDBC Adapter installation described in 9.2.7, “JDBC Adapter Installation” on page 491.

SAP JCO 2.1.2 Installation for use with mySAP.com Adapter 1. Unzip sapjco-ntintel-2.1.2.zip to a temporary location. 2. Copy the file librfc32.dll to C:\Winnt\System32 (or into wherever the Windows System directory is). Note: Several people have commented that sapjcorfc.dll must also be copied to this location. In this Use Case, this .dll was not copied to the C:\Winnt\System32 directory and no problems were experienced. 3. Copy the entire contents of the directory where the sapjco-ntintel-2.1.2.zip was unzipped into \connectors\SAP\jco. 4. Add \connectors\SAP\jco to the Environment Path & Classpath. 5. Edit \connectors\ODA\SAP\start_SAPODA.bat to include the path to the sapjco.jar (see Figure 9-48).

Figure 9-48 start_SAPODA.bat file

6. Edit \connectors\SAP\start_SAP.bat to include the path to the sapjco.jar (see Figure 9-49 on page 497).

496

WebSphere Business Integration for SAP

Figure 9-49 start_SAP.bat file

9.3 Development In this section, the integration project is developed. The integration process involves several steps: 1. Extraction of the data from SAP via a WebSphere Business Integration Adapter into an SAP specific business object. 2. Transformation from the SAP specific business object to a generic business object which WebSphere InterChange Server can work with. 3. A collaboration process within the WebSphere InterChange Server to perform operations as needed on the generic business object. 4. Transformation from the generic business object into a IBM DB2 specific business object. 5. Injection of the IBM DB2 specific business object into IBM DB2 via a WebSphere Business Integration Adapter. 6. Repeat the process in the opposite direction. Figure 9-50 on page 498 gives an overview of the integration process.

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

497

Figure 9-50 Integration process

This process development is detailed in the following sections.

Project creation 1. Configure the workspace. a. Launch the System Manager by selecting Start → Programs → IBM WebSphere InterChange Server → IBM WebSphere Business Integration Toolset → Administrative → System Manager. b. Once the System Manager is open, select Window → Preferences. The window in Figure 9-51 on page 499 should appear. c. Expand the + button next to Workbench and select Perspective. d. Under Available perspectives, choose System Manager and click on Make Default. e. Click OK.

498

WebSphere Business Integration for SAP

Figure 9-51 System Manager preferences window

2. Right-click on the Resource icon (see Figure 9-52) and choose Close All.

Figure 9-52 WebSphere Studio Workbench

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

499

3. Exit the System Manager Tool and reopen. An error message is displayed (see Figure 9-53). This is normal; click OK.

Figure 9-53 Warning message

4. The workspace looks like the window in Figure 9-54.

Figure 9-54 System Manager

5. Right-Click on Integration Component Libraries, then choose New Integration Component Library (Figure 9-55).

Figure 9-55 Project creation

500

WebSphere Business Integration for SAP

6. Enter the project name and click Finish (Figure 9-56).

Figure 9-56 New Integration Component Library

Creation of Business Objects Here we discuss the creation of Business Objects.

Import SAP Business Object 1. Start the SAP ODA by selecting Start → Programs → IBM WebSphere Business Integration Adapters → Adapters → Object Discovery Agent → mySAP.com Object Discovery Agent (see Figure 9-57 on page 502).

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

501

Figure 9-57 Launch the SAP Object Discovery Agent (ODA)

2. In System Manager, right-click on Business Objects and select Create New Business Object... (see Figure 9-58).

Figure 9-58 Create New Business Object

3. Cancel the New Business Object dialog box when it opens (Figure 9-59).

Figure 9-59 New Business Object dialog

4. Select File → New Using ODA... (Figure 9-60 on page 503).

502

WebSphere Business Integration for SAP

Figure 9-60 Create new Business Object Using ODA

5. When the Business Object Wizard opens, click on the Find Agents button. The SAPODA agent appears in the located agents box on the right. Select the SAPODA agent, and then click Next (Figure 9-61).

Figure 9-61 Business Object Wizard - agent selection

6. The ODA must be given the appropriate information to connect to the SAP system. The items in Table 9-1 must be specified, and then click Next (see Figure 9-62 on page 504 as well). Table 9-1 ODA configuration parameters Item

Description

Username

SAP logon user name.

Password

SAP logon password.

Client

SAP logon client.

ASHostname

Host name of SAP server.

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

503

Item

Description

FileDestination

Location to save ODA generated files. Recommended location: /connectors/SAP/client.

Figure 9-62 Business Object Wizard - configure ODA

7. On the source selection screen, locate and select the BAPI_MATERIAL_AVAILABILITY, as shown in Figure 9-63 on page 505, and then click Next.

504

WebSphere Business Integration for SAP

Figure 9-63 Business Object Wizard - source selection

8. On the source confirmation screen, click Next (see Figure 9-64 on page 506).

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

505

Figure 9-64 Business Object Wizard - confirmation of source

9. On the Business Object properties screen, enter the values from Table 9-2, and then click OK. Table 9-2 Recommended business object property values Item

Value

Prefix

sap_

Verb

Retrieve

ServerSupport

Yes

UseFieldName

No

10.The next prompt (Figure 9-65) displays a selection of additional optional parameters for generation. Select No.

Figure 9-65 Optional parameter prompt

11.Next, the business objects are generated (see Figure 9-66 on page 507).

506

WebSphere Business Integration for SAP

Figure 9-66 Business object generation

12.Choose to Save the generated objects to the project in the drop-down list, open the new business objects in a separate window, shut down the ODA SAPODA, and then click Finish (see Figure 9-67).

Figure 9-67 Business Object Wizard - completion

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

507

13.Now the completed business object is presented. Change the key fields so that Material_number, Plant, and Unit_of_Measure_for_display are the key fields, as in Figure 9-69 on page 509. Leave the child business objects as they are. 14.Click on the General tab. In the Application-specific information area (Figure 9-68), look at the Server line. Notice the name of the BAPI object coming from the server as well as the name of the collaboration processing this object. Enter the name of the collaboration. Make a note of the name chosen, as it is required later.

Figure 9-68 Application-specific information

15.Save and close the business object.

508

WebSphere Business Integration for SAP

Figure 9-69 sap_bapi_material_availability business object

Import DB2 Business Objects 1. Start the JDBC ODA by selecting Start → Programs → IBM WebSphere Business Integration Adapters → Adapters → Object Discovery Agent -> JDBC Object Discovery Agent. 2. In System Manager, right-click on Business Objects and select Create New Business Object.... 3. Cancel the New Business Object dialog box when it opens. 4. Go to File → New Using ODA.... 5. When the Business Object Wizard opens, click the Find Agents button. The JDBCNC agent appears in the located agents box on the right. Select this JDBCNC agent, then click Next (see Figure 9-70 on page 510).

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

509

Figure 9-70 Business Object Wizard - agent selection

6. Now the ODA must be given the appropriate information to connect to the IBM DB2 system. The items in Table 9-3 must be specified, and then click Next (see also Figure 9-71). Table 9-3 ODA configuration parameters Item

Value

Description

UserName

db2admin

IBM DB2 logon user name

Password

sak400

IBM DB2 logon password

DatabaseURL

jdbc:db2://: /database_name

IBM DB2 specific connection URL

DatabaseDriver

com.ibm.db2.jcc.DB2Driver

IBM DB2 driver

Figure 9-71 Business Object Wizard - agent configuration

510

WebSphere Business Integration for SAP

7. On the source selection screen, locate and select the AVAILABILITY, REC_COM, and WMDVSX tables, as shown in Figure 9-72, and then click Next.

Figure 9-72 Business Object Wizard - source selection

8. On the source confirmation screen, click Next (see Figure 9-73).

Figure 9-73 Business Object Wizard - confirmation of source

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

511

9. On the Business Object properties screen (see Figure 9-74), enter db2_ for the Prefix and set Add Stored Procedure to No, and then click OK.

Figure 9-74 Business object properties

10.The business objects are generated (Figure 9-75).

Figure 9-75 Business object generation

512

WebSphere Business Integration for SAP

11.Choose to Save the generated objects to the project in the drop-down list, open the new business objects in a separate window, shut down the ODA JDBCNC, and then click Finish (see Figure 9-76).

Figure 9-76 Business Object Wizard - completion

12.The completed business objects are presented. Change the key fields so that the key fields are as in Figure 9-77 on page 514, Figure 9-78 on page 514, and Figure 9-79 on page 515. Save and close the business object.

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

513

Figure 9-77 db2_AVAILABILITY business object

Figure 9-78 db2_REC_COM business object

514

WebSphere Business Integration for SAP

Figure 9-79 db2_WMDVSX Business Object

Create the Generic_Business_Object 1. In System Manager, right-click on Business Objects and select Create New Business Object.... 2. Name the new business object Generic_Object_Object, and then click OK (see Figure 9-80).

Figure 9-80 New business object

3. Create the business object, as shown in Figure 9-81 on page 516.

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

515

Figure 9-81 Generic_Business_Object

4. Save the project and close.

Creation of maps Here we discuss the creation of maps.

Mapping from SAP to Generic Business Object 1. Right-click on Maps and select Create New Map... (Figure 9-82).

Figure 9-82 Create new map

516

WebSphere Business Integration for SAP

2. Select InventoryAvailabilityValidation_Lib, as the project contains this map, and then click Next (see Figure 9-83).

Figure 9-83 Project selection

3. Select sap_bapi_material_availability as the source business object, and then click Next (see Figure 9-84).

Figure 9-84 Source business object selection

4. Select Generic_Business_Object as the destination business object, and then click Next (see Figure 9-85 on page 518).

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

517

Figure 9-85 Destination business object selection

5. Enter a name for the map being created, and for Mapping Direction choose Application-Specific to Generic, and then click Finish (see Figure 9-86).

Figure 9-86 Map name and mapping direction specification

6. A window is displayed where items from the SAP business object can be mapped to the general business object. Map the fields shown in Table 9-4 on page 519. Mapping is achieved by clicking on the item to be mapped from in the Src table and dragging to the item to be mapped to in the Dest table.

518

WebSphere Business Integration for SAP

Table 9-4 Mapping: sap_bapi_material_availability to Generic_Business_Object Src sap_bapi_material_avail ability

Dest Generic_Business_Obje ct

Rule

Verb

Verb

Custom

Material_Number

MATERIAL

Move

Plant

PLANT

Move

Unit_of_Measure_for_disp lay

UNITOFMEASURE

Move

When mapping the columns has completed, the window should be identical to that of Figure 9-87. Notice that the Verb has a rule of Custom. When SAP generates a request, it always generates a Create request; in this Use Case, however, we are doing a Retrieve request. In order to ensure that the proper operations are performed on our request, the Verb must be manipulated.

Figure 9-87 Mapped: sap_bapi_material_availability to Generic_Business_Object

7. Double-click on the Custom Rule to launch the Activity designer. a. Expand String in the Library pane and select Replace.

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

519

b. In the Content pane, drag the Replace icon into the main graphical work area. c. Connect the output from Objsap_bapi_material_availability to the input of the Replace. d. Connect the replaced string to the input of ObjGeneric_Business_Object. e. Right-click in an empty area of the workspace and choose New Constant. f. Give the new constant a value of Create. g. Create another constant with a value of Retrieve. h. Connect the output of the Create constant to the old string input of Replace. i. Connect the output of Retrieve to new string input of Replace. j. For an example of what the completed activity diagram should look like, refer to Figure 9-88.

Figure 9-88 Activity diagram for custom verb mapping rule

8. Save and close the Activity Editor. 9. Save the map to the project, compile, and close. The custom mapping used in this instance is a workaround for RFC Server interaction. Although the connector specifies that the business object use the Retrieve verb, the request coming from SAP always generates a Create. Look for this to be resolved in an upcoming service release of the mySAP.com business adapter.

520

WebSphere Business Integration for SAP

Mapping from General Business Object to DB2 1. Create a new map, as in Mapping from SAP to Generic Business Object. 2. Use the Generic_Business_Object as the source. 3. Use the db2_AVAILABILITY object as the destination. 4. Name the map and choose Generic to Application - Specific for the Mapping Direction (see Figure 9-89).

Figure 9-89 Map name and mapping direction specification

5. Map the fields as shown in Table 9-5. The completed mapping matches that shown in Figure 9-90 on page 522. Table 9-5 Mapping for Generic_Business_Object to db2_AVAILABILITY Src Generic_Business_Object

Dest - db2_Availability

Rule

Verb

Verb

Move

MATERIAL

MATERIAL

Move

PLANT

PLANT

Move

UNITOFMEASURE

UNITOFMEASURE

Move

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

521

Figure 9-90 Mapped: Generic_Business_Object to db2_AVAILABILITY object

6. Save the map to the project, compile, and close.

Mapping from DB2 to Generic Business Object 1. Create a new map as in Mapping from SAP to Generic Business Object. 2. Use the db2_AVAILABILITY as the source. 3. Use the object Generic_Business_Object as the destination. 4. Name the map and choose Application-Specific to Generic for the Mapping Direction.

522

WebSphere Business Integration for SAP

Figure 9-91 Map name and mapping direction specification

5. Map the fields as shown in Table 9-6. The completed mapping matches that shown in Figure 9-92 on page 524. Table 9-6 Mapping for db2_AVAILABILITY to Generic_Business_Object Src - db2_Availability

Dest Generic_Business_Object

Rule

Verb

Verb

Move

MATERIAL

MATERIAL

Move

PLANT

PLANT

Move

UNITOFMEASURE

UNITOFMEASURE

Move

QTYAVAILABLE

QTYAVAILATPLNT

Move

INDICATOR

INDICATOR

Move

ENDREPLLEADTIME

ENDREPLLEADTIME

Custom

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

523

Figure 9-92 Mapped: db2_AVAILABILITY object to Generic_Business_Object

6. Double-click on the Custom Rule, which launches the Activity designer. a. Expand Date in the Library pane and select Format change. b. In the Content pane, drag the Format change icon into the main graphical work area. c. Connect the output from Objdb2_AVAILABILITY.ENDREPLLEADTIME into the date of the Format change. d. Connect the formatted date into the input of ObjGeneric_Business_Object.ENDREPLLEADTIME. e. Right-click in an empty area of the workspace and choose the New Constant. f. Give the new constant a value of MM/dd/yy. g. Create another constant with a value of yyyy-MM. h. Connect the output of the MM/dd/yy constant to the input format of Format change. i. Connect the output of the yyyy-MM to the output format of Format change. j. For an example of what the completed activity diagram should look like, refer to Figure 9-93 on page 525.

524

WebSphere Business Integration for SAP

Figure 9-93 Custom mapping for db2_AVAILABILITY to Generic_Busines_Object

7. Save the map to the project, compile, and close.

Mapping from Generic Business Object to SAP 1. Create a new map, as in Mapping from SAP to Generic Business Object. 2. Use the Generic_Business_Object as the source. 3. Use the object sap_bapi_material_availability as the destination. 4. Name the map and choose Generic to Application-Specific for the Mapping Direction (see Figure 9-94 on page 526).

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

525

Figure 9-94 Map name and mapping direction specification

5. Map the fields as shown in Table 9-7. The completed mapping matches that shown in Figure 9-95 on page 527. Table 9-7 Mapping: Generic_Business_Object to sap_bapi_material_availability Src Generic_Business_Object

Dest sap_bapi_material_availability

Rule

Verb

Verb

Move

MATERIAL

Material_number

Move

PLANT

Plant

Move

UNITOFMEASURE

Unit_of_measure_for_display

Move

QTYAVAILATPLNT

Quantity_available_at_plant_ level

Move

INDICATOR

Indicator__X___not_available__ N___no_check_

Move

ENDREPLLEADTIME

End_of_replenishment_lead_ time

Move

526

WebSphere Business Integration for SAP

Figure 9-95 Generic_Business_Object to sap_bapi_material_availability_object

Create connectors Here we discuss the creation of connectors.

The JDBC Connector 1. Right-click on the Connectors Folder and choose to Create New Connector... (see Figure 9-96).

Figure 9-96 Create new connector

2. On the New Connector window (Figure 9-97 on page 528), click Cancel.

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

527

Figure 9-97 New connector template selection

3. Go to File → Open → From File... (see Figure 9-98).

Figure 9-98 Open file menu

4. Locate and open CN_JDBC.txt. It should be located in \repository\JDBC\ (see Figure 9-99 on page 529).

528

WebSphere Business Integration for SAP

Figure 9-99 JDBC template file

5. Various property sheets for the JDBC Connector are displayed. Click on the Connector-Specific Properties tab. The properties of interest are listed in Table 9-8. All other properties should remain at their default values (see Figure 9-100 on page 530). Table 9-8 JDBC Connector: Connector-Specific tab recommended settings Property

Value used

Application Password

sak400

ApplicationUserName

db2admin

DatabaseURL

jdbc:db2://itsoe.isicc.de.ibm.com:50000/i avdb

JDBCDriverClass

com.ibm.db2.jcc.DB2Driver

RDBMSVendor

IBM

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

529

Figure 9-100 JDBC connector specific properties

6. Click on the Standard Property tab. Set the properties as specified in Table 9-9 (see Figure 9-101 on page 531 as well). Table 9-9 Standard properties

530

Property

Value used

AgentTraceLevel

5

ApplicationName

JDBCConnector

BrokerType

ICS

ControllerTraceLevel

5

WebSphere Business Integration for SAP

Property

Value used

DeliveryTransport

IDL

PollFrequency

no

Figure 9-101 JDBC connector specific properties

7. Click on the Supported Business Objects tab. Add the db2_AVAILABILITY object and the Generic_Business_Object, as in Figure 9-102. Be sure to enable Agent Support for the db2_AVAILABILITY object.

Figure 9-102 JDBC connector supported business objects

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

531

8. Click on the Associated Maps tab, select Explicit Binding for db2_AVAILABILITY, and then select Map_From_DB2_to_GenBusObj (see Figure 9-103).

Figure 9-103 JDBC connector map associations

9. Save to Project and close.

The SAP Connector 1. Right-click on the Connectors Folder and choose Create New Connector.... 2. On the New Connector window, click Cancel. 3. Select File → Open → From File.... 4. Locate and open CN_SAP.txt. It should be located in \repository\SAP\ (see Figure 9-104).

Figure 9-104 SAP connector template file

5. Next, various property sheets for the SAP Connector are displayed. Click on the Connector-Specific Properties tab. The properties of interest are listed in Table 9-10 on page 533. All other properties should remain at their default values (see Figure 9-105 on page 533).

532

WebSphere Business Integration for SAP

Table 9-10 SAP Connector Configuration Property

Value used here

ApplicationPassword ApplicationUserName

cargill

Client

800

Hostname

siccserv.isicc.de.ibm.com

Language

E

Sysnr

00

RfcProgramId

INVENTORYAVAILABILITYVALIDATION

Modules

RfcServer

Figure 9-105 SAP connector-specific properties

6. Click on the Standard Property tab. Set the properties specified in Table 9-11 on page 534 (see also Figure 9-106 on page 534).

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

533

Table 9-11 Standard properties Property

Value used

AgentTraceLevel

5

ApplicationName

SAPConnector

BrokerType

ICS

ControllerTraceLevel

5

DeliveryTransport

IDL

PollFrequency

no

Figure 9-106 SAP connector standard properties

7. Click on the Supported Business Objects tab. Add the sap_bapi_material_availability object and the Generic_Business_Object, as in Figure 9-107 on page 535. Be sure to enable Agent Support for the sap_bapi_material_availability object.

534

WebSphere Business Integration for SAP

Figure 9-107 SAP connector supported business objects

8. Click on the Associated Maps tab, select Explicit Binding for sap_bapi_material_availability, and then select Map_From_SAP_to_GenBusObj (see Figure 9-108).

Figure 9-108 SAP connector map associations

9. Save to Project and close.

Create Collaboration Template 1. Right-click on the Collaboration Templates folder and choose Create the New Collaboration Template (see Figure 9-109).

Figure 9-109 Create new collaboration template

2. A New Template dialog is presented. Enter a name for the template, and then click OK (see Figure 9-110 on page 536).

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

535

Figure 9-110 New collaboration template creation

3. Right-click on Definitions and select Open Template Definitions (see Figure 9-111).

Figure 9-111 Edit template definitions

4. Click on the Ports and Triggering Events tab. 5. Add two Ports, an Inbound and an Outbound. 6. Assign the BO Type of Generic_Business_Object for both ports, and then click Apply (see Figure 9-112).

Figure 9-112 Port creation and assignments

7. Right-click on Scenarios and select New Scenario... (see Figure 9-113 on page 537).

536

WebSphere Business Integration for SAP

Figure 9-113 Scenario creation

8. Give the new Scenario a name, then click OK (see Figure 9-114).

Figure 9-114 Scenario naming

9. In the new scenario window, add an Action Node and an End Success Node (see Figure 9-115 on page 538). 10.Connect the Start Node to the Action Node. 11.Connect the Action Node to the End Success Node. 12.Right-click on the Action Node and select Add service node.

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

537

Figure 9-115 Collaboration scenario

13.Right-click on the Service Node and select Properties.... 14.In the Regular service call area, set the Port to outbound, the Verb to Retrieve, and the BO variable to triggeringBusObj. 15.Click Apply and then Close (see Figure 9-116 on page 539).

538

WebSphere Business Integration for SAP

Figure 9-116 Set collaboration target port

16.Back at the Template Definitions, click on the drop-down in the Retrieve column of the Inbound Port and select the newly created scenario (see Figure 9-117).

Figure 9-117 Set scenario that triggers collaboration

17.Save to Project and Close.

Implementation 1. Right-click on Collaboration and select Create New Collaboration Object (see Figure 9-118 on page 540).

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

539

Figure 9-118 Launch collaboration creation wizard

2. On the Create New Collaboration screen (Figure 9-119 on page 541), select the template that was created previously and give the new Collaboration Object a name, and then click Next.

540

WebSphere Business Integration for SAP

Figure 9-119 Create new collaboration

3. Bind the Inbound Port to the SAP Connector and the Outbound Port to the JDBC Connector (see Figure 9-120 on page 542).

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

541

Figure 9-120 Port bindings

4. Click Finish (see Figure 9-121 on page 543).

542

WebSphere Business Integration for SAP

Figure 9-121 Collaboration general properties

9.4 Deployment 1. In order to deploy the project to the WebSphere InterChange Server, a project must first be created under InterChange Server Projects in User Projects. To do this, right-click on Interchange Server Projects and select New ICS Project (see Figure 9-122 on page 544).

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

543

Figure 9-122 WebSphere InterChange Server project creation

2. Give the new project a name. Select the check box next to InventoryAvailabilityValidation_Lib (Figure 9-123), and then click Finish (see Figure 9-123).

Figure 9-123 New user project

544

WebSphere Business Integration for SAP

3. Now the WebSphere InterChange Server must be started so that the project may be deployed to it. Locate the installation directory of the WebSphere InterChange Server and go into the bin directory. Launch the PersistentNameServer.bat file (see Figure 9-124).

Figure 9-124 Location of PerstentNameServer.bat

4. When the Persistent Name Server has started successfully, a DOS prompt with the word “Ready” is displayed (see Figure 9-125).

Figure 9-125 Persistent Name Server startup

5. Next, start the IBM WebSphere InterChange Server. Select Start → Programs → IBM WebSphere InterChange Server → IBM WebSphere InterChange Server → IBM WebSphere InterChange Server (see Figure 9-126).

Figure 9-126 WebSphere InterChange Server startup

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

545

6. One way to verify that the server has successfully started is to view the InterchangeSystem.log for an entry saying InterChange Server “” is ready. This log is found by default in the WebSphere InterChange Server installation directory. 7. Once the WebSphere InterChange Server has started successfully, return to System Manager. In the InterChange Server Component Management window, right-click on InterChange Server Instances and select Register Server. 8. Enter the Server name, the User name, and the Password. By default, the User name and Password to access a WebSphere InterChange Server are admin and null, respectively (see Figure 9-127).

Figure 9-127 Register a WebSphere InterChange Server

9. In the WebSphere Business Integration System Manager window under InterChange Server Projects, click and drag the project to the server registered in Step 8. This starts the deployment process (see Figure 9-128 on page 547).

546

WebSphere Business Integration for SAP

Figure 9-128 Deployment

10.After the project has deployed successfully, a dialog box is displayed, as seen in Figure 9-129.

Figure 9-129 Deployment confirmation

11.A warning message maybe received that the project has uncompiled items. Simply right-click on the Maps folder and select Compile All, then right-click on the Collaboration Templates folder and choose Compile All. 12.As a final check, verify that the maps have been compiled on the server also (see Figure 9-130 on page 548).

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

547

Figure 9-130 Map compilation

13.If the Collaboration Objects cannot be started, then compilation of the Collaboration Templates maybe required (see Figure 9-131).

Figure 9-131 Collaboration template compilation

9.5 Testing 1. Log onto the SAP system and go to the Display and Maintain RFC destinations panel (sm59). Click Create (see Figure 9-132 on page 549).

548

WebSphere Business Integration for SAP

Figure 9-132 RFC destinations

2. Name the new RFC Destination. USE_CASE_2 was used in this configuration. 3. Specify an Activation Type of Registered Server Program. 4. Specify a Program ID for the program to use when connecting, and then save (see Figure 9-133 on page 550).

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

549

Figure 9-133 RFC destination creation

5. Go to the Function Builder panel (se37), enter the BAPI_MATERIAL_AVAILABILITY Function Module, and click on the Test icon (see Figure 9-134 on page 551).

550

WebSphere Business Integration for SAP

Figure 9-134 SAP function module selection screen

6. Enter the RFC target sys. This is the RFC Destination Specified in Step 2 above. 7. Enter Plant, Material, and Unit information, and then click on the Execute icon (see Figure 9-135).

Figure 9-135 Test function module

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

551

8. Provided everything is done properly, a request should go from SAP to WebSphere InterChange Server to DB2 and data should be returned to the SAP Window, as in Figure 9-136.

Figure 9-136 Results received as Export parameters

9. Congratulations! SAP has successfully integrated with IBM DB2 via the WebSphere InterChange Server.

9.6 Summary This scenario describes a complete business process that is representative of a system integrating with SAP. The process was developed using tools supplied with the WebSphere InterChange Server. A key point about this process is how one can effectively plug into SAP and interact with any remote database. This functionality will allow you to integrate with systems that may not yet have

552

WebSphere Business Integration for SAP

adapter support, but use a common database. The ability to perform such an integration without having to develop custom code greatly enhances a company’s ability to stay current with new code releases of software. Being able to take advantage of new software and new capabilities faster brings a business closer to the realization of the on demand workplace.

Chapter 9. Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC

553

554

WebSphere Business Integration for SAP

10

Chapter 10.

Use Case 4: Integration of SAP XI with WBI InterChange Server This chapter describes the implementation of Use Case 4, CustomerDataRepository, and demonstrates how to exchange documents between Lotus Domino databases and SAP R/3 using two Integration Brokers, IBM WebSphere InterChange Server, and SAP Exchange Infrastructure in between. The chapter starts with an overview of the underlying business process. Based on this introduction, the operational model is described. After that, the configuration of the predominant building blocks of the implementation, WebSphere Business Integration adapter for Lotus Domino, WebSphere Business Integration adapter for SAP Exchange Infrastructure, and SAP Exchange Infrastructure itself, are covered. The chapter ends with a description of how to run the overall scenario.

© Copyright IBM Corp. 2004. All rights reserved.

555

10.1 Overview of Use Case CustomerDataRepository The business process that underlies Use Case CustomerDataRepository is depicted in Figure 10-1.

IBM WebSphere Business Integration InterChange Server

Lotus Domino Server 1

2

4

SAP Exchange Infrastructure

SAP R/3 5

6

Customer Contacts Database

Figure 10-1 Business process model of Use Case CustomerDataRepository

1. The process starts when a document representing customer data is created or updated in the Lotus Domino database Customer Contacts. 2. New or updated documents within this database are detected by the WebSphere Business Integration adapter for Lotus Domino and transferred to the WebSphere InterChange Server. Therefore, Domino documents get converted into an InterChange Server internal data format called a DominoDocument business object. 3. Within the WebSphere InterChange Server, the application dependent business object DominoDocument is mapped into a generic business object Customer before it get processed by a collaboration object (Figure 10-2 on page 557). A collaboration object represents an WebSphere InterChange Server internal business process. For the implementation described in this chapter, the process is left rather simple in that it just copies business objects from its input to its output port.

556

WebSphere Business Integration for SAP

Collaboration Object Customer

Customer

Map

Adapter for Domino

DominoDocument

Map

Debmas01

Adapter for SAP XI

WebSphere InterChange Server

Figure 10-2 WebSphere InterChange Server internal processing

4. The Customer business object is mapped to a DEBMAS01 business object, which is an XML representation of a SAP IDoc structure DEBMAS01. After that, the DEBMAS01 business object is transmitted as a XML message by the WebSphere Business Integration adapter for SAP Exchange Infrastructure, using JMS as the underlying transport mechanism. 5. At the SAP Exchange Infrastructure, the XML message is received by the corresponding JMS adapter and relayed to the IDoc adapter, where it gets converted into an IDoc of type DEBMAS01, before it is forwarded to the SAP R/3 back-end system (Figure 10-3). 6. Finally, this IDoc instance is inserted into the SAP R/3 internal database.

SAP Exchange Infrastructure

JMS Adapter

IDoc Adapter

Figure 10-3 SAP Exchange Infrastructure internal components

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

557

10.2 Operational model for CustomerDataRepository As has been shown in Figure 10-1 on page 556, the implementation of Use Case CustomerDataRepository consists of four major building blocks: 򐂰 The Domino Server for the creation of Customer documents 򐂰 The WebSphere InterChange Server receiving documents from the Domino Server and relaying them to the SAP Exchange Infrastructure as XML messages 򐂰 The SAP Exchange Infrastructure that receives XML messages from the WebSphere InterChange Server and forwards them to the SAP R/3 as a back-end system 򐂰 The SAP R/3 that is responsible for processing the business logic Each of the four major building blocks is installed and configured on a dedicated node, as shown in Figure 10-4. For each node, the operational model lists the installed software systems that are relevant to the implementation of the described Use Case. . itsoc

itsoe Lotus Domino Server, V6.0

IBM WebSphere Business Integration InterChange Server, V4.2.2 WBI Adapter for Lotus Domino, V1.1

WBI Adapter for XI, V1.0

IBM WebSphere MQ V5.3

itso_xi SAP Exchange Infrastructure (XI) V3.0 JMS Adapter

IDoc Adapter

SAP Web AS Java, V6.40

SAP Web AS ABAP, V6.40

siccserv ALE

SAP R/3 Enterprise

Oracle 9.2.0

IBM DB2, V8.1

Figure 10-4 Operational model: CustomerDataRepository implementation

This chapter assumes that the systems shown in Figure 10-4 are already installed on their respective nodes. Therefore, it only covers the configurations of these systems as far as the implementation of this Use Case is concerned. In particular, it is assumed that the WebSphere InterChange Server is installed on node ITSOC according to the description given in Chapter 9, “Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC” on page 465. When configuring the WebSphere InterChange Server, use the host specific values shown in Table 10-1 on page 559.

558

WebSphere Business Integration for SAP

Table 10-1 Host specific configurations: implementation of ICS on node ITSOC Name

Value

hostname

ITSOC

InterChange Server name

ITSOC_WICS

WebSphere MQ queue manager

itsoc.queue.manager

In addition, the following adapters need to be installed on node ITSOC: 򐂰 Adapter for SAP Exchange Infrastructure (SAP XI) Version 1.0 򐂰 Adapter for Lotus Domino Version 1.1 with FixPack 1.1.2 Follow the Installation description in Chapter 9, “Use Case 3: WICS using WBI Adapter for mySAP.com and JDBC” on page 465. If, during the installation, the name of the WebSphere InterChange Server and the destination folder is required, the same name must be chosen as that of the WebSphere InterChange Server. Furthermore, the following WebSphere InterChange Server components, which are provided as their own installation packages, must be installed: 򐂰 The XML Data Handler V2.5.2 򐂰 The IBM WebSphere Business Integration Collaboration Foundation Finally, a Lotus Notes Version 6 client must be installed on ITSOC for configuring the adapter for Lotus Domino and running the Use Case scenario.

10.3 Configuring the adapter for Lotus Domino This section describes the configuration and testing of the WebSphere Business Integration adapter for Lotus Domino (adapter for Lotus Domino for short). It starts with the introduction of the architecture of the adapter for Lotus Domino. It then covers the configuration of the Domino server and the configuration of the adapter itself. Before integrating the adapter into the overall implementation, it is tested separately. The last part of this section introduces the testing methodology applied within this chapter. Before covering the adapter for Lotus Domino in more detail, the general architecture of a connector is described. A connector consists of an application specific part, the connector agent, and a more generic part, the connector controller (Figure 10-5 on page 560).

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

559

Application Data Connector Agent Protocols and Transformations

Application Specific Business Object Connector Controller Map

Generic Business Object Collaboration Object

Figure 10-5 Components of a connector

The connector agent communicates with the back-end system using its native formats and protocols, and converts application data, which it exchanges with the back-end system, into the WebSphere InterChange Server internal format of a business object. This business object, which the agent creates, is still dependent on the application. If the back-end system sends and receives data of different formats, the connector agent must be configured to handle business objects of different types. The connector agent sends the application dependent business object to the connector controller either using WebSphere MQ, JMS, or CORBA IIOP. Driven by the defined map, the application dependent business object is transformed into a generic business object within the connector controller, before it is submitted to a collaboration object.

560

WebSphere Business Integration for SAP

10.3.1 The architecture of the adapter for Lotus Domino The adapter for Lotus Domino supports bidirectional exchange of Lotus Domino documents with external back-end systems using the WebSphere InterChange Server as an intermediate broker. It supports event processing, meaning it automatically transfers new or updated documents to the WebSphere InterChange Server, as well request processing, which allows external back-end systems to store their data in a Lotus Domino database. Figure 10-6 on page 562 gives an overview of the components involved in processing the events occurring within the Lotus Domino database Customer Contacts. The following steps are executed: 1. Part of the adapter is a special process, the Event Listener, and an Event Table, a Lotus Domino database. The Event Listener monitors the Lotus Domino database Customer Contacts for new, deleted, or updated Customer documents. If the Event Listener detects such an event, it stores it as an event document in the Event Table database. 2. The connector agent of the adapter for Lotus Domino polls the Event Table for unprocessed documents. 3. Having detected a new event document, the connector agent retrieves the corresponding customer document from the Customer Contacts database. 4. The connector agent converts the retrieved Domino document into a DominoDocument business object and submits it to the connector controller. 5. The connector controller converts the application specific business object DominoDocument to a generic business object Customer before relaying it to the WebSphere InterChange Server for further processing. The steps for request processing are similar. Since the implementation of the CustomerDataRepository only comprises event processing, these steps are not elaborated on in more detail.

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

561

InterChange Server

Lotus Domino Server

Business Object "Customer" 5

Lotus Domino Database "Customer Contacts"

Connector Controller

Business Object "Domino Document"

3

1

4 Connector Agent

Event Listener

2

Event Table

Figure 10-6 Architecture of the adapter for Lotus Domino for event processing

10.3.2 Configuring the Domino server for the adapter The implementation of Use Case CustomerDataRepository requires a Lotus Domino server on node ITSOE that hosts the Customer Contacts database (Figure 10-4 on page 558). Besides creating the Customer Contacts database, the configuration of this Domino server itself must be modified in order to support the event processing, as described in 10.3.1, “The architecture of the adapter for Lotus Domino” on page 561. The steps comprise the configuration of a technical user that the adapter needs for accessing the Domino server and the installation of the event processing parts.

Technical user for the adapter for Lotus Domino The adapter for Lotus Domino uses the credentials of the Domino user Domino Adapter for accessing the Domino databases. Ensure that this Domino user exists and that it has the right to run restricted and unrestricted Java agents on the Domino server. The latter must be specified within the server configuration document in the Domino Directory database on the Domino server.

562

WebSphere Business Integration for SAP

1. Open the Lotus Notes client, log in with a user that has administrator privileges, select File → Database → Open, choose the server ITSOE, and the select the directory database with the file name names.nsf. 2. Open this database and navigate to the folder Configuration → Servers → All Server documents. Open this document, switch to the Security tab, and add the user Domino Adapter to the item Run restricted Java/JavaScript/COM.

Creating the Customer Contacts database The Customer Contacts database is created using the standard Lotus Notes database template Personal Address Book. This template provides the contact form that defines the structure of customer documents. To create the database: 1. Call the tool Lotus Domino Designer® and log in with a user with manager privileges. 2. Within the Lotus Domino Designer, click on the button Create a new database. The window New Database opens, where the new Customer Contacts database is specified, as depicted in Figure 10-7 on page 564, and press OK. After creation, configure the access privileges for the technical user Domino Adapter so that the adapter can access the database subsequently. This configuration is done using the Lotus Notes client with a user that has Manager privileges on the newly created Customer Contacts database.

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

563

Figure 10-7 Create the Customer Contacts database

Assuming that an icon for the database has been added to the workspace, right-click on that icon and select Database → Access Control ... and add the technical user Domino Adapter to the access control list with the Editor privilege (Figure 10-8).

Figure 10-8 Access Control List for Customer Contacts

564

WebSphere Business Integration for SAP

Configuring the Event Table database The installation of the adapter for Lotus Domino delivers the files for the event processing and event listener in the directory C:\WICS\connectors\Domino\dependencies on node ITSOC. Copy these files as depicted in Table 10-2 to the node ITSOE of the Domino server, assuming that C:\lotus\Domino is the Domino server root directory. Table 10-2 Files to copy into the Domino server directories Files

Description

Where to copy on ITSOE

BIALD_emptytrash.gif BIALD_movetotrash.gif BIALD_newconfig.gif

Event Table bitmaps

C:\lotus\Domino\Data

BIALD_EventTable.nsf

Event Table

C:\lotus\Domino\Data

nbiald.dll

Event listener

C:\lotus\Domino

The Event Table database must be configured to hold documents that describe events in the Customer Contacts database. 򐂰 Open the Event Table database that has been installed before using a Lotus Notes Client and select File → Database → Open. Choose ITSOE as the server and BIALD_EventTable as the database and click Open (Figure 10-9).

Figure 10-9 Open Event Table database

򐂰 Switch to EventConfigurationView in the navigation pane in the left panel of the opened database. 򐂰 Select New Configuration from the menu bar 򐂰 Enter the name customer.nsf of the Customer Contacts database into the field Database path of the configuration document. In the Event Type row, select the Create, Delete, and Update events and save the document.

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

565

Figure 10-10 Event Table configuration document

Modify NOTES.INI Add the line in Table 10-3 to the C:\lotus\Domino\NOTES.INI configuration file on ITSOE. This entry starts the Event listener process together with the Domino server. Table 10-3 Add-on to NOTES.INI EXTMGR_ADDINS=nbiald.dll

The adapter for Lotus Domino uses HTTP and IIOP for accessing the Domino server. Ensure that these protocols are supported by checking that HTTP and DIIOP are defined for the entry ServerTask in the NOTES.INI configuration file on ITSOE (Table 10-4 on page 558). Table 10-4 Entries within NOTES.INI for HTTP and IIOP ServerTasks=Update,Replica,Router,AMgr,AdminP,CalConn,Sched,DIIOP,DECS,HTTP

The modifications of the NOTES.INI file only become effective after a restart of the Domino server. Finally, copy the file NCSO.jar that contains the Lotus Domino toolkit for Java/CORBA from the Domino server directories on ITSOE to the directory of the adapter for Lotus Domino on ITSOC, as specified in Table 10-5. Note: This replaces the version of the NCSO.jar file that comes with the installation of the adapter, which does not contain all the required exceptions. Table 10-5 Copying NCSO.jar

566

Copy file from ITSOE

Copy file to on ITSOC

C:\lotus\Domino\java\NCSO.jar

C:\WICS\connectors\Domino\NCSO.jar

WebSphere Business Integration for SAP

10.3.3 Configure the Domino connector Configuring an WebSphere InterChange Server adapter for receiving or sending business objects usually consists of the following steps: 򐂰 Definition of the application dependent and generic business object types 򐂰 Definition of maps between the application dependent and generic business object types 򐂰 Configuration of the connector configuration itself For testing a connector configuration, a collaboration object has to be defined additionally. All these configurations are performed from within the System Manager that provides an Eclipse-based development and management environment for the WebSphere InterChange Server development projects. As depicted in Figure 10-11, the system manager offers various tools for developing integration applications, managing the components of an application in integration libraries and user projects, and deploying the application on the WebSphere InterChange Server. This section starts with a setup of the System Manager environment. Subsequently, configuration of the business objects are described. After that, the map specification is introduced. Finally, this section ends with a description of a test procedure for the adapter. Tools

Integration Library

User Project

Business Object Designer

Business Objects

Business Objects

Map Designer

Maps

Maps

Process Designer

Relationships

Relationships

Connector Configurator

Collaborations

Collaborations

Relationship Designer

Connectors

Connectors

Design

Build Unit of Deployment

InterChange Server

Deploy

Figure 10-11 Elements of the WBI system manager

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

567

Setup of the System Manager Start the system manager by issuing Start → Programs → IBM WebSphere InterChange Server → Administrative → System Manager. Create the Integration Component Library CustomerDataRepository_Lib, which contains all configuration objects for the Use Case described within this chapter: 򐂰 Select the context menu of the Integration Component Libraries folder within the WebSphere Business Integration System Manager view and choose New Integration Component Library... (Figure 10-12).

Figure 10-12 Create a new integration library

򐂰 Fill in the project name CustomerDataRepository_Lib within the New Integration Component Library and press the Finish button (Figure 10-13).

Figure 10-13 Name the new integration library

Configure the business object DominoDocument The configuration of the connector for Lotus Domino requires an application dependent business object type DominoDocument and a generic business object type Customer (Figure 10-6 on page 562). The business object type DominoDocument provides a complete description of all fields of a document within a Domino database. An instance of a DominoDocument consists of an array of DominoItem child business objects that each represent the description and contents of a single field within the Domino document (Figure 10-14 on page 569).

568

WebSphere Business Integration for SAP

Figure 10-14 Business object type DominoDocument

The installation of the adapter for Lotus Domino delivers a template for the DominoDocument business object type that must be installed within the library CustomerDataRepository_lib: 򐂰 Navigate to the library CustomerDataRepository_lib within the left pane of the system manager, expand it, right-click on Business Objects, and select Create New Business Object ... (Figure 10-15).

Figure 10-15 Create New Business Object

򐂰 The window of the Business Object Designer is opened. Ignore the prompt for specifying Business Object Name and Application Specific Information by pressing the Cancel button. Then select New → Open from file and browse to the file C:\WICS\repository\Domino\BIADominoDocument.txt. 򐂰 After successful validation, the business object definition of DominoDocument is displayed in the business object designer (Figure 10-16 on page 570). Press the Save button and close the Business Object Designer tool.

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

569

Figure 10-16 DominoDocument business object type in Business Object Designer

Create the business object Customer The implementation of Use Case CustomerRepositoryData requires a mapping between input data of type DominoDocument to output data of type DEBMAS01 within the WebSphere InterChange Server (Figure 10-2 on page 557). In order to limit the number of mappings, in particular for a multi-party scenario, the WebSphere InterChange Server supports a two-step mapping scheme. Therefore, incoming application dependent data is mapped onto a generic business object, which is converted, after some internal processing, into the application-dependent structure of the receiving side. The generic business object Customer, which is defined for the CustomerDataRepository scenario, contains the essential information that is going to be conveyed from the Customer Contacts database to the SAP R/3

570

WebSphere Business Integration for SAP

back-end system. It contains an attribute for each field that is to be extracted from a document within the Customer contacts database. 򐂰 Start creating the Customer business object by navigating to the library CustomerDataRepository_lib within the left pane of the system manager, expand it, right-click on Business Objects and select Create New Business Object ... (Figure 10-15 on page 569). 򐂰 Set the name of the new business object to Customer and press the OK button (Figure 10-17).

Figure 10-17 New business object Customer

򐂰 Within the business object designer, right-click on the row with entry ObjectEventId and select Insert above from the context menu (see Figure 10-18). 򐂰 Starting with that new row, insert the attributes, as shown Figure 10-19 on page 572.

Figure 10-18 Insert the first row for the business object Customer

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

571

Figure 10-19 Customer business object type in the Business Object Designer

Define the map from DominoDocument to Customer Having specified the generic business object, the next task is to specify the mapping from the DominoDocument to Customer business object type (Figure 10-6 on page 562). This mapping, called DominoDocument_Customer, is defined using the Map Designer tool, which offers a graphical development tool for creating and modifying maps. A map is made up of a series of transformations that define how to calculate the value of each attribute in the destination business object. The map designer tool supports simple transformation steps, such as copying a source attribute to a destination attribute, as well as the development of customized transformations directly in Java. The latter is applied for the DominoDocument_Customer mapping, since in this case there is only an indirect correspondence between the attributes of the DominoDocument and Customer business objects, as is illustrated in Figure 10-20 on page 573.

572

WebSphere Business Integration for SAP

DominoDocument NoteID = 986 DatabaseName = customer.nsf ServerName = ITSOE ... Items =

DominoItem[0] ... ... DominoItem[n] Name = FirstName Type = String Values = ...

Customer DominoItemValue[0] Value = Hans

... FirstName = Hans

DominoItem[n+1] Name = LastName Type = String Values = ...

LastName = Meier DominoDocument_Customer Mapping

...

DominoItemValue[0] Value = Meier

Figure 10-20 Mapping of a DominoDocument to a Customer business object

As has been shown in Figure 10-14 on page 569, the overall business object DominoDocument contains an array of DominoItem business objects. Each DominoItem business object represents a field within a Contact document of the Domino database Customer Contacts. The attribute Name of the DominoItem business object contains the name of the field it is representing. Each DominoItem contains a child business object DominoItemValue that holds the field value within its attribute value. Based on these structures, the algorithm for performing the DominoDocument_Customer mapping must traverse the DominoDocument business object and check whether a DominoItem describes an attribute in the Customer business object. The details of this algorithm are specified in pseudo-code in Example 10-1 on page 574.

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

573

Example 10-1 Pseudo code for the DominoDocument_Customer mapping for each DominoItem array element in DominoDocument if (the value of the attribute “name” holds the name of an attribute of the business object “Customer”) then this attribute of the business object “Customer” gets the value of the related “Value” attribute within the child business object “DominoItemValue” assigned.

An exception to the processing of the above is exclude ObjectEventId from mapping, because this attribute is used by the WebSphere InterChange Server for its internal processing purposes In the following steps, the custom mapping is defined using the map designer tool. Thereby, a simple map is created first, which is then refined using Java code and given mapping-classes. 1. Open the map designer tool by selecting Create New Map... from the context menu of the Maps folder within the CustomerDataRepository_Lib (Figure 10-21).

Figure 10-21 Create a new map

2. A window with New Map with the name of the Integration library appears; accept this name and press Next. 3. Select the source DominoDocument as the source of the map and press Next (Figure 10-22 on page 575).

574

WebSphere Business Integration for SAP

Figure 10-22 Selecting the source of the DominoDocument_Mapping

4. In the next window, select Customer as the destination business object and press Next. 5. Finally, name the map DominoDocument_Customer (Figure 10-23), select the mapping direction as being Application-Specific to Generic, and press Finish (see Figure 10-23).

Figure 10-23 Name the map “DominoDocument_Customer”

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

575

The map designer tool appears, in which the DominoDocument_Customer map is specified. As a first step, define a Move transformation for the Verb and the ObjectId attributes (Figure 10-24).

Figure 10-24 Move transformation for the Verb and ObjectId attributes

6. Within the Diagram tab, select the source attribute Verb. 7. Use Ctrl-Drag to move the destination attribute Verb within the destination Customer. Repeat this step for source attribute NoteId and destination attribute ObjectId. As a result, blue arrows from the source to the destination with the rule Move are displayed. Having defined the Move transformations, the mapping for the other attributes must be developed according to the outline in Example 10-1 on page 574. The implementation of this algorithm is an example of a custom transformation, which contains the Java code to transform the source attributes to the destination attributes. The Java code is entered using the Activity Editor, which is part of the Map Designer Tool, and using the Java classes that are part of the WebSphere InterChange Server Mapping API. 򐂰 Define the initial custom transformation by dragging an arbitrary source attribute onto an arbitrary destination attribute. As a result, a custom rule is displayed behind the source attribute (Figure 10-25 on page 577). Note: Even though the custom transformation is independent of any attributes of the source and destination business objects, this initial custom transformation has to be specified in order to be able to open the Activity Editor.

576

WebSphere Business Integration for SAP

Figure 10-25 Define the initial custom map

򐂰 Right-click on the Custom symbol within the Rule column and select View Source. This opens the Activity Editor in its Java view, displaying the Java source code that the map designer generated for the transformation just specified. 򐂰 In this view, switch to the edit mode by selecting Tools → Edit Code and replace everything in there with the Java snippet shown in Example 10-2 on page 578. This code implements the algorithm sketched in Example 10-1 on page 574 in that it uses the WebSphere InterChange Server MAP API to access the attributes of the different source and sink business objects. Save the code and close the Activity Editor. 򐂰 In Map Designer Tool again, switch to the Table tab. Define the execution order of the transformation here, as shown in Figure 10-26. This is important, because otherwise the custom transformation would overwrite any other transformation.

Figure 10-26 Execution order of the transformation steps

򐂰 Save the map by issuing File → Save → To Project and press Yes when prompted to compile the map, because otherwise it would not be active.

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

577

Example 10-2 Java code for the DominoDocument_Customer mapping { BusObj myDominoItem = null; // Get the items array from the DominoDocument object BusObjArray myDominoItemArray = ObjDominoDocument.getBusObjArray("Items"); if (myDominoItemArray != null) { for (int i = 0; i < myDominoItemArray.size(); i++) { // work on each DominoItem business object myDominoItem = myDominoItemArray.elementAt(i); if (myDominoItem != null) { // check if value of attribute "Name" describes // an attribute within ObjCustomer String myName = myDominoItem.getString("Name"); if ((ObjCustomer.exists(myName)) && (myName.compareTo("ObjectEventId")!=0)) { // destination business object contains an attribute that matches // the entry within the DominoItem BusObjArray myDominoItemValueArray = myDominoItem.getBusObjArray("Values"); if (myDominoItemValueArray != null) { // set the value to the attribute found within destination business object BusObj myDominoItemValue = myDominoItemValueArray.elementAt(0); ObjCustomer.set(myName, myDominoItemValue.getString("Value")); } } } } } }

Create the configuration for the Lotus Domino connector Installation of the adapter for Lotus Domino provides a connector configuration template that is adjusted to the requirements of the implementation of the CustomerDataRepository Use Case. 1. Start configuring the connector by expanding the library CustomerDataRepository_Lib in the left panel of the system manager and navigating to the Connectors folder. 2. Right-click Connectors and select Create New Connector ... (Figure 10-27 on page 579).

578

WebSphere Business Integration for SAP

Figure 10-27 Create connector configuration

3. A pop-up window appears, prompting for a New Connector Name. Ignore that window by pressing the Cancel button. Then, within the Connector Configurator, press File → Open → From File ..., browse to the file C:\WICS\repository\Domino\BIACN_Domino.txt, which contains the connector configuration template, and click Open. 4. The standard configuration properties appear within the Connector Configurator window (Figure 10-28 on page 580). Leave all property values as provided, except for changing the values of properties AgentTraceLevel and ControllerTraceLevel to 5 for testing purposes.

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

579

Figure 10-28 Standard properties of the connector for Lotus Domino

5. Switch to the Connector specific Properties tab (Figure 10-29 on page 581). For the property DominoServerName, enter the node name of the Domino server (here ITSOE), and provide the user name and the password the adapter uses for accessing the Domino server. Note that the password is shown in clear text. Leave all the other properties as provided.

580

WebSphere Business Integration for SAP

Figure 10-29 Connector specific properties

6. Switch to the Supported Business Objects tab and insert Customer and DominoDocument in the column Business Object Name using the drop-down list provided for the fields of this column. Select Agent Support for the DominoDocument entry, since business objects of this type are handled by the connector agent (Figure 10-30).

Figure 10-30 Supported Business Objects properties

7. On the Tab Associated Maps, choose the map DominoDocument_Customer from the drop-down list in the field of the column Associated Map right next to the business object DominoDocument and select Explicit Binding (Figure 10-31). In this way, the maps to be applied on given business objects are defined.

Figure 10-31 Associated Maps properties

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

581

8. Finally, switch to the Messaging tab and specify the properties that define the WebSphere MQ manager (Figure 10-32).

Figure 10-32 Messaging properties

9. Save the configuration to the project by issuing File → Save → To Project. In the same way, save the configuration to the file, for example, C:\WICS\repository\sak400\Domino\DominoConnector.cfg, by selecting File → Save → To File. 10.The configuration file is used as a parameter for the start script of the connector agent. Change the entry of the start script within the Program Menu by selecting Start → Programs → IBM WebSphere Business Integration Adapters → Connectors → Lotus Domino Connector, right-click on the entry, select Properties, and ensure that the target field conforms to Example 10-3. Example 10-3 DominoConnector start script C:\WICS\connectors\Domino\start_Domino.bat Domino ITSOC_WICS -cC:\WICS\repository\sak400\domino\DominoConnector.cfg

Create a collaboration template Before testing the connector for Lotus Domino (as described in 10.3.4, “Test the configured connector for Lotus Domino” on page 586), you must define a collaboration, which contains the business process logic to be applied to the customer business objects within the WebSphere InterChange Server. A collaboration can perform various types of Java operations, ranging from simple data piping processing, in which data get copied from a source to a sink without any filtering or verification, to complex synchronizations from various data sources. For Use Case CustomerDataRepository, only the simple data-piping processing is required.

582

WebSphere Business Integration for SAP

The development of collaborations is divided into the development of a collaboration template and the configuration of a collaboration object. A collaboration template contains the actual code of a collaboration (Figure 10-33). It consists of: 򐂰 Ports that determine the input and output business object types 򐂰 Scenarios that specify the processing of business objects 򐂰 Triggering events that define which scenarios are started by the arrival of a business object with a certain verb Scenarios might be specified graphically within the WebSphere InterChange Server Process Designer tool using a UML like notation called an activity diagram. From this activity diagram, Java code is generated.

Port: From BO Type: Customer

Triggering Events:

Customer.Update Customer.Create

Scenario: Main

Port: To BO Type: Customer

Figure 10-33 Components of a collaboration template

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

583

A collaboration object is an instantiation of a template in which the ports get associated with a certain connector. For example, given that a template for the required “data piping” processing is available, a collaboration object can be defined that receives customer business objects from the Domino connector and pipes them to another connector by merely associating the From-Port with the DominoConnector and the To-Port with the other connector. With WebSphere InterChange Server there are many templates readily available for different business scenarios. Therefore, templates do not have to developed from scratch, but are gained by adjusting an existing one to given requirements. One of the basic templates is the CollaborationFoundation template that either is installed together with WebSphere InterChange Server or separately. The CollaborationFoundation template is a tool that facilitates the development of various user-defined collaborations. It also supports data-piping as default processing and can be configured to use different business flows by means of property variables. The template provides three ports, two of which, the To and From port, are actually used in the Use Case implementation. Follow the instructions below for installation and configuration of CollaborationFoundation: 1. The installation of the CollaborationFoundation provides a repository file for the CollaborationFoundation template in the directory C:\WICS\CollaborationFoundation. Import this file by selecting Import From Repository File from the context menu of the library CustomerDataRepository_Lib (Figure 10-34).

Figure 10-34 Import from Repository File

2. Enter the installation directory of the CollaborationFoundation template (Figure 10-35 on page 585).

584

WebSphere Business Integration for SAP

Figure 10-35 Enter the installation directory of CollaborationFoundation

3. As a result, the CollaborationFoundation appears under Category Collaboration Templates. Double-clicking on the CollaborationFoundation opens it in the Process Designer tool. Using this tool, the Customer business object is assigned to the existing ports. 4. Within the left pane of the Process Designer tool, open the CollaborationFoundation folder and double-click on Definitions. Since the template is defined with a default business object Controller, a warning window appears asking to remove the existing ports. After clicking No three times, the Template Definition window appears (Figure 10-36). 5. Within that window, go to the tab Ports and Triggering Events where the associations of the ports to business objects are defined. Select the port type Customer from the drop-down list in the BO Type column for each port. 6. In the same window, assign the events, meaning the arrival of Customer business object with a certain verb, that trigger the execution the Main scenario that is defined in the CollaborationFoundation template. Do this using the drop-down list in the Verb column. In this case, associate the Verbs Create, Delete, and Update with the Main scenario (Figure 10-36).

Figure 10-36 Associate Customer business object & Collaboration Foundation ports

7. Apply the changes. Then compile the generated Java Code by selecting Compile from the File menu and saving the template to the project by selecting File → Save → To Project.

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

585

10.3.4 Test the configured connector for Lotus Domino Before proceeding with the configuration of the adapter for SAP Exchange Infrastructure, a test method for the configured connector for Lotus Domino is described. This test is conducted using the tool Visual Test Connector (VTC), which is delivered with IBM WebSphere InterChange Server. The VTC simulates the activities of an arbitrary connector. The VTC is configured with the configuration profile of the connector to be simulated. It provides a Graphical User Interface for sending and receiving those business objects that the connector understands to the WebSphere InterChange Server; it behaves exactly as the connector it simulates. Note that testing a connector within the VTC tests only the right configuration of a connector. A convenient scenario for testing the communication between the connector and its back-end system as well is depicted in Figure 10-37. Visual Test Connector Send "Customer" Receive "Customer"

Port Connector

InterChange Server

Domino Connector

Domino Server

Figure 10-37 Using the Visual Test Connector

In this scenario, the VTC is used as a driver that receives and sends business objects from a “real” configuration of the Domino connector, which is directly connected to its Domino server. Internally, the VTC is configured with a PortConnector that represents a connector with no underlying code and as such is very well suited for simulation scenarios. Thus, the VTC together with the PortConnector is used as a representative of the SAP Exchange Infrastructure system. Taking this approach, the port connector can be replaced by the adapter for SAP Exchange Infrastructure without any change to the configuration of the connector for Lotus Domino. The next paragraph covers the configuration of the PortConnector. Since deployment of the library CustomerDataRepository to the WebSphere InterChange Server and the definition of a collaboration object are prerequisites of this test, these topics are described subsequently.

586

WebSphere Business Integration for SAP

Configure the PortConnector The configuration of the PortConnector consists of only standard but no connector specific properties. It is obtained by copying the configuration of the DominoConnector, deleting all its connector specific properties, and configuring it to support the Customer business object: 1. Make a copy of the DominoConnector under the name PortConnector. For this purpose, open the Connector Configurator by double-clicking DominoConnector in the CustomerDataRepostory_Lib, select File → Save as → To Project, name it PortConnector, and press Save (Figure 10-38).

Figure 10-38 Get PortConnector as a copy of DominoConnector

2. The next steps are performed on the PortConnector copy. Click on the Standard Properties tab, and change the property ApplicationName to PortConnector (Figure 10-39).

Figure 10-39 Enter PortConnector as ApplicationName

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

587

3. Switch to the Connector Specific Properties tab, select all rows, and select Edit → Delete Row. 4. Likewise, switch to the Supported Business Objects tab, and delete all rows except for the Customer business object name. 5. Save the configuration to the project by selecting File → Save → To Project, as well as File → Save → To File, and enter the file name, for example, C:\WICS\repository\sak400\Domino\PortConnector.cfg. Note that for the communication between the connector agent of the PortConnector and its connector controller, a WebSphere MQ queue AP/PORTCONNECTOR/ITSOC_WICS must be configured (see “Prepare WebSphere MQ for the test” on page 589).

Define a collaboration object Testing the Domino Connector, as shown in Figure 10-37 on page 586, requires a collaboration object that pipes Customer business objects from the DominoConnector to the PortConnector. Create this collaboration object from the template CollaborationFoundation by performing the following steps: 1. Within the library CustomerDataRepository_Lib, navigate to the Collaboration Objects, right-click on it and select Create New Collaboration Objects... (Figure 10-40).

Figure 10-40 Create New Collaboration Object

2. In the Create New Collaboration window, highlight the CollaborationFoundation template, enter Domino2PortConnectorCollaboration as the collaboration object name, and press Next. 3. In the Bind Ports window, bind the From port to the DominoConnector and the To port to PortConnector, as shown in Figure 10-41 on page 589. Since all ports of a collaboration object must be bound, also bind the DestinationAppRetrieve port, even though it is not used within this scenario.

588

WebSphere Business Integration for SAP

Figure 10-41 Bind ports of Domino2PortConnectorCollaboration

4. Pressing Finish creates the collaboration object. As a result, a graphical view on the new collaboration object is shown in the right pane of the system manager displaying the binding just configured (Figure 10-42).

Figure 10-42 Graphical view on Domino2PortConnectorCollaborationObject

Prepare WebSphere MQ for the test Before deploying the library to the WebSphere InterChange Server, create the WebSphere MQ queues that the connector agents of the PortConnector and the DominoConnector use for the communication with their respective connector controllers. Define the queues to be created in a file, as specified in Example 10-4. Example 10-4 File C:\WICS\repository\sak400\domino\createQueues4Domino.tst DEFINE QLOCAL(AP/DOMINOCONNECTOR/ITSOC_WICS) DEFINE QLOCAL(AP/PORTCONNECTOR/ITSOC_WICS)

Then use the file as an input to the runmqsc command, as in Example 10-5. Example 10-5 runmqsc for creating the queues runmqsc itsoc.queue.manager < C:\WICS\repository\sak400\domino\createQueues4Domino.tst

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

589

Deploy the CustomerDataRepository Project on ICS Having defined all the components within the library CustomerDataRepository_Lib, the business objects, connector configurations, maps, and collaboration objects must be deployed on the WebSphere InterChange Server in order to be executed there. Before starting the deployment, connect the WebSphere InterChange Server to the system manager. 1. Ensure that the WebSphere InterChange Server is started. If it is not, start the PersistentNameServer first and then start the InterChange Server. 2. Ensure that the WebSphere InterChange Server instance ITSOC_WICS is registered with the system manager. If not, navigate to the InterChange Server Component Management pane within the system manager and call Register Server from the context menu of the folder InterChange Server Instances (Figure 10-43).

Figure 10-43 Start registering the ICS to the system manager

3. Within the Register, new server windows specify the ICS instance, as shown in Figure 10-44, using the default user ID and password.

Figure 10-44 Specify the ICS instance to the system manager

4. Select ITSOC_WICS from folder InterChange Server instances, right-click, and select Connect (Figure 10-45 on page 591).

590

WebSphere Business Integration for SAP

Figure 10-45 Connect the System Manager to the InterChange Server instance

Next, define a user project as a unit of deployment, which contains links to those components of a library that should be deployed: 1. Open the folder User Projects within the left pane of the system manager. Right-click on the subfolder InterChange Server Projects and select New ICS Project (Figure 10-46).

Figure 10-46 Select New ICS Project

2. A pop-up window appears. Select the library CustomerDataRepository_Lib from which the project imports its components, name the project CustomerDataRepository_Proj (Figure 10-47), and press the Finish button. .

Figure 10-47 Create CustomerDataRepostory_Proj

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

591

Note: It is a good practice to delete an existing deployed project before deploying a new one. If this is done, do not forget to restart the server 3. Start deploying by selecting Deploy user project... from the context menu of the user project CustomerDataRepository_Proj (Figure 10-48).

Figure 10-48 Call Deploy user project

4. In the Deploy Wizard window, select the WebSphere InterChange Server name ITSOC_WICS and the project and press Finish (see Figure 10-49).

Figure 10-49 Deploy CustomerDataRepository_Proj

5. A return message is displayed that the connector was deployed successfully. The message might contain a hint that a collaboration object cannot be activated because its publisher (the connector) is not available. The reason for this is that the components of the user project get deployed in a different order than is required. In order to fix this problem, either deploy the components in a successive order or restart the WebSphere InterChange Server. 6. For the latter, select Shutdown → Gracefully from the context menu of the instance ITSOC_WICS (Figure 10-50 on page 593).

592

WebSphere Business Integration for SAP

Figure 10-50 Shutdown ITSOC_WICS gracefully

7. After restart, connect the System Manager to the WebSphere InterChange Server and check that the collaboration object, the connectors, and the map are activated (Figure 10-51).

Figure 10-51 Check that components of ITSOC_WICS are activated

Execute the actual test scenario The actual test is started with the creation of a document within the Domino database Customer Contacts. After saving it to the database, the processing starts as described in 10.3.1, “The architecture of the adapter for Lotus Domino” on page 561. Finally, it is received and displayed within the test connector.

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

593

1. Start the test by checking that the WebSphere InterChange Server is up and running, that it is connected to the System Manager, and all its components have been started 2. Start the DominoConnector agent with Start → Programs → IBM WebSphere Business Integration Adapters → Connectors → Lotus Domino Connector. Now configure the VTC for the test: 1. Start the VTC by selecting Start → Programs → IBM WebSphere InterChange Server → IBM WebSphere InterChange Server Toolset → Development → Test Connector. 2. Create a profile for VTC by selecting File → Create/Select Profile.... A window called New Profile appears; select File → New Profile, enter the fields as in Figure 10-52, and press OK.

Figure 10-52 Create new profile for VTC

3. The new profile appears in the Connector Profile window (Figure 10-53). Highlight it and press OK.

Figure 10-53 Select profile in VTC

594

WebSphere Business Integration for SAP

4. Then, connect the VTC to the WebSphere InterChange Server using the selected profile by selecting File → Connect (Figure 10-54).

Figure 10-54 Connect the VTC to ICS using the selected profile

At this point, all components on the node ITSOC are ready for the test. The next step is to prepare the Lotus Domino side. 1. Open the Customer Contacts database on node ITSOE using a Lotus Notes client. 2. Create a new Contact document within the opened database. Not all fields need to be specified (Figure 10-55 on page 596).

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

595

Figure 10-55 Create “Contact” document in “Customer Contacts” database

3. Saving and closing the document starts the event processing, as depicted in Figure 10-6 on page 562. Check that the event listener has detected the document by looking for a corresponding event within the view EventArchiveView of the Event Table database (Figure 10-56).

Figure 10-56 Event in “Event Table” database

596

WebSphere Business Integration for SAP

4. Finally, the document is received within the VTC (Figure 10-57).

Figure 10-57 Received business object in VTC

5. Double-clicking on the business object within the pane BO Request List opens the business object in its own window and displays the values of its attributes (Figure 10-58).

Figure 10-58 Attribute values of received business object

Note: The adapter for Lotus Domino generates the verb Update for new as well as changed documents within a Domino database (Figure 10-58).

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

597

10.4 Configure the adapter for SAP XI To complete the implementation of Use Case CustomerDataRepository, the WebSphere Business Integration adapter for SAP Exchange Infrastructure V1.0 (adapter for SAP XI for short) is configured to exchange XML messages that represent IDocs of type DEBMAS01 with SAP Exchange Infrastructure. This section starts with a description of the architecture of the adapter for SAP Exchange Infrastructure. It then describes the generation of business objects of type DEBMAS01. Subsequently, the mapping of Customer business objects to the DEBMAS01 business objects is covered. Then, the definition of the meta-objects for configuring the connector and the connector itself are described. Note that the configuration of SAP Exchange Infrastructure, which is a back-end system from the WebSphere InterChange Server’s perspective, is described in 10.5, “Configure SAP Exchange Infrastructure” on page 611. The test of the adapter for SAP Exchange Infrastructure is postponed to the end of that section.

10.4.1 The architecture of the adapter The adapter for SAP Exchange Infrastructure V1.0 allows the WebSphere InterChange Server to asynchronously exchange business objects with SAP Exchange Infrastructure using a WebSphere MQ based JMS implementation. Figure 10-59 gives an overview of how requests from the WebSphere InterChange Server to SAP Exchange Infrastructure are processed by the adapter. WBI_XI_Queue SAP XI

XML Message

WBI Adapter for SAP XI

Business Object

WBI InterChange Server

XML Data Handler

Figure 10-59 Request processing of the adapter for SAP XI

On receiving a business object that represents a request from the WebSphere InterChange Server, the adapter for SAP Exchange Infrastructure calls the XML data handler that converts the business object into an XML message. The XML message is determined by the business object type that the adapter is

598

WebSphere Business Integration for SAP

associated with. This XML message is put into a WebSphere MQ queue. There the JMS layer makes the appropriate calls to open a queue session and routes the message. Event processing, in which the adapter receives XML messages from SAP Exchange Infrastructure and relays them to the WebSphere InterChange Server, works similar to the request processing described before. Both kinds of processing are metadata driven, meaning that major format conversions and message routing functions are defined by meta-objects.

10.4.2 Generate Business Object Definitions A WebSphere Business Integration adapter is configured to transport business objects of a defined type. In the case of the adapter for SAP Exchange Infrastructure, the type of its configured business objects is derived from IDocs. These IDocs are defined by SAP or self-defined. The IDoc structure can be downloaded from an Interface Repository available on the Internet at http://ifr.sap.com, or imported from the repository of the SAP Exchange Infrastructure system that is used for the implementation of this Use Case. The latter approach, which is described in 10.5.8, “Import the XML schema for DEBMAS01” on page 639, is recommended, since it ensures that the XML messages generated by the WebSphere InterChange Server are compatible with the IDoc structures that the SAP back-end system uses. Regardless of which of the two approaches is taken, the result is a XML schema representing the IDoc structure. Business object types can be generated from a XML schema using the WebSphere InterChange Server tool XML Object Discovery Agent (ODA). This section assumes that an XML schema for DEBMAS01 is available in the file debmas01.xsd and shows how to use the XML Object Discovery Agent for generating the business object type from this file. 1. Launch the XML object discovery agent (ODA) from the program menu by selecting Start → Programs → IBM WebSphere Business Integration Adapters → Adapters → Object Discovery Agent → XML Object Discovery Agent. As a result, a DOS window is opened, displaying that the XML Object Discovery Agent is listening on port 57037. 2. Open the library CustomDataRepository_Lib in system manager, navigate to the folder Business Objects, and select Create New Business Objects... (Figure 10-15 on page 569). 3. The Business Object Designer opens. Press Cancel when the pop-up window for New Business Object appears. Then select File → New Using ODA (Figure 10-60 on page 600).

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

599

Figure 10-60 Issuing New Using ODA within the Business Object Designer

4. The Business Object Wizard appears with the located agent displayed (if not, then press Find Agents). Pressing on the agent fills the agent’s host and port (Figure 10-61).

Figure 10-61 Select XML ODA Agent

5. After pressing Next, a window appears showing that the essential parameters for generating business objects are configured. Within the Value column, fill in the FileName property with the fully specified name of the XML schema file, which has been imported before (Figure 10-62 on page 601).

600

WebSphere Business Integration for SAP

Figure 10-62 Enter the file name of the DEBMAS01 XML schema file

6. In the next window, select the XML top level object DEBMAS01 as the source node from which the Object Discovery Agent generates business object definitions (Figure 10-63). Confirm this selection on the next page, and press OK on the next window, where properties for all business objects selected might be specified.

Figure 10-63 Select DEBMAS01 as the source node for ODA generation

7. If the generated business objects are saved to the project in step 6, it fails to validate the utmost business object definition for DEBMAS01 because it misses at least one key attribute. Click on the option to open the new business objects in a separate window (Figure 10-64).

Figure 10-64 Save generated business object to CustomerDateRepository library

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

601

8. The DEBMAS01 business object is shown in the Business Object Designer. Click on the ROOT attribute as a key attribute and save it to the library by selecting File → Save. As the result, the hierarchical business object type DEBMAS01 with several child business objects definitions are generated (Figure 10-65).

Figure 10-65 Select ROOT attribute as key for business object DEBMAS01

10.4.3 Define the map Customer_Debmas01 The adapter for SAP Exchange Infrastructure is connected to the adapter for Lotus Domino using a collaboration object of template CollaborationFoundation, which pipes Customer business objects from one connector the other (Figure 10-2 on page 557). Since the adapter for SAP Exchange Infrastructure sends XML messages generated from DEBMAS01 business objects, its respective connector controller must map a generic Customer business object to an application specific DEBMAS01 business object For this purpose, the map Customer_Debmas01 is defined. Therefore, only the standard attribute transformations Move, which copies a source attribute to the destination attribute, and Set value, for assigning constant values, are used (Figure 10-66 on page 603).

602

WebSphere Business Integration for SAP

The sinks of the mapping are determined by the structure of the hierarchical IDoc type DEBMAS01 as defined by SAP. The different components of a DEBMAS01 type, called segments, describe various kinds of customer data. As shown in Figure 10-65 on page 602, the XML Object Discovery Agent generates child business object types for each segment. For the implementation described within this chapter, it has been chosen to map source attributes to different child business object types, as indicated within the Comment column in Figure 10-66. 򐂰 Source attributes that describe more common company information are mapped to attributes within child business object E1KNA1M. The corresponding segment is meant to contain master customer basic data. 򐂰 Source attributes that describe the customer contact itself are mapped to attributes within child business object E1KNVKM. The corresponding segment is defined to contain master customer master contact person data.

Figure 10-66 Definition of map Customer_Debmas01

Perform the following steps for defining the map: 1. Select Create New Map... from the context menu of the Maps folder within the library CustomerDataRepository_Lib (Figure 10-21 on page 574). 2. The Create New Map wizard opens. Select CustomerDataRepository_Lib as the project, and press Next. 3. Select Customer as the source business object on the next page and press Next.

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

603

4. Select Debmas01 as the destination business object on the next page and press Next. 5. Enter the name Customer_Debmas01 for the map and select Generic to Application Specific as the mapping direction. Press Finish. The Map Designer window opens (Figure 10-67). 6. Define the map there as shown in Figure 10-66 on page 603 and save the map.

Figure 10-67 Name map Customer_Debmas01 and select Mapping Direction

10.4.4 Configure the configuration meta-object In contrast to the Domino connector that processes business objects of just one type, the connector for SAP Exchange Infrastructure is supposed to handle business objects of various types. For event processing, this means that the adapter must be able to map different message types from SAP Exchange Infrastructure to different business object types of the WebSphere InterChange Server. For request processing, the adapter must be able to allocate messages derived from various business objects to various queues. And for both directions, it might be necessary to support different message formats (most of the time, the format is XML, but you should not be limited to it). These additional configuration properties are specified in a format that conforms to a business object structure. Since these business objects contain data that describe how to handle other business objects, they are also called meta-objects. 1. To create a configuration for a meta-object for the adapter, select Create New Business Objects... from the context menu of the Business Objects folder within the CustomerDataRepository_Lib (Figure 10-15 on page 569).

604

WebSphere Business Integration for SAP

2. The New Business Object window opens. Fill in the name MO_SAPXIConnector for the new meta-object and press the OK button (Figure 10-68).

Figure 10-68 Name the meta-object MO_SAPXIConnector

3. The Business Object Designer window opens with a new business object definition. Right-click on the first row of the business object definition and select Insert above (Figure 10-69).

Figure 10-69 Insert new row in MO_SAPXIConnector

4. For the new row, set the column values as defined in the new row with the entries shown in Figure 10-70. The entries specify the queues, which the adapter uses to send XML messages to SAP Exchange Infrastructure.

Figure 10-70 Define values for MO_SAPXIConnector

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

605

Note: Since the implementation described here only consists of request processing of one business object type, the contents of the meta-object MO_SAPXIConnector can be kept simple. However, configuring meta-objects provide much more functionality, in particular for event processing.

10.4.5 Configure the XML data handler meta-object The XML data handler is a data conversion module whose primary role is to convert business objects to and from XML documents (Figure 10-59 on page 598). Its usage from within the connector for SAP Exchange Infrastructure is configured by means of data handler meta-objects. The installation of the XML data handler delivers a template from which the meta-object can be created: 1. Open the library CustomerDataRepository_Lib within the system manager and select Create New Business Object... from the context menu of the folder Business Objects (Figure 10-15 on page 569). 2. Within the Business Object Designer, select File → Open From File..., browse to the file C:\WICS\DataHandlers\repository\DataHandlers\MO_DataHandler_XML.txt, and open it. 3. The hierarchical meta-object MO_DataHandler_Default with references to a child-object MO_DataHandler_DefaultXMLConfig appears within the Business Object Designer (Figure 10-71 on page 607). Set the attribute BOPrefix to blank, since in this implementation no prefix is used for the generated business objects. Leave all other values as provided by the template. The meta-object contains two important entries: The attribute ClassName specifies the data-handler class to use with the specified MIME type (text_xml, in this case). The attribute NameHandlerClass defines the class name of the name handler, which is responsible for extracting the name of a business object from the root element of an XML message during event processing of the adapter.

606

WebSphere Business Integration for SAP

Figure 10-71 Definition of XML data-handler meta-object

10.4.6 Configure the connector for SAP XI Having specified the map and all the business objects, the next step is to create the configuration for the connector for SAP Exchange Infrastructure. The installation of this connector yields a template for the connector configuration from which to start the configuration: 1. Within the library CustomerDataRepository_Lib, position the cursor on Connectors node and choose Create New Connector... in the context menu (Figure 10-27 on page 579). 2. As before, press Cancel on the pop-up window New Connector. Within the Connector Configurator window, select File → Open → From File, browse to the file C:\WICS\repository\SAPXI\BIA_CN_SAPXI.txt, and press Open. 3. The template opens in the Connector Configurator. Leave the Standard Properties as given within the template. They are identical to the standard properties of the DominoConnector, except for those values shown in Table 10-6. Table 10-6 Standard properties for the connector for SAP XI Property

Values

ApplicationName

SAPXIConnector

MessageFileName

BIA_SAPXIAdapter.txt

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

607

4. Select the tab Connector Specific Properties and modify the entries as shown in Figure 10-72. The main configurations pertain to the specification of the queues that the connector for SAP Exchange Infrastructure works on. Specify all queues as Uniform Resource Identifier (URI) with the syntax queue://itsoc_wics.queue.manager/SAPXICONNECTOR/XI_WBI_QUEUE. The meaning and creation of the queues are explained in Example 10-6 on page 610.

Figure 10-72 Connector specific properties of the SAPXIConnector

5. Also ensure that you put in the name of the configuration meta-object MO_XIConnector as a value of the property ConfigurationMetaObject and the value MO_DataHandler_Default for the property DataHandlerConfigMO. 6. Select the tab Supported Business Objects and specify the meta-objects as well as the application specific and generic business objects that the connector works on (Figure 10-73 on page 609).

608

WebSphere Business Integration for SAP

Figure 10-73 Supported business objects for the SAPXIConnector

7. Note that the connector agent does not support the generic business object Customer, since the mapping, which is selected using the tab Associated Maps (Figure 10-74), is performed by the connector controller.

Figure 10-74 Specify “Customer_Debmas01” as associated maps

8. Finally, change the values within the Messaging tab according to the ones displayed in Figure 10-32 on page 582. 9. After you are finished with the configuration, save the connector configuration to the project CustomerDataRepository_Lib as SAPXIConnector and also save it to a file location, as, for example, C:\WICS\repository\sak400\SAPXI\SAPXIConnector.cfg. This configuration file is needed later on for starting the connector.

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

609

10.4.7 Create WebSphere MQ queues As shown in Figure 10-75, the adapter shares, with SAP Exchange Infrastructure, the queue WBI_XI_Queue for request processing and, if needed, the queue XI_WBI_Queue for event processing in which the adapters receives XML messages from SAP Exchange Infrastructure. WBI_XI_Queue

SAP XI

XI_WBI_Queue

WBI Adapter for SAP XI

Figure 10-75 Shared queues between SAP XI and WBI Adapter for SAP XI

The WebSphere Business Integration Adapter for SAP Exchange Infrastructure supports additional administration queues, in which application dependent processing events are kept. Example 10-7 on page 611 gives an overview of these queues. Note that all the queues whose names start with SAPXIConnector are optional for the implementation of this scenario. Their specification here is only given for the sake of completeness. Define the queues to be created in a file as specified in Example 10-6. Example 10-6 File:\WICS\repository\sak400\SAPXI\createQueues4SAPXI.tst ********************************************************************/ * SAPXIConnector/XI_WBI_Queue: For reading messages from SAP XI * SAPXIConnector/WBI_XI_Queue: For writing messages to SAP XI * SAPXIConnector/ArchiveQueue: For archiving messages that have been processed * SAPXIConnector/ReplyQueue: For handling reply messages * SAPXIConnector/InProgressQueue: For messages during their processing * SAPXIConnector/ErrorQueue: For messages that could not be processed * SAPXIConnector/UnsubscribedQueue: For messages that are not subscribed * AP/SAPXICONNECTOR/ITSOC_WICS: For delivery between XI connector and ICS ********************************************************************/ DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE DEFINE

610

QLOCAL(SAPXIConnector/XI_WBI_Queue) QLOCAL(SAPXIConnector/WBI_XI_Queue) QLOCAL(SAPXIConnector/ArchiveQueue) QLOCAL(SAPXIConnector/ReplyQueue) QLOCAL(SAPXIConnector/InProgressQueue) QLOCAL(SAPXIConnector/ErrorQueue) QLOCAL(SAPXIConnector/UnsubscribedQueue)

WebSphere Business Integration for SAP

DEFINE QLOCAL(AP/SAPXICONNECTOR/ITSOC_WICS)

Then use the file as an input to the runmqsc command, as in Example 10-7. Example 10-7 runmqsc for creating the queues runmqsc itsoc.queue.manager < C:\WICS\repository\sak400\SAPXI\createQueues4SAPXI.tst

10.5 Configure SAP Exchange Infrastructure This section describes the required configuration steps for the SAP Exchange Infrastructure (SAP XI) for the implementation of Use Case CustomerDataRepository. From the perspective of SAP Exchange Infrastructure, WebSphere Interchange Server is the source back-end system from which it receives XML messages using JMS. R/3 is the destination back-end system where IDocs generated from the XML messages are submitted using the SAP Exchange Infrastructure IDoc adapter (Figure 10-76).

WBI InterChange Server

JMS Adapter

SAP XI

IDoc Adapter

R/3 Backend

Figure 10-76 Overview: SAP XI processing for CustomerDataRepository

10.5.1, “Overview of SAP XI configuration” on page 612 starts with an overview of the general components to be configured for SAP Exchange Infrastructure. Then the description of the configuration itself follows. It is assumed that a completely installed and, for general processing, configured SAP Exchange Infrastructure system is up and running node itso_xi. The following part of this section covers the preparation of the R/3 back-end system. This section ends with showing how to test the configured SAP Exchange Infrastructure together with the WebSphere Business Integration adapter for SAP Exchange Infrastructure.

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

611

10.5.1 Overview of SAP XI configuration Look at Figure 10-77 to get an overview of the major components of SAP Exchange Infrastructure: 򐂰 The Integration Repository provides the environment for the development of integration scenarios, including business processes and mappings of interfaces. 򐂰 By use of the Integration Directory, the different objects of an integration scenario are configured. 򐂰 The Integration Server is the central run-time component, hosting the integration engine, which is responsible for receiving, processing, and forwarding messages, and the central adapter engine that is used to connect external systems. 򐂰 All systems involved in a integration application are registered in the System Landscape Directory (SLD). Design

Configuration

Runtime

Integration Repository

Integration Directory

Integration Server

System Landscape Directory

Figure 10-77 General components of SAP XI

The operational model shown in Figure 10-4 on page 558 assumes that these components run within a SAP Web Application Server V6.40 for ABAP and J2EE systems on node itso_xi. The main configuration task for Use Case CustomerDataRepository is done using the Integration Directory and the System Landscape Directory. The entities to be configured there are summarized in Figure 10-78 on page 613.

612

WebSphere Business Integration for SAP

Business System Sender

Outbound Interface

Communication Channel (Sender Adapter)

Sender Agreement

Receiver Determination Integration Server Interface Determination Communication Channel (Receiver Adapter) Receiver Agreement Inbound Interface

Business System Receiver

Figure 10-78 Entities to be configured within the Integration Directory

Since the WebSphere InterChange Server is responsible for generating XML messages, which are compatible with the IDoc-XML-format, no further mapping processing needs to be done within SAP Exchange Infrastructure. This is the reason why the Integration Repository is only required for importing the IDoc type DEBMAS01 to the WebSphere InterChange Server, but not for specifying the integration scenario. Note: This is for simplicity reasons. In a real integration project, it is recommended to build the integration scenario in the repository first. The two back-end systems (from the perspective of SAP Exchange Infrastructure, SAP R/3 and WebSphere Interchange Server) are registered within the System Landscape Directory and configured as business systems within the Integration Directory. A business system that is a sender submits messages over an outbound interface to SAP Exchange Infrastructure. A business system as a receiver gets messages from an inbound interface from SAP Exchange Infrastructure.

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

613

Communication channels define the possible physical bindings for the communication of the Integration Server with the business systems or other services. A communication channel has either a sender or receiver direction. On its way from a sender to a receiver, a message traverses different processing steps that are defined by the configuration objects listed below: 1. The sender agreement specifies the protocol conversions that must be done on a message so that it can be processed by the Integration Server. 2. The receiver determination defines one or more receivers for a given sender. Routing conditions can be specified that determine the receiver based on the message content. 3. The interface determination specifies a sender and a receiver whose inbound interface is to be used at the receiving side. 4. Finally, the receiver agreement determines the protocol conversions that must be done on a message that flows between the Integration Server and the receiver. The next paragraphs describe how to configure the entities named in Table 10-7 for the implementation of Use Case CustomerDataRepository. Table 10-7 Named entities within the SAP XI configuration SAP XI Entity

Names

Business system sender

MasterDataEntrySystem

Business system receiver

EnterpriseCore

Communication channel sender

JMS2XI

Communication channel receiver

IDOC2IDS

Inbound interface

DEBMAS.DEBMAS01

Outbound interface

DEBMASJMS

10.5.2 Register back-end systems in System Landscape Directory Within Table 10-7, MasterDataEntrySystem represents the WebSphere InterChange Server and EnterpriseCore the SAP R/3 where the customer data get stored. Register these two entities within the System Landscape Directory (SLD) before configuring them as business systems in SAP Exchange Infrastructure. The administration of the SLD as well as of the Integration Directory is done using a Web front end. Start administration of these services from the home

614

WebSphere Business Integration for SAP

page of the SAP Exchange Infrastructure tools, which is found at http://itso_xi:51100/rep/start/index.jsp (Figure 10-79).

Figure 10-79 SAP Exchange Infrastructure Tools

1. Click on the System Landscape Directory and log in with a service user that has appropriate privileges, such as XIDIRUSER. The home page of the SLD appears. 2. Within this page, select the link Technical Landscape (Figure 10-80) to register the two back-end systems as technical systems to the SLD.

Figure 10-80 Links for configuring Technical and Business Landscape in SLD

3. The page Technical System Browser is displayed. Select Web AS ABAP as the Technical System Type and press the button New Technical System... (Figure 10-81 on page 616).

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

615

Figure 10-81 New technical system type Web AS ABAP

4. This opens the Technical System Wizard. Specify the technical details of the R/3 back end, as shown in Figure 10-82. Note that the SLD automatically determines the list of software installed on the R/3 system during this registration.

Figure 10-82 Technical System Wizard for registering R/3 back end

5. Before specifying the Technical Landscape for the WebSphere InterChange Server back end, register, within the Software Catalog of the SLD, at least one software system for this system using the link Software Catalog. For the implementation of this Use Case, this has no direct impact, so just one component of the ICS like WebSphere MQ is chosen (Figure 10-83 on page 617).

616

WebSphere Business Integration for SAP

Figure 10-83 Register Software in SLD

6. Create the technical landscape for the WebSphere InterChange Server. Choose Third-Party as the Technical System Type and press the button New Technical System (Figure 10-84).

Figure 10-84 New technical system of type Third-Party

7. Within the Technical System Wizard, specify values for the fields System Name and Host Name (Figure 10-85), select WebSphere MQ from the list of available products on the next page, and press Finish.

Figure 10-85 Technical System Wizard for registering InterChange Server

8. Starting on the home page of SLD again, select the link Business Landscape and press the button New Business System on the next page (Figure 10-86 on page 618).

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

617

Figure 10-86 New Business System

9. Using the Business System Wizard, register the business system EnterpriseCore with the definitions shown in Figure 10-87. Take the values for the entries Client and Logical System Name from the corresponding specifications of the SAP R/3 back-end system. Note that in principle it is possible that R/3 systems can also register automatically at the SLD.

Figure 10-87 Definition of business system EnterpriseCore in SLD

10.In the same way, register the business system MasterDataEntrySystem in SLD, as depicted in Figure 10-88 on page 619. Note that the logical system name IBMMQ001 is required for configuring the SAP R/3 back-end system (see 10.5.5, “Configure the SAP R/3 back-end system” on page 631).

618

WebSphere Business Integration for SAP

Figure 10-88 Definition of business system MasterDataEntrySystem in SLD

10.5.3 Configure SAP XI using the Integration Directory After completing the registration within the SLD, all the entities in SAP Exchange Infrastructure that are relevant to the implementation of Use Case CustomerDataRepository (Figure 10-79 on page 615) need to be configured. As described in Figure 10-78 on page 613, this is done using the Integration Directory only.

Start the Integration Directory Call the home page of the SAP Exchange Infrastructure tools (Figure 10-79 on page 615), select the link Integration Directory, and log in using a user with configuration rights, like XIDIRUSER. This opens the application Configuration: Integration Builder.

Create business systems under a scenario In this application, all configuration objects that are related to the implementation of the Use Case are subsumed under one scenario: CustomerDataRepository. 1. To create the scenario, switch to the Scenarios tab and select Object → New from the menu. Fill in the name within the Create Object window and save the configuration (Figure 10-89 on page 620).

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

619

Figure 10-89 Create scenario CustomerDataRepository

2. Start specifying the business systems EnterpriseCore and MasterDataEntrySystem by opening the context menu of Service Without Party in the scenario CustomerDataRepository and selecting Assign Business System (Figure 10-90). Note that the category Service Without Party is dedicated to those business systems that are part of an intercompany or application-to-application (A2A) scenario.

Figure 10-90 Start assigning Business System to CustomerDataRepository

3. Within the window Assign Business System, click Continue until the task 3.Select Business System is displayed. Select EnterpriseCore, disable the button Create Communication channels automatically, and click Finish (Figure 10-91 on page 621). 4. Repeat this step for MasterDataEntrySystem.

620

WebSphere Business Integration for SAP

Figure 10-91 Assign Business System EnterpriseCore

Create communication channels Specify the communication channels that connect the business systems to the Integration Server. First, define the channel JMS2XI, which represents the JMS based communication from business system MasterDataEntrySystem to SAP Exchange Infrastructure: 1. In the navigation pane, navigate to Communication Channel below the business system MasterDataEntrySystem, right-click, and select New (Figure 10-92). The Create Window pane is displayed. Fill in the name JMS2XI of the Communication Channel and press Create.

Figure 10-92 Create a new communication channel

2. As a result, the configuration window for the JMS2XI communication channel is displayed in the right pane of the Configuration Integration Builder. In this pane, switch to the Parameters tab and input the values, as shown in Figure 10-93 on page 622. 3. Select Sender as the communication direction and JMS as the adapter type using the help symbol besides the Adapter Type row. In the same way, a help menu is provided for selecting the transport and message protocol as well as the adapter engine. On the other hand, the values for the queue

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

621

WBI_XI_Queue are hosted by the queue manager on the WebSphere InterChange Server, and must be enumerated explicitly.

Figure 10-93 Parameter values for communication channel JMS2XI

4. Scroll down the configuration pane to JMS2XI and be sure to specify the parameter value Message Payload = JMS Payload within the XI settings (Figure 10-94).

Figure 10-94 XI Settings for communication channel JMS2XI

622

WebSphere Business Integration for SAP

5. Within the configuration pane, switch from the Parameters to the Module pane. Then define modules for various processing steps of the adapter, as shown in Figure 10-95.

Figure 10-95 Modules for the communication channel JMS2XI

6. For each value in the column Module Key, specify the interfaces that the processing step is working on (Figure 10-96). The interfaces are explained below. Then save the configuration.

Figure 10-96 Module configuration for communication channel JMS2XI

In the same way, create the communication channel IDOC2IDS, which represents the IDoc based communication from the Integration Server to the business system EnterpriseCore. 1. In the navigation pane, navigate to Communication Channel below the business system EnterpriseCore, right-click, and select New. In the Create Window pane, fill in the name of the communication channel IDOC2IDS and press Create. 2. The configuration window for the communication channel IDOC2IDS is displayed in the right pane. Switch to the Parameters tab there and specify the values shown in Figure 10-97 on page 624.

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

623

Figure 10-97 Parameter values for communication channel IDOC2IDS

3. Select the Adapter Type by clicking on the input help symbol and choose IDoc from the selection list. All the protocol related fields get filled automatically. Make sure that to mark the adapter as Receiver. 4. The value IDS800 of the parameter RFC destination and port specifies a link between the Integration Server and the R/3 back end. It is actually defined when configuring the Integration Server in 10.5.4, “Configure the Integration Server” on page 629. Note: The following steps can be combined, and are described here one-by-one for clarification reasons.

Configure sender agreement The sender agreement specifies the processing properties of a message from the business system MasterDataEntrySystem to the Integration Server. 1. Navigate to Sender Agreement within scenario CustomerDataRepository, right-click, and choose New. 2. In the Create Object window, specify the business system MasterDataEntrySystem as the sender, and choose DEBMASJMS as a name

624

WebSphere Business Integration for SAP

for the outbound interface and http://itso.ibm.com/redbook as its associated namespace. 3. Press Create and a window called Edit Sender Agreement appears, where the associated communication channel JMS2XI must be specified. (Figure 10-98).

Figure 10-98 Sender agreement for sender MasterDataEntrySystem

Configure receiver determination For the implementation of Use Case CustomerDataRepository, the receiver determination defines the business system EnterpriseCore as a receiver for the sender MasterDataEntrySystem. 1. Navigate to Receiver Determination in the scenario CustomerDataRepository and select New from its context menu (Figure 10-99).

Figure 10-99 Start creating a receiver determination

2. Within the Create Object window, specify the sender as done to create the Sender Agreement.

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

625

3. After pressing Create, the Edit Receiver Determination window is displayed, where you specify the receiver business system EnterpriseCore (Figure 10-94 on page 622). Since for the implementation of the Use Case logical routing is not required, leave all the other fields blank and save the configuration.

Figure 10-100 Specification of the receiver determination

Configure interface determination In the Interface Determination screen, the inbound interface DEBMAS.DEBMAS01, which is used at the business system EnterpriseCore to receive messages from MasterDataEntrySystem, is started. 1. Navigate to the Interface Determination screen in the scenario CustomerDataRepository and select New from its context menu. 2. Within the Create Object window, fill in the service, interface, and namespace fields for the sender, as in Figure 10-101 on page 627, and, this time, specify EnterpriseCore as the receiver. 3. Pressing Create brings up the Edit Interface Determination mode, where the inbound interface DEBMAS.DEBMAS01 and its namespace urn:sap-com:document:sap:idoc:messages for the receiver business system are configured. Use the input help (Figure 10-101 on page 627).

626

WebSphere Business Integration for SAP

Figure 10-101 Edit Interface Determination

Configure receiver agreement Complete the configuration within the Integration Directory by specifying the Receiver Agreement object. 1. Navigate to Receiver Agreement in scenario CustomerDataRepository and choose New from its context menu. 2. In the Create Object window, specify the MasterDataEntrySystem as the sender and specify EnterpriseCore as the receiver and the inbound interface DEBMAS.DEBMAS01 with its namespace. 3. After creating this object, specify the receiver communication channel IDOS2IDS and further conditions, which in this case are left empty (Figure 10-102 on page 628).

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

627

Figure 10-102 Edit receiver agreement

Activate the change lists When configuration objects are saved, they do not become active immediately, but are collected within change lists and have to be activated explicitly: 1. Within the navigation pane, switch to the Change List tab. 2. Open the change lists and select the Activate operation from the context menu of Standard Change Lists (Figure 10-103 on page 629). While activating the objects in the change list, these are transferred into the run-time cache for execution.

628

WebSphere Business Integration for SAP

Figure 10-103 Activate the Change List

10.5.4 Configure the Integration Server The administration of the Integration Server is done using the SAP front end for the SAP Web Application Server. Within that interface, specify the RFC-Destination from the SAP Exchange Infrastructure Integration Server to the SAP R/3 back-end system, a corresponding port, and load the metadata that the Integration Server uses for converting messages received in IDoc XML to the native IDoc format.

Create RFC destination 1. Call the SAP front end, log in to the Integration Server using a service user with appropriate privileges, and select transaction SM59. 2. Open the folder RFC Destinations, click on R/3 connections, and press the Create button. 3. Given that an SAP R/3 with System ID IDS and client 800 is accessed, specify the RFC Destination by giving values for the target SAP R/3 back-end system, such as those depicted in Figure 10-104 on page 630. Note that the RFC destination IDS800 is referenced by the specification of the communication channel IDOC2IDS (Figure 10-97 on page 624).

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

629

4. Switch to the Logon/Security tab and specify the credentials of the user that the Integration Server uses for logon to the SAP R/3 back-end system 5. Switch to the Special Options tab and ensure that the Unicode flag is set according to whether the destination SAP R/3 system supports Unicode or not.

Figure 10-104 RFC destination IDS800

Create a port and load metadata 1. Within SAP, select transaction IDX1. 2. Choose the Create symbol, specify the port as shown in Figure 10-105, and save the data.

Figure 10-105 Create port for IDoc adapter

3. Load metadata for IDoc DEBMAS01 by selecting the transaction IDX2, press the Create button, and specify the IDoc type DEBMAS01 as well as the Source Port IDS800 (Figure 10-106 on page 631).

630

WebSphere Business Integration for SAP

Figure 10-106 Load metadata for IDoc type DEBMAS01

10.5.5 Configure the SAP R/3 back-end system For the implementation of Use Case CustomerDataRepository, the R/3 back-end system must be configured to receive IDocs of type DEBMAS01 from the Integration Server. This section describes the essential steps for the required ALE customization on the SAP R/3 back-end IDS on node siccserv using the SAP GUI. 1. Using transaction BD54, make sure that the logical name C11CLNT800 for the SAP Exchange Infrastructure Integration Server and IBMMQ001 for the business system MasterDataEntrySystem, which represents the WebSphere InterChange Server, are defined to the R/3 back end. 2. Call transaction SM59 and create a RFC destination called C11CLNT800 between the R/3 back end and the SAP Exchange Infrastructure Integration Server (Figure 10-107 on page 632). Define the target host where the Integration Server resides, then switch to the Logon/Security tab and specify the credentials the SAP R/3 system uses for accessing the integration server.

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

631

Figure 10-107 Specify RFC destination C11CLNT800

3. Create a distribution model to specify the flow of DEBMAS01 IDocs from the Integration Server to the SAP R/3 back end. Select transaction BD64, switch to the Edit mode, press the Create model view button, and name the model DEBMASFROMXI (Figure 10-108).

Figure 10-108 Create distribution model DEBMASFROMXI

4. Select the new model and push the button Add message type. Define the SAP Exchange Infrastructure Integration Server, represented by the logical name C11CLNT800 as sender, and the SAP R/3 back end, represented by the logical name T90CLNT090, as the receiver of IDocs of type DEBMAS (Figure 10-109 on page 633). 5. Select the model DEBMASFROMXI and select Environment → Generate Partner Profile. A window titled Generating partner profile appears. Leave all entries as provided and push the Execute button. 6. Select transaction WE20 and ensure that a partner profile of type Logical system with inbound parameter message type DEBMAS is created.

632

WebSphere Business Integration for SAP

Figure 10-109 Add message type to the distribution model

10.5.6 Define the JMS provider for the SAP XI JMS adapter For the implementation described in this redbook, WebSphere MQ is used as the JMS provider for the SAP Exchange Infrastructure JMS adapter. Hence, some MQ specific Java libraries must be added to a SAP Exchange Infrastructure JMS provider library: 1. Search for the library aii_af_jmsproviderlib.sda within the implementation path of SAP Exchange Infrastructure. This library is in the ZIP format. 2. Make a copy of the library and open the copy with a ZIP tool. 3. Add to aii_af_jmsproviderlib.sda the WebSphere MQ Java libraries shown in Table 10-8. The Java libraries can be found in the WebSphere MQ installation path C:\WebSphereMQ\Java\lib. Table 10-8 Adding WebSphere MQ Java libraries aii_af_jmsproviderlib.sda com.ibm.mq.jar com.ibm.mqbind.jar com.ibm.mqjms.jar connector.jar

4. Modify the file server/provider.xml within the library aii_af_jmsproviderlib.sda to contain the entries shown in Table 10-9. Table 10-9 Modifications within the file server/providerlib

com.ibm.mq.jar com.ibm.mqbind.jar com.ibm.mqjms.jar connector.jar

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

633

5. Close aii_af_jmsproviderlib.sda and redeploy it using it with the SDM-tool. Restart SAP Exchange Infrastructure in order to make these changes effective.

10.5.7 Test configured SAP XI together with WBI adapter for SAP XI One approach for testing the configuration described in this section is to put an XML message, which conforms to a DEBMAS01 IDoc structure, into the queue WBI_XI_Queue and check that it is delivered correctly to the SAP R/3 system. As a producer of the XML message, the adapter for SAP Exchange Infrastructure is used together with the Visual Test Connector (VTC). In this way, the configurations described in 10.4, “Configure the adapter for SAP XI” on page 598 are tested as well. The test follows the same approach as in 10.3.4, “Test the configured connector for Lotus Domino” on page 586, except that in this case the VTC together with the port connector is used as a sender of Customer business objects. Figure 10-110 shows the combined test scenario. Visual Test Connector Send "Customer"

Port Connector

WebSphere MQ InterChange Server

WBI Adapter for SAP XI

SAP XI

SAP R/3

Figure 10-110 Test configured SAP XI together with WBI adapter for SAP XI

Prepare the test The mere requirement for testing the configured connector is to create a special collaboration object from the template CollaborationFoundation, whose From port is bound to the PortConnector and whose To port is bound to the SAPXIConnector. After deploying the updated user project, the test scenario is ready to be executed: 1. Open the library CustomerDataLib within the system manager, navigate to the folder Collaboration Objects, and select Create New Collaboration Objects... from its context menu (Figure 10-40 on page 588). 2. Within the Create New Collaboration window, highlight the CollaborationFoundation template and enter PortConnector2SAPXICollaboration as the collaboration object name. 3. In the Bind Ports window, bind the From port to the PortConnector, the To port to the SAPXIConnector, and the DestinationAppRetrievPort to the PortConnector. After pressing the Finish button, the collaboration object is created. Figure 10-111 on page 635 shows its “tree view”.

634

WebSphere Business Integration for SAP

Figure 10-111 Tree view on PortConnector2SAPXICollaboration

4. Before deploying the collaboration object, update its user project by opening the folder User Projects within the system manager and selecting Update Project ... from the context menu of CustomerDataRepository_Proj (Figure 10-112).

Figure 10-112 Update user project “CustomerDataRepository_Proj”

5. Within the Update project window, select the library CustomerDataRepository_Lib (Figure 10-47 on page 591), press Finish and Yes to all at the prompt to replace the existing entries within the project. 6. Ensure that CustomerDataRepository_Proj contains only the collaboration object just created. Delete all the other collaboration objects from the user project. 7. Deploy CustomerDataRepository_Proj as described in “Deploy the CustomerDataRepository Project on ICS” on page 590.

Run the test Set up the test by checking that WebSphere InterChange Server, SAP Exchange Infrastructure, and the SAP R/3 back-end system are up and running on their respective nodes (Figure 10-4 on page 558). Then prepare and start the connector for SAP Exchange Infrastructure: 1. Select Start → Programs → IBM WebSphere Business Integration Adapters → Adapters → Connectors → SAP Exchange Infrastructure Connector, right-click on the connector name, and select Properties. Then ensure that the Target field contains an entry like that in Example 10-8 on page 636.

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

635

Example 10-8 SAP Exchange Infrastructure Connector settings C:\WICS\connectors\SAPXI\start_SAPXI.bat SAPXI ITSOC_WICS -cC:\WICS\connectors\SAPXI\SAPXIConnector.cfg

2. Press Apply after the change and then start the connector for SAP Exchange Infrastructure using the program menu described above. The actual test starts with sending a business object of type Customer from the VTC. After that, it checks that the business object is processed properly by the subsequent systems. 1. Following the description in “Execute the actual test scenario” on page 593, start the VTC, select the profile, and connect the VTC to the InterChange Server. 2. Within the VTC, select Customer as BO type and press the Create button (Figure 10-113). Give a (arbitrary) name to the new business object.

Figure 10-113 Create business object of type Customer within the VTC

3. Initialize the business object with the values shown in Figure 10-58 on page 597, except that Create as the verb and another value for attribute KUNNR, say A16, are selected. Then send the business object by selecting Request → Send (Figure 10-114).

Figure 10-114 Send the business object

Use the WebSphere Business Integration Log Viewer tool to confirm that the business object is received and processed by the connector for SAP Exchange Infrastructure properly. 1. Start the Log Viewer from the program menu by selecting Start → Programs → IBM WebSphere Business Integration Server → IBM WebSphere Business Integration Toolset → Administrative → Log Viewer. 2. Open the file C:\WICS\InterchangeSystem.log in the Log Viewer. Then search for a button called DEBMAS01 within the column BusObj with the appropriate time stamp.

636

WebSphere Business Integration for SAP

3. Pressing on the button displays the result of mapping the Customer to the DEBMAS01 business object (Figure 10-115).

Figure 10-115 Check the business object DEBMAS01 in InterChangeSystem.log

Next, verify that the business object is processed by SAP Exchange Infrastructure on node itso_xi: 1. Log on to SAP Exchange Infrastructure using the SAP front end, as described in 10.5.4, “Configure the Integration Server” on page 629. 2. Select transaction SXMB_MONI. Within the Integration Engine Monitoring double-click on Monitor for Processed XML Messages (see Figure 10-116).

Figure 10-116 SAP XI Integration Engine Monitoring

3. Within the next window, select the time interval for monitoring the events and press the Execute button. After that, the processed XML messages are displayed (Figure 10-117 on page 638). Verify that the transmitted DEBMAS01 business object is processed successfully.

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

637

Figure 10-117 Processed XML Messages within the SAP Integration Server

Finally, check that an IDoc is received by the SAP R/3 back-end system that corresponds to the original Customer business object. 1. Log on to the SAP R/3 back end using the SAP front end. 2. Select transaction WE02. On the window IDoc, list select the time interval for checking processed IDocs and press the Execute button. As a result, the list of processed IDocs is displayed (Figure 10-118).

Figure 10-118 List of processed IDocs within

3. Ensure that the entry within that list, which corresponds to the business object sent before, contains the status code 53. A double-click on that entry reveals the technical details and the data contents of the IDoc received by SAP R/3 (Figure 10-119 on page 639). Note that the right pane of that figure displays the values of the Customer business object that are mapped to the segment E1KNA1M. Selecting the second segment E1KNVKM displays the other part of the business object values.

638

WebSphere Business Integration for SAP

Figure 10-119 Details of received IDoc within SAP R/3

10.5.8 Import the XML schema for DEBMAS01 This section describes how to export an XML schema of IDoc type DEBMAS01 using the SAP Exchange Infrastructure Integration Repository. 1. Ensure that the R/3 back-end system is defined in the System Landscape Directory (Figure 10-82 on page 616). 2. Start the Integration Repository from the SAP Exchange Infrastructure tools home page (Figure 10-79 on page 615) and log on with a SAP Exchange Infrastructure service user like XIDIRUSER. This opens the application Design: Integration Builder. 3. Select the Objects tab in the navigation pane of the Integration Builder and open the software component SAP BASIS. This component usually contains a demo example provided by a SAP Exchange Infrastructure installation.

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

639

Select the IDocs folder in the SAP BASIS component and call Import SAP Objects from its context menu (Figure 10-120).

Figure 10-120 Start importing IDoc from the SAP back end

4. In the window Import from SAP System IDS, log on to the respective R/3 back-end system first with an appropriate user. In the next screen, open the IDocs folder and select DEBMAS.DEBMAS01 for import (Figure 10-121). 5. Press Finish on the next screen, which starts the import. Close that window when it returns with the message Import Successful.

Figure 10-121 Choose DEBMAS01 for import

6. Within the navigation pane, switch to the Change Lists tab. Open the change list of component SAP BASIS. Ensure that it contains the DEBMAS.DEBMAS01 entry (Figure 10-122 on page 641). Select Activate from the context menu of the folder Standard Change Lists and press Activate in the next window.

640

WebSphere Business Integration for SAP

Figure 10-122 Change list after importing DEBMAS01

7. Within the navigation pane, switch back to the Objects tab. Double-click on the entry DEBMAS.DEBMAS01. The IDoc structure is displayed within the right pane. Save the XML schema of the IDoc type by selecting Tools → Export XSD... from the menu (see Figure 10-123).

Figure 10-123 Export DEBMAS01 as XSD file

10.6 Run the scenario CustomerDataRepository The test scenario described in 10.5.7, “Test configured SAP XI together with WBI adapter for SAP XI” on page 634 paves the way for running the overall scenario CustomerDataRepository. The only change is to replace the PortConnector in Figure 10-110 on page 634 with the connector for Lotus Domino in order to get the environment for running the overall scenario. As a consequence, the connector for Lotus Domino must be linked with the connector for SAP Exchange Infrastructure by defining a collaboration object Domino2SAPXICollaboration whose From port is associated with the DominoConnector and whose To port is bound to the SAPXIConnector. To define and deploy this collaboration object, follow the description for PortConnector2SAPXICollaboration in 10.5.7, “Test configured SAP XI together with WBI adapter for SAP XI” on page 634. The tree view of the resulted collaboration object is shown in Figure 10-124 on page 642.

Chapter 10. Use Case 4: Integration of SAP XI with WBI InterChange Server

641

Figure 10-124 Collaboration object Domino2SAPXICollaboration

Before running the scenario, ensure that the major systems Lotus Domino Server, WebSphere InterChange Server, SAP Exchange Infrastructure, and SAP R/3 are up and running. Then start the connector for Lotus Domino (see “Execute the actual test scenario” on page 593), and the connector for SAP Exchange Infrastructure (see “Run the test” on page 635). Start the scenario by creating a document in the Lotus Domino database called Customer Contacts (Figure 10-55 on page 596). After that, check the intermediate steps as shown in Figure 10-56 on page 596 and in the test description in 10.5.7, “Test configured SAP XI together with WBI adapter for SAP XI” on page 634. Finally, verify that a corresponding IDoc is received within the SAP R/3 back-end system (Figure 10-119 on page 639).

10.7 Summary This chapter describes the implementation of a Use Case that integrates the two back-end systems Lotus Domino and SAP R/3 using the two integration brokers, WebSphere InterChange Server and SAP Exchange Infrastructure, in between. The key capability of this implementation is to demonstrate how an integration broker itself can participate as an enterprise information system in an overall business integration scenario. The implementation uses JMS over WebSphere MQ for a broker-to-broker communication. It makes extensive use of InterChange Server mapping technology to transform generic Domino Documents, received by the WebSphere Business Integration adapter for Lotus Domino, into business objects that are compatible with a given SAP IDoc structure.

642

WebSphere Business Integration for SAP

11

Chapter 11.

Best practices and lessons learned This chapter contains the tips and hints obtained in the design and implementation of the sample Use Cases.

© Copyright IBM Corp. 2004. All rights reserved.

643

11.1 General hints and tips 򐂰 Make sure you have installed the proper SAP Java Connector version. 򐂰 start_SAP.bat refers to two jar files named jco.jar and sapjco.jar, but only the reference to sapjco.jar is required. jco.jar is the name for older JCo versions. jco.jar does not exist and is not required. A Class Not Found Exception will be thrown if you leave it in the start_SAP.bat. 򐂰 Use the latest WebSphere Business Integration Adapter for mySAP.com version.

11.2 Use Case 1 򐂰 Make sure all necessary WebSphere MQ queues are implemented before starting the WebSphere Business Integration Adapter for mySAP.com, especially the Unsubscribe and Error queues. 򐂰 When configuring the Business Workflow in SAP R/3 V4.7 for the ABAP Extension Module, there are two transactions and tables that must be configured (Instance Linkages and Event Type Linkages). In SAP V4.6c, it is only one table (Event Type Linkages). 򐂰 The Event Distribution tables in SAP R/3 are case sensitive. If the case does not match, then events do not get picked up by the WebSphere Business Integration Adapter for mySAP.com.

11.3 Use Case 2 򐂰 Do not install the Embedded Messaging feature of the WebSphere Business Integration Server Foundation if you plan to use a WebSphere Business Integration Adapter that communicates via JMS with the integration broker. Instead, install a full WebSphere MQ Server as the Messaging provider. 򐂰 Use prefixes in the WebSphere MQ queue name to be able to identify to which adapter a respective MQ queue belongs. 򐂰 The SAP Object Discovery Agent (ODA) uses different startup batch files than the SAP Connector for startup and execution environment configuration. Adjustments like SAP Java Connector (JCo) updates have to be made in both environments. 򐂰 Use exactly the same SAP JCo version for the SAP ODA and the SAP Connector.

644

WebSphere Business Integration for SAP

򐂰 Verify that the RFC server specific business object handlers are located in the \bapi\server folder of the SAP Connector. 򐂰 Review SAP Connector properties in test and production environments. The default values may not be adequate for your needs. 򐂰 Use the Visual Test Connector to replace the target back-end system and verify the correct adapter-broker communication. Be aware that the Visual Test Connector can only simulate a back end to the integration broker and not vice versa. 򐂰 Be aware that the Visual Test Connector cannot simulate a back end outright. Usually, integration scenarios that ran successfully with the test connector have a malfunction when the real back end is connected. 򐂰 Use the Universal Test Client within WebSphere Studio Application Developer Integration Edition (WSADIE) to test generated deploy code. This can be done on the activity level and on the process level if an EJB binding has been chosen. 򐂰 Avoid long names for generated business objects, because this name is used to generate unique class and package names in WSADIE. In some circumstances, this can exceed command-line limitations on Windows platforms when deploying the generated EJBs. Refer to Microsoft Knowledge Base Article - 830473 for further details, which can be found at: http://support.microsoft.com/default.aspx?scid=kb;en-us;830473

11.4 Use Case 3 򐂰 Ensure that the db2jcc.jar and the db2jcc_license_cu.jar are on the system path or on the JCLASSES entry in all of your batch files that start your adapters and WebSphere InterChange Server. 򐂰 It is important that you do not choose to have the collaboration template require a transaction when doing a query. The reason behind this is that a retrieve request creates a new business object on the return trip. A transaction scope does not allow you to change the business object to return a new one instead. If you require a transaction, then the new business object is discarded and the original gets return. If you do not require a transaction, the new business object is returned in place of the original.

Chapter 11. Best practices and lessons learned

645

11.5 Use Case 4 򐂰 Shut down and restart the InterChange Server after each new deployment. Ensure that after a restart each deployed component is started. 򐂰 Do not forget to start the PersistentNameServer before starting the InterChange Server. 򐂰 Do a unit test using the Visual Test Connector after each major configuration step. 򐂰 Clear all unprocessed entries within the Lotus Event Table before starting a new test scenario.

646

WebSphere Business Integration for SAP

A

Appendix A.

Scripts, source, and test data This appendix provides scripts and source code that was implemented in the Use Cases.

© Copyright IBM Corp. 2004. All rights reserved.

647

Use Case 1 Here we discuss the scripts and source code for Use Case 1.

ESQL module The ESQL in Example A-1 shows how to build an IDoccontrol section manually and how to copy or transform values of the incoming IDoc. Example: A-1 ESQL module BROKER SCHEMA MaterialSynchronization_Schema DECLARE ns1 NAMESPACE 'http://www.ibm.com/websphere/crossworlds/2002/BOSchema/sap_matmas03_e2mvkem002 '; DECLARE ns2 NAMESPACE 'http://www.ibm.com/websphere/crossworlds/2002/BOSchema/sap_matmas03_e2marcm004 '; DECLARE ns3 NAMESPACE 'http://www.ibm.com/websphere/crossworlds/2002/BOSchema/sap_matmas03_e2maktm001 '; DECLARE ns4 NAMESPACE 'http://www.ibm.com/websphere/crossworlds/2002/BOSchema/sap_matmas03_e2maram005 '; DECLARE ns5 NAMESPACE 'http://www.ibm.com/websphere/crossworlds/2002/BOSchema/sap_matmas03_cwdata'; DECLARE ns6 NAMESPACE 'http://www.ibm.com/websphere/crossworlds/2002/BOSchema/sap_idoccontrol'; DECLARE ns NAMESPACE 'http://www.ibm.com/websphere/crossworlds/2002/BOSchema/sap_matmas03';

CREATE COMPUTE MODULE MaterialSynchronization_MsgFlow_Compute CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN CALL CopyMessageHeaders();

648

SET SET SET SET

OutputRoot.MQMD = InputRoot.MQMD; OutputRoot.MQMD.Format = MQFMT_RF_HEADER_2; OutputRoot.MQMD.Encoding = 273; OutputRoot.MQMD.CodedCharSetId = 1208;

SET SET SET SET SET

OutputRoot.MQRFH2.(MQRFH2.Field)Version = 2; OutputRoot.MQRFH2.(MQRFH2.Field)Format = MQFMT_STRING; OutputRoot.MQRFH2.(MQRFH2.Field)Encoding = 273; OutputRoot.MQRFH2.(MQRFH2.Field)CodedCharSetId = 1208; OutputRoot.MQRFH2.(MQRFH2.Field)Flags = 0;

WebSphere Business Integration for SAP

SET OutputRoot.MQRFH2.(MQRFH2.Field)NameValueCCSID = 1208; SET OutputRoot.Properties.CodedCharSetId = 1208; SET OutputRoot.Properties.Encoding = 273; SET OutputRoot.MRM = InputRoot.MRM; -- very importend Section this must mache with the Adapter config file set OutputRoot.Properties.messagedomain = 'mrm'; set OutputRoot.Properties.MessageSet = 'PU4HKDS002001'; set OutputRoot.Properties.MessageFormat = 'CwXML'; set OutputRoot.Properties.MessageType = 'sap_matmas03'; SET OutputRoot.MRM.verb = 'Create'; SET OutputRoot.MRM.ns:Control_record.null1208:sap_idoccontrol.verb = 'Create'; SET OutputRoot.MRM.ns:Control_record.ns6:sap_idoccontrol.ns6:Name_of_table_structur e = 'EDI_DC40'; SET OutputRoot.MRM.ns:Control_record.ns6:sap_idoccontrol.ns6:Client = '800'; --SET OutputRoot.MRM.ns:Control_record.ns6:sap_idoccontrol.ns6:IDoc_number = '1'; SET OutputRoot.MRM.ns:Control_record.ns6:sap_idoccontrol.ns6:SAP_Release_for_IDoc = '620'; SET OutputRoot.MRM.ns:Control_record.ns6:sap_idoccontrol.ns6:Status_of_IDoc= '30'; SET OutputRoot.MRM.ns:Control_record.ns6:sap_idoccontrol.ns6:Direction_for_IDoc_tra nsmission= '1'; SET OutputRoot.MRM.ns:Control_record.ns6:sap_idoccontrol.ns6:Output_mode = '2'; SET OutputRoot.MRM.ns:Control_record.ns6:sap_idoccontrol.ns6:Name_of_basic_type= 'MATMAS01'; SET OutputRoot.MRM.ns:Control_record.ns6:sap_idoccontrol.ns6:Logical_message_type= 'MATMAS'; SET OutputRoot.MRM.ns:Control_record.ns6:sap_idoccontrol.ns6:Sender_port = 'WBI'; SET OutputRoot.MRM.ns:Control_record.ns6:sap_idoccontrol.ns6:Partner_type_of_sender = 'LS'; SET OutputRoot.MRM.ns:Control_record.ns6:sap_idoccontrol.ns6:Partner_number_of_send er = 'WBI';

Appendix A. Scripts, source, and test data

649

SET OutputRoot.MRM.ns:Control_record.ns6:sap_idoccontrol.ns6:Receiver_port= 'SAPBS8'; SET OutputRoot.MRM.ns:Control_record.ns6:sap_idoccontrol.ns6:Partner_type_of_recipi ent = 'LS'; SET OutputRoot.MRM.ns:Control_record.ns6:sap_idoccontrol.ns6:Partner_number_of_reci pient = 'BS8CLNT030'; SET OutputRoot.MRM.ns:Control_record.ns6:sap_idoccontrol.ns6:IDoc_creation_date= ''; SET OutputRoot.MRM.ns:Control_record.ns6:sap_idoccontrol.ns6:IDoc_creation_time= ''; SET OutputRoot.MRM.ns:Control_record.ns6:sap_idoccontrol.ns6:EDI_ALE_Serialization_ field = ''; SET OutputRoot.MRM.ns:Control_record.ns6:sap_idoccontrol.ns6:ObjectEventId = '';

SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.verb = 'Create'; SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.size = '1'; SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.verb = 'Create'; SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:sap_matmas03_e2maktm001.size = '1'; SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:sap_matmas03_e2maktm001.ns3:sap_matmas03_e2m aktm001.verb = 'Create'; SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:sap_matmas03_e2maktm001.ns3:sap_matmas03_e2m aktm001.ns3:SPRAS = 'E'; SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:sap_matmas03_e2maktm001.ns3:sap_matmas03_e2m aktm001.ns3:MAKTX = '10W30 MOTOR OIL CASE'; SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:sap_matmas03_e2maktm001.ns3:sap_matmas03_e2m aktm001.ns3:SPRAS_ISO = 'EN';

650

WebSphere Business Integration for SAP

SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:sap_matmas03_e2maktm001.ns3:sap_matmas03_e2m aktm001.ns3:MSGFN = '005';

SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:MATKL = '010' ; SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:MTART = 'HIBE'; SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:MEINS = 'CSE'; SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:MBRSH = 'M' ; SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:BLANZ = '000'; SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:BRGEW = '0.000'; SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:NTGEW = '0.000'; SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:PSTAT = 'KCELB'; SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:WESCH = '0.000'; SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:LAENG = '0.000'; SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:BREIT = '0.000'; SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:HOEHE = '0.000'; SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:VOLUM = '0.000'; SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:AENAM = 'ODABASHIAN' ;

Appendix A. Scripts, source, and test data

651

SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:GEWTO = '0.0'; SET OutputRoot.MRM.ns:Data_record.ns5:sap_matmas03_cwdata.ns5:sap_matmas03_e2maram0 05.ns4:sap_matmas03_e2maram005.ns4:VOLTO = '0.0';

-- CALL CopyEntireMessage(); RETURN TRUE; END; CREATE PROCEDURE CopyMessageHeaders() BEGIN DECLARE I INTEGER 1; DECLARE J INTEGER CARDINALITY(InputRoot.*[]); WHILE I < J DO SET OutputRoot.*[I] = InputRoot.*[I]; SET I = I + 1; END WHILE; END; CREATE PROCEDURE CopyEntireMessage() BEGIN SET OutputRoot = InputRoot; END; END MODULE;

Use Case 2 Here we discuss the scripts and source code for Use Case 2.

Prepare Service call This code snippet (Example A-2) has to be pasted into the user section of the prepareCall activity. Example: A-2 Snippet - prepare call // get process input values String id = getInput().getEmployeeNumber(); String date = getInput().getDeliveryDate(); String material = getInput().getMaterialNumber(); int quantity = getInput().getQuantity(); String plant = getInput().getPlant(); // adjust date to have the correct format

652

WebSphere Business Integration for SAP

date = date.substring(6,10)+date.substring(0,2)+date.substring(3,5); // prepare Input element Sap_pa0105Element getHRData_InputElement = new Sap_pa0105Element(); getHRData_InputElement.setPersonnel_number_PERNR(id); getHRData_InputElement.setSubtype_SUBTY("0010"); getHRData_InputElement.setVerb("Retrieve"); // get Request message object from BProcess container and set new value Sap_pa0105RequestMessage getHRData_RequestMsg = getSap_pa0105Request(); getHRData_RequestMsg.setBodyPart(getHRData_InputElement); setSap_pa0105Request(getHRData_RequestMsg); // get Request message object from BProcess container and set new value CheckMaterialRequestMessage checkApprovalPolicy_RequestMsg = getCheckMaterialRequest(); checkApprovalPolicy_RequestMsg.setMaterial(material); setCheckMaterialRequest(checkApprovalPolicy_RequestMsg); // create an object for each purchase order line item Sap_requisition_itemsElement order_lineitems[] = new Sap_requisition_itemsElement[1]; // fill the line item - we order only one product to keep the example simple order_lineitems[0] = new Sap_requisition_itemsElement(); order_lineitems[0].setPREQ_ITEM("00000"); order_lineitems[0].setDOC_TYPE("NB"); order_lineitems[0].setPUR_GROUP("001"); order_lineitems[0].setMATERIAL(material); order_lineitems[0].setPLANT(plant); order_lineitems[0].setMAT_GRP("002"); order_lineitems[0].setQUANTITY("" + quantity); order_lineitems[0].setDELIV_DATE(date); order_lineitems[0].setGR_PR_TIME("0"); order_lineitems[0].setPRICE_UNIT("0"); order_lineitems[0].setC_AMT_BAPI("0"); // create a purchase order line item table which holds all line items Sap_bapi_requisition_createElement.Sap_requisition_itemsElementLocal order_lineitemsTable = new

Sap_bapi_requisition_createElement.Sap_requisition_itemsElementLocal(); // push the specific line imtem into line item table order_lineitemsTable.setSap_requisition_items(order_lineitems); // prepare Input element Sap_bapi_requisition_createElement createPurchaseorder_InputElement = new Sap_bapi_requisition_createElement();

Appendix A. Scripts, source, and test data

653

createPurchaseorder_InputElement.setSap_requisition_items(order_lineitemsTable) ; createPurchaseorder_InputElement.setVerb("Retrieve"); createPurchaseorder_InputElement.setSKIP_ITEMS_WITH_ERROR(" "); createPurchaseorder_InputElement.setAUTOMATIC_SOURCE("X"); // get Request message object from BProcess container and set new value Sap_bapi_requisition_createRequestMessage createPurchaseOrder_RequestMsg = getSap_bapi_requisition_createRequest(); createPurchaseOrder_RequestMsg.setBodyPart(createPurchaseorder_InputElement); setSap_bapi_requisition_createRequest(createPurchaseOrder_RequestMsg); // debug info System.out.println("Requested Delivery date:" + date); System.out.println("Requested Material:" + material); System.out.println("Requested Plant:" + plant); System.out.println("Employee number:" + id); System.out.println("Requested QTY:" + quantity);

Prepare positive notification This code snippet (Example A-3) has to be pasted in the user section of the preparepositiveNotification activity. Example: A-3 Snippet - preparepositiveNotification // initialize local variables String material = getInput().getMaterialNumber(); String purchaseOrderNumber = getSap_bapi_requisition_createResponse().getReturnBodyPart().getNUMBER(); String[] recipients = new String[1]; recipients[0] =getSap_pa0105Response().getReturnBodyPart().getCommunication_ID_Number_USRID() + "@de.ibm.com"; String from = "[email protected]"; String subject = "Purchase Order Requisition " + purchaseOrderNumber + " accepted"; String message = "Your order of Material "+ material+ " has been processed. For order tracking purpose use process number: "+purchaseOrderNumber; // get Response message, fill result fields and place it back CreateInternalOrderResponseMessage internalOrder_ResponseMsg = getOutput(); internalOrder_ResponseMsg.setRequisitionNumber(purchaseOrderNumber); internalOrder_ResponseMsg.setStatus("Order placed"); internalOrder_ResponseMsg.setUsername(recipients[0]); setOutput(internalOrder_ResponseMsg); // get Request message object from BProcess container and set new value SendJMailRequestMessage notifyRequestor_RequestMsg = getSendJMailRequest();

654

WebSphere Business Integration for SAP

notifyRequestor_RequestMsg.setFrom("[email protected]"); notifyRequestor_RequestMsg.setMessage(message); notifyRequestor_RequestMsg.setRecipients(recipients); notifyRequestor_RequestMsg.setSubject(subject); setSendJMailRequest(notifyRequestor_RequestMsg); // debug info System.out.println("Positive Notification block."); System.out.println("eMail sent to:" + recipients[0]); System.out.println("eMail subject:" + subject); System.out.println("eMail message:" + message);

Prepare negative notification This code snippet (Example A-4) has to be pasted in the user section of the preparenegativeNotification activity. Example: A-4 Snippet - preparenegativeNotification // initialize local variables String material = getInput().getMaterialNumber(); String[] recipients = new String[1]; recipients[0] = getSap_pa0105Response().getReturnBodyPart().getCommunication_ID_Number_USRID()+ "@de.ibm.com"; String from = "[email protected]"; String subject = "Purchase Order Requisition declined"; String message ="Your order of Material "+ material+ " has been declined by the functional approver"; // get Response message, fill result fields and place it back CreateInternalOrderResponseMessage internalOrder_ResponseMsg = getOutput(); internalOrder_ResponseMsg.setRequisitionNumber("N/A"); internalOrder_ResponseMsg.setStatus("Order rejected"); internalOrder_ResponseMsg.setUsername(recipients[0]); setOutput(internalOrder_ResponseMsg); // get Request message object from BProcess container and set new value SendJMailRequestMessage notifyRequestor_RequestMsg =getSendJMailRequest(); notifyRequestor_RequestMsg.setFrom(from); notifyRequestor_RequestMsg.setMessage(message); notifyRequestor_RequestMsg.setRecipients(recipients); notifyRequestor_RequestMsg.setSubject(subject); setSendJMailRequest(notifyRequestor_RequestMsg); // debug info System.out.println("Negative Notification block.");

Appendix A. Scripts, source, and test data

655

System.out.println("eMail sent to:" + recipients[0]); System.out.println("eMail subject:" + subject); System.out.println("eMail message:" + message);

Use Case 3 The sample code in Example A-5 was used to create the DB2 database and tables that were used for testing in the SAP RFC -> JDBC scenario. This sample can be used in the reproduction of the test scenario, but it would depend upon the SAP system being tested. Example: A-5 DB2 table creation CREATE TABLE DB2ADMIN.AVAILABILITY ( XREFKEY INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1, NO CACHE ) , BATCH VARCHAR (10) , CHKGRULE VARCHAR (2) , CUSTNUM VARCHAR (10) , DOCNUM VARCHAR (10) , ITEMNUM VARCHAR (6) , MATERIAL VARCHAR (18) , PLANT VARCHAR (4) , STORLOC VARCHAR (4) , STOCKINDICATOR CHARACTER (10) , UNITOFMEASURE VARCHAR (3) , WBSELEMENT VARCHAR (24) , QTYAVAILABLE DECIMAL (18, 0) , INDICATOR CHARACTER (1) , ENDREPLLEADTIME DATE , CONSTRAINT CC1084350596672 PRIMARY KEY ( XREFKEY) ) ; INSERT INTO DB2ADMIN.AVAILABILITY (BATCH, CHKGRULE, CUSTNUM, DOCNUM, ITEMNUM, MATERIAL, PLANT, STORLOC, UNITOFMEASURE, WBSELEMENT, QTYAVAILABLE, ENDREPLLEADTIME) VALUES ('5', 'AC', '12345', '1232', '1456', 'DPC1017', '1200', '1200', 'ST', 'duh', 258, '2004-05-02')

INSERT INTO DB2ADMIN.AVAILABILITY (BATCH, CHKGRULE, CUSTNUM, DOCNUM, ITEMNUM, MATERIAL, PLANT, STORLOC, UNITOFMEASURE, WBSELEMENT, QTYAVAILABLE, ENDREPLLEADTIME) VALUES ('6', 'AC', '12345', '1232', '1456', 'DPC1018', '1201', '1201', 'ST', 'duh', 258, '2004-05-12')

CREATE TABLE "DB2ADMIN"."REC_COM" ( "XREF_KEY" INTEGER NOT NULL , "REQ_DATE" DATE , "REQ_QTY" DECIMAL(18,0) ,

656

WebSphere Business Integration for SAP

"CMMTD_DATE" DATE , "CMMTD_QTY" DECIMAL(18,0), CONSTRAINT CC1083933830391 FOREIGN KEY (XREF_KEY) REFERENCES DB2ADMIN.AVAILABILITY (XREFKEY) ON DELETE NO ACTION ON UPDATE NO ACTION

) ;

IN "USERSPACE1" ;

CREATE TABLE "DB2ADMIN"."WMDVSX"

(

"XREF_KEY" INTEGER NOT NULL , "REQ_DATE" DATE , "REQ_QTY" DECIMAL(18,0) , "MRP_ELEMENT" CHAR(12) , "LINE_INDEX" INTEGER, CONSTRAINT CC1083935333609 FOREIGN KEY (XREF_KEY) REFERENCES DB2ADMIN.AVAILABILITY (XREFKEY) ON DELETE NO ACTION ON UPDATE NO ACTION

) ;

IN "USERSPACE1" ;

ALTER TABLE "DB2ADMIN"."WMDVSX" ADD CONSTRAINT "CC1083935333609" UNIQUE ("XREF_KEY");

Appendix A. Scripts, source, and test data

657

658

WebSphere Business Integration for SAP

B

Appendix B.

Additional material This redbook refers to additional material that can be downloaded from the Internet as described below.

Locating the Web material The Web material associated with this redbook is available in softcopy on the Internet from the IBM Redbooks Web server. Point your Web browser to: ftp://www.redbooks.ibm.com/redbooks/SG246354

Alternatively, you can go to the IBM Redbooks Web site at: ibm.com/redbooks

Select the Additional materials and open the directory that corresponds with the redbook form number, SG246354.

Using the Web material The additional Web material that accompanies this redbook includes the following files: File name ALL.zip

Description This ZIP file contains all the files listed below.

© Copyright IBM Corp. 2004. All rights reserved.

659

Use Case 1 Use Case 2 Use Case 2 Use Case 2 Use Case 2 Use Case 3

Use Case 1 WBIMB and Adapter files.zip. Snippets.zip. Base Workspace SAK400.zip. WorkSpaceBackup Final.zip. Use Case 2 All files.zip. Use Case 3 DB2 table creation.zip.

System requirements for downloading the Web material The following system configuration is recommended: Hard disk space Operating System Processor Memory

ALL.zip is approximately 1.25 MB. Windows 2000 or Windows XP (Professional or Server). Pentium® III 500M Hz or better. 256 MB or higher is recommended.

How to use the Web material Create a subdirectory (folder) on your workstation, and unzip the contents of the Web material zip file into this folder.

660

WebSphere Business Integration for SAP

Abbreviations and acronyms ABAP

Advanced Business Application Programming

EAR

Enterprise Archive

EDI

Electronic Data Interface (EDI)

ADK

Adapter Development Kit

ALE

Application Link Enabling

EIS

API

Application Programmable Interface

Enterprise Information Systems

EJB

Enterprise JavaBeans

ASBO

Application Specific Business Objects

ERP

Enterprise Resource Planning

ESB

Enterprise Service Bus

B2B

Business To Business

FDML

BAM

Business Activity Monitoring

Flow Definition Markup Language

BAPI

Business Application Programming Interface

GBO

Generic Business Objects

GUI

Graphical User Interface

BI

SAP Business Intelligence

HDR

BIRA

IBM Business Integration Reference Architecture

Hierarchical Dynamic Retrieve

HR

Human Resources

BIW

Business Information Warehouse

HTTP

Hypertext Transfer Protocol

BPC

Business Process Choreographer

HTTPS

Extension of HTTP runnning under the Secure Socket Layer (SSL)

BPE

Business Process Execution

IBM

BPEL

Business Process Execution Language

International Business Machines Corporation

ICM

BPEL4WS

Business Process Execution Language for Web Services

Internet Communication Manager

IDoc(s)

Intermediate Document(s)

BPM

Business Process Management

ITSO

International Technical Support Organization

BSP

Business Server Pages

J2EE

CAF

SAP Composite Application Framework

Java 2 Platform, Enterprise Edition

J2SE

CMP

Container-Managed Persistence

Java 2 Platform, Standard Edition

JCA

Java Connector Architecture

CRM

Customer Relationship Management

JCO

Java Connector

D2D

Division to Division

JDO

Java Data Objects

DMZ

Demilitarized Zone

JMS

Java Messaging Service

JRE

Java Runtime Environment

© Copyright IBM Corp. 2004. All rights reserved.

661

JSP

Java Server Pages

KM

Knowledge Management

LOB

WSDL

Web Services Description Language

Line of Business

XI

SAP Exchange Infrastructure

MDAC

Microsoft Data Access Components

XML

eXtensible Markup Language

MDM

Master Data Management

MI

SAP Mobile Infrastructure

MQSC

WebSphere MQ: Script Command

ODA

Object Discovery Agent

ODBC

Open Database Connectivity

ODK

Object Discovery Agent Development Kit

ORB

Object Request Brokers

RDBMS

Relational Database Management System

RFC

Remote Function Call

ROI

Return On Investment

SAP JCo

SAP Java Connector

SAP ODA

SAP Object Discovery Agent

SAP XI ODA

SAP XI Object Discovery Agent

SAPGUI

SAP Graphical User Interface

SD

Sales and Distribution

SMTP

Simple Mail Transport Protocol

SOA

Service Oriented Architecture

SOAP

Simple Object Access Protocol

SSL

Secure Socket Layer

TID

Transaction ID

VTC

Visual Test Connector

WAS

WebSphere Application Server

Web AS

SAP Web Application Server

WSAD

WebSphere Studio Application Developer

662

WebSphere Business Integration for SAP

Related publications The publications listed in this section are considered particularly suitable for a more detailed discussion of the topics covered in this redbook.

IBM Redbooks For information on ordering these publications, see “How to get IBM Redbooks” on page 664. Note that some of the documents referenced here may be available in softcopy only. 򐂰 Implementing and Administering WebSphere Business Integration Server V4.2.2, SG24-7006 򐂰 Patterns: Implementing an SOA using an Enterprise Service Bus, SG24-6346 򐂰 WebSphere Business Integration Message Brokers Basics, SG24-7090 򐂰 WebSphere Business Integration Server Foundation V5.1 Handbook, SG24-6318 򐂰 WebSphere MQ Solutions in a Microsoft .NET Environment, SG24-7012

Other publications These publications are also relevant as further information sources: 򐂰 WebSphere MQ Using Java, SC34-6066 򐂰 WebSphere MQ: Intercommunication, SC34-6059 򐂰 WebSphere MQ: Script Command (MQSC) Reference, SC34-6055 򐂰 WebSphere MQ System Administration Guide, SC34-6068

Online resources 򐂰 IBM WebSphere Business Integration Adapters http://www.ibm.com/software/integration/wbiadapters

򐂰 Microsoft Windows Update http://www.windowsupdate.com

© Copyright IBM Corp. 2004. All rights reserved.

663

򐂰 SAP Interface Repository http://ifr.sap.com

򐂰 SAP Service Marketplace (logon required) http://service.sap.com/connector

򐂰 WebSphere MQ Family http://www-306.ibm.com/software/integration/mqfamily/support/summary/index. html

How to get IBM Redbooks You can search for, view, or download Redbooks, Redpapers, Hints and Tips, draft publications and Additional materials, as well as order hardcopy Redbooks or CD-ROMs, at this Web site: ibm.com/redbooks

Help from IBM IBM Support and downloads ibm.com/support

IBM Global Services ibm.com/services

664

WebSphere Business Integration for SAP

Index A ABAP Extension Module 101–103, 124–125, 173–175, 204, 243, 283, 644 ABAP Extension module 102, 243 ABAP extension module 102 ABAP Extension Module Business Object 304 Adapter 14 Adapter Development Kit (ADK) 86 adapters 73 Advanced Business Application Programming (ABAP) 78 Agent Controller 180 ALE and ABAP Extension module 283 ALE Module 173–174, 203 ALE module 208 an overview of how the book is organized 1 Application and Data Access Services 24, 31 Application Connectivity 12–13 Application connectivity 4 application connectivity 4, 14, 118, 123, 128 application connectivity and process integration styles 13 Application Link Enabling (ALE) 81, 123, 138 application platform of SAP NetWeaver 46 Application Programing Interface (API) 74 Application Programmable Interface (API) 23 Application Programming Interface (API) 17 Application Programming Interfaces (APIs) 47 Application Specific Business Objects (ASBO) 92 Application specific Business Objects (ASBO) 90 application specific business objects (ASBO) 87 Applications and Data Access Services 28 asynchronous workflow 4 available to promise (ATP) 66

Business Activity Monitoring (BAM) 26 Business Application and Data Services 24 Business Application Programming Interface (BAPI) 23, 81 Business Application Services 22, 28, 31 Business Applications and Data Services 24 Business Integration needs 10 Business Integration Reference Architecture 20, 24 Business Integration Reference Architecture (BRA) 19 Business Integration Reference Architecture includes 23 Business integration scenarios 7 Business layer 46 Business Object Designer 95, 98, 283 Business Object Designer tool 86 business object handler 84, 86, 99, 103, 124, 645 Business Performance Management (BPM) 33 Business Performance Management Services 30 Business performance management tools 21 Business Process Choreographer (BPC) 89 Business Process Execution (BPE) 89 Business Process Execution Language (BPEL) 34 Business Process Execution Language for Web Services (BPEL4WS) 50, 88 Business Process Execution Language for Web Services(BPEL4WS) 33 Business Process Management (BPM) 4, 45 Business Processes 31 business processes 11, 14, 20–22, 25, 29–30, 33, 37–40, 44–46, 58–59, 75, 81, 88–89, 111, 115, 128–130, 327, 374, 464, 612 Business Rule Beans framework 34 Business Server Pages (BSP) 46 Business-to-Business (B2B) 4, 17, 27 Business-to-Business processes 22

B Basic technology integration components 74 Batch Data Communications (BDC.) 81 best-of-bread components 31 BMs on demand business strategy 40 bottom-up application connectivity 14 BPEL4WS business processes 15 broker-to-broker 642

© Copyright IBM Corp. 2004. All rights reserved.

C capabilities provided by the IBM WebSphere Business Integration (WBI) product family 9 clustering 7, 23, 130 Collaborative services 21 common framework 36

665

common repository 20 Comprehensive Services 24 Comprehensive Services of IBM Business Integration Reference Architecture 19 Connectivity layer 47 Connector Configuration tool 85, 95 container-managed persistence (CMP) 47 Content management services 21 cross-platform integration 11 Customer Relationship Management (CRM) 11

File transfer 13 Flow Definition Markup Language (FDML) 88

G generic business objects 608 generic business objects (GBO) 87, 90 generic business objects (GBOs) 92 graphical user interface (GUI) 120

H

D DB2 II Classic Federation provides 37 DB2 Information Integrator provides 35 Demilitarized Zone (DMZ) 112 design principles and methodologies 111 development platform 25 Development tools 20 Diverse forms of business information 22 Division to Division (D2D) 17

E e-business on demand 38 e-business solutions xxxiv, 4 Eclipse framework 32 eCommerce 112 eCommerce portal 55 eCommerce Portal server 112 eCommerce portal server 112 eCommerce Portal System 55 EDI Data Handler 96 Electronic Data Interchange (EDI 18 Electronic Data Interface (EDI) 81 Enterprise Archive (EAR) 433 Enterprise Information Systems (EIS) 23, 74 Enterprise JavaBeans (EJB) 46 enterprise processes 4 Enterprise Resource Planning (ERP) 10 Enterprise Service Architecture 40 Enterprise Service Bus 24, 31, 34 Enterprise Service Bus (ESB) 23 Enterprise Service Bus provides 23 Enterprise Services Bus 27 ERP solution 10 eXtensible Markup Language (XML) 12 extension of HTTP runnning under SSL (HTTPS) 104

666

F

WebSphere Business Integration for SAP

heterogeneous development 10 heterogeneous sources 35 heterogeneous system 10 heterogeneous systems 22 heterogenous IT landscapes 44 Hierarchical Dynamic Retrieve (HDR) 98 HTTPS 47 Human Resource (HR) 65 Hypertext Transfer Protocol (HTTP) 47, 104

I IBM Agent Controller 180 IBM Business Integration 37 IBM Business Integration portfolio 31 IBM Business Integration Reference Architecture 9, 19, 21–23 IBM Business Object 24 IBM DB2 439 IBM on demand operating environment 32 IBM Software development platform 28 IBM software development solution 32 IBM Software Offerings in the IBM Business Integration Reference Architecture 19 IBM WebSphere Business Integration 5 IBM WebSphere Business Integration (WBI) product family 9 IBM WebSphere Business Integration adapters 82 IBM WebSphere Business Integration product and SAP integration 1 IBM WebSphere Business Integration product family 14 IBM WebSphere Business Integration products 14 IBM WebSphere MQ 331 IBM WebSphere Portal 18 Information Services 27, 31 Integrating the SAP enterprise server 78

Integration Broker 82, 105, 138, 555 Integration broker 85, 91–92, 104 integration broker 73, 75–77, 82–83, 85, 90, 92, 96–102, 104, 106, 109, 138, 336, 359, 642, 644–645 integration broker business object 100 integration brokers 73 Integration challenges 11 Integration layer 47 Integration server 14 Integration styles 12 integration styles 12 Integration terminology 13 Interaction Services 21, 26, 31 Intermediate Document (IDoc) 100 Intermediate Documents (IDOC) 81 Intermediate Documents (IDocs) 121, 123 Internet Communication Manager (ICM) 47 Internet Inter-ORB Protocol (IIOP) 96 IT Monitoring 26 iterative software development 25

J J2EE Application Server 15 J2EE standards 15 J2EE-certified runtime environment 46 Java 2 Enterprise Edition (J2EE) 19, 78, 88 Java 2 Platform, Enterprise Edition (J2EE) 28 Java 2 Platform, Standard Edition (J2SE) 31 Java Connector Architecture (JCA) 50 Java Data Objects (JDO) 47 Java Database Connectivity (JDBC) 14 Java Message Service (JMS) 17 Java Messaging Service (JMS) 50, 96, 204 Java Runtime Environment (JRE) 179–180 JavaServer Pages (JSP) 46 JMX management interface 35

561–563, 565–566, 568–569, 578, 582, 586, 595, 602, 641–642 Lotus Domino database 136, 138, 141, 556, 561, 642 Lotus Domino databases 138, 555 Lotus Domino Server 138, 642 Lotus Domino server 138, 562 Lotus Domino technology 71 Lotus Domino toolkit 566 Lotus Notes databases 138

M Master Data Management (MDM) 44 Message oriented Middleware 13 message type MATMAS 174 message-flows 16 Microsoft Data Access Components (MDAC) 179 middleware architecture 20 mySAP Business Suite 40, 49 mySAP.com 73

N NetWeaver technology stack 49

O Object Discovery Agent (ODA) 82, 86, 105, 199, 355 Object Discovery Agent Development Kit (ODK) 86 Object Request Brokers (ORB) 13 Open Database Connectivity (ODBC) 179 Overview about IBM Business Integration Reference Architecture 19 overview about the different types of SAP R/3 interfaces 81 overview of the business integration landscape 4

P K Knowledge Management (KM) 43

L latest SAP releases 79 Line Of Business (LOB) 21 list of all available WebSphere Business Integration Adapters 14 Lotus Domino 136, 138, 141, 555–556, 559,

Partner Services 22, 27 People Integration within SAP NetWeaver 42 Persistence layer 47 Pertner Services 31 Presentation layer 46 Process Integration 12–13, 44 Process integration 40 process integration 13, 33, 44, 49, 123, 128 Process Monitoring 26 Process Services 22, 26, 31

Index

667

R Redbooks Web site 664 Contact us xxxix Relational Database Management System (RDBMS) 27 Remote Function Call (RFC) 81, 97, 121 Remote Function Calls (RFCs) 328 Remote Procedure Call 13 requirements for SAP integration 73 Return On Investment (ROI) 33 Roles and Artifacts in the IBM Business Integration Reference Architecture 19 RosettaNet 12

S Sales & Distribution 57 Sales & Distribution process 54, 56 Sales & Distribution System 54 Sales & Distribution system 55–58, 60, 71 Sales and Distribution (SD) 112 SAP application server 77 SAP back-end systems 5, 7, 9 SAP backend systems 4 SAP Business Information Warehouse (BIW) 43 SAP Business Intelligence (BI) 43 SAP Business Intelligence solution 43 SAP business solutions 80 SAP Business workflow 45 SAP Composite Application Framework (CAF) 49 SAP development efforts 80 SAP Enterprise Portal 42–43 SAP Enterprise Portal framework 45 SAP Enterprise Portal package 42 SAP enterprise server 77 SAP enterprise system 78 SAP Exchange Infrastructure 44, 46, 73, 84, 94, 104–106, 138, 141, 555, 557 SAP Exchange infrastructure 106 SAP Exchange Infrastructure (XI) 44, 49 SAP Exchange Infrastructure IDoc adapter 141 SAP Exchange Infrastructure Integration Server 141 SAP Exchange Infrastructure JMS adapter 141 SAP graphical user interface (SAPGUI) 77 SAP Java Connector (SAP JCo) 96–97 SAP Mobile Infrastructure (MI) 43 SAP NetWeaver 40–41, 45–46, 49 SAP NetWeaver provides 48–49

668

WebSphere Business Integration for SAP

SAP NetWeaver technology 5 SAP NetWeaver technology stack 9, 40, 44 SAP Object Discovery Agent (ODA) 95, 97 SAP Object Discovery Agent (SAP ODA) 94 SAP R/3 ALE interface 174 SAP related WebSphere Business Integration Adapters 94 SAP specific WebSphere Business Integration adapters 4 SAP Web Application Server 45–46 SAP Web Application Server (Web AS) 46 SAP Web Application Server (WebAS) 78 SAP xApps 40 SAP XI Object Discovery Agent (SAP XI ODA) 106 Secure Sockets Layer (SSL) 17, 71 Self-service 21 semantic differences 12 Service choreography 14 Service Oriented Architecture 37 Service Oriented Architecture (SOA) 19 Service Oriented Architecture strategies 19 Shared database 13 Simple Mail Transport Protocol (SMTP) 47 Simple Object Access Protocol (SOAP) 104–105 SOAP adapter 106 SOAP data handler 106 Some key integration features of business integration 4 standard interfaces 35 Supply Chain System 54 Supply Chain system 56 supply chain system 71

T Technology overview 10 terms used in the integration area 13 The Adapter Framework 37 The Application Specific Component 36 The Business Application Services 22 The Business Object Designer supports 98 The Collaboration component 42 The main feature of the ABAP Extension Module 103 Tivoli Monitoring for Business Integration 33 top-down business process automation 14 Transaction ID (TID) 100 Transactional characteristic 14

U User Interactivity 13

V various technology options 51 Visual Test Connector (VTC) 431

W WBI Adapter 16 WBI Adapter for mySAP.com 218 WBI Collaborations 19 WBI Connect 17 WBI Event Broker 16 WBI Message Broker 16 WBI Modeler 19 WBI Monitor (formerly Holosofx) 18 WBI Server 15 WBI Server Foundation 15 WBI Toolset 17 Web Dynpro technology 46 Web Services (BPEL4WS) 35 Web Services (SAP Web Application Server 6.20 and higher) 81 Web Services Description Language (WSDL) 34, 106 Web Services programming models 35 WebSphere Adapter for mySAP.com 130–131 WebSphere Application Server 35 WebSphere Application Server (WAS) 34 WebSphere Application Server foundation 17 WebSphere Application Server framework provides 35 WebSphere Business Integration 7, 49, 51, 82, 104 WebSphere Business Integration (WBI) 4 WebSphere Business Integration adapter 49 WebSphere Business Integration Adapter for mySAP.com 94–95, 173–174, 203–204, 243 WebSphere Business Integration Adapter for mySAP.com) 237 WebSphere Business Integration adapter for SAP Exchange Infrastructure 104, 555 WebSphere Business Integration adapter for SAP XI 50 WebSphere Business Integration Adapter Framework 91 WebSphere Business Integration Adapters 23, 90, 94, 466 WebSphere Business Integration adapters 73, 82

WebSphere Business Integration adapters for SAP integration 4 WebSphere Business Integration Adapters portfolio 91 WebSphere Business Integration Adapters provide 36 WebSphere Business Integration brokers 4, 49, 91–92 WebSphere Business Integration Connect Advanced/Enterprise provides 35 WebSphere Business Integration Event Broker 16, 91 WebSphere Business Integration for SAP integration 4 WebSphere Business Integration infrastructure 5 WebSphere Business Integration Message Broker 91 WebSphere Business Integration Modeler 33 WebSphere Business Integration Monitor release 5.1 33 WebSphere Business Integration Monitor solution provides 33 WebSphere Business Integration product family 7, 15, 73 WebSphere Business Integration product family offers 93 WebSphere Business Integration product suite 7, 14, 82 WebSphere Business Integration Server 15, 19 WebSphere Business Integration Server components 15, 34 WebSphere Business Integration Server Foundation 15 WebSphere Business Integration Server Foundation (WBISF) 464 WebSphere Business Integration Server provides 34 WebSphere Business Integration Workbench 19 WebSphere Data Interchange 18 WebSphere Data Interchange Client 18 WebSphere Host Access Transformation Services 37 WebSphere InterChange Server 15, 86, 106, 138 WebSphere Interchange solutions 15 WebSphere MQ 16–17, 85, 91–92, 104–105, 138, 141, 359, 404, 407–408, 439, 467, 560, 582, 588–589, 598–599, 616, 633, 642, 644 Script Command (MQSC) 205 WebSphere MQ Connection factory 404, 407

Index

669

WebSphere MQ connection factory 439 WebSphere MQ Everyplace 34 WebSphere MQ Everyplace suite 34 WebSphere MQ Workflow 7, 15, 34 WebSphere Portal Server provides 34 WebSphere Studio Application Developer Integration Edition (WSADIE) 88, 464 WebSphere Studio Application Dveloper (WSAD) 33 WebSphere Studio family 33

670

WebSphere Business Integration for SAP

WebSphere Business Integration for SAP

(1.0” spine) 0.875”1.498” 460 788 pages

Back cover

®

WebSphere Business Integration for SAP WebSphere and SAP integration using WBI Adapters Business connectivity using WBI brokers WBI and SAP XI interoperability scenario

The need to integrate heterogeneous environments without replacing existing IT infrastructures is growing more and more. Standard application providers offer a wide range of business applications, running on different platforms, and implemented in different languages. A sophisticated Enterprise Service Architecture is required to overcome the challenges implied by such a heterogeneous infrastructure and make the whole enterprise controllable. The WebSphere Business Integration architecture provides different Integration brokers and a multitude of application and technology adapters. It is an essential software component in IBM's e-business on demand strategy. SAP Exchange Infrastructure is SAP’s strategic technology platform for process integration and connectivity of SAP components and non-SAP components. This IBM Redbook illustrates how to integrate data and processes located in SAP back-end systems using WebSphere Business Integration middleware technology. It describes two WebSphere Business Integration adapters: IBM WebSphere Business Integration Adapter for SAP V5.5.0 IBM WebSphere Business Integration Adapter for SAP Exchange Infrastructure V1.0

INTERNATIONAL TECHNICAL SUPPORT ORGANIZATION

BUILDING TECHNICAL INFORMATION BASED ON PRACTICAL EXPERIENCE IBM Redbooks are developed by the IBM International Technical Support Organization. Experts from IBM, Customers and Partners from around the world create timely technical information based on realistic scenarios. Specific recommendations are provided to help you implement IT solutions more effectively in your environment.

These adapters are utilized to demonstrate the integration capabilities they provide.

For more information: ibm.com/redbooks SG24-6354-00

ISBN 0738491896