SAP Digital Manufacturing Cloud – Ready for Extensions
In this post, I would like to introduce the new extensibility capabilities of SAP Digital Manufacturing Cloud. With this overall introduction and the links to additional resources I hope you will get the jump start you need 🙂
Update December 2020:
- Update Business Processes with new 2011 features
- Machine Learning Extensions section added
Our experience gained from various customer and partner projects in the manufacturing space has made it very clear: a successful Manufacturing Execution Solution (MES) needs to allow for a wide variety of custom-specific adaptions and custom-specific extensions.
With the latest releases of SAP Digital Manufacturing Cloud, we have made a significant step forward, offering various options for extensibility
Introduction to SAP Digital Manufacturing Cloud (DMC)
SAP Digital Manufacturing Cloud is a manufacturing shop floor solution that supports production supervisors and workers during their daily work right on the shop floor where the products get manufactured. It is tightly integrated with SAP S/4 HANA or SAP ERP, where the production orders are planned and where inventory is provisioned, and subsequent supply chain processes are triggered and processed.
SAP S/4HANA or SAP ERP is the leading system regarding master data like material, BOM, or routing which will be transferred to SAP Digital Manufacturing Cloud.
SAP Digital Manufacturing Cloud connects top floor business systems to shop floor equipment to provide global visibility across all plants, while orchestrating execution and monitoring production operations down to the individual work center.
Partners and customers can adapt the solution to their very specific needs, using several public APIs and a set of extensibility options offered by SAP Digital Manufacturing Cloud.
Digital Manufacturing Cloud Extensions
With Digital Manufacturing Cloud we provide different areas for extension.
In all areas we allow partners and customers to develop additional functionality outside SAP Digital Manufacturing Cloud.
This custom functionality is developed using standard Developer Platforms like SAP Cloud Platform. For this special developer skills are needed like node.js or UI5.
To integrate them into the production process SAP Digital Manufacturing Cloud provides integrations points. This fully integrated custom functionality is known as DMC extension.
In the following chapters I will provide a short overview about the 3 main areas where we offer the possibility to create DMC Extensions.
Business Process Extensions
Every production differs from customer to customer. Some processes need additional extension e.g. to connect and communicate with external systems to enrich data or to post data. Those external functions or application have their own logic but the need to get the business context from DMC e.g. Which material is produced, which resource is currently in use? etc. Once the logic is processed, the extension needs to be able to provide the result back to DMC for further processing.
Business processes can be augmented using:
- extensions and applications written by customers/partners using SAP Business Technology Platfrom (SAP BTP)
- calls to third-party web services
- calls to SAP Manufacturing Integration and Intelligence (SAP MII) transactions (new with DMC 2011)
- calls to production processes that where designed using Design Production Processes app within SAP Digital Manufacturing Cloud itself (new with DMC 2011)
The below overview picture shows the different steps which need to be done to successfully create, integrate and trigger a business process extension.
Business Process Extension Development Phase
Persona: Software Engineer
Step 1: Develop extension
To develop an extension the software developer can choose development tools of choice e.g. Business Application Studio, WebIDE Full Stack, Visual Studio, CF Client Tools, Nodejs, NPM.
Step 2: Application Runtime
Once the application is developed it need to be deployed to a runtime of choice. This could be e.g. SAP BTP KYMA or SAP BTP Cloud Foundry runtime or any 3rd party application runtime.
Step 3: Create Destination
To allow Digital Manufacturing cloud to call your custom-made business extension during design and execution, SAP Business Technology Platform provides the possibility to create destinations to your application runtime of choice to allow a secure and central configuration to your service endpoint. More Information about this topic you can find in SAP Help Manage Destination or in multiple blogs here in the Community e.g. https://blogs.sap.com/2018/10/08/using-the-destination-service-in-the-cloud-foundry-environment/
Note: in the same way the destination to the SAP API Business Hub need to be configured, so you can call the public APIs from the SAP API Business Hub
Production Process Design Phase
Persona: Production Engineer
Step 4: Register Service
As a first step the Production Engineer need to register the business process extension service in DMC. By creating a new Service entry in the Manage Service app we make the service and the endpoint known in DMC so it can be used as a service within the next steps.
Step 5: Design Production Process
To design production processes without any coding skills DMC delivers the app Design Production Processes. The app helps you to model various production processes using a graphical design tool. The production processes defines the interaction between machines or defines rules, actions, and workflows that control the execution on the shop floor. The custom-made business process extension can be consumed and used like a standard business service within the Design Production Process app.
Step 6: Deploy to Production Process Runtime
Production processes need to be deployed and activated in the runtime. This is achieved in a centralized way using Deploy Shop floor Element app which also manages the dependencies to other required entities. Currently two runtimes are supported: DMC Cloud Runtime and SAP Plant Connectivity runtime. The SAP Plant Connectivity runtime is especially used for process automation tasks down to machine level.
Step 7: Define Process Trigger
Now that the production process is defined and deployed, we need to decide what should trigger the process.
- Manual by the worker. In this scenario we link the production process to an Action Button which is part of the POD using the POD Designer app.
- By a tag change on the machine. Here we need to subscribe the production process to event via the Manage Subscription app
- By an external service. To allow this, we need to publish the production process to the outside world. This can be easily enforced but just setting a flag in the Design Production Process app during the design of the process.
Production Process Execution (Runtime)
Persona: Worker or Intelligent Machine
Step 8: Raise Trigger – Start Production Process
During execution the worker, the machine or the external services calls the production process. When the process is called several parameters like the current SFC, Material and others are passed to the production process and the execution of the same is started. One of the steps is the call to your custom extension
For more information, see the SAP Help Portal for SAP Digital Manufacturing Cloud – Business Process Extensions – Developer’s Guide and SAP Help Portal for SAP Digital Manufacturing Cloud – Shop Floor Designer
Note: We are also working on a separate Blog to provide you a running example – please stay tuned.
User Experience Extensions
In production the worker has special need to interact with the system. E.g. he is wearing gloves and so he needs big buttons on a touchscreen, or he needs scanner support, or he always needs to look up certain information based on the product from another external system. To provide our customer flexibility to achieve the best possible user experience SAP Digital Manufacturing provides different options:
- Configuration of the POD (Production Operator Dashboard, UI for the worker) with POD Designer App
With the POD Designer the production engineer can configure the POD, Layout and pre-delivered DMC standard plugin like Data Collection plugin, SFC worklist etc. to the need of the worker
- Create own custom plugins for certain needs e.g. to display additional custom data which are send from ERP. Those plugins can be developed using any UI technology of choice and once they are registered in the Manage Service Registry App they can be configured and integrated to the POD via the POD Designer
- Developing a full SAPUI5 custom application in the customer/partner PaaS tenant using the available public APIs from the SAP API Business Hub.
The example below shows a Production Operator Dashboard (POD) that combines standard POD plugins and custom-build plugins:
- a generic button to open an external application, passing the current business context and data like selected SFCs.
- additional order properties to display custom values for an order as well as additional material information, including a thumbnail.
The custom plugins were developed using SAP UI5 based SAP Business Application Studio. By entering the custom plugins in the Manage Service Registry app, they are made available inside the POD Designer. In the POD Designer, the final POD configuration and layout can be designed and tailored to the needs of the worker.
A very simple sample of an UX extension you can find at https://github.com/SAP-samples/digital-manufacturing-extension-samples/tree/master/DMC_UX/1-Create-a-Generic-Button-And-Register-As-Custom-PoD-Plugin/CustomPodPlugin
Alternatively, the customer/partner may use the public APIs available in the SAP API Business Hub to create a full SAPUI5 custom application in the customer/partner PaaS tenant. Below, you see a screenshot of the Sample Assembly POD provided by SAP, using public APIs.
This POD is tailored to support a simple assembly operation using a scanner device. To give you a jumpstart on how to use the APIs and how to develop a POD we have also published the source code of this sample on https://github.com/SAP-samples/digital-manufacturing-extension-samples/tree/master/DMC_AssemblyPOD.
For more information, see also the SAP Help Portal for SAP Digital Manufacturing Cloud – Develop
Machine Learning Extensions for the Artificial Intelligent Scenario Visual Inspection
Please take a look at the Visual Inspection Video . The video provides the overall business context for Visual Inspection.
The video provides the overall business context for Visual Inspection for more details please also check out the blog AI/ML Solution for Visual Inspection overview: How to close the production gap for machine learning
Hope you liked the introduction?. As shown in the video, one of the key objectives of the new AI/ML scenario for Visual Inspection was to simplify the process of integrating a new machine learning model into the business process within minutes instead of months. Visual Inspection in SAP Digital Manufacturing Cloud allows you to upload a trained machine learning model (also referred as Bring Your Own Model) and activate it for use on the shop floor, without writing a single line of code.
But this is not all, SAP Digital Manufacturing Cloud also supports you even before: how to collect effortless and automatically extract data to train a machine learning model.
To provide you more details we are working on a blog, which will be released soon.
- To get started, please check out the detailed guides which are available at the SAP Help Portal for SAP Digital Manufacturing Cloud in the Develop
- To get an easy jump start, check out the sample code we publish on the SAP Samples Git Hub https://github.com/SAP-samples/digital-manufacturing-extension-samples.
- Discover the Digital Manufacturing Cloud public APIs on the SAP API Business Hub. You can use them to connect to SAP Digital Manufacturing Cloud from other solutions or to build your own business application on top of SAP Digital Manufacturing Cloud.
- Follow this blog so you get updates on any changes 🙂
With this set of extension options, you have lot of options to adapt SAP Digital Manufacturing Cloud to your very specific needs. Many business scenarios are possible to implement, and we will continue to share our examples and experiences with you with more blogs to come.
Looking forward to your feedback and to hear about your specific business needs.