Session Schedule

About the Session Schedule
Download Agenda PDF

We are committed to hype-free technical training for software architects, programmers, developers, and technical managers. We offer over 50 sessions in the span of three days on all facets of Spring. Featuring leading industry experts, who share their practical and real-world experiences; we offer intensive speaker interaction time during sessions and breaks.

Note: We are still adding more speakers and sessions to the agenda. Check back often for more updates and featured video from 2007.

Monday - December 01


5:00 - 6:30 PM Registration
6:30 - 7:30 PM Dinner
7:30 - 7:45 PM Welcome
7:45 - 9:00 PM Keynote: Rod Johnson
9:00 - 11:00 PM SpringOne Americas 2008 Opening Night Party

Tuesday - December 02


  Essential Spring Enterprise Integration Rich Web Application Architecture and Design Spring in Production Applied Spring
8:00 - 9:00 AM Breakfast & Late Registration
9:00 - 10:30 AM
10:30 - 11:00 AM Break
11:00 - 12:30 PM
12:30 - 1:30 PM Lunch
1:30 - 3:00 PM
3:00 - 3:30 PM Break
3:30 - 5:00 PM
5:00 - 5:30 PM Break
5:30 - 7:00 PM Dinner
7:00 - 8:00 PM Keynote: John Rymer - Life in a Time of Consolidation: The Platform Market in 2009-10

Wednesday - December 03


  Essential Spring Enterprise Integration Rich Web Application Architecture and Design Spring in Production Applied Spring
8:00 - 9:00 AM Breakfast
9:00 - 10:30 AM
10:30 - 10:45 AM Break
10:45 - 12:15 PM
12:15 - 1:15 PM Lunch
1:15 - 2:45 PM
2:45 - 3:00 PM Break
3:00 - 5:30 PM SpringOne Americas 2008 Beach Party
5:30 - 6:30 PM Birds of a Feather Sessions
6:30 - 7:30 PM Dinner
7:30 - 8:30 PM Keynote: Adrian Colyer
8:30 - 10:00 PM Sponsor Reception

Thursday - December 04


  Essential Spring Enterprise Integration Rich Web Application Architecture and Design Spring in Production Applied Spring
7:30 - 8:30 AM Breakfast
8:30 - 10:00 AM
10:00 - 10:15 AM Break
10:15 - 11:45 AM
11:45 - 12:45 PM Lunch
12:45 - 2:15 PM
tbd
2:15 - 2:30 PM Break
2:30 - 4:00 PM
tbd
tbd
4:00 - 4:30 PM End of Show

Keynote: Spring, SpringSource and the War on Complexity

close

Rod Johnson By Rod Johnson
Opening Keynote

Detail

What's New in Spring Framework 3.0

close

Juergen Hoeller By Juergen Hoeller
With the Spring Framework 3.0 release, we are introducing further annotation-based configuration options, unified expression language support and comprehensive REST support. This talk discusses Spring as a modern Java 5 oriented application framework: covering the core component model, annotation-driven web MVC as well as platform integration.

Session detail...

Spring and Java EE 6

close

Juergen Hoeller By Juergen Hoeller
The Spring Framework is well-known for tight integration with the J2EE 1.4 and Java EE 5 platforms. Now Java EE 6 is coming our way... Where are new integration opportunities emerging? How does Spring differentiate itself from the new programming models in Java EE 6 - in particular from Web Beans? Where is the Spring component model compatible with the direction that Java EE 6 is taking? This talk will provide an early analysis and give an outlook on how the Spring Framework will adopt Java EE 6 APIs in the course of 2009.


Session Detail

Adrian Colyer By Adrian Colyer



Introducing Spring Security 2.5

close

Ben Alex By Ben Alex
Does your application need security? If so, you'll find this intensely demonstration-oriented session provides an easy introduction to the popular Spring Security project, and how to apply it to web applications. You'll discover the three easy steps to adding Spring Security to an existing application, how to configure some of your main authentication services, and how to use both web and method authorization capabilities. You'll also receive plenty of pragmatic security tips, plus see demonstrations of the exciting new Spring Security 2.5 expression language (EL) features.

