Recap of first ever CodeJam on HANA XS Advanced (XSA) / NodeJS Development
The first ever CodeJam on the new HANA XS Advanced (XSA) capabilities of SAP HANA took place in Hannover on 19th April 2016, hosted at INWERKEN AG.
Photo Inwerken AG
The famous HANA masters Thomas Jung and Rich Heilmann in person attended and guided the hungry crowd of prospective HANA developers. I would like to share some of my experience for those you could not attend due to limited space or for whatever reasons.
Not only the particpants were curious on get to know and try out XSA, also Thomas Jung was looking forward about our feedback. After a short introduction by Thomas about the new architecture and capabilites which were introduced with SAP HANA SPS11, we started to make our hands dirty.
For the crowd of 30 attendees three HANA systems were available. Each participant got his own desktop system remotely, which was already prepared with the necessary tools. So no time was lost and we could directly begin. We connect with the HANA system and start the brand new SAP Web IDE for SAP HANA.
SAP Web IDE for SAP HANA
SAP Web IDE for SAP HANA is the preferred tool to develop SAP HANA XS advanced applications. It is based on Eclipse Che and
succeed most of the features of the HCP SAP Web IDE plus capablities for HANA XSA specific artifacts. And SAP has a lot more stuff on the Roadmap:
Alternatively to SAP Web IDE for HANA other IDEs can be used and XSA applications can be deployed via the XS command line tool. This openness will make it possible for customers/partners to connect with their individual development workflow. Especially important until the offering from SAP itself is not feature complete.
But now it was time for our first XSA application. Tradionally this is “Hello World”. With the included wizards we created a HTML5 module. Following the detailed exercise description and crucial hints from Thomas (…do not use tabs in YAML configuration files…), this was a feasible task. Final step is pressing the run button and wait for some time, because with XSA each application neither a very huge complex one or the most simple “Hello World” gets his own container to run in. And then, if you managed not to make mistakes in the yaml file, you get successfully your first XSA app running.
Forgive me, I made only a screenshop after I changed “World” to “HP”:
After this success, so what next? Thomas and crew brought us a big package of possible exercises (all together 175 pages). Following sections were “database artifact development” development of “XSJS and XSODATA” services (still XS classical approach is supported), SAPUI5 user interface, the new Node.JS development and last but no least packaging for transport.
It was clear that this is rather stuff for a whole week than the remaining four hours. So we need to prioritize. My personal favourite was the new Node.JS development possibilities. Loving node.js development since a while, but outside SAP ecosystem (at least regarding backend, UI5 was always part of the game), I was really snoopy what is now possible with SAP HANA XSA. And I was surprise about the possibilities and concepts behind the node.js integration:
- HANA SPS11 has it’s own integrated npm (The package manager of node)
- HANA is delivered already with various public npm packages, like express.js. Using the integrated npm packages no connection to the internet is necessary. That will particular important for security sensitive customers.
- The integrated npm packages are checked/validated by SAP and SAP will give 1st level support for this packages. Customers will be happy about that.
- SAP will provide there own npm packages in a “public” SAP npm registry. Public for those you have a HANA license.
- support of JWT (JSON Web Tokens) by HANA central security service
- High scalability options included with container concept and central router
With this in mind let’s try to get express.js running on HANA XSA. Several fights with YAML config file followed. Validation of YAML is already planned for SAP Web IDE editor (btw YAML is coming from cloudfoundry specification). SAP made a good decision, all additional XSA config files are done in JSON. But finally:
….it worked, express.js running on HANA XSA and serving some JSON data. Perfect!
Lunch felt very short and happened for me at least only “toGo”. But the Mini-Hamburgers were very very delicious. A big thanks to inwerken AG for providing all this and hosting this great event at their nice location.
Photo inwerken AG
And then as feared the end of the CodeJam irresistible came near. Craig Cmehil counted down minute by minute and finally we had to deconnect from HANA XSA. For me this great event easly could last another day or two.
Lucky those ones, who have already access to HANA SPS11 and HANA XS Advanced alias XSA. They have now a lot exercises to do and fun to try out the new possibilities which open up a complete new universe of application development for SAP HANA. By the way there is also Tomcat/TomEE available as new runtime (the rebirth of Java at SAP?)
All the others, make pressure on Craig (Craig promised to deliver it within the next two weeks, latest he said):
Thanks to all the organizers, and special thanks to Thomas and Rich for guiding us through this great CodeJam.