1 / 28

Spring Roo and the Cloud

Spring Roo and the Cloud. Shekhar Gulati. Hi, my name is...Shekhar Gulati. Work for Xebia India Spring enthusiast (these days  ) Blogger and Writer(JavaLobby and Developer.com) sgulati@xebia.com Twitter : shekhargulati. Agenda. Introducing Roo Demo for Unbelievers Under the Hood

urian
Download Presentation

Spring Roo and the Cloud

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Spring Roo and the Cloud Shekhar Gulati

  2. Hi, my name is...Shekhar Gulati • Work for Xebia India • Spring enthusiast (these days ) • Blogger and Writer(JavaLobby and Developer.com) • sgulati@xebia.com • Twitter : shekhargulati

  3. Agenda • Introducing Roo • Demo for Unbelievers • Under the Hood • Capability areas (lots of demo) • Cloud Support • Removing Roo • Conclusion and Q&A

  4. Spring’s Mission • #J2EE or JavaEE should be easier to use

  5. Mission Accomplished ! • Now What?

  6. Spring Roo Development Tool

  7. Spring Roo Mission • Roo's mission is to • fundamentally and sustainably • improve Java developer • productivity without • compromising engineering • integrity or flexibility

  8. What is Roo? • Rapid Development Tool for Spring • Development time only • No Runtime • No Negative Performance Impact • No Memory Overhead • No Roo Deployment • Uses Best of Breed • Spring 3, Spring Security, Spring MVC / Web Flow • Junit, Log4J, Maven, AspectJ, Eclipse

  9. Why should we use Roo? • Easy Configuration • Great Learning Tool • Spring Best Practices • Restful Web Services, JPA persistence, Security, Integration tests, Selenium test cases, JMS • Standards • Bean validation, Dependency Injection • Powerful Features • GWT, SOLR, DBRE, NoSQL, Spring Integration (coming soon)

  10. Demo for Unbelievers • Demo # 1 – A Simple Web Application

  11. Features Covered • Project management • Persistence • Entity support • Field Management • JUnit testing • Spring MVC Controllers, Selenium testing • Logging

  12. Under the Hood • Implementation Overview • Code Generation

  13. Implementation Overview

  14. Code Generation Approach • Passive Generation • Active Generation • Roo is a Hybrid code generation

  15. Active Generation

  16. Demo # 2 Let’s Secure the app

  17. Demo # 3 Speaker should get an Email

  18. Demo # 4 Application speak Dutch

  19. Demo # 5 How social is your app?

  20. Demo # 6 Have an Existing Database

  21. Cloud Support

  22. # Demo 7 – Moving to Cloud • Changes to make • persistence setup (Google App Engine) • gwt set up • add aspects for key generation • Remove constraints (unique) • do mvn gwt:compile gae:deploy

  23. Issues on Google App Engine • Spring MVC app does not work • Relationships do not work • Integration tests do not work (ROO-1711) • Constraints do not work • Enum does not work

  24. Removing Roo from app • Use AJDT's "push-in refactoring" feature • This moves the Roo .aj content into normal .java files • Remove @Roo* annotations from .java files • Regular expression (\n.*Roo.*\n) find/replace in eclipse • Remove Roo's annotation JAR from your POM • dependency remove command

  25. Features Not Covered • JMS support • JSON support • SOLR support (Search) • Spring Web Flow • Add-on creation

  26. Future Sneak Peak • Spring Integration support • Better Google App Engine support • More view technologies support • NoSQL support • Ne04j

  27. Resources & Links • Home http://www.springsource.org/roo/ • Forum http://forum.springsource.org • Issues http://jira.springframework.org/browse/ROO • Twitter @SpringRoo • Twitter #roo hash key • https://github.com/shekhargulati/spring-roo-playground

  28. Conclusion and Q & A • Roo delivers serious productivity gains for Java • Popular, mature libraries you already know • Easy to learn and use • No runtime, no lock-in, no risk • ITDs separate clearly generated from non-generated code • Questions?

More Related