Spring Security is a popular, open-source Java security framework that represents the Spring portfolio's official security capability. It has received hundreds of thousands of downloads, been ported to other platforms (such as Python and Microsoft .NET) and represents a popular choice in many banking, government, and military installations.

This session presents practical solutions for addressing today's complex enterprise application security requirements using Spring Security. It takes attendees on a step-by-step journey that begins with the simple security requirement of a login form, and grows to include more advanced requirements such as web request authorization, single sign on and federated identity (OpenID), advanced method authorization, plus rich client security considerations.

Ben's security sessions are always intensely demonstration-oriented, and this session promises at least five separate live demonstrations and code discussions. As such, you will not only discover the important architectural concepts and standards applicable to enterprise application security, but you'll also receive plenty of practical tips and solid advice on using this powerful and flexible security framework.

Eating Your Own Dog Food: Spring Inside the Enterprise Bundle Repository

close

Scott Andrews By Scott Andrews
The SpringSource Enterprise Bundle Repository is a OSGi-compliant Maven artifact repository with a rich front-end user interface. This mission-critical application is also built on the latest version of Spring, and serves as a good example for Spring best practice (and lessons learned for non-best practices). Come to this session to see how this innovative application works and how it applies the latest Spring technologies.

This session will walk through the design and implementation of the SpringSource Enterprise Bundle Repository. Through example, it shows how to apply the following technologies:
- Spring Beans with annotation-configuration
- Spring MVC with a REST-oriented architecture
- Progressive Ajax/HTML views with Spring JavaScript and Dojo
- Atom views for web service clients
- Use of Equinox and the SpringSource dm Server Infrastructure

Introducing Spring Java Configuration

close

Chris Beams By Chris Beams
Spring Java Configuration, or JavaConfig for short, provides a pure-Java and type-safe mechanism for configuring the Spring IoC container. This approach provides the benefits of centralized dependency injection with the power and ease of working in Java and without the angle brackets of XML.



In this session you'll learn:

* The benefits of JavaConfig
* How JavaConfig compares to and integrates with Spring's other configuration approaches (XML and Annotation-Driven Injection)
* How to use JavaConfig to wire up your own applications

Live demos will include:

* Porting Spring's PetClinic web application from Spring XML to Spring JavaConfig

Inject this: Spring into Fusion Middleware

close

Michael Chen By Michael Chen, Patrick Peralta, and Randy Stafford
Oracle Fusion Middleware features a unique Hot-Pluggable architecture that integrates and extends the Spring Framework, making it easy to use in your custom applications. This session will highlight how products like Oracle Coherence, Oracle WebLogic Server, and Oracle Toplink, as well as open source persistence technology like EclipseLink can solve a wide range of problems for the enterprise developer.



No mere certification of Spring libraries, the Spring Framework support for Oracle WebLogic Server continues to produces enterprise-grade Spring integration to WebLogic Clusters, Security, Web Services, the server management console, JMX, JMS, and of course, distributed JTA transactions. By using a Data Grid such as Coherence, Spring applications can enjoy reliable, fast, and linearly scalable data access when dealing with your application state data. Also, using TopLink and Spring's DAO layer together can offer a high-performance, productive approach to persisting POJOs to relational databases.

Developing Rich Web Applications with Spring

close

Keith Donald By Keith Donald
Spring offers several interesting modules for building and running rich web applications: Spring MVC, Spring Web Flow, Spring JavaScript, and Spring Faces. This session will provide an overview of these modules and show how they relate to one another. Attendees will see how Spring simplifies the development and deployment of rich web applications on containers like Tomcat, as well as on Spring's new application server. Attendees will also gain insight into the Spring 3.0 roadmap, including exciting new REST, JSON, and Flex support.

Spring Web MVC is a popular web framework, and the foundational platform for powering Spring-based web applications. Version 2.5 introduces major new features that simplify the core MVC programming model, including support for annotated @Controllers and convention-over-configuration. This session shows how to apply these new features to gain development productivity and implementation consistency.

