WebLogic man goes full circle with SpringSource
Second wind for Java application servers
But so far, all these technologies were about development, not run time. That's where Eclipse Equinox comes in. Leveraging the OSGi component model that Eclipse embraced for the IDE, Equinox extends the idea to run time. Like Java, OSGi was conceived for different purposes (Java was for set-top boxes, while OSGi was the framework for provisioning services in the smart, networked home). You could consider both as fraternal twins reunited at adolescence.
Eclipse reincarnated OSGi as the dynamic service bundle, first for its IDE (where developers could swap different vendor plug-ins at will), and more recently as a new run time.
That's where Cooper-Ellis views OSGi as giving Java application servers a second wind. In place of installing the entire Java Enterprise Edition stack, OSGi lets you provision only the features you need at run time. So if you add distributed nodes, you can take the Java Message Service (JMS) plug-in if traffic spikes, hot deploy clustering support, and so on. The advantage is that if you don't need these or other bundles, you could run the server on a very tiny footprint of code, which reduces overhead and potentially makes it blazingly fast.
That was what BEA was trying to do with the micro-Service Architecture (mSA) that it announced roughly 18 months before Oracle swooped in, and how it built WebLogic Event Server, its complex event streaming engine. The product only used Java Enterprise Edition features such as managing availability, security and user management, it dispensed with much of the rest of the stack, and supported development with POJOs, which included support of the Spring framework.
OSGi/Eclipse Equinox is part of the same return to simplicity that originally spawned POJOs and the rebel frameworks. Beyond the Java space, it's the same trend that has driven the popularity of dynamic scripting languages as a faster means to developing the relatively straightforward data-driven apps that are the mainstream of the web, and it's also the driving force behind AJAX (which is easy enough that casual developers, business analysts, or web designers can grow dangerous).
Each of these has catches and limitations but they are evidence that - for the rest of us - the 80/20 rule lives when it comes to developing for the web.
This article originally appeared in onStrategies.
Copyright (c) 2008, onStrategies.com
Tony Baer is the principal with analyst onStrategies. With 15 years in enterprise systems and manufacturing, Tony specialises in application development, data warehousing and business applications, and is the author of several books on Java and .NET.