Drupal- SAP integration continued: SAP ES Workplace perspective
SAP ES Workplace: An awesome site for understanding and testing all SAP delivered services:
SAP has a site called "ES Workplace" - Enterprise Services Workplace where all the ES delivered by SAP are consolidate in one place. The aim is to improve adoption of these services and for learning and testing purposes.
The first step is to get access to the system using http://sdn.sap.com/irj/sdn/soareg. The system that hosts all these services is HU2. You can also use sap_esw/eswork123 if you do no want to register.
The Enterprise service bundle for HCM Master data (Human Capital Management) can be accessed with http://esworkplace.sap.com/socoview(bD1lbiZjPTAwMSZkPW1pbg==)/render.asp?packageid=DE0426DD9B0249F19515001A64D3F462&id=A42BC625EB3346748253B1180B293C65
Also available are numerous simple samples that covers all the steps involved in a business process. For example: Create Leave Request business process uses nearly 7 services to perform the business operation.
All the Drupal scenarios use services from the HCM Master data ES bundle.
Since the SAP webservice and the Drupal commons are in different network we do not use Single sign on, rather we use a username/password authentication mechanism to connect to the SAP webservice. For this testing purpose we use the same user name/password for all our connections. Ideally we would be using the SSO, and each user would be connection to SAP using their own credentials.
All the SAP webservices are defined using a standard WSDL with one or more SOAP Action defined in it. All the SAP specific variables are defined using their own namespaces like "http://sap.com/xi/SAPGlobal20/Global". Each SOAP Action takes optionally one or more arguments. To invoke a SAP webservice, you need to invoke a SOAP Action passing relevant parameters, and get back a return XML. Each of these services can be tested right in the ES Workplace (ofcourse only using IE) using the "Test with WS Navigator" button, which is a really useful tool to understand the workings of the webservice.