My son and I have been revelling in our read of “The Lion, the Witch and the Wardrobe” over the last week. I have fond memories of Narnia from a theatre show I attended whilst at Primary School. Theatres…how I long for those days.
I feel that equating SAP to Narnia and SAP Business Application Studio to Aslan may be a slight overstretch of the metaphor…Nonetheless, the improvements in SAP Business Application Studio are equally exciting!
Before I dive into the detail of today’s topic, you may also want to view my earlier blogs in this series.
In my first blog, I shared my initial impressions of SAP HANA Cloud and catalogued my adoption of the HDI development paradigm. This sets out the new tooling and capabilities of this platform.
In the follow-up blog, I made good on my promise to provide a similar appraisal of the Data Lake capabilities. This provided an appreciation of the architectural underpinning of SAP HANA Cloud Data Lake and define its relationship with SAP HANA Cloud. The blog steps through a scenario involving data loads from AWS S3 via the CLI.
In my third blog, I shared a custom solution to support the mass load of CSV files. The LOAD TABLE statement is unable to cycle through a large number of files (~1700 in my example) residing in S3. To overcome this, I have developed a custom solution. Once executed, it will cycle through your S3 contents and load this into the SAP HANA Cloud Data Lake – irrespective of how many files exist in a given situation.
In my last blog, I covered the integration with Google Cloud Platform (GCP) and specifically, Google BigQuery. This reinforces the popularity of a Multi Cloud strategy. I firmly believe that a significant business opportunity lies in leveraging datasets that have historically been considered “external” and largely, irrelevant. This could include data from social media, customers, suppliers, industry, etc. This opens up a new frontier for so many businesses.
SAP Business Application Studio (BAS)
Let us now turn to the substance of this post: SAP Business Application Studio (BAS). BAS represents a new and exciting development for SAP HANA Cloud developers (and SAP Cloud Application development more generally). You will recall from my earlier post, my kicking-and-screaming adoption of SAP Web IDE Full Stack after a prolonged use of SAP HANA Studio. Albeit, 18 months after it was first introduced. To right this wrong, I thought I would be one of the first to write about the Data and Analytical use cases now supported through BAS. For full disclosure, this journey started when I received the following, upon launching SAP Web IDE Full Stack. The phrase “run out of road” comes to mind.
SAP Web IDE Full Stack will be supported by SAP where it forms part of your current solution, but future innovations appear to be headed for BAS. Additionally, as evidenced by my aforementioned SAP Web IDE Full Stack experience, this is no longer supported with SAP HANA Cloud trial instances.
BAS is SAP’s next generation Web IDE and available on all Cloud Foundry systems. It embraces Open Source technologies and provides a desktop-like experience in the cloud through the provision of Dev Spaces, which are essentially, preconfigured Virtual Machines. This includes the necessary templates, wizards and deployment tools. I have been pleasantly surprised by the experience thus far. Let’s dive in.
BAS can be subscribed to within the new “Service Marketplace”:
Note that BAS is also highly relevant for any other SAP Cloud development projects. Hence, the different template options available when creating a new Dev Space. I have opted for the “SAP HANA Native” template and you can see the extension that this includes.
You will see these extensions hard at work, as part of the subsequent steps.
BAS adopts the HDI paradigm in much the way that SAP Web IDE Full Stack did. It is important to understand the concepts of Containers and separation between design time and run time objects. This has been discussed extensively in my earlier blog and can be reviewed here.
The Dev Space has many parallels to SAP Web IDE Full Stack but also includes some crucial differences; improvement in my opinion.
You can see my Workspace and project in the new layout of BAS, inserted below.
The easiest way to add any new code is to use the new “Command Line” (accessible from the View menu) and for HANA Development, this is likely to be “Create SAP HANA Database Artifact” on most occasions.
In this example, we will create a new Flow Graph (hdbflowgraph) object by using the “Command Line” feature:
As this Flow Graph relies on Objects in our SAP HANA Data Lake, we must first establish a connection to our system. This is done via the “Command Line” but by first selecting the target system in the bottom left. It can be seen in the blue background inserted below:
Selecting this target system will prompt you for additional credentials before it successfully binds to your SAP HANA Cloud system.
Here is the Flow Graph I have developed in BAS:
Once the artefact has been developed, it will need to be deployed. The “Build” option from SAP Web IDE Full Stack is no longer applicable. Deployments are also handled differently. Deployments are handled through a new dedicated pane in the bottom left of the IDE.
You can see that our new Flow Graph is “pending deployment”. Once it has been deployed, this status is removed. Please note that objects can be individually deployed or alternatively, the entire project can be deployed. This is noticeably faster than its predecessor.
If we now take a look at our HDI Container, the Flow Graph is visible here, under “Tasks”.
We can now execute this Flow Graph and view the resultant data in the Target Table named “AM DataTarget”.
In summary, BAS is a relatively new IDE and very new as far as HANA Development is concerned. It is SAP’s strategic platform for all Cloud development and is now ripe for these analytical use cases. It is much more responsive and clearly laid out when compared to its predecessor and crucially, is your only choice on SAP HANA Cloud trial systems.
As always, please get in touch if there are any questions or insights that you wanted to share.