Professional Documents
Culture Documents
Eberhard Wolff
Principal Technologist
SpringSource – A division of VMware
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited.
About me
A division of
• Eberhard Wolff
• Principal Technologist
• i.e. I work on the Service Delivery product
roadmap
• …and do consulting / training engagements
• Author of many articles and the first German
Spring book
• ewolff@vmware.com
• Blog: http://jandiandme.blogspot.com
• Twitter: @ewolff
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 2
About SpringSource
A division of
SpringSource Hyperic HQ
SpringSource Hyperic IQ
SpringSource Hyperic CloudStatus
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 3
SpringSource – A division of VMware
A division of
" Efficiency
" Flexibility
Developer to
Datacenter to Cloud
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 4
Agenda
A division of
• Introducing Roo
• Capability Areas
• Using Roo
• Roadmap and Resources
• A Closer Look: Spring Insight
• Let's Get Cloudy: Cloud Foundry
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 5
Agenda
A division of
• Introducing Roo
• Capability Areas
• Using Roo
• Roadmap and Resources
• A Closer Look: Spring Insight
• Let's Get Cloudy: Cloud Foundry
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 6
Mission Statement
A division of
“Roo's mission is to
fundamentally and sustainably
improve Java developer
productivity without
compromising engineering
integrity or flexibility”
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 7
End User's Description
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 8
What Is Roo?
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 9
Implementation Overview
A division of
Roo Infrastructure
Roo STS
Roo
provide Roo
Add-Ons
@Roo Roo
Add-Ons
Add-Ons
Annotations Add-Ons
Shell
User's Project
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 10
Familiar Libraries
A division of
• Java
• Spring Framework
• Java Persistence API (Hibernate)
• Java Server Pages
• Spring Security
• Spring Web Flow
• Log4J, Maven, AspectJ, Eclipse/STS...
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 11
Uses Java's Strengths
A division of
• Static typing
– Fewer errors, robust refactoring, code assist, JVM design
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 12
Cloud-Class Scalability
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 13
More Great Stuff
A division of
• No lock-in
– Get rid of Roo from your project in under 10 minutes!
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 14
Code Generation Approach
A division of
• Passive generation
– Use Roo shell to make Roo generate something
– It's done and it's finished (usually .xml and .java files)
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 15
Active Generation
A division of
AspectJ ITDs
Person_Roo_
write Roo read Person.java
ToString.aj Roo
Roo
Add-Ons
Roo
Add-Ons name:String
toString():String Add-Ons
Add-Ons
Person_Roo_
JavaBean.aj
read AspectJ read
getName():String Compiler
setName(String):void
Person.class
write
Compilation unit separation name:String
toString():String
with automated round-trips getName():String
setName(String):void
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 16
Demo
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 17
Agenda
A division of
• Introducing Roo
• Capability Areas
• Using Roo
• Roadmap and Resources
• A Closer Look: Spring Insight
• Let's Get Cloudy: Cloud Foundry
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 18
Out Of The Box
A division of
• Project management
• General object services
• Entity support
• Field management
• Persistence
• JUnit testing
• Dynamic finders
• Spring MVC, Spring Web Flow and Selenium
• JMS, SMTP and build system integration
• Spring Security, Logging Setup.....
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 19
Project Management
A division of
• Commands
– “project” → creates new project in current dir
– “dependency add” → adds dependency to POM
– “dependency remove” → opposite of add
– “backup” → creates ZIP of project
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 20
General Objects
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 21
Entity Support
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 22
Field Management
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 23
Persistence
A division of
• “persistence setup”
– Use --provider for Hibernate, OpenJPA and EclipseLink
– Use --database for most common databases
• Related commands
– “persistence exception translation” → via AspectJ
– “database properties list” → lists JDBC props
– “database properties set” → changes JDBC prop
– “database properties remove” → deletes JDBC prop
• You can re-run “persistence setup” at any time
– Switch from Hibernate to OpenJPA in one line!
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 24
JUnit Testing
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 25
Dynamic Finders
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 26
Easy Spring Web MVC
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 27
Web Stack
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 28
Messaging: SMTP and JMS
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 29
Build System Integration
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 30
Miscellaneous
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 31
Agenda
A division of
• Introducing Roo
• Capability Areas
• Using Roo
• Roadmap and Resources
• A Closer Look: Spring Insight
• Let's Get Cloudy: Cloud Foundry
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 32
Requirements
A division of
• Java 5
– Same as Spring 3
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 33
Download and Easy Install
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 34
IDE Interoperability
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 35
Lifecycle Notes
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 36
Upgrade Actions
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 37
Removing Roo in Three Steps
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 38
Add-On Services
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 39
Recommendations
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 40
Agenda
A division of
• Introducing Roo
• Capability Areas
• Using Roo
• Roadmap and Resources
• A Closer Look: Spring Insight
• Let's Get Cloudy: Cloud Foundry
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 41
Present Release
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 42
Project Resources
A division of
• Home → http://www.springsource.org/roo
– Contains links to all other resources
• Forum → http://forum.springsource.org
– Roo team actively monitor forum and answer queries
• Issues → http://jira.springframework.org/browse/ROO
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 43
Agenda
A division of
• Introducing Roo
• Capability Areas
• Using Roo
• Roadmap and Resources
• A Closer Look: Spring Insight
• Let's Get Cloudy: Cloud Foundry
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 44
Spring Insight
A division of
• All layers:
Spring Beans (Services, Repositories)
Transactions
JDBC / SQL statements
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 45
Spring Insight
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 46
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 47
Agenda
A division of
• Introducing Roo
• Capability Areas
• Using Roo
• Roadmap and Resources
• A Closer Look: Spring Insight
• Let's Get Cloudy: Cloud Foundry
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 48
Cloud Foundry
A division of
STS
AWS
Spring
tc Server
API Apache
Developers Hyperic
MySQL
Request
QA
User
IT
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 50
Enterprise Java Cloud
Requirements A division of
• Self-Service
Easy access to Java platform/infrastructure services
Automation of common deployment blueprints
Integrated development & app management experience
• On-Demand Capacity
Rapid setup, configuration, and tear down of complex
systems on demand
Intelligent provisioning of Java stack
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 51
Cloud Foundry Developer
Preview A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 52
Conclusion
A division of
• Questions?
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 53
Learn more at the S2G Forum!
A division of
• S2G Forum München 18.3. • 1st class speaker:
Jürgen Höller
• 3 Tracks:
Spring
(Spring Lead)
Groovy/Grails Graeme Rocher
Enterprise Production Systems (Grails Lead)
• 95! incl. food Guillaume LaForge
(Groovy Lead)
• http://
www.springsource.com/ Christian Dupuis
events/s2gforum-3-18-2010 (SpringSource Tool
Suite Lead)
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 54
A division of
• Blog: http://JandIandMe.blogspot.com
• Twitter: @ewolff
• ewolff@vmware.com
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 56
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 57
Home Screen
A division of
Start
If issues are here
present
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 58
Upload Application
A division of
Static content
deployed on
Apache
WAR file
(multiple
WARs and
contexts
supported)
Database
configuration
and DDL scripts
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 59
Applications Screen
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 60
Launch Application
A division of
Selected topology is
graphically illustrated
Select
topology
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 61
Deployments Screen
A division of
Copyright 2009 SpringSource. Copying, publishing or distributing without express written permission is prohibited. 64