Skip to Content
Author's profile photo Harald Mueller

Which freaking PaaS should I use (1/2)?

Ooouch, just realized that this is going to be my first blog on SCN … in any case i’m very surprised by the results thus i decided to post this.

The starting point was e-mail from Pankaj this morning abouth the Infoworld article, containing references to the code and the war file.

Hello all

Infoworld has this great (very long) write up on deploying an Address Book app on various popular PaaS offerings like CloudBees, Amazon BeansTalk, Azure, Openshift etc. Article brings up some very good points on strengths and weaknesses of various platforms. These are good insights and we should keep in mind for future iterations. App is a pretty simple one – spring based with MySQL as backend and Hibernate as ORM layer. It would take few hoops to deploy it on NW Cloud.

Article –,0

Code –

War file –

The first quick reply came from my colleague Matthias (of course ;-), i beg his pardon for quoting the mail directly in this blog.

Interesting. I think the only tweaks needed atm would be to identify the most suitable “SQL dialect” to be used for MaxDB/HANA that would work with Hibernate.

Anyone planning to give this a try ( I would, but I lack capacity atm!)

My first thought was to delegate this task to one of our developers and run this application on NetWeaver Cloud.

While i was still considering this, i downloaded the war file and i thought why not give it a try directly and check the complexity of the application.

So this is what i did: (it took less than 2 minutes and roughly 20 minutes to write this blog).

I downloaded the war and deployed the app AS IS with the NetWeaver Cloud Console Client to my Neo account.

$ neo deploy –user D040755 –account harald –host –application granny –source ./ granny.war

$ neo start –user D040755 –account harald –host –application granny –synchronous

And this is the result:

Requesting start for:

  application: granny

  account    : harald

  host       :

  synchronous: true

  User       : D040755

Start request performed successfully.

Triggered start of application processes.

Component status: STARTING

[Tue Oct 09 23:43:38 CEST 2012] Waiting for STARTED status..

[Tue Oct 09 23:44:33 CEST 2012] Reached STARTED status

My conclusion is that the My SQL dialect used by the app is really simple and portable enough for the Neo persistence service. I’m totally surprised that the no wiring and configuration of the data source was required.

After this i have configured the security for the application. This was extremly easy and worked out of the box but i decided to make a dedicated blog for this because it’s already quite late right now … of course you can check the app.

It is running on Sap Netweaver Cloud on:

I will update the application and add security within the next days. If you want to experiment with the app and deploy this to the free NetWeaver Cloud PaaS, just give it a try. We offer Free 90 day Trials for Developers and you can use Eclipse and Egit to check out the sources directly and enhance the app.

My second blog just went live and explains how i enhance the application and make it a bit more enterprise ready

For this blog i have received some very good feedback from osintegrators in SAP knows Granny

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Pankaj Kumar
      Pankaj Kumar

      I stand corrected. No hoops 🙂

      Author's profile photo Matthias Steiner
      Matthias Steiner

      Love to see you blogging on SCN = leading by example! 😉

      Updated: Ah, just took a few moments to look at the code and now it is clear why it works out of the box. The app starts a in-memory HSQL database, similar to our approach of using Derby locally.

      Author's profile photo Alisdair Templeton
      Alisdair Templeton

      Shame InfoWorld couldn't put together a decent app. I just about fell off my chair when I saw this 🙂

      (Request-Line) POST /granny/get HTTP/1.1

      You'd think by now people would stop abusing HTTP...

      Author's profile photo Matthias Steiner
      Matthias Steiner

      Haha, one person's POST is another person's GET or how did that saying go? 😉

      Author's profile photo Former Member
      Former Member

      Please be clear, Granny has SEVERAL intentional mistakes.  This application is part of an early module of Open Software Integrators' internal staff development training materials.  Over about 160 pages of instruction you create this application step by step.  Then you're asked all of the things that are wrong with it.  Additionally it is intended to mimic a Web 1.0 application even though it is made with modern technology (which was more challenging to do than you might think).  This means it does silly things like post to itself.

      I used it for the article because it mimics the kinds of applications I see on client sites.  If it were a completely clean modern application then it wouldn't be that great of a test IMO.

      Author's profile photo Matthias Steiner
      Matthias Steiner

      Cool to see you step by and setting this straight Andrew!


      Author's profile photo Former Member
      Former Member

      Thanks for taking the time to post. We plan to use Netweaver Cloud at InnoJam Madrid so I found this very useful