Front cover WebSphere Businesssiness Integration for SAPAP

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

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

xii WebSphere Business Integration for SAP 6-25 Installation completion window ...... 171 7-1 Operational model: MaterialSynchronization scenario...... 175 7-2 Operational model: OrderEventNotification scenario...... 176 7-3 The Installer language selection dialog ...... 181 7-4 Installer welcome page ...... 182 7-5 The migration prerequisites page ...... 183 7-6 The Software License Agreement page...... 184 7-7 The Install location page ...... 185 7-8 Install type selection page ...... 186 7-9 The installation summary page ...... 187 7-10 WebSphere Business Integration Event Broker install progress . . . . . 188 7-11 The Security Wizard...... 190 7-12 The User Select and Create page ...... 191 7-13 Security Wizard summary page ...... 192 7-14 Language selection ...... 194 7-15 Welcome screen ...... 195 7-16 License agreement ...... 195 7-17 Installation directory ...... 196 7-18 Installation summary ...... 196 7-19 WebSphere MQ library location ...... 197 7-20 Workbench installation...... 197 7-21 Program group selection ...... 198 7-22 Final window ...... 198 7-23 Language selection ...... 199 7-24 Welcome screen ...... 199 7-25 License agreement ...... 200 7-26 WebSphere Adapter Framework location ...... 200 7-27 Installation summary ...... 201 7-28 Interchange Server name ...... 201 7-29 Program group selection ...... 202 7-30 Final window ...... 202 7-31 MQ Services ...... 206 7-32 WebSphere MQ Listener properties ...... 206 7-33 The install completion screen ...... 213 7-34 The Message Broker tooling welcome page ...... 213 7-35 The Getting Started wizard welcome page ...... 214 7-36 The broker services user account page...... 215 7-37 Broker domain details page ...... 216 7-38 The broker details page ...... 217 7-39 The Getting Started wizard summary page ...... 218 7-40 Successful default configuration created ...... 218 7-41 Standard connector properties...... 221 7-42 Connector specific properties ...... 223

Figures xiii 7-43 Supported Business Objects ...... 224 7-44 Log and trace file ...... 224 7-45 Standard properties of the connector...... 228 7-46 Connector specific properties ...... 231 7-47 Supported Business Objects for the ABAP Extension & ALE Module . 232 7-48 Log and Trace File ...... 232 7-49 Transaction su01: Maintain User ...... 234 7-50 Transaction sm59: RFC Destination ...... 236 7-51 Transaction bd54: Logical systems ...... 237 7-52 Transaction scc4: Link local SAP logical system to a client...... 238 7-53 Transaction bd64: Create a model view ...... 239 7-54 Transaction bd64: Add a message type to the model view ...... 239 7-55 Transaction bd64: Generate Partner Profile ...... 240 7-56 Generate partner profile...... 240 7-57 Transaction we21: Ports in IDoc processing ...... 241 7-58 Transaction we20: Partner profiles ...... 241 7-59 Transaction bd64: Create a model view ...... 242 7-60 Transaction bd64: Add a message type to the model view ...... 242 7-61 Transaction se03 - Transport Organizer ...... 244 7-62 Repository Namespace view ...... 245 7-63 Repository Namespace view - new entries ...... 246 7-64 New Entry details ...... 247 7-65 Transaction STMS - Add transport request to the queue ...... 251 7-66 Transaction STMS - Import Request ...... 252 7-67 Transaction STMS - Select Target Client ...... 253 7-68 Transaction STMS - Confirmation of transport import ...... 253 7-69 Assign transport layer for the development class ...... 255 7-70 Transaction se38 - ABAP Editor ...... 256 7-71 Sales order business object processing ...... 257 7-72 Business Object Builder...... 259 7-73 Business Object Repository Browser...... 259 7-74 Business Object Repository...... 260 7-75 SAP Easy Access main view ...... 261 7-76 Event type linkages ...... 262 7-77 Event Type Linkages - Details ...... 263 7-78 Change View “Instance Linkages” - Overview ...... 264 7-79 Instance Linkages - Details ...... 265 7-80 IBM CrossWorld Station - Development Tab ...... 266 7-81 CW Configuration Objects - Overview view ...... 267 7-82 Change View “IBM CW Object parameter configuration” - Overview . 268 7-83 Add business object...... 269 7-84 Add BO_EVENTRIGGER.Retrieve ...... 270 7-85 Add configuration values ...... 271

xiv WebSphere Business Integration for SAP 7-86 Modify BO Metadata ...... 272 7-87 Event distribution - New entry ...... 273 7-88 SAP Object Discovery Agent ...... 275 7-89 Create a new Integration Component Library ...... 276 7-90 Create new User Project ...... 277 7-91 Select the SAP ODA in the Business Object Wizard ...... 278 7-92 Properties in the Business Object Wizard ...... 279 7-93 Select the IDoc in the Business Object Wizard ...... 279 7-94 Verify the selection in the Business Object Wizard ...... 280 7-95 Supply additional information in the Business Object Wizard ...... 280 7-96 Add the IDoc message type in the application specific information . . . 281 7-97 Business Objects in the Integration Component Library ...... 282 7-98 Business Objects in the User Project...... 283 7-99 Business Objects in the Integration Component Library ...... 284 7-100 New User Project ...... 285 7-101 Business Object for the ABAP Extension module ...... 286 7-102 Application specific information - Retrieve ...... 286 7-103 Business Objects in the Integration Library ...... 287 7-104 Business Object in the User Project ...... 288 7-105 System Manager - Broker preferences ...... 289 7-106 Deploy to Message Broker workspace ...... 290 7-107 Deploy the Business Objects to the Message Broker Toolkit ...... 291 7-108 Deploy the Business Objects to the Message Broker Toolkit ...... 292 7-109 Deploy the Business Objects to the Message Broker Toolkit ...... 292 7-110 Define the CwXML format ...... 293 7-111 Define the CwXML format ...... 293 7-112 Message set Default Wire Format and Runtime Parser ...... 294 7-113 Create a new message flow project...... 296 7-114 Create a new message flow...... 297 7-115 The MaterialSynchronization_MsgFlow message flow nodes...... 298 7-116 The MaterialSynchronization_MsgFlow message flow validated. . . . . 299 7-117 MQ Input Node Properties ...... 301 7-118 Create a new message flow project...... 305 7-119 Create a new message flow...... 306 7-120 The message flow nodes ...... 307 7-121 The pass through message flow ...... 308 7-122 MQ Input Node Properties ...... 309 7-123 Deploy broker archive file ...... 311 7-124 Transaction bd10 - Send Material ...... 313 7-125 Transaction we02 - outbound IDoc log information ...... 314 7-126 Transaction we02 - inbound IDoc log information ...... 315 7-127 Test Connector ...... 316 7-128 Test Connector - Create/Select Profile ...... 317

Figures xv 7-129 Test Connector - Connector Profile ...... 317 7-130 Test Connector - New Profile...... 318 7-131 Test Connector - SAP_2Connector profile...... 318 7-132 Test Connector - Connect ...... 319 7-133 Transaction va01: Create Sales Order ...... 320 7-134 Creating a Standard sales order ...... 321 7-135 Standard Order created ...... 322 7-136 Connector trace ...... 323 7-137 Incoming business object...... 324 7-138 Review the business object data in the Test Connector ...... 325 7-139 Activate trace ...... 326 8-1 Operational model ...... 329 8-2 WSAD Integration Edition Launchpad ...... 332 8-3 Welcome window ...... 333 8-4 License agreement ...... 333 8-5 Installation directory ...... 334 8-6 Installation features ...... 334 8-7 Installation summary ...... 335 8-8 Final window ...... 335 8-9 WebSphere Business Integration Server Foundation Launchpad . . . . 336 8-10 Installation wizard ...... 337 8-11 License Agreement ...... 337 8-12 Installation type ...... 338 8-13 WebSphere Business Integration Server Foundation Feature ...... 339 8-14 Installation directory ...... 340 8-15 Node name and host name ...... 340 8-16 Run as service feature ...... 341 8-17 Installation summary ...... 342 8-18 Registration window...... 343 8-19 Final installation window ...... 344 8-20 Select language ...... 344 8-21 Install Shield welcome window ...... 345 8-22 License agreement ...... 345 8-23 Customer Information window ...... 346 8-24 Installation destination folder ...... 346 8-25 Java Runtime Environment folder ...... 347 8-26 Security settings...... 347 8-27 Remote Agent Controller access ...... 348 8-28 Ready to install window ...... 348 8-29 Final window ...... 349 8-30 Language selection ...... 350 8-31 Welcome window ...... 350 8-32 License agreement ...... 351