Building on the Spring MVC platform are a number of interesting modules. Spring Web Flow 2 adds significant power for implementing flows within a Spring MVC-based app. Spring Faces, a new module, provides support for JavaServerFaces in a familiar Spring MVC environment. And last but not last least, Spring Javascript, a new module, integrates leading UI toolkits such as Dojo into a Spring MVC environment for applying progressive enhancement techniques with Ajax. This session provides an update on these technologies, shows how to put these technologies into practice, and addresses what's coming in Spring Web 3.0. It is an overview session and sets the foundation for the rich web track at SpringOne 2008.

Working with Spring Web Flow 2

close

Keith Donald By Keith Donald
Web Flow is a Spring Web MVC extension that allows you to define Controllers using a higher-order domain-specific-language. This language is designed to model user interactions that require several requests into the server to complete, or may be invoked from different contexts. This session dives deep into the features of the Web Flow 2 definition language, and illustrates how to use it to create sophisticated controller modules.

In this session you will learn:
- How to implement reusable controller modules as self-contained bundles that can be refreshed without container restart
- How to solve the back button problem and duplicate submit problem
- How to handle Ajax events and render partial responses
- How to simply data access concerns and prevent lazy loading exceptions by using flow-managed persistence
- How to secure flows, including their startup
- How to test your controller logic
- General best-practices for designing and implementing flows
- Techniques for achieving flow reuse, including use of flow definition inheritance
- Guidelines for deploying flows alongside Spring Web MVC multi-action @Controllers
- How to implement common user interaction patterns such as master detail, wizard, and tabbed UI.

Hands-on Workshop: Developing Rich Web Applications with Spring

close

Keith Donald By Keith Donald
In this session, attendees will interact with the speaker to create a web application powered by Spring MVC 3.0. Bring your laptop to this session to get hands on experience with Spring.

Hands on workshop.

Enterprise Development Tools for Spring Applications

close

Christian Dupuis By Christian Dupuis and Mik Kersten
Spring IDE is the proven standard toolset for doing Spring development within the Eclipse Platform. It supports Spring's core programming model and the board range of open-source Portfolio Products. With the SpringSource Tool Suite additional value-added features have been introduced that combine Spring IDE and Eclipse Mylyn to significantly streamline the development process and help making SpringSource best-practice knowledge and recommendations available to developers at their fingertips while working in their IDE. This session will introduce the different tool products from SpringSource and will outline their benefits.


Session Detail

Case Study: Migrating to Spring at MTV Networks

close

Justin Edelson By Justin Edelson
This case study analyzes the enterprise architecture migration to Spring at MTV Networks Digital. The presentation covers details about how Spring was chosen to replace ATG Dynamo and provides an architectural comparison. The session also identifies practical lessons learned during the migration and how other architects of large enterprise systems can leverage them for their own projects.

Session Detail

Skyway Generation Framework for Spring

close

Mike  Evans By Mike Evans, Jack Kennedy, and Jared Rodriguez
Learn how to accelerate the delivery of Spring applications using the Skyway Generation Framework for Spring. This session will focus on how developers are using Skyway’s Domain-Specific Language (DSL) and Spring-certified code generation capabilities to design, develop and maintain Spring applications. The session will also demonstrate how the modularity of the Skyway Generation Framework for Spring enables users to generate Spring code and artifacts as an end-to-end solution or for individual Spring Framework modules (Spring MVC, ORM, DAO, Service, Core).

In this session, Skyway Software Founders Jared Rodriguez and Jack Kennedy will present a hands-on overview of Skyway’s Domain-Specific Language (DSL) and Spring-certified code generation capabilities. Building on Spring’s comprehensive framework that abstracts the complexities of enterprise software development, Skyway’s Generation Framework for Spring takes the creation of Spring applications one step further with rich tooling and automated configurations.

Session attendees will learn:
* How Skyway Builder complements Spring tooling
* How Skyway Builder generates Spring-certified code that looks like it was hand-coded
* How the modularity of the Skyway Generation Framework for Spring enables users to generate Spring code and artifacts as an end-to-end solution or for individual Spring Framework modules (Spring MVC, ORM, DAO, Service, Core)

Introduction to Spring Integration

close

Mark Fisher By Mark Fisher
Spring Integration was officially announced at The Spring Experience last year, and since then we have released 1.0. Attend this session to learn what Spring Integration is all about and how you can get started using it right away.



