I landed in Bogota, Colombia not knowing what to expect…you see, I grew up in the 80’s drug war days. Colombia was ground zero for the drug war’s as anyone who has seen or read Tom Clancy’s Clear and Present Danger can tell you. Honestly? What was I doing here…I don’t even speak Spanish. Ok, I might know a bit of what I call Spanglish, but that wasn’t going to get me far in this neck of the woods. I needed to keep calm and stay cool. I made my way through the airport, making sure not to draw too much attention to myself. Grabbed my luggage and proceeded to grab the nearest taxi I could. I was here to complete a mission…a mission that had started six months prior.
Six months ago I transitioned from being the program lead of Mobility to the program lead for HCP within the Technology RIG team at SAP. HCP was like coming home for me…I used to work on NetWeaver and to me HCP is just NetWeaver in the cloud. A lot of colleagues I worked with in the past were back at it working on HCP. It was like getting the band back together. We do a lot of field enablement on my team. The first thing we looked at six months ago was the state of workshop materials. Lots of good content and exercises but they were all disjointed and piece meal. Sure they were good at telling you how to use Java or IoT or HANA, but they didn’t tell a story or most importantly how you can use HCP and its services together to build an End to End solution (think the famous Bjoern TechEd Demo). So with that we embarked on building a new workshop, one that would use as many components of HCP as possible…a workshop that would challenge us, and the participants.
Here is what we came up with to base our workshop on. A machine monitoring application. The application would measure the machine’s temperature, if an overheating event occurred a push notification would be sent to the mobile device. A mobile application that would be built with SAPUI5, Web IDE, and consumed OData services exposed from HANA using XS OData. The machine data would be populated with IoT Services. We would also connect a Java app to the HANA DB using JPA and expose simple REST services (using JAX-RS) to update some of the tables to support push notifications. The XS OData services would be routed through API Management and then HCPms to gain some mobile qualities for our application (push notifications). Finally, we would build our app using the Hybrid Application Toolkit (HAT) and deploy to the mobile device. You can see the high-level architecture in the image below.
The plan was to cover all this over 4 days according to the below agenda.
Like I said, this was 6 months in the making…we came up with this 6 months ago thinking it would only take us one and a half months to complete…of course, reality got in the way. Other more important deliverables, workshops, customers, etc. That didn’t stop me from marketing it to stakeholders. I showed it to some colleagues in Latin America. They were all over it…first come first serve I say…anyway, this was back in late April when they said they wanted to run it in Bogota, Colombia. Sure, why not…let’s do it. Best thing about working at SAP is getting to travel to places I never thought I would step foot in. Anyway, we were on the hook now and spent most of May building up the exercises. That said, even when I landed in Bogota there were some details still to be ironed out in having the IoT device throw a notification that would causing a push notification to be sent to the mobile device. Nothing like building a workshop while you are presenting it! Based on my years of experience, the best way to learn something is to be put on the spot to teach it. And that we certainly were when we landed in Bogota. I say we because it just wasn’t me teaching this workshop. I was smart enough to include two of my excellent colleagues Claudia Pacheco and Daniel Silva both who are from Latin America, and know the Spanish language a 1000000X times what I do. Ok, at least Claudia does as she is a native speaker…and Daniel isn’t bad either, but hails from Brazil (how did you lose 7-1 to Germany???? 😉 where the native tongue is Portuguese. If it wasn’t for these guys coming with me to conduct the workshop I am quite sure I would have been abducted by relatives of Pablo Escobar and auctioned off to the highest bidder. Thanks for being their guys and doing a great job!
Anyway, like I said in the beginning, I hoped in a taxi and made my way to the hotel, which luckily for me was a 20 foot walk door to door to where the SAP office was. Which is great when you don’t know the language. It was a holiday that Monday I showed up. I used the rest of that day to finish some workshop materials and prepare for day #1.
I made my way from my hotel to the SAP office, and up to the 24th floor. Really nice office with a beautiful view of the mountains at the edge of Bogota.
The other side of the building overlooks the entire city, which is equally as stunning. Unfortunately, I forgot to take a picture…next time!
By 9AM the room was mostly full with about 20 participants from different partners around Latin America (Ecuador, Panama, Colombia, and more). I explained to them that they would have to deal with me speaking English and that Claudia and Daniel would step in where needed to translate. They didn’t seem too bothered with that. So I started in with the HCP Overview…AKA HCP L3 Slides. L3 is supposed to be technical but to me these still have a marketing bent to them but they were the best we had and do a good job of giving the big picture of what HCP is all about. Of course I put my own spin on them. I always like to show the below slide and ask them who remember this?
Oh man, if only I had 50,000 pesos for every time I had to present this slide! LOL! The famous NetWeaver Fridge slide…I don’t know who created it, but whoever did should get some royalties that is for sure. Anyway, I followed this up with what I consider to be the not so famous HCP Fridge Slide.
Maybe in time it will be presented more than it’s on premise predecessor…it’s off to a strong start that is for sure! Anyway, the reason for showing these two slides in succession is obvious…HCP is more or less NetWeaver in the cloud.
I followed up the HCP Overview with some slides that go over what the workshop will cover and the solution we will be building. Everyone seemed excited about what was too come over the next 3.5 days. Or maybe it was because I was handing over the speaker duties to my colleague who could speak Spanish…most likely it was both. My colleague Daniel jumped into the presentation on HANA DB and then we were off to our first exercise, creating an MDC HANA schema on the trial instance and then some tables on it that would later be used to populate data to support push notifications. Once this was done Claudia introduced them to the Java server and guided them through exercises on creating a JPA/EclipseLink based application that shows how to connect to and expose HANA tables. Once this we done we showed how to expose those tables as simple REST services using JAX-RS. These exercises took a bit longer than we expected but no one complained and some stayed until after 7PM to complete everything. The students were really there to learn and spent the time they needed to do it. Day 1 was in the books. We headed back to our hotels to prepare for what was to come in Day 2…IoT, Node.JS, OData, XS Engine, and API Management.
Day 2 started off with cover the Internet of Things service (When asked at the end of the workshop what the students liked best about it, everyone said IoT). This went smoothly and everyone had no problem completing their IoT exercises on time. From here I did a presentation on Node.JS, as we would be using it to act as our IoT Device. On top of this I just wanted to introduce Node.JS as it will be playing more of a roll in our lives going forward (think XS Advanced, Cloud Foundry, etc)…plus, I just think it’s a really great technology and very simple to use. The exercise was to implement some Node.JS scripts locally on the workstation which would simulate the IoT device (Register with IoT service, send climate data to IoT service, receive messages from IoT service). Once that was done we moved on to an OData Primer and then XS Engine and how we can use it to expose HANA as OData with XS OData. Everything was going more or less smoothly. Then we moved on to API Management. The start of exercise was to activate the service…unfortunately the API Management trial account couldn’t handle 20 students all at once clicking activate. We tried and tried but nothing but errors activating. So we did the best we could and demo’d the exercise. We found later that night we could activate and sent out an email to students telling them to activate the service that night. Most were able to succeed. So some good news. Anyway, this is life on the HCP trial account…sometimes things don’t go smoothly and you have to roll with the punches. One thing for sure…we will have students activate their services in beforehand in future workshops. After the day was over we went out to dinner with our SAP colleagues who were attending the workshop. We went to a Peruvian restaurant called LaMar. If you are ever in Bogota, you must try this place…the best ceviche I have ever had!
The ceviche at LaMar. Make it a point to go there!
Day 3 started and we asked the students if they were able to activate the API Management service. Most of the students had been successful with this and we gave them an hour to complete the exercise before we started off with the day’s agenda. The exercise went smoothly and everyone was able to expose their XS OData service through API Management. We then shifted gears to the day’s agenda, a day we called “Daniel’s Day” since he was the speaker for the UI5/Web IDE topic that was to be covered.
Daniel guided them through UI5 basics, how to build an application from scratch, all the way to creating an application that consumed the OData service we had earlier exposed through API Management.
UI5 Application Developed to Display IoT device temperature data.
The application developed displayed the temperature data being sent to HANA from IoT. The exercise went smoothly with most everyone completing it. Which was good, because the next day we were to take this application and mobilize it using HCPms and HAT.
Before we jump to Day 4, one funny note. As mentioned earlier, I only speak “Spanglish”…ok really just english with some other phrases I have learned from my daughters watching Dora the Explorer…, Daniel speaks Spanish but isn’t native speaker, and Claudia being our true native speaker having grown up near by in Venezuela. So what’s funny about this? Well there is a pecking order when it comes for students asking for help from the instructors (even though most knew english quite well), first they would ask Claudia, but if she was busy, they would ask Daniel…god forbid if he was busy, they would ask me. Suffice to say, Claudia was extremely busy at all times!
Claudia, busy helping some students from Ecuador.
Day 4, AKA Mobility Day, AKA “Jeff’s Day”, where I would be presenting on how to mobilize our UI5 application developed previously. This meant covering HCPms and an exercise on creating an HCPms application that supported push notification for android. We then moved into the Mobile Platform SDK focusing on the Kapsel Plugins that we would be using. After that we dived in to HAT. The biggest thing about doing a workshop with HAT is setting expectations. Not everyone has a powerful enough laptop to install and run it successfully. Lots of things can and do go wrong and setting it up isn’t easy with all the prerequisites that exist. Hence the reason that Fiori Mobile with its cloud build is such a great idea. Regardless, we dived into the mobile topic and HAT fully knowing there would be problems…but that people would still gain an understanding of what it takes to mobile. I would say about half the students attempted the exercises for mobilizing, which covered adding the needed code to support the Push Plugin and code for making an OData call to subscribe to the IoT device’s overheating event. We saw about half of those who tried actually running the application on a device or emulator. I’ll take those numbers…one thing I like to explain is mobility is not easy. Many things can and do go wrong when trying to develop and build the apps. You really need to have a strong understanding of all the pieces and how they fit together to be successful.
Me working with some developer from Panama.
This workshop just points you in the right direction, a lot of it is up to the individual to follow through and keep the learning going to be successful in developing mobile apps. Anyway, after that we moved to the final exercise which was to trigger the sending of a push notification when the IoT device over heats. To be honest, it wasn’t until the day prior when Claudia and I finally tested the solution through to the end…something that we were talking about for six months was finally fully working and we finished the final exercise that would be used on this day.
Success! The push notification is displayed on the Android device which was triggered by an IoT device.
And just like that the workshop was over and amazingly at this same time out the window appeared a rainbow over the mountain…we had found our gold…the workshop, at least to me, was a huge success.
The rainbow that appeared over the mountains when the workshop ended.
With the workshop over we were left with the final hours of the day to go and see some sites around town. Bogota is a very beautiful place, with great people and great food.
Bogota Beer Company – all I wanted was a t-shirt and they didn’t have one.
Church near a public square not far from the SAP office.
Statue of Simon Bolivar, liberator of Colombia and surrounding countries.
I was able to get by with my “Spanglish” for the most part and those who attended the workshop followed along well enough. Having my colleagues Daniel and Claudia there was a huge part of the success, thanks a lot guys! That evening we went to LaMar one last time, and with that it was time to head to the airport for a midnight flight back home. Everything went without a hitch…I wasn’t kidnapped, ransomed or anything. Bogota is really nothing like I thought it would be based on my preconceived perceptions from growing up in the 80’s. We all felt safe there, and had a great time walking around town on Friday evening. I would highly recommend paying Colombia and Bogota a visit if you ever get the chance!