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 – http://www.infoworld.com/d/cloud-computing/which-freaking-paas-should-i-use-204189?page=0,0
Code – https://github.com/lpintosil/OSIL/tree/master/SpringGrannyMVC
War file – http://www.infoworld.com/sites/infoworld.com/files/granny.war.zip
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 netweaver.ondemand.com –application granny –source ./ granny.war
$ neo start –user D040755 –account harald –host netweaver.ondemand.com –application granny –synchronous
And this is the result:
Requesting start for:
application: granny
account : harald
host : https://netweaver.ondemand.com
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: https://grannyharald.netweaver.ondemand.com/granny
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
I stand corrected. No hoops 🙂
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.
Shame InfoWorld couldn't put together a decent app. I just about fell off my chair when I saw this 🙂
You'd think by now people would stop abusing HTTP...
Haha, one person's POST is another person's GET or how did that saying go? 😉
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.
Cool to see you step by and setting this straight Andrew!
Cheers!
Thanks for taking the time to post. We plan to use Netweaver Cloud at InnoJam Madrid so I found this very useful