xvi WebSphere Business Integration for SAP 8-33 Installation directory ...... 351 8-34 Installation summary ...... 352 8-35 WebSphere MQ library location ...... 353 8-36 Workbench installation...... 353 8-37 Program group selection ...... 354 8-38 Final window ...... 354 8-39 Language selection ...... 355 8-40 Welcome window ...... 355 8-41 License agreement ...... 356 8-42 WebSphere Adapter Framework location ...... 356 8-43 Installation summary ...... 357 8-44 Interchange Server name ...... 357 8-45 Program group selection ...... 358 8-46 Final window ...... 358 8-47 Create new local server and configuration...... 361 8-48 Local server name and server type ...... 362 8-49 Enable administrative console ...... 363 8-50 Set environment variables ...... 364 8-51 Set variable DB2_JDBC_DRIVER_PATH ...... 365 8-52 Set variable MQ_INSTALL_ROOT ...... 365 8-53 Enable WebSphere security ...... 366 8-54 Run administration console ...... 367 8-55 Create WebSphere MQ JMS connection factory ...... 368 8-56 Create WebSphere MQ JMS queue destination ...... 369 8-57 Business Process Container database setup ...... 371 8-58 Business Process Container JMS setup ...... 372 8-59 Business Process Container JMS resources...... 373 8-60 New Integration Component Library ...... 375 8-61 Integration component library settings ...... 375 8-62 Create a new business object ...... 376 8-63 New Business Object using ODA ...... 376 8-64 ODA detection ...... 377 8-65 Search a table ...... 378 8-66 Select a table ...... 378 8-67 Business Object properties ...... 379 8-68 Save BO configuration ...... 379 8-69 Browsing the Business Object Repository ...... 380 8-70 Business Object properties ...... 381 8-71 Create new connector configuration ...... 381 8-72 Open connector template...... 382 8-73 Standard connector properties...... 383 8-74 Connector specific properties ...... 384 8-75 New User project ...... 385

Figures xvii 8-76 New user project settings...... 386 8-77 Deploy WAS project...... 387 8-78 Component selection page ...... 388 8-79 Select the export directory ...... 389 8-80 Select Import data ...... 390 8-81 Project content directory ...... 391 8-82 Import from file system...... 392 8-83 Import wizard ...... 393 8-84 Generate Deploy Code ...... 394 8-85 Deployment wizard ...... 395 8-86 Inbound service files ...... 396 8-87 Select JNDI name ...... 397 8-88 File structure ...... 398 8-89 Import from file system...... 399 8-90 Import wizard ...... 400 8-91 Deployment wizard ...... 401 8-92 Inbound service files ...... 402 8-93 Select JNDI name ...... 403 8-94 File structure ...... 404 8-95 Adjust reference binding for Queue Connection factory ...... 405 8-96 Adjust reference binding for Queue Destination ...... 406 8-97 Add project to Test Server ...... 407 8-98 Adjust reference binding for Queue Connection factory ...... 408 8-99 Adjust reference binding for Queue Destination ...... 409 8-100 Add project to Test Server ...... 410 8-101 Create a new Service Project ...... 411 8-102 Create a new package ...... 411 8-103 Folder structure ...... 412 8-104 Create a new Service project...... 413 8-105 Create a new package ...... 413 8-106 Create new Service Skeleton...... 414 8-107 Create new port and binding ...... 415 8-108 Define locations ...... 416 8-109 Location for generated classes ...... 417 8-110 Create Business Process...... 418 8-111 Select Output operation ...... 419 8-112 Expand external services tree ...... 420 8-113 Drop HR Information Lookup service...... 420 8-114 Drop create internal order service ...... 421 8-115 Drop Notification service ...... 421 8-116 Connect business process nodes ...... 422 8-117 Staff activity properties...... 422 8-118 Select activity owner ...... 423

xviii WebSphere Business Integration for SAP 8-119 Properties of getHRData ...... 424 8-120 Add variable for request...... 424 8-121 Add variable for response ...... 425 8-122 Select staff activity parameters ...... 426 8-123 Add variable for staff activity ...... 426 8-124 Deploy code generation properties ...... 428 8-125 File location window...... 429 8-126 JNDI name selection window...... 430 8-127 Create a new VTC Profile ...... 431 8-128 VTC profile list ...... 432 8-129 Virtual Test Connector GUI ...... 432 8-130 Create remote deployment server ...... 434 8-131 Remote server host name ...... 435 8-132 Review installation directory ...... 436 8-133 Remote target directory type ...... 437 8-134 Remote target directory ...... 438 8-135 Application server HTTP port...... 439 8-136 Add projects to remote server ...... 440 8-137 Login to Web client ...... 442 8-138 Select InternalOrder process ...... 443 8-139 Start InternalOrder process ...... 444 8-140 Place first internal order ...... 446 8-141 Place second internal order ...... 447 8-142 Place third internal order ...... 448 8-143 Internal order request list ...... 450 8-144 Processed order details of first order ...... 451 8-145 Order details of second order ...... 452 8-146 Order details of third order ...... 453 8-147 Approvers My To Dos list...... 455 8-148 Second order details ...... 456 8-149 Second order start approval activity...... 457 8-150 Approve second order ...... 458 8-151 Reject third order ...... 459 8-152 Internal order request list after approval ...... 461 8-153 Second internal order details after approval ...... 462 8-154 Third internal order details after rejection ...... 463 9-1 Operational model ...... 466 9-2 WebSphere MQ local queue configuration ...... 468 9-3 Creating a queue manager ...... 469 9-4 Modifying the Configure Queue manager shortcut ...... 469 9-5 Configuring the queue manager ...... 470 9-6 Queue manager configuration output ...... 471 9-7 IBM DB2 administrative group creation ...... 472

Figures xix 9-8 IBM DB2 administration configuration ...... 472 9-9 Startup of IBM DB2 command line processor (CLP) ...... 473 9-10 DB2 Instance Attach ...... 473 9-11 Create database command ...... 473 9-12 Database manager configuration update...... 474 9-13 ICSREPOS database configuration ...... 474 9-14 Installation language selection...... 475 9-15 WebSphere InterChange Server InstallShield wizard ...... 476 9-16 License agreement window ...... 476 9-17 Installation directory selection window...... 477 9-18 Installation options window ...... 478 9-19 Database selection window ...... 479 9-20 WebSphere InterChange Server name ...... 479 9-21 IBM DB2 installation location ...... 480 9-22 WebSphere InterChange Server service configuration ...... 480 9-23 Start programs folder name selection ...... 481 9-24 Review installation options...... 481 9-25 Installation progress...... 482 9-26 WebSphere InterChange Server configuration wizard launch window 482 9-27 WebSphere InterChange Server configuration ...... 483 9-28 WebSphere InterChange Server configuration - WebSphere MQ . . . . 484 9-29 WebSphere InterChange Server configuration - database ...... 485 9-30 Configuration update confirmation ...... 486 9-31 WebSphere InterChange Server configuration ...... 486 9-32 Installation summary ...... 487 9-33 Installation completion ...... 487 9-34 Toolset InstallShield wizard ...... 488 9-35 WebSphere InterChange Server installation directory...... 489 9-36 Installation options review window...... 489 9-37 Installation progress...... 490 9-38 Installation summary window ...... 490 9-39 JDBC adapter installation language selection ...... 491 9-40 JDBC adapter InstallShield wizard...... 492 9-41 License agreement ...... 492 9-42 Adapter installation directory ...... 493 9-43 Installation options review ...... 493 9-44 WebSphere InterChange Server name entry window ...... 494 9-45 Start programs folder name selection ...... 494 9-46 Installation progress...... 495 9-47 Installation completion ...... 495 9-48 start_SAPODA.bat file ...... 496 9-49 start_SAP.bat file ...... 497 9-50 Integration process ...... 498

xx WebSphere Business Integration for SAP 9-51 System Manager preferences window...... 499 9-52 WebSphere Studio Workbench ...... 499 9-53 Warning message ...... 500 9-54 System Manager ...... 500 9-55 Project creation ...... 500 9-56 New Integration Component Library ...... 501 9-57 Launch the SAP Object Discovery Agent (ODA) ...... 502 9-58 Create New Business Object ...... 502 9-59 New Business Object dialog ...... 502 9-60 Create new Business Object Using ODA...... 503 9-61 Business Object Wizard - agent selection ...... 503 9-62 Business Object Wizard - configure ODA ...... 504 9-63 Business Object Wizard - source selection ...... 505 9-64 Business Object Wizard - confirmation of source ...... 506 9-65 Optional parameter prompt ...... 506 9-66 Business object generation ...... 507 9-67 Business Object Wizard - completion ...... 507 9-68 Application-specific information ...... 508 9-69 sap_bapi_material_availability business object ...... 509 9-70 Business Object Wizard - agent selection ...... 510 9-71 Business Object Wizard - agent configuration ...... 510 9-72 Business Object Wizard - source selection ...... 511 9-73 Business Object Wizard - confirmation of source ...... 511 9-74 Business object properties...... 512 9-75 Business object generation ...... 512 9-76 Business Object Wizard - completion ...... 513 9-77 db2_AVAILABILITY business object ...... 514 9-78 db2_REC_COM business object ...... 514 9-79 db2_WMDVSX Business Object ...... 515 9-80 New business object ...... 515 9-81 Generic_Business_Object ...... 516 9-82 Create new map...... 516 9-83 Project selection...... 517 9-84 Source business object selection...... 517 9-85 Destination business object selection ...... 518 9-86 Map name and mapping direction specification...... 518 9-87 Mapped: sap_bapi_material_availability to Generic_Business_Object 519 9-88 Activity diagram for custom verb mapping rule ...... 520 9-89 Map name and mapping direction specification...... 521 9-90 Mapped: Generic_Business_Object to db2_AVAILABILITY object . . . 522 9-91 Map name and mapping direction specification...... 523 9-92 Mapped: db2_AVAILABILITY object to Generic_Business_Object . . 524 9-93 Custom mapping for db2_AVAILABILITY to Generic_Busines_Object 525

