Make It Simple: Build Applications with Development Productivity Tools [AD114]
[MUSIC PLAYING] Hello and welcome to SAP TechEd 2022. My name is Birgit Selbach, and I'm a Director Product Enablement for the SAP Business Application Studio. With me I have Rudberck Cabral, IT Project Manager from our customer Vale, and Gustavo Simil, CEO from our partner B2RISE. It is a great pleasure to have you here. Thanks, Birgit.
It's a pleasure to stay here and talk a little bit about our project! Hi, everyone. Thank you for the opportunity. Let's start with a short overview of the SAP offering for application development on SAP Business Technology Platform. Then we will show you how to build and deploy an app using SAP's Development Productivity tools.
After that, we'll hear from our wonderful customer Vale how they have built an enterprise mobile app using SAP Business Application Studio. We enable our customers to become an intelligent and sustainable enterprise. For this, we have our Business Technology Platform, BTP, that provides the foundation. It brings together application development, process automation, integration, data and analytics, and artificial intelligence capabilities. On top of BTP, our applications work together, spanning frontend and backend systems.
This all comes together to provide customers the end-to-end industry-specific business processes they need to run as an intelligent and sustainable enterprise. BTP is a unified and open platform that combines several capabilities. In this lecture, we focus on app development. We will show you our code-first tooling, including SAP Business Application Studio, a VS Code-based editor with a simplified developing experience highly integrated with SAP services.
With our tools, you can develop enterprise applications faster no matter which skill level you have. With SAP Build Apps as part of SAP Build, we have a no-code offering for citizen developers, whereas Business Application Studio is our pro-code offering for professional developers. SAP Build Apps are presented in other TechEd sessions.
And if you are interested in those, please have a look at the session catalog. SAP provides developers productivity tools for a comprehensive developer offering. With those tools, developers can quickly build enterprise-ready applications. In the center is SAP Business Application Studio.
There are many related productivity tools. Today, besides Business Application Studio, we focus on the Mobile Development Kit, the Cloud Application Programming Model (CAP) and Kyma Runtime. SAP Business Application Studio is a tool offering a high productivity approach for professional developers. It comes with a development environment with which developers can easily create applications with visual editors.
In the backend, normal code is generated that could have been written by a developer using a text editor. It is possible to switch back and forth between the visual tools and text-based development at any time. To do so, SAP Business Application Studio offers you the following features which you will also see later on in our demo-- a simplified UI with reduced complexity, a unified project page with a quick overview of the application's main building blocks, a semantic view of your application components. Guided development helps you to perform common development tasks easily. With only one click, you can preview and deploy the complete project.
Graphical data and app modelers allow you to create simple as well as complex entity models and services. With the Service Center, you have a central entry point to explore services from various service providers. We now show you in a demo how this all looks like. I will now show how to create a mobile application based on an incident scenario. For that in the lobby, I create a new business application.
And I call it Incidents. I'm now being taken to the Business Application Studio to develop my new application. For users to create new incidents in my mobile application, I need a UI. I need a form in it. So, first of all, I create a data model for my UI.
And I call that data model Incidents. Apart from the ID that's generated for me, I create one property called Title, which is a string. I'll also add an urgency. And since the urgency should consist of a fixed set of values, I create another entity. Now I create a relationship between the incident and the urgency. And I take over the suggestions.
Now as a next step, I want to make sure that for each incident, there is a customer assigned to it. Customers, though, reside in an S/4 back-end. And I look for an S/4HANA cloud system. And I find there's a number of APIs here that an administrator has set up for me. One of them is the Business Partner, which holds my customers.
I like that, and I add this API, the data model of it, to my application. I'm going back into the incidents. And also, create a relationship to my business partners. This time, I have to select an entity from the many entities in the Business Partner API from S/4.
And I change the name to Customer. Now I've got my data model. I will add sample data to it, to the application. I create some values for urgency.
I could now add more sample data, for example, for Business Partners. So, I add mock data in order not to go to the back-end system every time. But in the interest of time, I'm not doing this here.
I'm creating a service now. So far, I have a data model-- so the way our data is represented on the database. However, this is not necessarily the way the consumers should see the data.
So, you have to create a service on top of that. In our case, we actually expose the data structures one by one to our API, to our service. So, first, we create incidents. Then we use our urgency. And last but not least, we also add the business partner.
Now our service is finished. Let's move on to create a new mobile application now. So, we're taking over the suggested name. It's fine for us. We're choosing the mobile application type.
We're using our create, read, update, and delete template. And we base our application on incidents. The value help that we want to have should show the name of the urgency instead of its ID. And it should show, also, the business partner ID. Now we're generating the application.
The application already has a number of pages-- for example, a list and a create screen. Let's go to the list and change it slightly to what was generated here. Actually, it will show the urgency as an ID.
And I really want to show the name. So, I have to change query options here. I have to expand the urgency entity that we created before and then change the binding from urgency ID to the urgency name.
I do that. I go back to the home page. My application is finished. I can now preview it either with sample data or with the live data, which in our case, we're going to do.
And we're going to bring up our mobile application, which has a connection to the S/4HANA back-end. We have the services here that we could try out, but also, the mobile application. It comes up with the incidents list, which is empty originally.
Now we can add a new incident. Let's give it a title. Let's pick an urgency and add a customer from the back-end system and save it.
And there we go. This is our final mobile application that we can now deploy to our mobile phones. And that concludes the demo. For deployment, you have the possibility to flexibly choose between storage and runtime.
For cloud-native aspects, Kyma is the way to go. It is a Kubernetes-based runtime built on open source software. It enables deploying scalable applications built as containerized microservices. And it supports your development environment of choice while it is integrated to SAP platform services. It is a great pleasure for me to now hand over to Rudberck Cabral from Vale and Gustavo Simil from B2RISE. They will tell us about the mobile app they created with SAP Business Application Studio, Mobile Development Kit, CAP and SAP HANA as storage.
Cabral, over to you. Thank you, Birgit. Let's talk a little bit about the use of SAP Business Application. We are Vale, a global mining company, one of the largest producers of iron, pellets, and nickel. We also produce other metals, have logitics and energy business.
For Vale, life matters most. And we call the safe-to-work permit as contract for life. The purpose is to put the people at the center of our decisions by focusing on the elimination of high severity events at Vale.
The safe-to-work permit is a checklist about hazards and risks that must be done at the place before performing maintenance tasks. The main target is to ensure the safety of everyone involved. Before the App, the safe-to-work permit was done on physical paper and saved in files spread around the world. Sometimes, people would lose the document or didn't understand what was written.
It was very common the situation that the employee went into the workplace and forgot the document printed in paper. And they had to come back to the office to get it. And those delay our activities. Vale issues about 5 million safe-to-work permits per year.
The biggest challenge was to develop an app that features different business requirements. For instance, we don't have Wi-Fi signal in our areas for underground mines and railroads. So, the app must work offline and allows to sync when finding the Wi-Fi signal. Other important requirements are save the geolocation to assure that the employee done the hazard evaluation at the place, seeing all environment condition.
Update easily the Vale safety standard in case of reviews, collect digital signatures as evidence, attachment capabilities of docs, KPIs about the most frequent hazards and risks, dashboards, integration with SAP and to get to work order details, validating employee certification through the integration with SuccessFactors. The app is sustainable, we estimate save around 108 tons of paper, improve the process, help to save lives, and increase the productivity with safety. I'll hand the presentation over to Gustavo Simil. Thank you, Cabral.
Now I'd like to share with you how we used some of the features of Business Application during the development of this project. So, first of all, we added here better integration with SAP technologies. As you will see in our architecture slide, we have different components from BTP being used in the solution. We have the mobile services. We have portal with SAP Wi-Fi applications deployed there. And we have also back-end with HANA Cloud, and SAP CAP.
Everything was developed inside Business Application itself. We didn't need to use different IDEs. We could use everything centralized in Business Application Studio.
The second feature that we added here is the possibility of using custom-built process. This is really important to the development team. I will give you two examples. Our developers-- they enjoy developing the code using the TypeScript language.
They do not need to deploy to the cloud the solution to test and to ensure that everything is fine. So, all the developments can be done. And all the testing can be done in the Business Application locally. Especially the database-- you don't need a HANA instance database to deploy your application.
You can use the SQLite embedded in Business Application Studio. Another thing is the predeployment test. This is really important to ensure that you are delivering a good quality, a good product with quality to your customers. What we did-- we used here a lot of unit tests, integration tests using Jest and Cypress as our frameworks.
So, before deploying our solution to the cloud, we ran all these tests to ensure that no new bug was inserted by a developed feature in the solution, OK? Default linters -- this is to ensure that our code follows some patterns. This is really important to development because when you do maintenance on the code-- a new developer-- when it gets to the code, that code feels familiar to him. So, he will be able to do the maintenance in a more easy way.
Powerful wizard templates-- SAP is constantly bringing new templates to Business Application Studio to all technologies-- to mobile, to UI5, to Fiori Elements. So, very frequently, you have new wizard templates, which speeds the setup of the project. The last thing that we have added is the community that we have to support us. Business Application Studio is developed on VS Code, which is a very popular IDE. And you have a large community to support you during your development.
What are the benefits that our solution, the product that we developed, is bringing to the business? First of all, we added reduced implementation time for revisions in security standards. So, the safe work permit is fully based on the security standards of Vale. And the security standard is a live document. It changes frequently.
Why? Because it's always changing because it's focusing on improving the security of the company, of the maintenance team. So, every time the security standard is updated, we need, also, to update our solution. And we did not want you to do an update with a change in the code. So, we created this solution very dynamically. The change can be done by a configuration itself. The forms that need to be fulfilled in the safe work permit-- they can be changed dynamically.
Second thing is the reduction of errors. So, as Rudberck mentioned before, the safe work permit document was filled manually before our solution. Now everything is digital.
The solution guides the end user on the fulfillment of the safe work permit, OK? We also have a very strong requirement, which is the offline operation. The application must be used offline. We have underground mines. We have very remote locations without access to internet.
So, offline was a must to our solution. And we could use this feature out-of-the-box from the Mobile Service Solution from SAP. The paper used was reduced, as mentioned by Cabral. Nothing is done on paper anymore. Everything is digital. The compliance-- now we are very based on the security standards.
Any update, as I mentioned in the security standard-- is replicated to our solution. OK? And the last thing is related to audit. Everything that is done in the application is tracked. So, we track all tasks in the application. So, if, for instance, an incident occurs during an operation, during a maintenance task, we can now track if the safe work permit was filled correctly. And we can take some lessons learned from that to improve and to increase the security of the maintenance team.
This is the architecture of our solution. So, you can see that the Business Application Studio is a central component of it. This is what we'd like to highlight in this slide. And there are some new features available in Business Applications Studio. When we started the project, we didn't have this. But this is very useful.
It's something that we will start using. I highlighted two of them-- Data Model Editor. It makes it very easy now to do maintenance in our database models.
And the Deployment to mobile Service now can be done much easier, OK? This is a slide to thank for the project team to make this project possible. So, this is my last slide. Now back to you, Birgit. Thank you. Thank you, Cabral, and thank you, Gustavo.
This was really impressive. Thank you so much for sharing your experiences with us. Before ending, I would like to draw your attention to several other sessions about application development on BTP. Here are some great learning offerings to complement your conference.
You can prepare for a certification in development roles with free SAP Learning Journeys and live learning sessions led by SAP experts. Safe with an exclusive SAP TechEd certification offer that came in your SAP TechEd registration email. Connect with the experts. Expand your network and share your knowledge and experiences with others in the SAP community. And network in a moderated SAP Learning Group to get your learning questions answered. Find all the great content at learning.sap.com/teched.
Dear audience, we are at the end of our lecture. Thank you so much for your attention, and enjoy the rest of SAP TechEd 2022. [MUSIC PLAYING]