Intro
Topics
What is Spring?
Much more than an IoC container...
Enabling Technologies
Spring 2.0 Goals
Spring 2.0 Core Goals
Annotation Driven Transactions
Annotation Driven Transactions
Annotation Driven Transactions
Annotation Driven Transactions
AOP: AspectJ Library Aspect
Use in Spring 2.0 XML
Use in @AspectJ Programming Model
Use in @AspectJ Programming Model
Use in @AspectJ Programming Model
Deployment choice: Compile with AspectJ
Use in @AspectJ Programming Model
Deployment choice: Compile with AspectJ
Recap: Why AOP Matters
Enterprise application vocabulary
Requirements
Meaningful abstractions
Meaningful abstractions
Meaningful abstractions
Faithfulness to requirements
Faithfulness to requirements
System Architecture
Spring 2.0 unifies AOP programming model
AOP in Practice
Spring 2.0: Building out the Spring Component Model
Grid-enabled POJOs with Spring
Spring and Space-Based Architecture (SBA): How do they fit together?
Spring on SBA - non intrusive SBA
Spring Enables Applications To Evolve
Building out the Spring component model: Multi-language support
Multi-language support
Multi-language support
2006 - Year in Review
Themes of 2006
May: Pitchfork Project
May: Oracle Fusion Middleware Building on Spring
June
Spring-based application Processes - almost all UK Inter-bank payments at Voca
VOCA
European Patent Office: Spring Success Story
Worldwide Patent Search
Hours of Spring-powered Fun!
Full Document Retrieval
Hours of Spring-powered Fun!
September: 1 million downloads
Themes for 2007...
Themes for 2007
OSG - what?
OSG - what?
OSG - what?
OSGi: A Module System...
...and it's Dynamic!
Spring and OSGi: Complementary Technologies
Spring OSGi - Project goals
Project collaborators
Spring modules
Spring Makes it Easy! - Exporting a Service
Spring Makes it Easy! - Importing a Service
Visibility
Versioning
Versioning
The Big Picture
The Spring Portfolio
Typical application layering
Data access layer
Other back-ends...
Spring LDAP
LdapTemplate
Service layer
Scheduling
Asynchronous tasks
Messaging
Acegi Security for Spring
Security - impacts all layers
Presentation Layer: Spring Web Flow
Spring Web Flow
Presentation Layer: Spring Rich Client
Tooling: Spring IDE
Spring IDE: WebFlow editor
Spring IDE : p namespace
Spring IDE : AOP support
ESB - Mule integration
ESB - Mule integration
The Open SOA Collaboration
Service Component Architecture
Any Spring Application is "SCA-ready"...
Not just about the Spring Framework
Integrated Release Train
Summary
Spring 2.0 introduced major enhancements in the Spring Framework making it both simpler to use and more powerful. In this session, Rod discusses some of the enhancements through code examples, focusing on: - Extensible XML configuration, support for dynamic languages in the Spring component model, and support for JPA.
Rod demonstrates how Spring 2.0 provides a launching pad for further developments in 2007, discussing the implications of OSGi integration for the Spring component model, and additional configuration options.
Finally Rod surveys the Spring Portfolio, and show how the ecosystem around Spring helps in many areas of enterprise development.
Rod Johnson - Creator of Spring & Best Selling Author of J2EE without EJB, is an enterprise Java architect with extensive experience in the insurance, dot-com, and financial industries. He was the J2EE architect of one of Europe's largest web portals, and he has worked as a consultant on a wide range of projects. Rod has an arts degree majoring in music and computer science from the University of Sydney. He obtained a Ph.D. in musicology before returning to software development. He has been working with both Java and J2EE since their release and is actively involved in the Java Community Process as a member of the JSR-154 (Servlet 2.4) and JDO 2.0 Expert Groups. He is the author of several best-selling books, like Expert One-on-One J2EE Design and Development (Wrox, 2002) and has contributed to several other books on J2EE since 2000. As founder of the Spring Framework, he speaks frequently at leading industry conferences. Rod is currently the CEO of the Interface21, the international company behind leading enterprise open source products like the Spring Framework, AspectJ and Spring Web Flow and is currently based at the London office of Interface21.