Figures xxi 9-94 Map name and mapping direction specification...... 526 9-95 Generic_Business_Object to sap_bapi_material_availability_object. . 527 9-96 Create new connector ...... 527 9-97 New connector template selection ...... 528 9-98 Open file menu...... 528 9-99 JDBC template file ...... 529 9-100 JDBC connector specific properties...... 530 9-101 JDBC connector specific properties...... 531 9-102 JDBC connector supported business objects ...... 531 9-103 JDBC connector map associations ...... 532 9-104 SAP connector template file...... 532 9-105 SAP connector-specific properties...... 533 9-106 SAP connector standard properties ...... 534 9-107 SAP connector supported business objects ...... 535 9-108 SAP connector map associations ...... 535 9-109 Create new collaboration template ...... 535 9-110 New collaboration template creation ...... 536 9-111 Edit template definitions...... 536 9-112 Port creation and assignments ...... 536 9-113 Scenario creation ...... 537 9-114 Scenario naming ...... 537 9-115 Collaboration scenario ...... 538 9-116 Set collaboration target port...... 539 9-117 Set scenario that triggers collaboration ...... 539 9-118 Launch collaboration creation wizard...... 540 9-119 Create new collaboration ...... 541 9-120 Port bindings ...... 542 9-121 Collaboration general properties ...... 543 9-122 WebSphere InterChange Server project creation ...... 544 9-123 New user project ...... 544 9-124 Location of PerstentNameServer.bat...... 545 9-125 Persistent Name Server startup...... 545 9-126 WebSphere InterChange Server startup ...... 545 9-127 Register a WebSphere InterChange Server ...... 546 9-128 Deployment ...... 547 9-129 Deployment confirmation ...... 547 9-130 Map compilation...... 548 9-131 Collaboration template compilation ...... 548 9-132 RFC destinations ...... 549 9-133 RFC destination creation ...... 550 9-134 SAP function module selection screen ...... 551 9-135 Test function module ...... 551 9-136 Results received as Export parameters ...... 552

xxii WebSphere Business Integration for SAP 10-1 Business process model of Use Case CustomerDataRepository . . . . 556 10-2 WebSphere InterChange Server internal processing ...... 557 10-3 SAP Exchange Infrastructure internal components ...... 557 10-4 Operational model: CustomerDataRepository implementation ...... 558 10-5 Components of a connector...... 560 10-6 Architecture of the adapter for Lotus Domino for event processing. . . 562 10-7 Create the Customer Contacts database...... 564 10-8 Access Control List for Customer Contacts ...... 564 10-9 Open Event Table database ...... 565 10-10 Event Table configuration document ...... 566 10-11 Elements of the WBI system manager...... 567 10-12 Create a new integration library ...... 568 10-13 Name the new integration library ...... 568 10-14 Business object type DominoDocument ...... 569 10-15 Create New Business Object ...... 569 10-16 DominoDocument business object type in Business Object Designer 570 10-17 New business object Customer ...... 571 10-18 Insert the first row for the business object Customer...... 571 10-19 Customer business object type in the Business Object Designer . . . . 572 10-20 Mapping of a DominoDocument to a Customer business object . . . . . 573 10-21 Create a new map ...... 574 10-22 Selecting the source of the DominoDocument_Mapping...... 575 10-23 Name the map “DominoDocument_Customer” ...... 575 10-24 Move transformation for the Verb and ObjectId attributes ...... 576 10-25 Define the initial custom map...... 577 10-26 Execution order of the transformation steps ...... 577 10-27 Create connector configuration ...... 579 10-28 Standard properties of the connector for Lotus Domino ...... 580 10-29 Connector specific properties ...... 581 10-30 Supported Business Objects properties...... 581 10-31 Associated Maps properties...... 581 10-32 Messaging properties...... 582 10-33 Components of a collaboration template ...... 583 10-34 Import from Repository File ...... 584 10-35 Enter the installation directory of CollaborationFoundation ...... 585 10-36 Associate Customer business object & Collaboration Foundation ports585 10-37 Using the Visual Test Connector ...... 586 10-38 Get PortConnector as a copy of DominoConnector...... 587 10-39 Enter PortConnector as ApplicationName ...... 587 10-40 Create New Collaboration Object ...... 588 10-41 Bind ports of Domino2PortConnectorCollaboration ...... 589 10-42 Graphical view on Domino2PortConnectorCollaborationObject . . . . . 589 10-43 Start registering the ICS to the system manager ...... 590

Figures xxiii 10-44 Specify the ICS instance to the system manager ...... 590 10-45 Connect the System Manager to the InterChange Server instance. . . 591 10-46 Select New ICS Project ...... 591 10-47 Create CustomerDataRepostory_Proj ...... 591 10-48 Call Deploy user project...... 592 10-49 Deploy CustomerDataRepository_Proj ...... 592 10-50 Shutdown ITSOC_WICS gracefully ...... 593 10-51 Check that components of ITSOC_WICS are activated ...... 593 10-52 Create new profile for VTC ...... 594 10-53 Select profile in VTC ...... 594 10-54 Connect the VTC to ICS using the selected profile ...... 595 10-55 Create “Contact” document in “Customer Contacts” database ...... 596 10-56 Event in “Event Table” database ...... 596 10-57 Received business object in VTC ...... 597 10-58 Attribute values of received business object ...... 597 10-59 Request processing of the adapter for SAP XI ...... 598 10-60 Issuing New Using ODA within the Business Object Designer ...... 600 10-61 Select XML ODA Agent ...... 600 10-62 Enter the file name of the DEBMAS01 XML schema file ...... 601 10-63 Select DEBMAS01 as the source node for ODA generation ...... 601 10-64 Save generated business object to CustomerDateRepository library . 601 10-65 Select ROOT attribute as key for business object DEBMAS01 ...... 602 10-66 Definition of map Customer_Debmas01 ...... 603 10-67 Name map Customer_Debmas01 and select Mapping Direction . . . . 604 10-68 Name the meta-object MO_SAPXIConnector ...... 605 10-69 Insert new row in MO_SAPXIConnector ...... 605 10-70 Define values for MO_SAPXIConnector ...... 605 10-71 Definition of XML data-handler meta-object...... 607 10-72 Connector specific properties of the SAPXIConnector ...... 608 10-73 Supported business objects for the SAPXIConnector ...... 609 10-74 Specify “Customer_Debmas01” as associated maps ...... 609 10-75 Shared queues between SAP XI and WBI Adapter for SAP XI ...... 610 10-76 Overview: SAP XI processing for CustomerDataRepository ...... 611 10-77 General components of SAP XI ...... 612 10-78 Entities to be configured within the Integration Directory...... 613 10-79 SAP Exchange Infrastructure Tools...... 615 10-80 Links for configuring Technical and Business Landscape in SLD . . . . 615 10-81 New technical system type Web AS ABAP ...... 616 10-82 Technical System Wizard for registering R/3 back end ...... 616 10-83 Register Software in SLD...... 617 10-84 New technical system of type Third-Party ...... 617 10-85 Technical System Wizard for registering InterChange Server ...... 617 10-86 New Business System ...... 618

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

© Copyright IBM Corp. 2004. All rights reserved. xxvii 10-2 Files to copy into the Domino server directories ...... 565 10-3 Add-on to NOTES.INI ...... 566 10-4 Entries within NOTES.INI for HTTP and IIOP ...... 566 10-5 Copying NCSO.jar ...... 566 10-6 Standard properties for the connector for SAP XI ...... 607 10-7 Named entities within the SAP XI configuration...... 614 10-8 Adding WebSphere MQ Java libraries aii_af_jmsproviderlib.sda . . . . 633 10-9 Modifications within the file server/providerlib ...... 633

xxviii 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 Communication between two or more applications. Share and Connectivity 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 An application exposes a certain functionality and makes it Call accessible remotely. Other applications invoke these functions with or without parameterization. The action may return a result or not.

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

Distributed Object Request Brokers (ORB) provide a run-time environment computing model 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 Provides an enhanced access mechanism to business entities. characteristic 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 This term describes the composition of new business choreography 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 Features

