Twin Cities Software Symposium: Fall
October 15 - 16, 2010 - Minneapolis, MN
View the event details here ».
Agile Development with OSGi
There isn't much said in typical Agile conversation about architecture and modularity. We will attempt to redress this omission by examining an agile approach to logical system architecture coupled with a potential implementation for the Java platform.
Tracer Bullet Development (TBD) is a technique that allows you to prove out the proposed architecture of your system by firing a "tracer bullet" through a vertical slice of your system that exercises all of its horizontal components. It has multiple benefits, including encapsulation, decoupled code, parallel code development, and more.
OSGi is a specification for a dynamic module system for Java with multiple open source implementations. It allows you to modularize your system into "bundles" which essentially firewall their own classloader space. Objects running within a bundle can only see types that they explicitly import and only expose types that they explicitly export. They interact with other bundles by expose and consuming services which are registered under a public interface.
At face value it seems that Tracer Bullet Development and OSGi are a match made in heaven!
In this talk, we'll examine the principles undergirding TBD, the pros and cons of this approach, and walk through the design of a system using TBD. We'll also get a brief introduction to OSGi and its various implementations, look at some of the tools available for OSGi development, and then implement our TBD design.
About Matt Stine
Matt Stine is an Enterprise Java/Cloud consultant based in Memphis, TN. He is a twelve year veteran of the enterprise software and web development industries, with experience spanning the healthcare, biomedical research, e-commerce, and retail store domains.
Matt has spoken at conferences ranging from JavaOne to CodeMash and has published several articles for Agile Zone, GroovyMag and NFJS the Magazine, as well as the Selenium 2.0 DZone Refcard. Matt is also the founder of the Memphis/Mid-South Java User Group.
His current areas of interest include lean/agile software development, software architecture, mobile application development and functional languages.More About Matt »