28
1 Spring Roo and the Cloud Shekhar Gulati

Spring Roo and the Cloud

  • Upload
    urian

  • View
    46

  • Download
    0

Embed Size (px)

DESCRIPTION

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) [email protected] Twitter : shekhargulati. Agenda. Introducing Roo Demo for Unbelievers Under the Hood - PowerPoint PPT Presentation

Citation preview

Page 1: Spring Roo   and the Cloud

1

Spring Roo and the Cloud

Shekhar Gulati

Page 2: Spring Roo   and the Cloud

2

Hi, my name is...Shekhar Gulati

• Work for Xebia India

• Spring enthusiast (these days )

• Blogger and Writer(JavaLobby and Developer.com)

[email protected]

• Twitter : shekhargulati

Page 3: Spring Roo   and the Cloud

3

Agenda

• Introducing Roo

• Demo for Unbelievers

• Under the Hood

• Capability areas (lots of demo)

• Cloud Support

• Removing Roo

• Conclusion and Q&A

Page 4: Spring Roo   and the Cloud

4

Spring’s Mission

#J2EE or JavaEE should be easier to use

Page 5: Spring Roo   and the Cloud

5

Mission Accomplished !

Now What?

Page 6: Spring Roo   and the Cloud

6

Spring Roo

Development Tool

Page 7: Spring Roo   and the Cloud

7

Spring Roo Mission

Roo's mission is to

fundamentally and sustainably

improve Java developer

productivity without

compromising engineering

integrity or flexibility

Page 8: Spring Roo   and the Cloud

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

Page 9: Spring Roo   and the Cloud

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)

Page 10: Spring Roo   and the Cloud

10

Demo for Unbelievers

Demo # 1 – A Simple Web Application

Page 11: Spring Roo   and the Cloud

11

Features Covered

• Project management

• Persistence

• Entity support

• Field Management

• JUnit testing

• Spring MVC Controllers, Selenium testing

• Logging

Page 12: Spring Roo   and the Cloud

12

Under the Hood

• Implementation Overview

• Code Generation

Page 13: Spring Roo   and the Cloud

13

Implementation Overview

Page 14: Spring Roo   and the Cloud

14

Code Generation Approach

• Passive Generation

• Active Generation

• Roo is a Hybrid code generation

Page 15: Spring Roo   and the Cloud

15

Active Generation

Page 16: Spring Roo   and the Cloud

16

Demo # 2 Let’s Secure the app

Page 17: Spring Roo   and the Cloud

17

Demo # 3 Speaker should get an Email

Page 18: Spring Roo   and the Cloud

18

Demo # 4 Application speak Dutch

Page 19: Spring Roo   and the Cloud

19

Demo # 5 How social is your app?

Page 20: Spring Roo   and the Cloud

20

Demo # 6 Have an Existing Database

Page 21: Spring Roo   and the Cloud

21

Cloud Support

Page 22: Spring Roo   and the Cloud

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

Page 23: Spring Roo   and the Cloud

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

Page 24: Spring Roo   and the Cloud

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

Page 25: Spring Roo   and the Cloud

25

Features Not Covered

• JMS support

• JSON support

• SOLR support (Search)

• Spring Web Flow

• Add-on creation

Page 26: Spring Roo   and the Cloud

26

Future Sneak Peak

• Spring Integration support

• Better Google App Engine support

• More view technologies support

• NoSQL support

• Ne04j

Page 27: Spring Roo   and the Cloud

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

Page 28: Spring Roo   and the Cloud

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?