The session begins with an overview of the Enterprise Integration Patterns as catalogued in the highly influential book of the same name. The patterns provide a context for describing the various roles and integration concerns in an application based on messaging. We will then explore the Spring Integration API to see how it enables the development of Message-driven applications based on those patterns. Along the way, you will see how Spring Integration builds upon familiar Spring idioms such as interceptors, templates, and the strategy pattern. You will also see that Spring Integration maximizes reuse of the integration support in the Spring Framework core for everything from remoting and JMS to transactions and task execution. In addition to providing a robust, proven foundation, that also flattens the learning curve considerably for those already familiar with Spring.

Patterns we will discuss include Message Channel, Channel Adapter, Service Activator, Message Translator, Content-Based Router, Message Bus, and more. After attending this session, you will be able to start applying these patterns immediately within your Spring-based applications to solve many of the challenges of enterprise integration.

Spring Integration Deep Dive

close

Mark Fisher By Mark Fisher
Intended for those who have already attended the "Introduction to Spring Integration", this session offers an intensive, demo-driven exploration of Spring Integration's advanced configuration options and extension points.



In this session, you will learn how to schedule concurrent pollers, how to enable transactions across Message Endpoints, and how to apply security for Message Channels. Next, you will learn how to configure advanced routing strategies including the Scatter/Gather pattern with customized Splitters and Aggregators. Finally, we will explore the many extension points within the API in much greater depth than in the introductory session. After this session, you will understand how to provide your own inbound and outbound adapters, message transformers, and domain-specific routers. Most importantly, you will understand how to do all of this while maintaining the separation of concerns that is essential for producing maintainable, testable code.

Prerequisite: Introduction to Spring Integration


Enterprise Apache Tomcat

close

Adam Fitzgerald By Adam Fitzgerald
Apache Tomcat is the most popular Java application server in production today. This session will discuss the usage patterns of Apache Tomcat and the most common issues that arise when it is used in enterprise environments. The goal of the presentation is to introduce and demonstrate useful production tools to help to ensure quality performance of Tomcat in mission critical systems.



Topics to be covered include:

-Configuration and control of large distributed Tomcat installations
-Application provisioning and deployment
-Failure analysis and diagnostics

Enhancing Spring MVC Web Applications Progressively with Spring JavaScript

close

Jeremy Grelle By Jeremy Grelle
Spring JavaScript is a JavaScript abstraction framework that allows you to progressively enhance a web page with behavior. The framework consists of a public JavaScript API along with an implementation that builds on the Dojo Toolkit. Spring.js simplifies the use of Dojo for common enterprise scenarios while retaining its full-power for advanced use cases. Come to this session to learn to use Spring.js and Dojo to create compelling user interfaces for your Spring MVC web applications.

This session will walk through using Spring.js to add a number of rich web capabilities to your applications, including:
- Decorating standard HTML links and forms with Ajax events
- Linking in partial updates to a page
- Adding effects such as progress indicators, blinds, and popups
- Performing client-side validation

In addition, you'll see how Spring.js can help with:
- Gracefully degrading when JavaScript is not available
- Meeting requirements for accessibility
- Applying progressive enhancement techniques

Simplifying JavaServerFaces Development with Spring Faces

close

Jeremy Grelle By Jeremy Grelle
Traditional JSF development has gained a reputation for being overly complex and cumbersome. Spring Faces introduces a host of features that improve the development experience and performance a JSF application. In this session, attendees will see a real-time demonstration of how Spring Faces makes the JSF experience more productive and reduces the pain of container re-starts and verbose configuration.

This live coding session will highlight the features of Spring Faces that make using JSF and Spring together a more cohesive experience:
- High-level DSL for structuring control logic that utilizes EL and Groovy and is both easy to unit test and fully dynamic and refreshable in-container at runtime.
- Introduction of view and flow scopes that fit more naturally with JSF's stateful model
- Reduction in external configuration with no need for JSF managed- bean or navigation-rule definitions
- Easy-to-introduce client-side validation and Ajax
- Flow-managed persistence contexts that enable true transparent persistence.
- Simplified integration with Spring Security
- Less conceptual disconnect by enabling the Spring programming model throughout the stack ("turtles all the way down")

