Wednesday, 8 June 2016

OTN Developer Challenge



I had already signed up for the AMIS25 conference so when OTN suggested an ACE Cloud Day on the Wednesday, I thought why not?

It did mean I had to leave ilOUG a day early and transverse Europe as there are no direct flights but I did get 2 hours in Berlin and sneaked in a cheeky currywurst.

Anyway the Cloud Day morphed into a Hackathon, or more correctly renamed later by legal as the Developer Challenge, to see how many cloud services we could consume in in a realistic use-case.

We needed to be in teams and there were a number of categories, one being PaaS4SaaS so the obvious one to me was to pick up the PaaS4SaaS proof of concept, that Certus and eProseed did last year and extend it.

Then my Oracle Family said I needed to be in their team, and to be fair as I would not be the most technical on either team, I didn't mind AND it gave me twice the chance of being a winner!  This team comprised of Tim Hall, Heli Helskyaho , Gurcan Orhan and Osama Mustafa, although poor Osama didn't actually make the event due to not getting a visa in time.

The format of this first day was a couple of Product Management talks on Cloud Services, to complete a series that we had been having as webcasts in the run up to the event. The technical side of the challenge was handled by Bruno Borges. He had also arranged all the cloud service trials for the teams, except he couldn't get us a SaaS instance, lucky I had my own.

After the briefings we had the rest of the day free to work on the use cases. Whilst the AMIS25 event started the next day we didn't have to pitch our efforts until 4.30 on day two.

In the first team, the PaaS4SaaS team, my biggest contribution was the name, the 'SPACE' or SaaS & PaaS ACE team. The team consisted of Lonneke Dikmans, Ronald Luttikhuizen, and Antoniou Antonis from eProseed , Sten Vesterli, so we had plenty of excellent FMW developers plus and little old me.

The idea was to take the PoC which used the Java Cloud Service (with Apps Extension) and extend it to use Integration Cloud Service ICS, Process Cloud Service PCS and Oracle Document Cloud Service ODCS.

As I have said before, the Rapid Development Toolkit from the UX enables developers to create PaaS extensions with the same Simplified UI that is used in SaaS giving the 'seamless' extension we need for customer UX. Our original PoC was using RDK r8, and we had found a number of constraints. With continuous innovation in SaaS two of these have been fixed and another in RDK r10.

Our use-case is the governance of an HR policy for a grievance complaint. Very simply if an employee complains about any other employee there must be a meeting held between them and facilitated by a HR professional within 5 days.

My role was to set up the SaaS system - we have been beta testing R11 at Certus so this was the first time I had extended a R11 system. Cloud Apps has a 'sandbox' concept so I can set up a 'SPACE' branded access to the system without upsetting anything else. As well as branding I added a new 'page' or tile to the welcome page that called the PaaS application. In R10 Oracle added the PaaS tile concept which allows a simple call within a new window which ensures we do not loose the SaaS system.

The actual PaaS application in our PoC used a single table, this time we had a couple of tables, a better design. We did some tidying up and removed some more of the outstanding list from the original PoC. The PaaS instance we used is one of the trials OTN arranged at the last OOW for ACE DIrectors which have been extended for a year, so really, really useful.

We wanted to use ODCS, so we added functionality to the PaaS application to store any attachment here. Which then became the event to kick off a process in PCS to establish the meeting date as 5 days after the date the complaint was raised although this could be over ridden.

Our final intent was to take this date back to the PaaS system using ICS. This needed a REST service creating in the PaaS system which was done at the database level.

We fell foul of a few things, in layman terms the software expects all your clouds to be in the same datacentre and in reality they would be but we were using trial systems so not necessarily so. You have to be logged into each and therefore needed different browsers to do so at the same time. There was also an issue getting ICS to work to we abandoned that when we ran out of time.

The Family Team had a great use-case. As we travel with the OTN tours the sharing of travel information, especially before it is booked is always a challenge so we decided to create an app. This would use the Database Service and Mobile Cloud Service MCS 

With Heli on the team we had a wonderful database design, although I was concerned we were getting too ambitious, and Gurcan created the most awesome presentation as a wireframe for the app. My role was the data and the graphics, thanks Pete Sharman (another Family member) for the family decal inspiration.

Our biggest issue on this project was our lack of developers, the new name of Developer Challenge should have been a clue to us! Anyway we thought all the difficulties we came up with in MCS was down to our lack of ability so we went with an APEX based mobile app as we could at least deliver something. As it turns out even amazing developers hit the same challenges so it wasn't just us.

I pitched both use cases and had to have a break between the two, so I could log out of the cloud services we had been using and then into the others as I had run out of browsers.

I pitched the SPACE team use case first and was pleased with it. At first the ODCS wouldn't work, but luckily I had 'one prepared earlier' although a few minutes later I was able to show it working. I felt we did well as we had used elements not used by other teams and it is a real usecase.

The Family pitch was difficult, as I started with the wireframe Gurcan had provided and it was difficult to keep a straight face when I knew what the final app looked like. However I think we deserved a prize for the most entertaining pitch. Everyone appreciated the use case and I was able to demo hotel bookings against one leg of a tour.

The other teams had such a variety of projects. The first team that pitched I was gutted for, they had created a 'vending machine' using a raspberry pi to generate IoT data. However the power socket they had plugged into wasn't live so by the time they came to demo it the machine was dead, I felt so sorry or them.

My favourite was the overall winner, the team 'Without Borders' had a use case for tackling air pollution in Mexico City, basically when the smog is bad, using freely available data, they wanted to limit the number of miles an individual driver could make. They designed an app to tell them how many they had used and the remaining amount. The idea being that you would be fined if you violated your quota.

It was such good fun, and the judges were product managers who took it very seriously, each marking in secret against various pre determined criteria, so people had to wait 24 hours for the results. I wasn't there for the ceremony, I had to fly home, but it was done on the main stage in AMIS25. I believe the SPACE team got an honourable mention for their name, so I guess I didn't do too bad.

The reason for this hackathon challenge was to give Oracle feedback for their products, and although every team hit challenges, many were to do with the clouds working together which I wont be an issue in a real customer, and there was certainly a lot of feedback collected. What I love about Cloud is that the feedback can be acted on immediately and improvements will be in the product in no time at all.

I am a winner though, I have learnt more and now can update my PaaS4SaaS presentation with what we did, and again reduce the list of constraints.


Thankyou OTN


No comments: