OSGi is all the rage these days--from Eclipse tooling to RCP applications to all major Java application servers, OSGi is everywhere. The key benefit cited by OSGi adopters is modularity. Modularity however is not free and is not inherent in OSGi systems. OSGi facilitates and enforces modularity but developers are still free to create monolithically tangled and inflexible systems using OSGi. Modularity is a programming practice.
In the first part of this talk we draw on experiences and examples from the OSGi and Equinox book to identify key elements of modularity and point out best practices for designing and building modular systems using OSGi. We look at techniques for modularizing monolithic systems and increasing the modularity and flexibility of existing OSGi-based systems.
In the second part of this talk, we present experiences from 5 years of building a large strategic enterprise application on top of Equinox/OSGi (rich clients, web services, app-server-cluster, >20 batch-apps, >30 back-end-adaptors – all build on Equinox/OSGi). We will walk through design decisions, typical technical challenges, and many mistakes – which you should better not build into your OSGi system.
Martin is consultant and coach at it-agile GmbH, a company located in Germany that is focused on agile software development. He received a master degree in Computer Science from the University of Hamburg and worked as intern as part of the AspectJ team at Xerox PARC back in \'99. While he is helping teams to become more agile he also authored several articles on rich client and server-side development with Eclipse and OSGi runtime technology for the german Eclipse magazine and investigated the combination of aspect weaving and Eclipse technology. He is involved as a committer in the Equinox project working on bytecode weaving.
Jeff McAffer leads the Eclipse Equinox OSGi, RCP teams and is CTO and co-founder of EclipseSource. He is one of the architects of the Eclipse Platform and a co-author of The Eclipse Rich Client Platform and the upcoming book Equinox and OSGi (Addison-Wesley). He co-leads the RT PMC and is a member of the Eclipse Project PMC, the Tools Project PMC and the Eclipse Foundation Board of Directors and the Eclipse Architecture Council. Jeff is currently interested all aspects of Eclipse components from developing and building bundles to deploying, installing and ultimately running them. Previous lives include being a Senior Technical Staff Member at IBM and work in distributed/parallel OO computing as well as expert systems, meta-level architectures and a PhD at the University of Tokyo.
Paul VanderLei is a partner at Band XI International. He has more than 25 years of software engineering experience with an emphasis on object-oriented design and Agile practices. He is well-known for his innovative, yet straightforward, engineering solutions to complex problems. After earning his M.S. in Computer Science from Arizona State University, he joined Object Technology International, which was later acquired by IBM. While at IBM, Mr. VanderLei gained more than 10 years of experience developing embedded Java applications and user interfaces for the automotive and medical industry as a founding member of the IBM Embedded Java Enablement Team. He has been using OSGi in commercial applications since 2000 and co-authors an upcoming book on the proper construction of Java applications using OSGi. He lives in Grand Rapids, Michigan, with his wife and four children.