Integrating Flex and Spring

close

Jeremy Grelle By Jeremy Grelle
Flex offers several ways to communicate remotely from the client to a back-end system, but it is ultimately agnostic to the technology being used on the server. Connecting a Flex front end to a Spring-based service layer has long been possible, but it hasn't always been easy or obvious how to do so without a heavy investment in proprietary technology. Come to this session to see how to take advantage of the recently open-sourced BlazeDS project from Adobe to make connecting Flex to Spring easier and more natural.

This session will walk through several approaches to communication between Flex and Spring, including:

- Exporting Spring beans for direct remoting

- Creating and consuming RESTful Spring resources

- Creating and consuming SOAP based Spring web services.

Each approach will be examined in detail, with a comparison of the pros and cons of each technique so that attendees may make an informed decision when choosing the approach to use in their own rich applications.

Heterogeneous Cluster Communication

close

Filip Hanik By Filip Hanik
Many group communications modules are built for a uniform communication model. In many cluster implementations this is often not the best solution to achieve the performance and scalability that is needed in heterogeneous clusters.
This presentation will introduce a Tomcat module, nicknamed Apache Tribes, that has addressed the need to support messaging with different attributes per message and is used in the next version of Tomcat Clustering.


This session will cover

* Challenges in group communication in heterogeneous clusters
* Today's uniform and non-uniform solutions
* Comparison to existing frameworks that exist today
* Why the need for Tribes
* Tribes architecture and design - detailed overview of the Tribes architecture, and the reason behind it.
* Tribes configuration and usage
* Tipis - Introducing the Apache Tribes building blocks. A detailed overview of how a developer can build on top of Tribes to fit the exact needs for their environments
* Code examples and example implementations
* Usage in the real world

Zero Latency Http - Using Comet with Apache Tomcat

close

Filip Hanik By Filip Hanik
As browsers and web servers have become de facto standards, the need for instantaneous data exchange has grown. AJAX was one of the responses for a web client to efficiently communicate asynchronously in the background with a remote web server. Tomcat 6.0 has gone beyond AJAX and implemented a new feature called Comet, allowing for both asynchronous uni- and bi-directional communication between client and server while still leveraging the HTTP protocol and Java Servlets. The Comet technique has also been nicknamed "Zero Latency HTTP" as it circumvents the overhead by the traditional request/response methodology that the protocol implies.





The session will cover

* HTTP then and now, a brief history of the evolution of the HTTP protocol
* AJAX, what it is, how it works and what it has allowed us to accomplish
* Beyond AJAX, Comet - introduction to the Comet technique
* Uni- vs bi-directional Comet, what's the difference
* Technical overview of the Comet technique, challenges and their solutions
* Scalability discussions around Comet
* Using Comet with Tomcat

Introduction to the SpringSource dm Server

close

Rob Harrop By Rob Harrop
The SpringSource dm Server is the next-generation modular middleware platform. In this session, Project Lead Rob Harrop and SpringSource CTO Adrian Colyer will present a rapid, hands-on introduction to the dm Server.



Topics covered will include:

* What is the dm Server?
* Getting started with the dm Server
* Building modular applications on dm Server
* Using the dm Server tools
* dm Server Roadmap

At the end of this session attendees will have all the knowledge needed to get started with the dm Server and modular applications. Delegates can attend the Advanced SpringSource dm Server session to learn more about using dm Server in their organization

Attendees should have an intermediate understanding of Java SE and Java EE web applications

Advanced SpringSource dm Server

close

Rob Harrop By Rob Harrop and Glyn Normington
Following on from the Introduction to the SpringSource dm Server session, Project Lead Rob Harrop and SpringSource Distinguished Engineer Glyn Normington will discuss advanced dm Server use cases and internals.



Topics will include:

* dm Server architecture
* Advanced OSGi wiring
* Deployment, personalities, and profiles
* Diagnosing common developer errors
* Serviceability and support infrastructure
* Migrating Java EE applications

Attendees should be familiar with the SpringSource dm Server and should have an intermediate understanding of Java SE and Java EE web applications.

Prerequisite: Introduction to the SpringSource dm Server


Building Large-Scale, Modular Software

close