WBI Server  Integrate WebSphere Business Integration Server provides process services  Model 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:

 WebSphere InterChange Server  WebSphere MQ Workflow

WBI Server  Integrate WebSphere Business Integration Server Foundation is the Foundation  Connect next-generation application server that simplifies build-to-integrate tasks, accelerates application development, and enables dynamic  Manage 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 Features

WBI Message  Integrate Extends the messaging capabilities of WebSphere MQ by adding Broker 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.

WBI Event  Integrate Allows high-performance content and topic-based publish and Broker 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.

WBI Adapter  Integrate  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.

16 WebSphere Business Integration for SAP Product Capability Features

WebSphere  Integrate  Facilitates easy exchange of information across different MQ 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.

WBI Toolset  Manage  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.

WBI Connect  Connect  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 Features

WebSphere  Connect  Provides advanced translation, validation, and batched Data information exchange capabilities for Electronic Data Interchange 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.

WBI Monitor  Monitor  Offers a minute-by-minute view of work items, including the (formerly  Manage status and workload of each job and user-level, to illustrate how Holosofx®) 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.

18 WebSphere Business Integration for SAP Product Capability Features

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.

WBI  Integrate  Prebuilt, customizable business-process templates that deliver Collaborations  Connect 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.

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 Process Information Services Services Services

Enterprise Service Bus

Partner Business Application and Data Access Services Services Application 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

Model Design Development Platform Implement Test

Process Monitoring Business Performance Management Services IT Monitoring

Interaction Services Process Services Information Services

Delivery Choreography Federation Experience Transactions Replication Resource Staff Transformation

Enterprise Service Bus Event Transport Mediation

Partner Services Business App Application and Data Access Services Services Event Detect On-Ramp Community Component Interface Document Business Application and Data Services Protocol Core

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

Integration Business Architect Developer Tester Analyst Specialist Development Platform

Business Performance Management Services Dashboards

Interaction Services Process Services Information Services

Business Portlets Data Models Processes

Business Object Mediations Enterprise Service Bus Definitions

Partner Services Business App Application and Data Access Services Services Adapters

Partner Profiles App Components 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

WebSphere BI ModelerDevelopment Platform WebSphere Studio

Business Performance Management Services WBI Monitor

Interaction Services Process Services Information Services

WebSphere BI Server WebSphere DB2 Information Portal Server WebSphere BI Integrator Server Foundation

Enterprise Service Bus WebSphere MQ Web Services Gateway WBI Event/Message Broker

Partner Services Business App Application and Data Access Services Services WBI Adapters HATS DB2 II Classic WebSphere BI WebSphere Connect Application Server Business Application and Data Services

EnterpriseEnterprise Applications Applications and Data and Data

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.

Application Adapter Specific Framework Component

Business IIOP Object Handlers

Global JMS Utility Functions Functions Generic Services Generic Services

Application InterfaceApplication Java to C++ TranslationJava to C++ Event Interface Message Application Application IIOP/ Message Transport Driver Event JMS Notification

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 Source: Sam Palmisano, IBM Chairman and Chief Executive Officer, in October 2002

38 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 Multi-Channel Access

Portal Collaboration

Information Integration Business Knowledge Intelligence Management

Master Data Management

Process Integration Integration Business Process

Broker Management Management Cycle Life

Composite ApplicationFramework 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 3rd Party Apps/ Browser/ Exchange Portal

SAP Web Application Server

Connectivity Internet Communication Manager

Presentation Layer Integration Layer Web Dynpro Integration Engine Business Layer 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.

WBI Adapter for Siebel App B App C

WBI Adapter for i2

IBM SAP XI App A WBI App D Broker Broker

SOAP/JMS SOAP/JMS 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 Procurement Regular Customer Sales Team HR Team Team Employee

eCommerce Portal

Business Customer Application Repository Business Corporate Application Information Sales & Product Distribution Master Data 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 Sales HR Procurement Regular Wholesale Team Team Team Employee

Groupware Infrastructure

Procurement Customer Data

Sales & Product Business Corporate Distribution Master Applications Information

Inventory HR System 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 Sales HR Procurement Regular Wholesale Team Team Team Employee

Common Groupware Infrastructure

Customer

Business Corporate Sales & Customer Customer Applications Information Distribution Repository Repository

Policy HR Procurement Service System System Sales & Sales & Distribution Distribution

Supply Chain Inventory Assembly System System Plant

Internal Purchase Requisition System Suppliers

Procurement Regular Team 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 Legacy Master Data 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 Legacy Check System

Figure 3-6 Business case diagram - Use Case 3

68 WebSphere Business Integration for SAP 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 Integration Broker Integration Information EIS Specific Outlet Specific Outlet Broker System Transformations

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 Transformations Data in Integration of Various Types 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 Interface Integration Information to Adapter Broker System EIS

Event Processing

Enterprise Event Integration Information Store Adapter Broker System

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 Customer Relationship SAP Financial Accounting Management 4.0 4.0B

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 Production System

Dev I Test II

Development Usability System Unit Test

Transport System

Dev II Test III

Sandbox tSystem Consolidation

Development Test Production Stage Stage 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 non- functional 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 ID type = string ID type = string Name type = string Credit Data type = string Account type = Account Attributes cardinality=n Profile Profile type = Profile ID cardinality = 1 type = string Create Profile Data type = string Verbs Update

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 Adapter Business Object Handlers MQ

Application Enterprise Event Integration JMS Information Notification Broker System Functions Transport Layer Transport

Global Services Generic Application InterfaceApplication Utility IIOP Functions

Application Adapter Specific Connector Component 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 Application Adapter Integration Information Specific Connector Broker System Component Framework

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 Collaboration Information Adapter Controller Controller System ASBO GBO GBO ASBO

Mapping Business Mapping & Process & Cross-Referencing Integration 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 Process Navigation

Session Request Data Invocation Compen- Observer Navigator EJB- Dispatch Handling sation based Process, Variables, Java, Audit API Activity Conditions WSIF Trail

Business People Interaction Factory Process External Internal Queue Queue DB Persistent Message- Internal Work Staff Authori- Storage Handler driven Queue Item Queries zation Bean- Handler Manager based MDB User Reg. Work item- Transient API LDAP based 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

Message Flow Application Adapter Application A ASBO ASBO Adapter 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 WBIMB Specific WICS Component WAS

Connector Framework SAP R/3

XML Schema

Business SAP Object ODA Designer

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.

SAP Application WBI Adapter Interface Business Logic Database

ALE iDoc sent to SAP Asynchronous:IDoc processed Database updated Return “IDoc received” Module Status to ALE table Status returned

ASBO sent to SAP ABAP Extension Converted to IDoc Synchronous Module ASBO returned w/object key Converted to Dynamic Object Advanced Event Notification Management/Troubleshooting Tools BAPI Module BAPI processed synchronously with object key feedback

Hierarchical Dynamic Retrieve from SAP tables using standard SAP API Retrieve Module

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 SAP Business Back-end Integration System Adapter

Business RFC Object BAPIs Connection Handlers RFCs SAP Gateway SAP SAP RFC Library RFC SAP SAP Java Connector - JCo

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 SAP Business Backend Integration System Adapter

Business RFC Object RFC_READ_TABLE Connection Handler SAP Gateway SAP SAP RFC LibrarySAP RFC SAP Java Connector - JCo

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 SAP Business Backend Integration System Adapter

Register RFC Program ID Server Multi-threaded Specific RFC RFC RFC Business ClientRFC Connection client Object client

Handlers SAP Gateway SAP RFC library SAP Java Connector - JCo

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 RFC Business RFC Object Connection Handlers

WebSphere SAP Business Backend Integration System

Adapter SAP Gateway

SAP Library RFC Register Program ID

ALE SAP Java Connector JCo- Event JMS Multi-threaded Processing RFC WebSphere Connection RFC Business RFCClient client MQ Connection Object Handler

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 RFC ABAP Connection Handlers

Tables Tables WebSphere Function Business ModulesRFC client Integration CWLD Adapter Namespace SAP Gateway SAP RFC SAP RFC library

Event Java ConnectorSAP JCo - Notification RFC Poll for Connection SAP Events 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 WBI Adapter WBI XI for Integration XML SAP XI Business Broker Message Object

XI_WBI_Queue XML Data XML Handler 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.

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.

SAP SAP Internet WBI Adapter Collaboration XI Internet XI for SOAP Business WBI Server SAP XI 2.0 Adapter Object InterChange Server SOAP over SOAP SAP HTTP/HHTPS Enterprise Web Server Web Enterprise Data XI Handler 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 Purpose Technical challenges type

Use Case 1 Application Synchronize the master  Consistent and reliable connectivity data of two sales systems. product master data Master data Notify subscribed synchronization between synchronization & business components of ERP systems. Event notification occurrences, such as a  Flexible, performing, and placed sales order. asynchronous event notification.

