Case Study: SAP opinionated stack

Organisations with an established SAP backbone, such as S/4 Hana or ERP Business Suite, may wish to further leverage it without engaging in a costly and protracted learning curve associated with modern development stacks. The best way to achieve this is by adopting a rapid application’s development using a low code approach like Neptune DXP.

The goal is to provide a framework whereby existing SAP installations are exposed as a REST API through SAP Neptune DXP connector, which then allows Neptune DXP’s application development platform rapidly build apps through the Neptune DXP App Designer.

opionionatedstack

In this stack employees and partners access business functions through a multitude of Neptune DXP apps, build once and deployed across multiple trusted devices with varying characteristics, such as:

  • Device ownership:

    • Corporate devices

    • BYOD secured with an MDM

  • Deployment targets:

    • Mobile devices

    • Desktops via a browser

    • Mobile operating systems:

    • iOS

    • Android

    • Windows 10

  • Device geometries:

    • Small, that is, smartphones

    • Medium, that is, tablets

    • Large, that is, desktop computer

Dynamically auto scaled to size

  • Device orientations:

    • Portrait

    • Landscape

The above frontend elements implementing the user experience are supported by a combination of:

  • SAP REST APIs exposed by the Neptune DXP SAP connector.

  • External APIs onboarded for use by the App Designer.

External APIs must be securely whitelisted through corporate firewalls to establish trusted connection but otherwise do not require the services of an edge protection layer, such as an API Gateway. Whilst this precludes the effective use of Neptune DXP microservices it still allows full access to services offered maximising the scope of functionality available to Neptune DXP apps.

Finally, the Neptune DXP connector is natively installed in the SAP environment, which allows then to expose its function as a REST API.

For example, an inventory adjustment made by a Neptune DXP app is directly processed by the Neptune DXP SAP connector accessing an Inventory API generated to abstract SAP underlying Inventory ABAP Class implementation or an ABAP Business Process API (BAPI) carrying out the adjustment in the Materials Management (MM) module.

The fundamental takeaway from this approach is that the:

  • Presentation layer is largely agnostic to the ERP business function used to deliver the queries and actions initiated by employee and partner users. The presentation layer no longer attempts to implement any form of business logic and instead delegates this to a set of SAP specific APIs or by tapping onto external APIs for specific use cases not supported or preferred over SAP’s own implementations, for example, machine learning, payments, or image processing APIs.

  • Backend/SaaS systems are agnostic to the presence of the presentation layer and continue to provide the same breadth of services as they have always done. For SAP systems this abstraction is achieved by the Neptune DXP SAP connector, which wraps SAP traditional methods of communication around a REST API obfuscating and decoupling the originating callers to its resources.

The component elements of this stack are loosely coupled to an SAP backend as Neptune DXP apps make direct references to an SAP REST API as well as external services without any business services layer to sanitise opinionated implementation. In our example above the inventory adjustment app has a slant towards SAP’s specific implementation. Whilst this sacrifices the flexibility to remove SAP functions at will without a direct impact to Neptune DXP apps it still preserves a high degree of agility allowing the introduction of external API services at speed. What is lost by coupling Neptune DXP apps to SAP is compensated in lower stack complexity and therefore speed of implementation. It can therefore be used to deliver result at pace resulting in compelling user experiences.