SpringOne 2GX 2011

Chicago, October 25-28, 2011

Ben Alex

Creator of Spring Security, Spring Roo & SpringSource Principal S/W Engineer

Dr Ben Alex is a Principal Software Engineer with SpringSource, and has been working professionally in software since 1995. Ben founded the Spring Security project in 2003 and led its development into a popular, open-source security framework that is used in numerous government, banking and military installations. More recently Ben founded and serves as lead of the Spring Roo and Spring Shell projects, both of which deliver significant productivity and usability benefits to those using Spring technologies.

Ben's career history also includes other roles in software development and business. From 2005 until 2008, he led the establishment and exponential growth of SpringSource's operations in Asia-Pacific. Prior to SpringSource, Ben founded and grew a successful Australian software company, Acegi Technology Pty Limited. He has been a director and advisor to businesses in diverse industries including business services, intellectual property licensing and ecommerce.

In recent years, Ben has presented at technology conferences including JavaOne, The Server Side Java Symposium, JAOO, Oredev, SpringOne and The Spring Experience. He is a regular guest presenter at user groups across the world, with recent appearances in Sydney, Melbourne, Brisbane, Canberra, Perth, Singapore, Wellington, Auckland, Christchurch and Stockholm. He also authored the security chapter of the Wiley book, "Professional J2EE Development with Spring Framework," and maintains a blog at http://blog.springsource.com/main/author/bena/.

Presentations

Introducing Spring Roo: extreme productivity in 10 minutes

Spring Roo is SpringSource's new open source technology which delivers working enterprise Java applications within 10 minutes. Roo's incredible productivity boost is reflected by end user comments like "I'm impressed", "liking it", "here comes some innovation", "Roo looks interesting and works", "very impressive tool" and "very cool". Come along and find out what has got everyone excited, direct from Ben Alex - the Roo project's founder and lead.

Spring Roo provides interactive, lightweight (a 3 Mb download!), user customizable tooling that enables rapid delivery of high performance enterprise Java applications. Spring Roo includes numerous features, some of which include:

  • Working applications within 10 minutes of finishing the download
  • 100% Java programming, offering developers a familiar, mature and mainstream programming platform
  • Transparent, reliable and productive IDE services like code assist, debuggers, visual error reporting etc
  • Extremely efficient runtime performance, type safety and zero runtime dependencies on Roo
  • Zero lock-in and dependence on Roo (optionally jump-start your project then remove it in ~4 clicks!)
  • Automatic, best practice Spring Framework 3 application architectures
  • Maven 2-based project structures
  • JPA-based persistence (eg via Hibernate) and with 100% JPA compliance and implementation portability
  • Bean Validation (JSR 303) support, including propagation of the constraints down to database DDL
  • Automated JUnit integration tests that build on Spring Framework's integration test features
  • An automated RESTful application backend, complete with Selenium tests and URI rewriting
  • Dynamically creating finders on your entities, producing robust JPA QL finder methods without any coding
  • Spring Security and Spring Web Flow installation ("install security") installation
  • Messaging support, including both email and JMS
  • Round-trip support that sustains higher productivity over the full application lifecycle
  • Embedded Tomcat server container usage
  • Full Eclipse and SpringSource Tool Suite integration
  • An easy-to-use, tab-completing, hint-providing, contextually-aware command line shell
  • Scripting support

In this presentation, Ben Alex will introduce Spring Roo. Ben will cover what is Roo, how to get started, and how to build a new enterprise application in just minutes.

Attendees who invest their time in this session will leave with a comprehensive understanding of what Roo is and its basic operation. We look forward to introducing this exciting new Spring project to you.

Spring Roo: technical deep dive

While an "out of the box" install of Spring Roo provides a tremendous productivity improvement for new Java developers and seasoned architects alike, there are many exciting opportunities for further gains once you start developing Roo "add-ons". Writing a Roo "add-on" enables you to fine-tune how Roo works and add support for extra technologies. Despite such flexibility, add-ons are surprisingly easy to write and brief (many core Roo add-ons are only a dozen lines of code). This session will be of interest to anyone interested in developing their own Roo add-ons, as well as those who are simply curious how Roo works under the hood and want to gain a better understanding of the technology.

At its heart, Roo offers a core set of services that permit add-ons to be used. This session will explore everything you need to know to confidently develop your own add-ons.

During this session Ben will actually build a simple Roo add-on live on stage. What better proof of how easy it is?! We'll do this by:

  1. Looking at how to check the Roo project out of SVN, build it, and configure your development environment to support add-on development.

  2. A quick tour of Roo's core infrastructure. This infrastructure includes major building blocks like the shell, file system manager, file system monitor, file undo capability, classpath abstraction, Abstract Syntax Tree (AST) parsing and binding, project build system interface, metadata model, process management, bootstrap and utility services.

  3. Discuss the add-on we'll be developing and how the metadata, operations and command objects all cooperate to enable the desired features.

  4. Finally, we'll go and build the add-on, testing it along the way and seeing how the development mode features within Roo shell work to support your development.

You'll leave this session with a strong knowledge of how Roo actually works "under the hood", and how you can use this knowledge in a very practical way to build brand new Roo features.

Introducing Spring Security 3

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, advanced method authorization, plus rich client security considerations. Many of the exciting new features in Spring Security 3 (such as Spring Framework 3-powered expression language authorization) will also be covered.

This session promises to be intensely demonstration-oriented, with 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.