Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Indic threads java10-spring-roo-and-the-cloud

859 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Indic threads java10-spring-roo-and-the-cloud

  1. 1. Spring Roo and the Cloud Shekhar Gulati Xebia
  2. 2. Hi, my name is...Shekhar Gulati <ul><li>Work for Xebia India </li></ul><ul><li>Spring enthusiast (these days  ) </li></ul><ul><li>Blogger and Writer(JavaLobby and Developer.com) </li></ul><ul><li>[email_address] </li></ul><ul><li>Twitter : shekhargulati </li></ul>
  3. 3. Agenda <ul><li>Introducing Roo </li></ul><ul><li>Demo for Unbelievers </li></ul><ul><li>Under the Hood </li></ul><ul><li>Capability areas (lots of demos) </li></ul><ul><li>Cloud Portability </li></ul><ul><li>Removing Roo </li></ul><ul><li>Conclusion and Q&A </li></ul>
  4. 4. Spring’s Mission <ul><li>#J2EE or JavaEE should be easier to use </li></ul>
  5. 5. Mission Accomplished ! <ul><li>Now What? </li></ul>
  6. 6. Spring Roo Development Tool
  7. 7. Spring Roo Mission <ul><li>Roo's mission is to </li></ul><ul><li>fundamentally and sustainably </li></ul><ul><li>improve Java developer </li></ul><ul><li>productivity without </li></ul><ul><li>compromising engineering </li></ul><ul><li>integrity or flexibility </li></ul>
  8. 8. What is Roo? <ul><li>Rapid Development Tool for Spring </li></ul><ul><li>Development time only </li></ul><ul><ul><li>No Runtime </li></ul></ul><ul><ul><li>No Negative Performance Impact </li></ul></ul><ul><ul><li>No Memory Overhead </li></ul></ul><ul><ul><li>No Roo Deployment </li></ul></ul><ul><ul><li>Uses Best of Breed </li></ul></ul><ul><ul><ul><li>Spring 3, Spring Security, Spring MVC / Web Flow </li></ul></ul></ul><ul><ul><ul><li>Junit, Log4J, Maven, AspectJ, Eclipse </li></ul></ul></ul>
  9. 9. Why should we use Roo? <ul><li>Easy Configuration </li></ul><ul><li>Great Learning Tool </li></ul><ul><li>Spring Best Practices </li></ul><ul><ul><li>Restful Web Services, JPA persistence, Security, Integration tests, Selenium test cases, JMS </li></ul></ul><ul><li>Standards </li></ul><ul><ul><li>Bean validation, Dependency Injection </li></ul></ul><ul><li>Powerful Features </li></ul><ul><ul><li>GWT, SOLR, DBRE, NoSQL, Spring Integration (coming soon) </li></ul></ul>
  10. 10. Demo for Unbelievers <ul><li>Demo # 1 – A Simple Web Application </li></ul>
  11. 11. Features Covered <ul><li>Project management </li></ul><ul><li>Entity support </li></ul><ul><li>Field Management </li></ul><ul><li>Persistence </li></ul><ul><li>JUnit testing </li></ul><ul><li>Spring MVC Controllers, Selenium testing </li></ul><ul><li>Logging </li></ul>
  12. 12. Under the Hood <ul><li>Implementation Overview </li></ul><ul><li>Code Generation </li></ul>
  13. 13. Implementation Overview
  14. 14. Code Generation Approach <ul><li>Passive Generation </li></ul><ul><li>Active Generation </li></ul><ul><li>Roo is a Hybrid code generation </li></ul>
  15. 15. Active Generation
  16. 16. Demo # 2 Let’s Secure the app
  17. 17. Demo # 3 Speaker receive an Email
  18. 18. Demo # 4 IllegalAccess Notification
  19. 19. Demo # 5 Application speak Dutch
  20. 20. Demo # 6 How social is your app?
  21. 21. I have an existing Database schema
  22. 22. <ul><li>Cloud Portability </li></ul>
  23. 23. Changes to be made <ul><li>persistence setup </li></ul><ul><li>gwt set up </li></ul><ul><li>add aspects for key generation </li></ul><ul><li>do mvn gwt:compile gae:deploy </li></ul>
  24. 24. Issues on Google App Engine <ul><li>Spring MVC app does not work </li></ul><ul><li>Relationships does not work </li></ul><ul><li>Integration tests does not work (ROO-1711) </li></ul>
  25. 25. Removing Roo from app <ul><li>Use AJDT's &quot;push-in refactoring&quot; feature </li></ul><ul><ul><li>This moves the Roo .aj content into normal .java files </li></ul></ul><ul><li>Remove Roo's annotation JAR from your POM </li></ul><ul><ul><li>dependency remove command </li></ul></ul><ul><li>Remove @Roo* annotations from .java files </li></ul><ul><ul><li>Regular expression (n.*Roo.*n) find/replace in eclipse </li></ul></ul>
  26. 26. Features Not shown <ul><li>JSON </li></ul><ul><li>SOLR Support (Search) </li></ul><ul><li>Spring Web Flow </li></ul><ul><li>Add-on creation </li></ul><ul><ul><li>Internationalization addon </li></ul></ul><ul><ul><li>Simple addon </li></ul></ul><ul><ul><li>Advanced addon </li></ul></ul>
  27. 27. Future Sneak Peak <ul><li>Spring Integration support </li></ul><ul><li>NoSQL support </li></ul><ul><ul><li>ne04j </li></ul></ul><ul><ul><li>redis </li></ul></ul>
  28. 28. Resources & Links <ul><li>Home http://www.springsource.org/roo/ </li></ul><ul><li>Forum http://forum.springsource.org </li></ul><ul><li>Issues http://jira.springframework.org/browse/ROO </li></ul><ul><li>Twitter @SpringRoo </li></ul><ul><li>Twitter #roo hash key </li></ul><ul><li>https://github.com/shekhargulati/spring-roo-playground </li></ul>
  29. 29. <ul><li>Q & A </li></ul>

×