Hello community,
I would like to share my experience of the first SAP Code JAM in Dallas, TX (held at the SAP Plano office) were not only we had our first Code JAM ever, but also the Developer Advocates presented their first dual topic Code Jam; #RAP and #CAP.
The event was organized by the developer advocates
rich.heilman ,
thomas.jung and
riley.rainey This event came up during one of the Linked in posts from Rich asking the community where they would want to have the next code jam. I responded, Dallas, as I would like to see more community growth. I do not see enough active participants as I notice in other cities around the world. Without hesitation, I immediately got response from Rich, so I started helping promote the event. I have been leading the
Dallas SAP community group but I also notice lack of awareness and participation there. If you’re reading this blog and you’re from Dallas or nearby, please join the group and help with ideas on SIT, Code Jams, Stammtisch or any other community event you would like to participate or lead. After all, this is from the community to the community.
Getting back to the event details, we had a mix of talented people ranging in experience from various industries such as Oil and gas, DoD, utilities, communication media; independent consultants, and even a UTD college senior participant putting his time in to get to know the topics as well as other community members.
ABAP and RAP
The first half of the event started with Rich explaining #RAP, a little history of the ABAP stack and then a demonstration of how to work with RAP.
There was an exercise for learning ABAP as a pre-requisite to get more familiar with RAP. The exercise is found on a free git repo here
https://github.com/SAP-samples/abap-exercises-codejam
What I learned from the RAP session:
- Eclipse with ADT plugin is how ABAP and RAP is developed; should you need Fiori development, you may use the BAS or VS code with its required plugins
- A BTP instance was required to perform the exercise. We used the local tier one
- The exercise required to authenticate against the BTP account using the provided key (from the git repo) and then we created local packages for our project.
-We started by creating a Hello World program – this is the step where I became an expert – jk -
Then, we created class methods, service definitions, service bindings and finally consumed the data from the browser. There were 4 or 5 exercises in the git repo instructions and in my opinion they were easy to follow – for someone like me without background in ABAP.
CAP, BTP, BAS
The next presentation of the day was done by Thomas and it was about the CAP (cloud application programming model). Thomas showed similarities between CAP and RAP when it comes to data modeling using CDS (Core Data Services).
Both, Rich and Thomas showed the preview Fiori app that can be generated from the OData metadata and annotations. The CAP project instructions can be found in the public git repo -->
https://github.com/SAP-samples/cap-hana-exercises-codejam.
Thomas also showcased the use of the terminal window building the cap application, connecting to the HANA database using the plugin icon, deploying the changes using the rocket icon - all these neat tools already available from the Business Application Studio.
I did not participate in this exercise because I had already done it; read more about it next -->
my blog about CAP
CAP / RAP and Event Mesh
Next, after we completed the exercises, we had a bonus example/demo of how RAP and CAP can easily interact with
Event Mesh . It was easy to see how from ABAP, the program raises an event and that event is invoked from the ABAP stack. The same concept was shown to listen for the event on a function.
From CAP, Thomas also showed a NodeJs script invoking the same event. It was neat to see how the events can be invoked from both programing models.
Questions from the audience
During the presentations, some participants shared some of the following questions:
- Where can someone learn CAP – https://cap.cloud.sap/docs/get-started/jumpstart, there is also a youtube channel for the developer news - https://www.youtube.com/watch?v=ZnzO-0UftgI&t=23s
- Similarities of CAP and RAP – CDS, annotations, XSOData, RESTful API – explained by both Rich and Thomas
- What’s the best way to learn CAP? – there is no single site to learn this programming model. It requires knowledge from JavaScript, NodeJS, understanding the cloud foundry hierarchy, security model, tools (BAS or VS code)
- What is better CAP or RAP? [probably the question everyone has, sometimes not asked] it really depends on what is available in your company, what is supported by the system and most importantly, the developers available.
- How can CAP call Event Mesh – Thomas showed it – here is some additional documentation https://cap.cloud.sap/docs/guides/messaging/#add-or-update-reviews
Final thoughts
I went to the event knowing that I was not as familiar with ABAP as I am with CAP / NodeJs but I wanted to learn more about the other programming model for awareness. I also wanted to see how difficult or different it was from something I knew. I do not think I will get myself into a role where RAP or ABAP is required from me as an individual contributor, however, as a Fiori and CAP developer, it does not hurt to be aware of how to analyze, help troubleshoot and be aware of the similarities and differences between the two models. I was also able to meet new locals in the event and to me that is also important to continue to grow the community here. Until the next one!
If you’re reading this far and attended the event, please share your thoughts, questions and feedback of what you would like to see, lead or participate in the future.
Thank you