Deciding on how you integrate your SAP system with Low-Code platform is a complex architectural problem to solve. We look at a sample scenario and consider the various SAP integration options.
2. 1.
2.
3.
SAP & Low-Code platforms
SAP API Options
Visit our Knowledge Base.
Table of Contents
3. The integration approach for deploying a Low-Code platform within an SAP
environment is dependent on key architectural considerations. Most Low-
Code vendors typically cite Gartner's bi-modal IT architectural approach
and recommend that:
Low-Code platforms are deployed for customer facing components, that
require rapid change capabilities
SAP and back-office systems are layered and left “as is” in what Gartner
calls “Mode 1” management – to accommodate the longer and more
controlled change cycles associated with traditional IT environments
The implementation reality is however not that simple as core API changes
are frequently required to be cascaded down the entire IT stack – Enterprise
architects need to decide how “deep” the Low-Code solutions will penetrate
into their “systems of record” architecture.
SAP & Low-Code platforms
4. Sample scenario to provide context
It is useful to consider a specific example to highlight some of the
challenges that usually present themselves. Let's consider a beer
manufacturing company that wants to allow existing customers to create
‘internet’ or B2B orders. The objective of this approach is to provide a better
user experience for customers and reduce the workload on your existing
call centre.
Now consider the data flows required for the new customer journey:
1. We need to link web registrations with existing SAP customers
2. A product catalog is required with associated stock levels (including
Available To Promise number)
3. Orders need to be captured with accurate pricing (incl. current trade
promotions)
(The above is an extreme simplification of the actual data flows and
integration that would be required and ignores elements such as credit
availability, interaction history, delivery addresses, shipping notifications,
bill-to-parties, delivery scheduling etc. We are also assuming that SAP CRM
has not been implemented and that we are integrating directly with the
core SAP ERP system).
5. Calling the APIs
SAP provides APIs for these core data elements, and it should therefore just
be a matter of calling the relevant Business API (BAPI), right?
Exactly how you call (invoke) this API is covered in a later section, but let’s
consider one of the simplest API calls that are available - retrieval of
customer detail from the SAP Customer Master records.
Interesting - in order to read a customers’ details you need to know which
sales organisation (an configurable enterprise structuring within SAP's Sales
and Distribution Module) i.e. you require additional master data and an
associated algorithm so that the correct information can be retrieved for
the customer placing the order. Additionally, extracting information about
the customer's address and potential delivery addresses for orders would
require more BAPI calls – again not difficult but an integration pattern is
emerging, a number of sequential calls need to be made to interrogate all
the relevant master data for each customer.
6. Expecting your Low-Code consultant to know how to construct these calls
would be challenging. At this point customers typically resort to one of the
following options to solve this multi-request challenge:
1. A custom API is created on SAP, which retrieves all the relevant
information in one logical unit of work. This requires an SAP ABAP
developer - here all the fields you require are specified and built for you.
This could take the form of enhancing a SAP standard call, or creating a
completely new function.
2. A technical wrapper is created in the Low-Code solution which performs
all of the API calls and just exposes the relevant customer information as
required.
3. A middleware solution is implemented (either via SAP Process
Orchestration Engine or an existing ESB layer) as most SAP customers
would have some kind of middleware solution running within their
landscape. Typically the implementation of this would require some of
the ABAP code as per (1) above.
Options 1 & 3 above would be implemented in your SAP system and follow
a typical change control approach to migrate through from development to
testing to production (Gartner Mode 1 approach).
Creating sales orders is even more complicated
When creating the actual sales orders in the SAP ERP system, the SAP BAPIs
start becoming even more complicated, and the issue of having to pre-
populate master data (which is typically a selection parameters within the
UI) from SAP becomes even more onerous. Details such as: Distribution
Channels, Divisions, Sales Order Types, Sold-to-parties, Ship-to-parties,
material numbers, plants, item categories would all need to be populated
correctly in order to successfully create a sales order in the SAP ERP system.
The end result is that you would in all likelihood still require an experienced
SAP ABAP developer to assist as the integration requirements are likely
going to be developed in your existing SAP solution making rapid changes a
challenge – very much counter to the promises and objectives of Low-Code
solutions.
7. Other factors to consider
Some other considerations to be aware of when implementing Low-Code
solutions in combination with SAP are:
1. Authentication – how to handle SAP authentication, using an interface
user can reduce trace-ability and introduce security risks.
2. SAP Licensing – depending on how you integrate e.g. in real time, could
make you liable for additional SAP software license fees.
3. Stateful sessions – does your integration pattern require you to keep
state across the various integration steps?
4. Entity Modelling– should you synchronise data into your entity model of
the Low-Code platform (this may be needed for offline operations or
used to avoid having to do synchronous calls into the back-end ERP
system)
8. What options are available for calling the
SAP ERP APIs externally?
In broad terms the following integration options are available for
integrating with an SAP ERP system:
1. .Net Connector which exposes your API via the Microsoft .NET platform –
solutions such as Outsystems use this framework for extracting
metadata from SAP and provides the framework for calling via the RFC
layer.
2. SAP Java Connector (Jco) which allows bi-directional communication
between SAP and other systems catering for communication using Java
language to invoke RFC calls to back-end SAP systems.
3. Web Services – can be published directly from the SAP ERP system and
are typically consumed via SOAP.
4. Intermediate Documents – IDoc's are a messaging framework for bi-
directional communication between SAP systems, there are more than
500 different IDoc types and is analogous to an EDI solution.
5. Using SAP NetWeaver PO (Process Orchestration) which can invoke
standard or custom APIs that have been defined via proxies on your ERP
system. SAP provides an Enterprise Service Repository (ESR) which needs
to be configured across your SAP landscape for use.
6. Using the SAP NetWeaver Gateway, which uses the OData standard to
expose REST services from the ERP system. SAP uses this framework
extensively for providing its latest UI framework called Fiori.
7. Custom built HTTP adapters which use the ABAP Internet
Communication Framework (ICF) for communicating via HTTP (typically
via REST)
SAP API Options
An overview of integration mechanisms
9. 8. 3rd Party SAP Add-On tools such as Neptune or Enosix, which provide
integration frameworks and simplification tools.
9. HANA Cloud Integration (HCI) could technically be used to create data
flows between your Low-Code cloud solution and the cloud based HANA
solutions.
10. SAP API Management, a white labelled Apigee solution for building
external integration to the SAP ERP backend
Selecting the most appropriate option will depend on your Enterprise
Application Integration (EAI) strategy, which Low-Code platform you chose,
skills availability and cost guidelines.
10. Visit our
Knowledge
Base.
Visit our online Low-Code
Knowledge Base for more
information of architecture,
strategy and code platforms
vendors.
CLICK HERE