Use Case 2 Process Allow internal employees  Incorporates various choreography to submit purchase systems on different Internal purchase & User requisition requests via a distributed platforms. requisition process integration standard process. The  Supports long-running, process involves asynchronous processes. preexisting business applications and provides  Embraces human interaction an approval mechanism. within the process.

Use Case 3 Process Enable the SD System of  Seamless, real-time automation Company A to access the integration of remote Automate inventory inventory system of business logic. availability verification Company B to get reliable  Provides the opportunity to product availability data. dynamically adjust the system linkages.

Use Case 4 Inventory Create a new and easy to  Provides system access via availability use interface for the sales the standard groupware Maintain customer validation team to add new infrastructure. data across system customer records into the  Distributes business data to boundaries customer data repository. the relevant back-end systems.

110 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 & Portal Distribution Server System (A) Customer J2EE ERP Thin Client

Customer Data Repository Supply Chain System DBMS Supplier ERP Rich-client App Internal Trusted External Network DMZ 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 HR Client System Salesman Procurement ERP Rich-client App System Sales & ERP Policy Distribution System System Messaging J2EE ERP SystemSA PJ2EE

Inventory System

DBMS

Customer Data Repository

Domino Assembly Supplier Plant Rich-client App 1 Custom Supplier Rich-client App 2 Internal Trusted External Network 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 Salesman - Company B Thin Client Salesman Employee Assets Rich-client App Groupware Client

- New Assets UC 2 HR Procurement - New System Processes System UC 2 Internal UC 2 (B) (B) Purchase Sales & Sales & SAP Portal UC 1a SAP Requisiti Distribution Distribution Server on System System (A) UC 1b System (A) (B) UC 2 Policy Customer J2EE SAP SAP System Thin Client UC 2 (B)

Inventory J2EE Messaging System(B) System UC 3 (B)

DBMS J2EE

UC 4

Customer Data Repository (A) Assembly Customer Supply Plant Data Chain DBMS (B) Repository System(A) (B) Supplier ERP Custom Domino Rich-client App

Internal Trusted External Network DMZ Network

Figure 5-3 Logical architecture of merged enterprise

114 WebSphere Business Integration for SAP 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 Salesman Assets Thin Client Salesman Employee Rich-client App Groupware Client - New Assets - New UC 2 HR Procurement Processes ITSOD System System UC 2 UC 2 (B) ITSOA (B) WBI Sales & Sales & SAP Portal WBI Server Distribution Distribution SAP Server UC1 Message Foundation System System (A) Broker (A) (B) UC 2 Policy Customer J2EE SAP SAP System Thin client UC 2 (B) ITSOB J2EE Inventory Messaging System(B) WBI System UC 3 InterChange UC 3 (B) Server DBMS J2EE UC 4 ITSOF ITSOC WBI SAP XI InterChange Server Server UC 4 Customer Data Repository Supply (A) Chain Assembly Customer System(A) DBMS Plant Data Repository Supplier (B) ERP (B) Rich-client App Custom Domino Internal Trusted External network DMZ 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 Interaction

ITSOA  Product master data  SD System Company A - replication  SD System Company B WBI  Order event Message notification Broker Server

ITSOD  Process  HR System - choreography for  Policy Repository WBI internal purchase Server requisition process  Procurement System Foundation  Messaging Server  Human interaction

ITSOB  Inventory availability  SD System Company A - validation  Inventory System WebSphere InterChange Server

ITSOC  Customer master  SAP XI Server - data replication  Customer Data Repository WebSphere Company B InterChange Server

ITSO_XI  Customer data  SD System Company A - routing to SAP  WebSphere InterChange Server on SAP XI Server back-end system 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 - Company A Assets - Company B Salesman Employee Assets Web Browser Salesman Groupware Client Rich-client App Web Browser HR System - New Assets SAPGUI (B) - New Procurement HTTP Processes BAPI System ITSOD SAP

ITSOA SAP WBI (B) RFC Adapter

BAPI WBI Sales & SAP WBI Adapter Sales & Portal WBI SAP Distribution Distribution Server RFC Adapter

Server Message RFC WBI SAP SOAP/HTTP System(A) ALE RFC System Foundation

Adapter Broker

(A) WBI SAP ALE/ ABAP/ALE (B) Customer J2EE RFC SAP Web Browser SAP Server SOAP/HTTP Policy ITSOB Inventory WBI JDBC JDBC WBI System WBI Adapter System(B) Inter Messaging (B) RFC JDBC Change System J2EE Adapter WBI SAP Server (B) DBMS J2EE ITSOF ITSOC

RFC JMS Adapter WBI Domino Adapter

SAP XI XI SAP WBI SAP Inter XI MQ Change

WBI XI XI WBI IIOP SAP XI Server Adapter Customer Server Data IDOC Adapter Repository Supply (A) Chain DB Assembly Customer System(A) MS Plant Data Repository Supplier ER (B) P (B) Rich-client App cust om Domino Internal Trusted External network DMZ Network

Figure 5-5 Communications diagram

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

Table 5-3 Communications mechanisms Use Case Integration server type Technologies / Adapters applied

UC 1 WBI  SAP ALE for product data replication Message Broker  WBI SAP adapter for order notification

UC 2 WBI Server Foundation  WBI SAP adapter

UC 3 WebSphere  WBI JDBC adapter InterChange Server  WBI SAP adapter

118 WebSphere Business Integration for SAP Use Case Integration server type Technologies / Adapters applied

UC 4 WebSphere InterChange  WBI Domino adapter Server and SAP XI Server  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 SAP creates a data Create Database record.

IDoc generated by System to represent the new product record.

Integration System delivers Notify message.

SAP System Notify receives Idoc.

Error status Input data validation Fail code and redundancy check

Succeed

Success SAP System SAP creates a data Create Status code Database record.

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 SAP creates a sales Create Database order record.

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 WebSphere Business 3b Integration Message Broker

3c mySAP.com Adapter iv

4 i ii

ALE 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.

Validate input data Human Retrieve and retrieve Retrieve Policy Resource employee data additional approval policy. System System information.

Approval needed?

No

Yes

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

Place order to Request Procurement Yes the Procurement approved? System System.

No

Prepare Messaging Send process System notification 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 Inventory retrieves data using Query Request System adapter.

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 mySAP.com Adapter transforms business object transforms request to to query request for IBM business object for WICS. DB2.

WebSphere Interchange Server Query Request transforms data.

WebSphere Interchange IBM DB2 Server transforms data. Query Result

mySAP.com Adapter JDBC Adapter transforms business object transforms IBM DB2 to response for SAP. response to business Response object for WICS.

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 mySAP.com Adapter transforms business object transforms request to to query request for IBM business object for WICS. DB2.

WebSphere Interchange Server Query Request transforms data.

WebSphere Interchange IBM DB2 Server transforms data. Query Result

mySAP.com Adapter JDBC Adapter transforms business object transforms IBM DB2 to response for SAP. response to business Response object for WICS.

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 WebSphere Business Integration Adapter for Integration Adapter for SAP Exchange Lotus Domino Infrastructure

WebSphere Interchange Server

WebSphere MQ

SAP Exchange Infrastructure Integration Server

SAP Exchange SAP Exchange Infrastructure Infrastructure IDoc Adapter 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

Application and Data Access Business Business Services Application Application Services Business Application and Data Services 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 #3 #4

WebSphere InterChange Server X X

WebSphere Business Integration X Message Broker

WebSphere Business Integration Server X Foundation

WebSphere MQ X X X X

DB2 X X X

SAP JCO 2.0.10 X X X

SAP JCO 2.1.12 X

WebSphere Business Integration XX Adapter Framework

WebSphere Business Integration X Adapter for mySAP.com -ALE module

WebSphere Business Integration X Adapter for mySAP.com -BAPI module

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

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

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

WebSphere Business Integration X Adapter for XI

146 WebSphere Business Integration for SAP Use Case / Software #1 #2 #3 #4

WebSphere Business Integration X Adapter for JDBC

WebSphere Business Integration X Adapter for Domino

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.

sapbts08.sapbts.de.ibm.com AIX 4.3 ITSOA Windows2000

WebSphere Business Integration Message Broker 5.0.3

Adapter for Adapter mySAP.com SAP R/3 siccserv.isicc.de.ibm.com Adapter for mySAP.com SAP R/3 AIX 5.2 DB2 8.1 MQ 5.3.0.5 4.6c ITSOD Windows2000

WebSphere Business Integration

Adapter for mySAP.com Server Foundation 5.0.2 MQ 5.3.0.5 ITSOE Windows2000 ITSOB SAP R/3 Windows2000 SAP R/3 WebSphere DB2 8.1 4.7 InterChange Server ITSO_XI 4.2.2.2 Adapter for Adapter JDBC Windows2000 Adapter for mySAP.com DB2 8.1 MQ 5.3.0.5 Lotus ITSOC Windows2000 Domino 6.5 SAP XI 3.0 WebSphere InterChange Server 4.2.2.2 Adapter for Adapter Lotus Domino Adapter for Adapter XI DB2 8.1 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 Software Version Case

