Do I need to open up my system to the internet?
Update July 2018: Added section on ‘Developing your app’.
In the past I had a lot of customer conversations and presentations on the topic of how to develop a Fiori app with SAP Web IDE. Many customers want to improve the SAP user experience for their end users. For this they embark on a journey to learn about Fiori technologies like SAPUI5 and respective tools like SAP Web IDE to develop or extend apps. Most often the landscapes are on-premise landscapes with SAP’s business suite / ECC, so such a project usually is the first contact with new technologies and new knowledge is required:
- Web UI technologies like SAPUI5 and the openSAP course on SAPUI5
- SAP Cloud Platform being the environment of SAP Web IDE, the development environment for SAPUI5 / Fiori.
SAP Cloud Platform brings many capabilities and working with a cloud IDE usually is a big benefit. What is not so obvious to many customers is how this cloud environment integrates with their on-prem systems and ‘how much’ of this integration is required for their first steps. If the final runtime platform for the Fiori app is an ABAP system, why do you need cloud?
Some customers are concerned about security in a cloud environment and how secure a connection to their backend system can be. Questions on security, data privacy and data center certification are often the first hurdle to overcome. SAP compiles related information for SAP Cloud Platform: SAP Cloud Platform Trust Center and SAP Cloud Trust Center
SAP Cloud Connector is used to establish a connection to an on-prem landscape. This is achieved by running the cloud connector as an on-premise agent in the secured network and acting as a reverse proxy between the on-premise network and SAP Cloud Platform. For more details see:
SAP Web IDE running on SAP Cloud Platform can leverage this secure connection and many customers following this approach of connecting SAP Web IDE to ABAP systems. But is this connection required, if you want to make first steps and evaluate SAP Web IDE?
Let’s have a closer look at which features make use of such a connection and what your benefits are:
- Developing your app
When creating an app from a template, you’ll see the Data Connection step in the respective wizard. In many cases you can refer to an existing Gateway OData service which comes with the respective backend data model of your business objects. Then you’re done right away.But what happens in cases where you don’t have a backend model yet or no connection via the SAP Cloud Connector? As a first step you would download the metadata model from your existing Gateway service or create a new one from scratch, e.g. by using SAP Web IDE’s OData Model Editor. Both optioins will give you a metadata.xml file which you can upload (option ‘File System’) or include (option ‘Workspace’) during the Data Connection step of the wizard.
Later you may also use ‘Sync Metadata’ in case your UI project and backend model get out of sync.
- Testing your app
In order to show the app being developed to your end users, doing this reading actual business data from your ABAP system via the Gateway service makes a lot of sense. The end user sees familiar data and can evaluate the new user experience. SAP Web IDE enables this with its preview functionality
But there is an alternative option: Running the app with mock data: In an MS Excel-like fashion you can enter some mock data sets into your project. Here you would enter some data which is understandable for your end user. With this approach, no backend connection is required.
- Deploying the final app to your backend system
Once you are done with your developments you want to move the application coding to the ABAP platform to run the app in a productive mode. Using the SAP Web IDE’s deployment options the system will ask for an ABAP package and transport request and then move the project to the respective ABAP system. From now on it is part of the usual transport mechanisms in an ABAP landscape. This feature easily combines a simple usage of a cloud IDE and at the same time keep the established ABAP environment for running your business apps.But also here there is an alternative option: You may export the final project to a local .zip file and then manually import this project into the SAPUI5 ABAP Repository by running report /UI5/UI5_REPOSITORY_LOAD in your ABAP development system. This is not as convenient as using SAP Web IDE, but a feasible option for a first evaluation.
Both these scenarios show that if you run your app productively on your on-prem system, the cloud would connect to your DEV or TEST system only, not to a productive system. This also shows that a connection via the SAP Cloud Connector is a helpful option, but it is not a must. Especially if you want to evaluate developing Fiori with SAP Web IDE and to learn about SAP Cloud Platform, working without the cloud connector could be a valid option. Once your scenario gets more complex and you want to leverage more cloud services, you can still evaluate the cloud connector.
So I see developing a first Fiori app with SAP Web IDE as an excellent way not only to improve the user experience, but also to make first steps into a cloud environment.
BTW: In this context also note the SAP Web IDE personal edition. This is a local installation of SAP Web IDE, serving as a complementary IDE for a single developer for off-line development. This personal edition is missing some features from the cloud version and is only updated periodically.
As you see in many areas within SAP and outside, the strategic direction is using cloud services especially if it is about easy consumption and easy integration capabilities. In contrast to maybe 1 or 2 years ago, I see a different picture now: Even customers with strong security requirements, e.g. from the defense and security industry nowadays start evaluating cloud solutions instead of going for inferior local installations.