Rob Harrop By Rob Harrop and Glyn Normington
In this session, SpringSource dm Server Project Lead Rob Harrop and SpringSource Distinguished Engineer Glyn Normington will discuss the design and implementation of large-scale, modular software using the dm Server as a case study.



Topics covered will include:

* Designing for modularity: responsibility driven design
* Reliability and serviceability
* Environmental issues
* Systems, layering, subsystems, modules, and dependencies
* Conceptual integrity and convergence
* The use of formal methods and multiple models
* Concurrency
* Causally Connected Self Representation (CCSR) concepts

Attendees should have an intermediate understanding of Java SE, design patterns and common architectural challenges.

Advanced Concurrency: Design and Construction

close

Rob Harrop By Rob Harrop
Following on from his popular concurrency session from last year, Rob will present a hardcore discussion of concurrency in Java and beyond.

Attendees will learn about:

* Concurrency in Java 6 and Java 7
* Patterns for concurrent applications
* Design considerations and pitfalls
* Concurrency beyond Java including Kilim, Erlang and Scala
* Diagnosing concurrency bugs

Attendees should have a thorough understanding of Java SE.


Session Detail

Managing your Applications with SpringSource AMS

close

Jennifer Hickey By Jennifer Hickey
Is your application feeling neglected? Once you deployed it into production, did you drift apart? Perhaps you abandoned your deployed application for some hot new project? Come to this session to learn how to use the SpringSource Application Management Suite (AMS) to reconnect with your Spring-powered application in both development and production environments. We will explore how AMS uses AOP and JMX to provide automatic discovery, monitoring and runtime control of a variety of Spring components. Attendees will learn how to use the AMS API to easily build manageability into their own application components. Attend this session and learn how to break down those communication barriers and gain new insight into your application.


Topic Detail

Managing Spring Applications in the Cloud

close

Jennifer Hickey By Jennifer Hickey
This session shows a practical application of cloud computing using multiple new SpringSource products. It demonstrates a set of actual applications, including SpringSource dm Server and AMS, working together in multiple virtual nodes.

The buzz around virtualization makes it difficult to find the real value in all the shiny new fluff. There are some real values to be found in virtualization, even for pragmatic developers. This session will demonstrate a practical usage of cloud computing with Amazon Web Services and discuss some of the existing tools for application management and provisioning in the cloud.

The Dojo Toolkit: From Zero to Production

close

Pete Higgins By Pete Higgins
The Dojo Toolkit provides professional tools for all your Rich Web(tm) requirements, ranging from a minimal set of utility functions for everyday Web Development to cutting edge client-side technology including a full suite of tools for every step of development. We'll cover the lightweight Base Dojo utility functions provided by the the 26k dojo.js, explore the benefits of Dojo's package and loader system, Widgeting framework, pre-made UI widgets, DojoX components in incubation like Charting, Cometd/XMPP, SMD, among others, and finish up by showing how the Dojo Build system can shave every last available byte on the wire down to a minimal collection of client-side code. From progressive to dynamic, Dojo provides all the tools needed within a single unified API to get you going -- from zero to production.

We will explore every nook-and-cranny provided by the Dojo Toolkit to ease pains of the development cycle and for projects large and small, covering some of the lesser-known gems available today for the most advanced use of JavaScript, while maintaining modularity and good development practices along the way. Learn to use Dojo from the bottom up, starting small and adding in optional components to achieve rapid results.

Attendees will gain useful insights into the power of forward thinking APIs, and learn optimization techniques essential for any rich web experience.

Examining the OSGi Marketplace

close

Kirk Knoernschild By Kirk Knoernschild
The OSGi Service Platform is a standard dynamic module system for Java. Already under adoption by most major platform vendors, OSGi is a disruptive technology that stands to transform the packaging, delivery, and management of Java applications and services. Extending the capabilities of the Java platform, OSGi supports the ability to deploy multiple versions of a module, discover new modules dynamically, and deploy modules without restarting the system. In this session, analyst Kirk Knoernschild will introduce the OSGi Service Platform, examine the current OSGI market, and explore OSGi's place in the next generation Java application platform.


Session Detail

Case Study: Morgan Stanley Spring Usage