ITSOA UC 1 Windows2000 Pro

WebSphere Business 5.0.3 Integration Message Broker

WebSphere MQ 5.3.0.5

DB2 8.1 FixPack 5

WebSphere Adapter 2.4 Framework

WebSphere Business 5.5.2 Integration Adapter for mySAP.com

ITSOB UC 3 Windows 2000 Server

WebSphere InterChange Server 4.2.2.2

WebSphere MQ 5.3.0.5

DB2 8.1 FixPack 5

WebSphere Business 5.5.2 Integration Adapter for mySAP.com

WebSphere Business 2.4.0 Integration Adapter for JDBC

ITSOC UC 4 Windows 2000 Pro

WebSphere InterChange Server 4.2.2.2

WebSphere MQ 5.3.0.5

DB2 8.1 FixPack 5

WebSphere Business 1.0 Integration Adapter for XI

WebSphere Business 1.1 Integration Adapter for Domino

148 WebSphere Business Integration for SAP Host name Use Software Version Case

ITSOD UC 2 Windows 2000 Pro

WebSphere Business 5.0.2 Integration Server Foundation

WebSphere MQ 5.3.0.5

WebSphere Adapter 2.4 Framework

WebSphere Business 5.5.2 Integration Adapter for mySAP.com

ITSOE UC 2 Windows 2000 Pro & 4 IBM DB2 8.1 FixPack 5

Lotus Domino 6.0

ITSO_XI UC 3 Windows 2000 Pro

SAP NetWeaver Exchange 3.0 Infrastructure

siccserv UC 1, AIX® 5.2 2, 3, & 4 SAP R/3 4.7

sapbts08 UC 1 AIX 4.3

SAP R/3 4.6c

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 V1.3.1 Required. Used by the IBM (JRE) Agent Controller installer and WebSphere MQ.

IBM DB2 Universal V7.2 with FixPack 9 Used to store information Database Enterprise or about the broker domain Server Edition V8.1 with FixPack 2 configuration, and about resources deployed to the broker.

Microsoft Data Access V2.7 with Service Pack 1 Used for database Component (MDAC) or connections and other V2.7 with Service Pack 1a forms of data connections, or such as data sources over V2.8 the network.

IBM WebSphere MQ V5.3 with CSD04 or Facilitates messaging CSD05 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 V5.0.3 Used for message Integration Message transformation and routing. Broker

IBM WebSphere Business V2.4 Framework where WBI Integration Adapter Adapters can be plugged Framework 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 V5.5 Specific WBI Adapter to Integration Adapter for connect SAP back-end mySAP.com 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 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.

208 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 The Windows account. services user account

WebSphere Business Integration Broker The Windows account. services DB2 account

Broker domain and broker domain Localdomain. connection

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 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

220 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

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

222 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

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

226 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 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

230 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\\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 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/

278 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 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 5.1 FP2 Integration broker in this Integration Server Use Case. Foundation

IBM WebSphere Studio 5.1 Business process Application Developer development environment. Integration Edition

IBM Remote Agent 5.1 Remote deployment and Controller administration component.

330 WebSphere Business Integration for SAP Prerequisite software Version What the software is for

IBM WebSphere Business 2.4 Framework where WBI Integration Adapter Adapters can be plugged Framework in.

IBM WebSphere Business 5.5 Specific WBI Adapter to Integration Adapter for connect SAP back-end mySAP.com 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 CONNECT TO ICSREPOS DB2 UPDATE DATABASE CONFIGURATION USING MAXAPPLS 60 DEFERRED DB2 UPDATE DATABASE CONFIGURATION USING APPLHEAPSZ 4096 DEFERRED DB2 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://: IBM DB2 specific /database_name 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 - Dest - Rule sap_bapi_material_avail Generic_Business_Obje ability ct

Verb Verb Custom

Material_Number MATERIAL Move

Plant PLANT Move

Unit_of_Measure_for_disp UNITOFMEASURE Move lay

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 - Dest - db2_Availability Rule Generic_Business_Object

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 - Rule Generic_Business_Object

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 - Dest - Rule Generic_Business_Object sap_bapi_material_availability

Verb Verb Move

MATERIAL Material_number Move

PLANT Plant Move

UNITOFMEASURE Unit_of_measure_for_display Move

QTYAVAILATPLNT Quantity_available_at_plant_ Move level

INDICATOR Indicator__X___not_available__ Move N___no_check_

ENDREPLLEADTIME End_of_replenishment_lead_ Move time

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 Property Value used

AgentTraceLevel 5

ApplicationName JDBCConnector

BrokerType ICS

ControllerTraceLevel 5

530 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 Lotus Domino InterChange Server SAP Server Exchange SAP R/3 1 2 4 Infrastructure 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 Map

DominoDocument Debmas01 Adapter Adapter for Domino 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 itso_xi IBM WebSphere SAP Exchange itsoe Business Integration InterChange Server, V4.2.2 Infrastructure (XI) V3.0 siccserv Lotus SAP R/3 Domino WBI Adapter WBI Adapter JMS Adapter IDoc Adapter ALE Enterprise Server, for Lotus for XI, SAP Web AS SAP Web AS V6.0 Domino, V1.1 V1.0 Java, V6.40 ABAP, V6.40 IBM WebSphere MQ V5.3 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 Connector "Customer Contacts" Controller

Business Object 3 Event Listener "Domino Document"

1 4

Connector Agent 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 Event Table bitmaps C:\lotus\Domino\Data BIALD_movetotrash.gif BIALD_newconfig.gif

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 Copy file from ITSOE Copy file to on ITSOC

C:\lotus\Domino\java\NCSO.jar C:\WICS\connectors\Domino\NCSO.jar

566 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 InterChange Process Designer Relationships Relationships Server

Connector Configurator Collaborations Collaborations

Relationship Designer Connectors Connectors

Design Build Unit of Deploy Deployment

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 Customer

Values = DominoItemValue[0] ...... Value = Hans FirstName = Hans DominoItem[n+1] LastName = Meier Name = LastName DominoDocument_Customer . . . Type = String Mapping

Values = 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" Port InterChange Domino Domino Connector Server Connector Server Receive "Customer" 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 por t 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 WBI Adapter WBI SAP for InterChange XI XML SAP XI Business Server Message Object

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 WBI Adapter XI for XI_WBI_Queue 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 QLOCAL(SAPXIConnector/XI_WBI_Queue) DEFINE QLOCAL(SAPXIConnector/WBI_XI_Queue) DEFINE QLOCAL(SAPXIConnector/ArchiveQueue) DEFINE QLOCAL(SAPXIConnector/ReplyQueue) DEFINE QLOCAL(SAPXIConnector/InProgressQueue) DEFINE QLOCAL(SAPXIConnector/ErrorQueue) DEFINE QLOCAL(SAPXIConnector/UnsubscribedQueue)

610 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 SAP R/3 InterChange JMS Adapter IDoc Adapter XI Backend Server

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 Integration Integration Repository Directory 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 Outbound System Interface Sender

Communication Channel Sender Agreement (Sender Adapter)

Receiver Determination Integration Server Interface Determination

Communication Channel (Receiver Adapter)

Receiver Agreement

Business Inbound System Interface 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 WebSphere MQ

Send "Customer" InterChange WBI Adapter Port SAP XI SAP R/3 Connector Server for SAP XI

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();

SET OutputRoot.MQMD = InputRoot.MQMD; SET OutputRoot.MQMD.Format = MQFMT_RF_HEADER_2; SET OutputRoot.MQMD.Encoding = 273; SET OutputRoot.MQMD.CodedCharSetId = 1208;

SET OutputRoot.MQRFH2.(MQRFH2.Field)Version = 2; SET OutputRoot.MQRFH2.(MQRFH2.Field)Format = MQFMT_STRING; SET OutputRoot.MQRFH2.(MQRFH2.Field)Encoding = 273; SET OutputRoot.MQRFH2.(MQRFH2.Field)CodedCharSetId = 1208; SET OutputRoot.MQRFH2.(MQRFH2.Field)Flags = 0;

648 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 Description ALL.zip This ZIP file contains all the files listed below.

© Copyright IBM Corp. 2004. All rights reserved. 659 Use Case 1 Use Case 1 WBIMB and Adapter files.zip. Use Case 2 Snippets.zip. Use Case 2 Base Workspace SAK400.zip. Use Case 2 WorkSpaceBackup Final.zip. Use Case 2 Use Case 2 All files.zip. Use Case 3 Use Case 3 DB2 table creation.zip.

