Rocky Mountain Software Symposium
November 19 - 21, 2010 - Denver, CO
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 a Community Engineer with Cloud Foundry (http://cloudfoundry.com) by Pivotal (http://goPivotal.com). He is a twelve year veteran of the enterprise software and web development industries, with experience spanning the healthcare, biomedical research, e-commerce, retail store and insurance domains.
Matt is obsessed with the idea that enterprise IT “doesn’t have to suck,” and spends much of his time thinking about lean/agile software development methodologies, DevOps, architectural principles/patterns/practices, and programming paradigms in an attempt to find the perfect storm of techniques that will allow corporate IT departments to not only function like startup companies, but also create software that delights users while maintaining a high degree of conceptual integrity.
Matt has spoken at conferences ranging from JavaOne to CodeMash and serves as Technical Editor of NFJS the Magazine (https://www.nofluffjuststuff.com/home/magazine_subscribe). Matt is also the founder of the Memphis/Mid-South Java User Group.More About Matt »