close

Mark Kralj-Taylor By Mark Kralj-Taylor
This session will explore how and why Spring is being used at a large financial institution. At Morgan Stanley we use Java a lot: What kinds of systems do we develop in Java? Why did we decide to use Spring? What problems did Spring solve for us? How did we adopt Spring across a large enterprise, for established projects as well as for new developments?


Mark will show how Spring is helping to execute on a strategy of providing the firm's Java developers with a best-of-breed blend of open-source and in-house libraries.
We will see how Spring was adopted across the enterprise. Mark will share developer feedback and lessons learnt.
Mark will show how a custom Spring?s transaction manager implementation that helps to address the firm's particular needs around robust, high-throughput transaction processing over multiple resources, without using a 2-phase-commit XA transaction manager.

Making sense of AOP choices

close

Ramnivas Laddad By Ramnivas Laddad
One-size-fit-all fits nothing! Just one kind of AOP won't fit all applications, either. Therefore, there are many choices available when using Spring-AspectJ combination. First, there is a choice about AOP system: proxy-based AOP or bytecode-based AOP. Then there is a syntax choice: traditional AspectJ, @AspectJ, and XML syntax. Within bytecode-based weaving, there are weaving choices: build time weaver or load-time weaver (LTW). If you choose LTW, you have further choices of AspectJ agent-driven or Spring-driven LTW. Confused? Don't be. These choices, while confusing at first, exists for a reason. This session explores all these choices and provides guideline on choosing the right combination to make you successful with AOP.

Session Detail

Lessons Learned Modularizing Java Applications with OSGi

close

Costin Leau By Costin Leau
Modularity, versioning and dynamics make OSGi an ideal candidate for
deploying and running Java applications, whether small or large.
However, nothing comes for free and resource and, like in any other
environment, there are "do"s and "don't"s.
In this session, we'll start by looking at OSGi (plus HK2 and JAM while
we're at it) and then focus on some of challenges that one might
encounter when developing an enterprise application in OSGi and how they
can be addressed, using the lessons learned in Spring Dynamic Modules
project and SpringSource Application Platform.


Session Detail

Spring Dynamic Modules Update

close

Costin Leau By Costin Leau
Spring Dynamic Modules (or Spring-OSGi) project makes it easy to build
Spring applications that run inside an OSGi environment. This allows the
application to provide better separation of modules, the ability to
dynamically add, remove and update modules in a running system as well
as deployment of multiple versions simultaneously.



In this session you'll learn:
* The main features of Spring-DM
* How to introduce your application to OSGi through Spring-DM
* How to deal with OSGi dynamics without rewriting your app

Building Java Portlets with Spring MVC

close

John Lewis By John Lewis
This session will provide a complete tour of using the Spring MVC framework to build Java Portlets. It will include an in-depth review of a sample portlet application developed using the latest features of Spring MVC, including Annotation-based Controllers. If you are writing Portlets and using Spring, this session is for you.

We'll begin by discussing the unique differences and challenges when developing Portlets instead of traditional Servlet webapps. Then we'll talk about the unique approach that Spring MVC takes towards Portlets that fully leverages the Portlet lifecycle, instead of masking it like many other frameworks. We'll take an extensive tour of a sample application so we can see all the unique pieces of the framework in action. Finally we'll conclude with discussion of the upcoming support for the Portlet 2.0 (JSR 286) specification that will be part of Spring 3.0.

Architecting scalable reporting and business intelligence applications using Spring and Pentaho

close

Mat Lowery By Mat Lowery
This session will discuss technology and techniques for Spring developers to create scalable reporting and business intelligence (BI) applications using technologies from Springsource and Pentaho. It will briefly review Pentaho’s technical capabilities and then focus on application design, integration, and deployment along with some interesting real-world use cases and customer examples.

Modern architectures and flexible open source models have made it easier and easier for developers to incorporate business intelligence and reporting capabilities directly into their applications. It’s also increasingly common that integrated BI is becoming an expected and even required component in enterprise operational applications.

Use-cases vary widely and span everything from embedding reporting to provide access to data sources and distribution in popular, easy-to-consume formats to sophisticated workflows, analytics, and visualizations.