System requirements for downloading the Web material The following system configuration is recommended: Hard disk space ALL.zip is approximately 1.25 MB. Operating System Windows 2000 or Windows XP (Professional or Server). Processor Pentium® III 500M Hz or better. Memory 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 EAR Enterprise Archive Application Programming EDI Electronic Data Interface ADK Adapter Development Kit (EDI) ALE Application Link Enabling EIS Enterprise Information API Application Programmable Systems Interface EJB Enterprise JavaBeans ASBO Application Specific Business ERP Enterprise Resource Planning Objects ESB Enterprise Service Bus B2B Business To Business FDML Flow Definition Markup BAM Business Activity Monitoring Language BAPI Business Application GBO Generic Business Objects Programming Interface GUI Graphical User Interface BI SAP Business Intelligence HDR Hierarchical Dynamic BIRA IBM Business Integration Retrieve Reference Architecture HR Human Resources BIW Business Information HTTP Hypertext Transfer Protocol Warehouse HTTPS Extension of HTTP runnning BPC Business Process under the Secure Socket Choreographer Layer (SSL) BPE Business Process Execution IBM International Business BPEL Business Process Execution Machines Corporation Language ICM Internet Communication BPEL4WS Business Process Execution Manager Language for Web Services IDoc(s) Intermediate Document(s) BPM Business Process ITSO International Technical Management Support Organization BSP Business Server Pages J2EE Java 2 Platform, Enterprise CAF SAP Composite Application Edition Framework J2SE Java 2 Platform, Standard CMP Container-Managed Edition Persistence JCA Java Connector Architecture CRM Customer Relationship JCO Java Connector Management JDO Java Data Objects D2D Division to Division JMS Java Messaging Service DMZ Demilitarized Zone JRE Java Runtime Environment

© Copyright IBM Corp. 2004. All rights reserved. 661 JSP Java Server Pages WSDL Web Services Description KM Knowledge Management Language LOB Line of Business XI SAP Exchange Infrastructure MDAC Microsoft Data Access XML eXtensible Markup Language Components 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

Business Activity Monitoring (BAM) 26 A Business Application and Data Services 24 ABAP Extension Module 101–103, 124–125, Business Application Programming Interface (BAPI) 173–175, 204, 243, 283, 644 23, 81 ABAP Extension module 102, 243 Business Application Services 22, 28, 31 ABAP extension module 102 Business Applications and Data Services 24 ABAP Extension Module Business Object 304 Business Integration needs 10 Adapter 14 Business Integration Reference Architecture 20, 24 Adapter Development Kit (ADK) 86 Business Integration Reference Architecture (BRA) adapters 73 19 Advanced Business Application Programming Business Integration Reference Architecture in- (ABAP) 78 cludes 23 Agent Controller 180 Business integration scenarios 7 ALE and ABAP Extension module 283 Business layer 46 ALE Module 173–174, 203 Business Object Designer 95, 98, 283 ALE module 208 Business Object Designer tool 86 an overview of how the book is organized 1 business object handler 84, 86, 99, 103, 124, 645 Application and Data Access Services 24, 31 Business Performance Management (BPM) 33 Application Connectivity 12–13 Business Performance Management Services 30 Application connectivity 4 Business performance management tools 21 application connectivity 4, 14, 118, 123, 128 Business Process Choreographer (BPC) 89 application connectivity and process integration Business Process Execution (BPE) 89 styles 13 Business Process Execution Language (BPEL) 34 Application Link Enabling (ALE) 81, 123, 138 Business Process Execution Language for Web application platform of SAP NetWeaver 46 Services (BPEL4WS) 50, 88 Application Programing Interface (API) 74 Business Process Execution Language for Web Application Programmable Interface (API) 23 Services(BPEL4WS) 33 Application Programming Interface (API) 17 Business Process Management (BPM) 4, 45 Application Programming Interfaces (APIs) 47 Business Processes 31 Application Specific Business Objects (ASBO) 92 business processes 11, 14, 20–22, 25, 29–30, 33, Application specific Business Objects (ASBO) 90 37–40, 44–46, 58–59, 75, 81, 88–89, 111, 115, application specific business objects (ASBO) 87 128–130, 327, 374, 464, 612 Applications and Data Access Services 28 Business Rule Beans framework 34 asynchronous workflow 4 Business Server Pages (BSP) 46 available to promise (ATP) 66 Business-to-Business (B2B) 4, 17, 27 Business-to-Business processes 22 B Basic technology integration components 74 Batch Data Communications (BDC.) 81 C capabilities provided by the IBM WebSphere Busi- best-of-bread components 31 ness Integration (WBI) product family 9 BMs on demand business strategy 40 clustering 7, 23, 130 bottom-up application connectivity 14 Collaborative services 21 BPEL4WS business processes 15 common framework 36 broker-to-broker 642

