Modularity is an important aspect of large Java systems. Build scripts and projects are often split up into modules in order to improve the build, but this is rarely taken into account at runtime. This third part of the Modular Java series discusses dynamic modularity, how a bundle's classes are resolved, how they can come and go, and how they can communicate with each other.
Modularity is an important aspect of large Java systems. Build scripts and projects are often split up into modules in order to improve the build, but this is rarely taken into account at runtime. This second part of the Modular Java series discusses static modularity, the creation of bundles, how to install them into an OSGi engine and how to set up (versioned) dependencies between bundles.
Over the last few years, modularity for Java has been an active discussion topic. From the (now defunct) JSR 277 to the recognition of JSR 291 and the ongoing JSR 294, modularity is seen as a necessary step in Java's evolution. Even future JVM-based languages like Scala are considering modularity. So, what does modularity mean, and why should you care?
This article presents one developer's approach to dealing with the "fiendishly hard" OSGi issue of service dynamics. The basic problem is described and two different solutions are proposed. 2
In a new article, Eric Newcomer writes about the current status of distributed OSGi and explains the reasons for standardizing it in the first place. 3
Java module systems have received lots of attention. In this article Lukas Krecan gives a round-up of the current solutions & presents his concern on solutions like project Project Jigsaw & JSR-294. 9
In this article, Srini Penchikala discusses Domain Driven Design from a practical stand-point. The article looks at architectural guidelines and best practices that can be used in a DDD project. 53
Eric Newcomer, co-chair of the OSGi Enterprise work group, talks about the evolution of OSGi and it's relationship to SOA and ESB. 7
An update from the Spring team on Spring 2's delay to late Sept to improve JMS, JPA, and integrate with OSGi. 5