Pentaho Corporation, its partners, and its community have addressed a huge range of applications that take advantage of the Spring framework. The session will provide real-world user and customer examples of large-scale applications, creative customizations, and more.

The core of the session will cover design, integration, and deployment issues for developers who want to take advantage of Pentaho BI capabilities within their Spring-based applications. Pentaho’s componentized, java-based architecture integrates with and takes advantage of many popular Spring-supported technologies including:

• Tomcat
• Acegi
• DAO
• Object factories
• Direct injection
• Annotations

Maximizing Architecture Reuse for High Performance

close

Wayne Lund By Wayne Lund
Learn how you can maximize your success with reusable, industrialized architectures. This session will focus on how Accenture integrates standard processes, tools, and architectures to enable full-scale industrialization for high performance. It will also highlight some of the recent steps Accenture has taken with SpringSource to enable accelerated development through standardized development environments and runtime architectures supporting web online, batch and integration application style development for client solutions.


Session Detail

VMware Virtualization Makes Java Application Development and Deployment Easier

close

Richard McDougall By Richard McDougall
If you’re curious about the ways virtualization can be used in Java development and deployment, you’ll want to attend this session. VMware principal engineer Richard McDougall discusses the new SpringSourceTool Suite integration with the VMware Workstation Eclipse plug-in that lets you seamlessly move Java application code into a VMware virtual machine with a few mouse clicks, speeding application development, testing, and debugging. You’ll learn how VMware virtualization technology provides cost advantages and deployment flexibility for runtime deployments of lightweight, modular server architectures from Spring - on desktops, in data centers or in virtualized grid or cloud environments. Best practices for running Java workloads in VMware virtual machines will be included in the presentation as well.


Session Detail

Introduction to Spring Extensions

close

Russell Miles By Russell Miles
Spring Extensions, in a nutshell, are open source projects that extend the core Spring portfolio projects. The goal is to create high quality, popular and well documented extension projects to Spring, each with their own identity and release cycle.

Each Spring Extension represents a discrete and useful product that SpringSource customers can be assured, once those projects hit a specific level of maturity, meet the high quality bar normally associated with the Spring Portfolio projects.

Each project is lead by members of the Spring Community along with a SpringSource sponsor whose job is to guide the project to its full potential, promoting the extension internally and to clients and making sure that the extension gets the maximum benefit from being associated with the strong SpringSource brand.


This talk will cover:

-Why you might consider proposing a Spring Extension. Including, what's in it for the project (services provided and association with the Spring brand) and what's in it for me?
-Spring Extensions are not 'code buckets'.
-Do all extensions have to be 'new'?
-What is the process for proposing a Spring Extension?
-What is that about copyright assignment?
-Who is the 'sponsor' guy?
-What is the lifecycle of a Spring Extension?
-Will all extensions to Spring come from Spring Extensions?

Finally we will showcase the Spring Extensions site, delving into the experiences of a couple of example extensions that are already in the 'live' phase.

Testing Strategies and Techniques

close

Jim Moore By Jim Moore
Spring was created largely in response to the desire to be able to test the code we write in the enterprise. Surprisingly, this is still a novel idea to many people. We will explore some of the ways that Spring facilitates testing and associated design in your applications across the Spring Portfolio, such as Spring Batch, Spring Web Flow, and more. As a great side-benefit, we will see how (in a cursory way) the various Spring projects work.

This is a very code-driven presentation, where we will focus on Spring-specific techniques.

Enterprise JPA & Spring 2.5 - Tips and Tricks for JEE5 Persistence

close

Pratik Patel By Pratik Patel
As with many technologies, the basics are easy. The hard part comes when the developer needs to do sophisticated integration, development, and testing as part of an enterprise application. A large enterprise application requires the developer to think of issues that affect the development, scalability and robustness of the application. This presentation will cover the advanced topics described below.

A large enterprise application often will have several sub-projects that each contain their own JPA persistence unit. This opens up a number of questions around how to organize the persistence units and how the code between sub-projects should interoperate. Developers will gain insight into these issues and will see a couple of solutions using live code examples.




Many enterprise applications require integration with an application server's JTA mechanism. JTA integration allows for JPA components to work with container managed trans