Top Banner
1 Spring Roo and the Cloud Shekhar Gulati
28

Spring Roo and the Cloud

Feb 02, 2016

Download

Documents

urian

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
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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?