Enterprise Integration Zone is brought to you in partnership with:

Nitin has posted 391 posts at DZone. View Full User Profile

The Nuts, Bolts and Springs of Distributed OSGi Applications

12.30.2008
| 17908 views |
  • submit to reddit

Your browser is not able to display this multimedia content.

Using Spring with OSGi is a revolution in the application server environment. Spring gives you flexibility, OSGi gives you dynamicity, but complexity can give you a headache! In this talk, recorded at a recent Spring User Group meeting put on by Skills Matter, David Savage reviews the current technology landscape, explores how you can turn a standalone app in to a resilient, distributed system while taming the complexity and highlights the benefits and gotchas that you should consider when moving to this style of architecture.

Dave launches into his talk with a brief introduction to The Open Services Gateway Initiative (OSGi), which defines an architecture for modular application development. Features like versioning and dynamically updating code at runtime are made possible with its unique class-loading mechanism. OSGi is also an SOA Architecture. An OSGi service is a Java Object Instance in an OSGi framework. Dave informs us that the new OSGi 4.2 specification will include features like transaction support and distributed OSGi for making services of a JVM visible to other JVMs.

Dave then reviews some of the development tools to build OSGi applications. These tools include component frameworks like Spring DM, Guice and iPOJO; build tools like Eclipse PDE, SpringSource Tool Suite, Tyco and Sigil; and debugging tools of Eclipse, dmServer, Newton/Infiniflow and Sigil. Dave argues that debugging tools are currently the weakest type of OSGi development tools.

Finally, he explains design principles and inner structures of Newton and Infiniflow for developing distributed OSGi. Infiniflow is a model-driven, distributed, resilient, scalable OSGi runtime which supports Spring and Spring-DM. Newton is a distributed OSGi framework that describes distributed systems using the emerging SCA standard.

Download the slides here
Published at DZone with permission of its author, Nitin Bharti.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)