== Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi...
Transcript of == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi...
![Page 1: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/1.jpg)
==
Rapid Application Development for Cloud
Shekhar Gulati
![Page 2: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/2.jpg)
Hi, my name is .. Shekhar Gulati
● Senior Java Consultant at Xebia● Spring, Big Data, NoSQL enthusiast● Freelance Writer
● [email protected]● Twitter handle : shekhargulati
![Page 3: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/3.jpg)
Agenda
● Spring Roo● Why, What, and How – Demo
● CloudFoundry● PaaS, Why, What, and How – Demo
● Conclusion
![Page 4: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/4.jpg)
Spring Mission
#J2EE or JavaEE should be easier to use.
![Page 5: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/5.jpg)
Mission Accomplished
Now What?
![Page 6: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/6.jpg)
Problems
● Lot of code to write for very simple applications.
● Lot of configuration stuff● Java developers are not productive
compared to Grails, Rails or Python developer.
● But …. Java is still most popular and used language.
![Page 7: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/7.jpg)
Example Application
![Page 8: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/8.jpg)
Enter Spring Roo
● Easy to use productivity tool● Code generator – Spring based
enterprise applications.● Development time only.
● No runtime● No negative performance impact● No memory overhead● No Roo deployment
● Use best of breed.
![Page 9: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/9.jpg)
Why should you learn Spring Roo?● Great learning tool.● Follows Spring best practices.● Standard based – JPA, JSR303 etc.● Will keep you updated with Spring.
![Page 10: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/10.jpg)
Demo – Building a Blog
![Page 11: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/11.jpg)
Feature Covered & Show Code
● Project Management● Entity support● Field management● Persistence● JUnit testing● Spring MVC controller● Spring Security
![Page 12: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/12.jpg)
There is lot more ….
● GWT support● Selenium Testing support● Internationalization support● Social sites support like twitter, youtube● NoSQL support – Neo4J● Add-on creation support● Third party add-ons
![Page 13: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/13.jpg)
Now I want to deploy my application.
Where should I deploy?
![Page 14: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/14.jpg)
![Page 15: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/15.jpg)
Issues with existing PaaS
● Can't run existing code● Tied to particular environment● Vendor lock-in(lack of Cloud
portability)● Deployment on public cloud only● Need to change mindset● Support for diluted frameworks
![Page 16: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/16.jpg)
The Open Platform as a Service
![Page 17: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/17.jpg)
Enter CloudFoundry
● Open Source● Multi language, Multi framework, Multi
Application services, and Multi Cloud.● Cloud Portability● Cloud Foundry is both
● deployment destination● layer that allows deployment to a choice of clouds,
both public and private.
![Page 18: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/18.jpg)
Cloud Foundry – The Open PaaS
![Page 19: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/19.jpg)
Deployment Options
● STS● VMC command line● Spring Roo Cloud Foundry Add-on
![Page 20: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/20.jpg)
Demo – Deploy to Cloud Foundry
● Switch to MySQL● CloudFoundry commands
● login● deploy● start, stop● create a service, bind a service● list of apps and services● delete the application.
![Page 21: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/21.jpg)
There is lot more ...
● NoSQL databases support● Ruby, NodeJS, Scala, Groovy support.● RabbitMQ support● Micro Cloud support● ….
![Page 22: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/22.jpg)
Conclusion & Q/A
● Roo delivers serious productivity gains for Java.
● Roo is easy to learn and use● No runtime, no lock-in no risk● CloudFoundry allows you deploy your
application as it is without any change.● Spring Roo + CloudFoundry is match
made in heaven.
![Page 23: == Rapid Application Development for Cloud · Enter CloudFoundry Open Source Multi language, Multi framework, Multi Application services, and Multi Cloud. Cloud Portability Cloud](https://reader035.fdocuments.net/reader035/viewer/2022063004/5f76b6380611ac2e2e7d5608/html5/thumbnails/23.jpg)