© Copyright IBM Corp. 2004. All rights reserved. 665 common repository 20 F Comprehensive Services 24 File transfer 13 Comprehensive Services of IBM Business Integra- Flow Definition Markup Language (FDML) 88 tion Reference Architecture 19 Connectivity layer 47 Connector Configuration tool 85, 95 G generic business objects 608 container-managed persistence (CMP) 47 generic business objects (GBO) 87, 90 Content management services 21 generic business objects (GBOs) 92 cross-platform integration 11 graphical user interface (GUI) 120 Customer Relationship Management (CRM) 11 H D heterogeneous development 10 DB2 II Classic Federation provides 37 heterogeneous sources 35 DB2 Information Integrator provides 35 heterogeneous system 10 Demilitarized Zone (DMZ) 112 heterogeneous systems 22 design principles and methodologies 111 heterogenous IT landscapes 44 development platform 25 Hierarchical Dynamic Retrieve (HDR) 98 Development tools 20 HTTPS 47 Diverse forms of business information 22 Human Resource (HR) 65 Division to Division (D2D) 17 Hypertext Transfer Protocol (HTTP) 47, 104 E e-business on demand 38 I IBM Agent Controller 180 e-business solutions xxxiv, 4 IBM Business Integration 37 Eclipse framework 32 IBM Business Integration portfolio 31 eCommerce 112 IBM Business Integration Reference Architecture eCommerce portal 55 9, 19, 21–23 eCommerce Portal server 112 IBM Business Object 24 eCommerce portal server 112 IBM DB2 439 eCommerce Portal System 55 IBM on demand operating environment 32 EDI Data Handler 96 IBM Software development platform 28 Electronic Data Interchange (EDI 18 IBM software development solution 32 Electronic Data Interface (EDI) 81 IBM Software Offerings in the IBM Business Integra- Enterprise Archive (EAR) 433 tion Reference Architecture 19 Enterprise Information Systems (EIS) 23, 74 IBM WebSphere Business Integration 5 Enterprise JavaBeans (EJB) 46 IBM WebSphere Business Integration (WBI) product enterprise processes 4 family 9 Enterprise Resource Planning (ERP) 10 IBM WebSphere Business Integration adapters 82 Enterprise Service Architecture 40 IBM WebSphere Business Integration product and Enterprise Service Bus 24, 31, 34 SAP integration 1 Enterprise Service Bus (ESB) 23 IBM WebSphere Business Integration product fami- Enterprise Service Bus provides 23 ly 14 Enterprise Services Bus 27 IBM WebSphere Business Integration products 14 ERP solution 10 IBM WebSphere MQ 331 eXtensible Markup Language (XML) 12 IBM WebSphere Portal 18 extension of HTTP runnning under SSL (HTTPS) Information Services 27, 31 104 Integrating the SAP enterprise server 78

666 WebSphere Business Integration for SAP Integration Broker 82, 105, 138, 555 561–563, 565–566, 568–569, 578, 582, 586, 595, Integration broker 85, 91–92, 104 602, 641–642 integration broker 73, 75–77, 82–83, 85, 90, 92, Lotus Domino database 136, 138, 141, 556, 561, 96–102, 104, 106, 109, 138, 336, 359, 642, 642 644–645 Lotus Domino databases 138, 555 integration broker business object 100 Lotus Domino Server 138, 642 integration brokers 73 Lotus Domino server 138, 562 Integration challenges 11 Lotus Domino technology 71 Integration layer 47 Lotus Domino toolkit 566 Integration server 14 Lotus Notes databases 138 Integration styles 12 integration styles 12 Integration terminology 13 M Master Data Management (MDM) 44 Interaction Services 21, 26, 31 Message oriented Middleware 13 Intermediate Document (IDoc) 100 message type MATMAS 174 Intermediate Documents (IDOC) 81 message-flows 16 Intermediate Documents (IDocs) 121, 123 Microsoft Data Access Components (MDAC) 179 Internet Communication Manager (ICM) 47 middleware architecture 20 Internet Inter-ORB Protocol (IIOP) 96 mySAP Business Suite 40, 49 IT Monitoring 26 mySAP.com 73 iterative software development 25 N J NetWeaver technology stack 49 J2EE Application Server 15 J2EE standards 15 J2EE-certified runtime environment 46 O Java 2 Enterprise Edition (J2EE) 19, 78, 88 Object Discovery Agent (ODA) 82, 86, 105, 199, Java 2 Platform, Enterprise Edition (J2EE) 28 355 Java 2 Platform, Standard Edition (J2SE) 31 Object Discovery Agent Development Kit (ODK) 86 Java Connector Architecture (JCA) 50 Object Request Brokers (ORB) 13 Java Data Objects (JDO) 47 Open Database Connectivity (ODBC) 179 Java Database Connectivity (JDBC) 14 Overview about IBM Business Integration Refer- Java Message Service (JMS) 17 ence Architecture 19 Java Messaging Service (JMS) 50, 96, 204 overview about the different types of SAP R/3 inter- Java Runtime Environment (JRE) 179–180 faces 81 JavaServer Pages (JSP) 46 overview of the business integration landscape 4 JMX management interface 35 P K Partner Services 22, 27 Knowledge Management (KM) 43 People Integration within SAP NetWeaver 42 Persistence layer 47 Pertner Services 31 L Presentation layer 46 latest SAP releases 79 Process Integration 12–13, 44 Line Of Business (LOB) 21 Process integration 40 list of all available WebSphere Business Integration process integration 13, 33, 44, 49, 123, 128 Adapters 14 Process Monitoring 26 Lotus Domino 136, 138, 141, 555–556, 559, Process Services 22, 26, 31

Index 667 R SAP NetWeaver technology 5 Redbooks Web site 664 SAP NetWeaver technology stack 9, 40, 44 Contact us xxxix SAP Object Discovery Agent (ODA) 95, 97 Relational Database Management System SAP Object Discovery Agent (SAP ODA) 94 (RDBMS) 27 SAP R/3 ALE interface 174 Remote Function Call (RFC) 81, 97, 121 SAP related WebSphere Business Integration Remote Function Calls (RFCs) 328 Adapters 94 Remote Procedure Call 13 SAP specific WebSphere Business Integration requirements for SAP integration 73 adapters 4 Return On Investment (ROI) 33 SAP Web Application Server 45–46 Roles and Artifacts in the IBM Business Integration SAP Web Application Server (Web AS) 46 Reference Architecture 19 SAP Web Application Server (WebAS) 78 RosettaNet 12 SAP xApps 40 SAP XI Object Discovery Agent (SAP XI ODA) 106 Secure Sockets Layer (SSL) 17, 71 S Self-service 21 Sales & Distribution 57 semantic differences 12 Sales & Distribution process 54, 56 Service choreography 14 Sales & Distribution System 54 Service Oriented Architecture 37 Sales & Distribution system 55–58, 60, 71 Service Oriented Architecture (SOA) 19 Sales and Distribution (SD) 112 Service Oriented Architecture strategies 19 SAP application server 77 Shared database 13 SAP back-end systems 5, 7, 9 Simple Mail Transport Protocol (SMTP) 47 SAP backend systems 4 Simple Object Access Protocol (SOAP) 104–105 SAP Business Information Warehouse (BIW) 43 SOAP adapter 106 SAP Business Intelligence (BI) 43 SOAP data handler 106 SAP Business Intelligence solution 43 Some key integration features of business integra- SAP business solutions 80 tion 4 SAP Business workflow 45 standard interfaces 35 SAP Composite Application Framework (CAF) 49 Supply Chain System 54 SAP development efforts 80 Supply Chain system 56 SAP Enterprise Portal 42–43 supply chain system 71 SAP Enterprise Portal framework 45 SAP Enterprise Portal package 42 SAP enterprise server 77 T SAP enterprise system 78 Technology overview 10 SAP Exchange Infrastructure 44, 46, 73, 84, 94, terms used in the integration area 13 104–106, 138, 141, 555, 557 The Adapter Framework 37 SAP Exchange infrastructure 106 The Application Specific Component 36 SAP Exchange Infrastructure (XI) 44, 49 The Business Application Services 22 SAP Exchange Infrastructure IDoc adapter 141 The Business Object Designer supports 98 SAP Exchange Infrastructure Integration Server The Collaboration component 42 141 The main feature of the ABAP Extension Module SAP Exchange Infrastructure JMS adapter 141 103 SAP graphical user interface (SAPGUI) 77 Tivoli Monitoring for Business Integration 33 SAP Java Connector (SAP JCo) 96–97 top-down business process automation 14 SAP Mobile Infrastructure (MI) 43 Transaction ID (TID) 100 SAP NetWeaver 40–41, 45–46, 49 Transactional characteristic 14 SAP NetWeaver provides 48–49

668 WebSphere Business Integration for SAP U WebSphere Business Integration adapters for SAP User Interactivity 13 integration 4 WebSphere Business Integration Adapters portfolio 91 V WebSphere Business Integration Adapters pro- various technology options 51 vide 36 Visual Test Connector (VTC) 431 WebSphere Business Integration brokers 4, 49, 91–92 W WebSphere Business Integration Connect Ad- WBI Adapter 16 vanced/Enterprise provides 35 WBI Adapter for mySAP.com 218 WebSphere Business Integration Event Broker 16, WBI Collaborations 19 91 WBI Connect 17 WebSphere Business Integration for SAP integra- WBI Event Broker 16 tion 4 WBI Message Broker 16 WebSphere Business Integration infrastructure 5 WBI Modeler 19 WebSphere Business Integration Message Broker WBI Monitor (formerly Holosofx) 18 91 WBI Server 15 WebSphere Business Integration Modeler 33 WBI Server Foundation 15 WebSphere Business Integration Monitor release WBI Toolset 17 5.1 33 Web Dynpro technology 46 WebSphere Business Integration Monitor solution Web Services (BPEL4WS) 35 provides 33 Web Services (SAP Web Application Server 6.20 WebSphere Business Integration product family 7, and higher) 81 15, 73 Web Services Description Language (WSDL) 34, WebSphere Business Integration product family of- 106 fers 93 Web Services programming models 35 WebSphere Business Integration product suite 7, WebSphere Adapter for mySAP.com 130–131 14, 82 WebSphere Application Server 35 WebSphere Business Integration Server 15, 19 WebSphere Application Server (WAS) 34 WebSphere Business Integration Server compo- WebSphere Application Server foundation 17 nents 15, 34 WebSphere Application Server framework provides WebSphere Business Integration Server Founda- 35 tion 15 WebSphere Business Integration 7, 49, 51, 82, 104 WebSphere Business Integration Server Founda- WebSphere Business Integration (WBI) 4 tion (WBISF) 464 WebSphere Business Integration adapter 49 WebSphere Business Integration Server provides WebSphere Business Integration Adapter for 34 mySAP.com 94–95, 173–174, 203–204, 243 WebSphere Business Integration Workbench 19 WebSphere Business Integration Adapter for WebSphere Data Interchange 18 mySAP.com) 237 WebSphere Data Interchange Client 18 WebSphere Business Integration adapter for SAP WebSphere Host Access Transformation Services Exchange Infrastructure 104, 555 37 WebSphere Business Integration adapter for SAP WebSphere InterChange Server 15, 86, 106, 138 XI 50 WebSphere Interchange solutions 15 WebSphere Business Integration Adapter Frame- WebSphere MQ 16–17, 85, 91–92, 104–105, 138, work 91 141, 359, 404, 407–408, 439, 467, 560, 582, WebSphere Business Integration Adapters 23, 90, 588–589, 598–599, 616, 633, 642, 644 94, 466 Script Command (MQSC) 205 WebSphere Business Integration adapters 73, 82 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 Integra- tion 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

The need to integrate heterogeneous environments without WebSphere and SAP INTERNATIONAL integration using replacing existing IT infrastructures is growing more and more. WBI Adapters Standard application providers offer a wide range of business TECHNICAL applications, running on different platforms, and implemented in SUPPORT different languages. A sophisticated Enterprise Service Architecture ORGANIZATION Business is required to overcome the challenges implied by such a connectivity using heterogeneous infrastructure and make the whole enterprise WBI brokers controllable. BUILDING TECHNICAL The WebSphere Business Integration architecture provides different WBI and SAP XI INFORMATION BASED ON Integration brokers and a multitude of application and technology PRACTICAL EXPERIENCE interoperability adapters. It is an essential software component in IBM's e-business scenario on demand strategy. SAP Exchange Infrastructure is SAP’s strategic technology platform for process integration and connectivity of SAP IBM Redbooks are developed by components and non-SAP components. the IBM International Technical Support Organization. Experts This IBM Redbook illustrates how to integrate data and processes from IBM, Customers and located in SAP back-end systems using WebSphere Business Partners from around the world Integration middleware technology. It describes two WebSphere create timely technical Business Integration adapters: information based on realistic scenarios. Specific recommendations are provided IBM WebSphere Business Integration Adapter for SAP V5.5.0 to help you implement IT IBM WebSphere Business Integration Adapter for SAP Exchange solutions more effectively in Infrastructure V1.0 your environment.

These adapters are utilized to demonstrate the integration capabilities they provide. For more information: ibm.com/redbooks

SG24-6354-00 ISBN 0738491896