There are always different needs, depending on different plattforms for different reasons.
Even if we are offering a complete E-Commerce Business Suite including an OpenUI5 Responsive Front-End, some partners/customers have their own UI Solutions or custom developed middleware.
In such szenarios, we mostly develop/offer the needed SAP Business Services to be integrated by themself.
Since i am a lazy developer following DRY (do not repeat yourself) i put together the needed information for 3rd parties to get an overview how to integrate with SAP.
SAP Business Suite Integration |
The image above will show the current possibilities of the most used SAP customer landscape szenarios (leaving out the deprecated stuff that is no more maintained).
As you can see in the overview, you will run into "The Paradox of Choice" and there is no on-size-fit-all solution regarding SAP integration.
Depending on your middleware, you can choose one of the following server side connector stacks, or decide to use client side integration technologies also on the server-side.
PHP Performance Comparison
While comparing PHP interface technologies, we noticed that the expected best performance for RFC is not given. Inside SAP-JCO (Java), the connection will be hold (Connection Pooling) while PHP needs each time a new reconnect. Beside this, the function lookup takes a lot of time and is also not cacheable inside PHP. Especially for complex interfaces, the lookup will take a lot of time.
The following compares both interface with a performance intensive BAPI_SALESORDER_SIMULATE call we use generally inside our E-Commerce solutions to calculate customer prices and availabilities.You can see, that the PHP fire-and-forget interpreted scripts perform much better using JSONRPC.
PHP Performance Comparison |
This comparison will only be valid for PHP using SAP NW RFCSDK. The results will be quite different using SAP JCO. If you need multiple SAP RFC calls inside the same script (especially on the same interface), the results will also be different.
Additional Information
Typ | Technology | Name | Author |
---|---|---|---|
RFC Connector | Node.js | node-sapnwrfc | Joachim Dorner |
PHP | php-sapnwrfc | Piers Harding | |
Python | python-sapnwrfc | ||
Ruby | ruby-sapnwrfc | ||
R | RSAP | ||
PHP | PHP 7 | Gregor Kralik | |
SAP Java Connector | JAVA | SAP Jco | SAP |
SAP Connector for MS .NET | .NET | SAP .NET Connector | |
SAP Business Connector | Multi (EAI) | SAP BC | |
SAP Gateway | HTTP(S) | SAP GW (SCN) |
To get an understanding of the pros and cons and what to choose when, the following matrix will split them up into different point of views.
Typ | Technology | Usage | Footprint | COM | Performance |
---|---|---|---|---|---|
HTTP | OData | Prefered and most up-to-date technology for restful (CRUD) business services. Needs an OData client library to benefit from all features | JSON ATOM/XML | SYNC | + |
JSON-RPC | Out-of-the-box possibilty to call remote enabled BAPIs (see RFC) without the need of RFC | JSON | SYNC | + | |
SOAP WS | Service Orientated Architecture (SOA) providing existing BAPIs via SOAP. Also higher level services are available using SAP Enterprise Services (E-SOA) | XML/SOAP | SYNC | -- | |
IDoc-XML | Standard SAP Business Objects can be created using a specified IDoc XML structure | XML | ASYNC | N | |
HTTP-Handler | Custom ABAP Class to handle http requests and to write back custom responses. The OData handler is based on this and implements the special needs. | ANY | SYNC | + | |
XML-Transformation | Transformation of SAP Business data into XML and vice-versa. Can be a Simple Transformations via an integrated mapping tool or a more advanced Transformation using XSL | XML | SYNC | - | |
SMTP | Sending Mails with attached/body data to SAP allows async handling of structured data. Used also for offline szenarios like Adobe Documents Services (ADS) to handle PDF integrated data | ASYNC | N | ||
RFC | BAPI | Default SAP communication prototcol since the very first beginning. Best choice for mass data exchange (ETL) supporting all kind of SAP features | BINARY | SYNC ASYNC | ++ |
FILE | LSMW | The Legacy System Migration Workbench (LSMW) is a tool that supports data migration from legacy systems (non-SAP systems) to SAP systems. The tool has interfaces with the Data Transfer Center and with batch input and direct input processing as well as standard interfaces BAPI and IDoc. | CSV/EXCEL | ASYNC | N |
Group | Transaction | Description |
---|---|---|
AS | LSMW | Legacy System Migration Workbench |
RZ10 | Maintain Profile Parameters Fully Qualified Domain, SSO Token | |
SE11 | ABAP Dictionary | |
SE16N | Data Browser (Database Table) | |
SE37 | ABAP Function Builder | |
SE80 | Design time ABAP Workbench | |
SICF | HTTP Service Hierarchy Maintenance | |
SE10 | Transport Organizer | |
STMS | Transport Management System | |
ST22 | ABAP dump analysis analyze errors (missing user rights, disabled services) | |
SU53 | Display Authorization Data for User analyze missing authorizations | |
GW | SEGW | SAP Gateway Service Builder |
SPRO | General System Customizing Section SAP NetWeaver/SAP Gateway controls many options | |
IDoc | WE60 | Documentation for IDoc types |
RFC | BAPI | BAPI Explorer |
SM59 | Manage RFC Destinations (ABAP, HTTP) |
Other options will be HANA Integration Services (HCI), but this will be another story.
No comments:
Post a Comment
Thank you for your comment!
The comment area is not intended to be used for promoting sites!
Please do not use such links or your comment will be deleted.
Holger
Note: Only a member of this blog may post a comment.