SpringOne 2GX 2011

Chicago, October 25-28, 2011

Magnificent Mile Marriott
Downtown Chicago
540 North Michigan Ave.
Chicago, Illinois   60611
1 (800) 228-9290
[ Map it ]

Keith Donald

SpringSource Principal & Founding Partner

Keith Donald is a principal and founding partner at SpringSource, the company behind Spring and a division of VMware. At SpringSource, Keith is a full-time member of the Spring development team focusing on web application development productivity. He is also the architect behind SpringSource's state-of-the-art training curriculum, which has provided practical Spring training to over 10,000 students worldwide.

Over his career, Keith, an experienced enterprise software developer and mentor, has built business applications for customers spanning a diverse set of industries including banking, network management, information assurance, education, retail, and healthcare. He is particularly skilled at translating business requirements into technical solutions.

Presentations

Spring - An Agile Development Environment with Christian Dupuis

Spring is a key part of the agile development equation. But alone, Spring is not enough. To be agile, you need discipline, you need good people, and you must embrace change. From a technical perspective, you need a strong build process, automated dependency management, database schema management, IDE integration, and comprehensive testing strategies for all layers of the application.

In this session, Keith and Christian will walkthrough a ?jumpstart? application development environment, the same environment Spring uses internally to manage its projects and Interface21 uses on its clients engagements, and show how it enables developer productivity. When developers can start a new project from a common blueprint, and leverage a shared build environment which takes care of all related concerns, they are able to very quickly start working on adding business value, and generally with less chance of getting into trouble. Aside from reducing wasted effort, this also effectively makes a Spring-based stack a viable choice both for smaller as well as larger applications.

Christian, co-lead of the Spring IDE project, will also go into detail about Spring IDE and show how you can use it within Eclipse to improve your development productivity with Spring

Spring Web Flow: Dialogs for the Web

This session focuses on Spring Web Flow (SWF), a core module of Spring?s web stack, and its architecture as a powerful controller technology based on a finite-state machine.

The session highlights SWF's capabilities, namely the ability to capture web application page flows as self-contained, reusable modules that make dynamic and sophisticated page navigation decisions. It demonstrates solutions to common issues facing web application developers in areas such as application transactions, duplicate submits, security, testability, browser-navigation button use, and state management.

This session also shows how Spring Web Flow may be leveraged in a variety of web environments as a compliment to "traditional" controllers. You?ll see how to embed flows within a number of established frameworks in the web space, including Spring MVC, Portlet MVC, Struts, and JSF.

You'll learn the benefits of using a declarative, test-driven approach to building page flows to orchestrate controlled navigations that drive business processes. You'll leave with an understanding on when and how to leverage Spring Web Flow in a productive, best-practice manner.

Advanced IoC with Spring

Dependency Injection seems like a simple concept. In this session, Rod and Keith will explain:

• The important corner cases where simple DI falls down, and how Spring provides elegant, powerful solutions, based on extensive experience • “Factory beans” and when to use them • The different strategies for turning legacy code into Spring-managed services • The relationship between annotations and dependency injection • The combination of DI and AOP, and why it’s so important • Extending the Spring IoC container without changing Spring itself • The many value adds that a powerful DI container can provide

In this session, Rod and Keith will explain:

• The important corner cases where simple DI falls down, and how Spring provides elegant, powerful solutions, based on extensive experience • “Factory beans” and when to use them • The different strategies for turning legacy code into Spring-managed services • The relationship between annotations and dependency injection • The combination of DI and AOP, and why it’s so important • Extending the Spring IoC container without changing Spring itself • The many value adds that a powerful DI container can provide

The Spring Rich Client Project: Effective Desktop Application Architecture

The past year has brought a resurgence of Java? technology on the desktop. With the Java 2 Platform, Standard Edition (JSE?) 1.5, The Java Foundation Classes (JFC/Swing) API delivers a mature toolkit for desktop application developers to build on. With a strong base in place, focus is now turning toward ways to improve developer productivity. Developers seek effective desktop application architectures atop JFC/Swing that allow them to focus on creating business applications that look professional and stay maintainable. This session introduces the Spring Rich Client Project (Spring Rich) as an answer to that need.

In particular, this session highlights Spring Rich's capabilities as a state-of-the-art desktop application framework, including its integration with core Spring for application configuration, layering, and dependency management. It also covers the design strategies behind Spring Rich's solutions to common desktop application problems, in areas such as "as you type" control data binding and validation, centralized GUI commands (actions), form construction and layout, and important application window, view, editor, dialog, and wizard abstractions.

The session showcases the value of using a lightweight container within a JSE environment, contrasting it with traditional programming models. It also discusses how Spring Rich integrates with a number of established projects in the desktop Java technology space, including JDNC, JGoodies, Glazed Lists, and JIDE.

You'll learn the benefits of using a lightweight, test-driven approach to building JFC/Swing API-based applications. You'll be presented the key issues facing developers of non-trivial desktop apps and how Spring Rich addresses them. You'll leave with a grasp on how to use the JFC/Swing API in a productive fashion.

Applied Design Patterns in Spring Web Flow

Spring Web Flow (SWF) is an exciting new technology for the development of self-contained application controller modules. From Builder, to State, to Strategy, to Memento, the SWF code base is full of pragmatic applications of well known GOF design patterns that solve problems for web application developers in innovative ways.

This is an advanced session that focuses on the application of those patterns and the problems they solve. Attendees will gain in-depth insight into the SWF architecture and will take away knowledge of how they can apply OO patterns effectively in their own projects.