In this blog we would like to share experiences and results of the Community Advisory Group (CAG) Heterogeneous enterprise SOA (eSOA) Landscapes that is conducted by SAP together with selected partners and customers. To have good a representation of partners and customers, the selection criteria to join the CAG were the size of the SOA deployment, an advanced usage of SOA technologies and products as well as a good coverage of regions and industries. In regular face-to-face meetings and online workshops, the most urgent challenges were identified and consolidated in a set of five main topics. Then subprojects were set-up to work on the various topics. Here we would like to give an overview of the identified challenges and provide the current state of the project.
Developing enterprise applications following the service-oriented architecture (SOA) paradigm is not only popular, but almost common these days. Most sophisticated and complex enterprise application will leverage services that are either developed by customers, systems integrators or provided by multiple software and applications vendors. In larger companies with multiple lines of business or in case of mergers or acquisitions the resulting SOA system landscapes typically comprise multiple Enterprise Service Buses (ESB), service registries and repositories that need to interact with each other. With best-of-breed and multi-vendor strategies applied to the landscape the community members face a new set of integration challenges.
In several meetings and workshops the following main challenges in heterogeneous eSOA landscapes were identified in the CAG:
For the heterogeneous eSOA landscapes project we set up the following system landscape hosted in the Co-Innovation Lab (CoiL) in Palo Alto:
The SAP NetWeaver Composition Environment 7.1 (SAP NetWeaver CE 7.1) system is used for developing all composite applications that are needed for the project. It also runs the monitoring tools for the end-to-end monitoring subproject. Of course, to gain experiences with different ESBs, we installed an SAP NetWeaver Process Integration 7.1 (SAP NetWeaver PI 7.1) and a 3rd party ESB including the corresponding registries and repositories. On the application server of the 3rd party ESB we also deployed EJBs to simulate multiple backend systems (compare the test scenario description below). On the same system we set up an LDAP server for centralized user management. An SAP Discovery System serves as an ERP backend that provides all required Enterprise Services. For the registry co-existence subproject we also installed a 3rd party UDDI compliant registry as replacement for the UDDI part of the Services Registry. Additionally features of the 3rd party registry like policy management can be used that way.
To address the challenges of heterogeneous SOA landscapes described above, we were looking for a scenario that is sufficient generic to be a suitable for many industries, but where we can also show all relevant aspects of heterogeneous eSOA landscapes. As a result we implemented the following scenario:
In this scenario an SAP ERP 6.0 (SAP Discovery System) serves as a central customer master server, which holds all general customer data. This system is connected to the SAP NetWeaver PI 7.1. Other systems that hold additional customer data, such as the bank account data, are connected to an 3rd party ESB, so that the general data of customer queries is handled by the SAP ERP 6.0 system, whereas all the additional details are obtained from the systems that are connected to the 3rd party ESB. We simulate the additional systems through EJBs that are deployed on the same application server as the 3rd party ESB and that are exposed as Web Services. The choice, which backend, i.e. which EJB, must be called, is determined from the number ranges (Nummernkreise) of the customer IDs. The service calls (Enterprise Services and Web Services) for customer queries are synchronous calls. Thus, the SAP NetWeaver PI 7.1 addresses all general customer queries and the 3rd party ESB provides all additional customer data.
We are planning to provide a set of detailed tutorials about the various topics as soon as results are available, starting with the ESB coexistence tutorial. This blog will then be enhanced with links to the tutorials respectively. Stay tuned!