Peter has posted 1 posts at DZone. View Full User Profile

Changes in the Application Server Market

11.21.2008
| 26224 views |
  • submit to reddit

The State of the Art in Next-Generation Application Servers

A number of vendors are working on products that incorporate the concepts discussed above. In addition, a number of end-user, enterprise-IT organizations are building their own platforms based on similar architectures.

Prior to the Oracle acquisition, BEA invested significantly in the micro-services architecture (mSA). mSA served as a blue print for componentizing the BEA Platform.  WebLogic Event Server (now Oracle Complex Event Processing, a component of the Oracle SOA Suite) is an excellent example of a micro-kernel architecture that runs entirely on OSGI. Oracle also has substantial grid and virtualization initiatives underway.

IBM is also participating in the OSGI alliance and using OSGI internally. WebSphere 7 runs in OSGI but the server runs as a small number of very large OSGI bundles so the benefits of this modularization are limited. OSGI is not available to the end-user applications.  WebSphere XD, the high end WebSphere offering,  adds “grid-like” features including asymmetric clustering techniques, an in-memory database cache and a highly advanced load balancer.

jBoss has invested in a micro-kernel for a number of years. jBoss implements a proprietary micro-kernel but jBoss also supports OSGI.

The SpringSource dm Server

The recently introduced SpringSource dm Server is a completely module-based Java application server that is designed to run next-generation enterprise Java applications and Spring applications. It is architected from the ground up to be an efficient platform for running Spring applications in a variety of environments including virtualized and elastic environments.

The heart of the dm Server is the SpringSource Dynamic Module Kernel™ (DM-Kernel) technology.  The DM-Kernel provides a lightweight, fast, module-based backbone for the server.  The DM-kernel has a footprint of about 3 megabytes. The server, including embedded Tomcat, has a footprint of about 15 megabytes. It boots in under 10 seconds. It does on-the-fly, dynamic provisioning of services. It runs Tomcat WAR files and Spring applications out of the box. Let’s take a look at why that makes a difference.
At SpringSource, we don’t have a legacy, application server  code base to take forward, but we do have a very large number of Spring-based applications to consider. Our goal is to provide a seamless upgrade path for those applications.  The advantage we have is that Spring is highly portable across a all of the Java EE application servers and Tomcat. That greatly simplifies the problem of bringing applications forward. But the engineers went one step further.

Since the majority of Spring applications run on Tomcat today, dm Server embeds Tomcat and dm Server runs WAR files out of the box. Spring applications and web applications can upgrade from Tomcat to dm Server completely seamlessly.  Although WAR files run unchanged on dm Server,  dm Server also provides the option of running those applications as OSGI bundles so that they can take full advantage of the capabilities of OSGI.

 

In designing dm Server, our goal was to build a container following Spring’s standards of simplicity, flexibility and power. dm Server offers significant benefits to both developers and to the operations team.
For the development team, dm Server provides a flexible and resilient development server that resolves the tricky application dependency problems frequently arise with Java EE application packaging. It also supports repeated incremental deployments without server restart which can shorten the iterative development-test cycle. 

For the operations team, dm Server features seamless application and resource library upgrades, side-by-side version deployment and advanced serviceability features such as application monitoring and analysis from URL throughput to query, cache and transaction statistics. 

The SpringSource dm Server is the foundation of the SpringSource Application Platform. The Platform is a collection of products designed to provide the optimal environment to build, run and manage enterprise Java applications that utilize Spring-based technologies.  In addition to the SpringSource dm Server, the Platform includes SpringSource Enterprise that delivers the software, services, and technical support.

The design center for dm Server is for domains running across a mixed, elastic topology including physical and virtualized servers. Our vision is that Spring applications running on dm Server will be completely scalable and highly efficient running across these environments. When dm Server is deployed in a virtualized environment, the system initially only needs to boot the three-megabyte DM-Kernel. When the payload arrives and has been introspected, the required services are provisioned and started on the fly. Once the processing has been completed, the services are taken down and the resources immediately returned to the pool. Our clustering management architecture is designed from the ground up for this processing environment.

The SpringSource Enterprise Bundle Repository

SpringSource Bundle Repository provides OSGi-ready versions of hundreds of open source enterprise libraries that are commonly used when developing Spring applications for the dm Server. The repository contains jar files (bundles) and library definition (".libd") files. A library defines a collection of bundles that are often used together for some purpose (e.g. the "Spring Framework" library).


Conclusion

The application server market is in transition. The intersection of several trends is putting a squeeze on traditional Java EE application server architectures. On the one hand the maturation of the Java EE standard and the adoption of SOA is driving increasing footprint and complexity. On the other hand, developers are looking for lighter-weight containers that can help increase developer productivity. Virtualization and elastic computing are also driving requirements for lightweight, fast and flexible runtimes.

The Java EE 6 specification will provide profiles in response to these opposing requirements.  Vendors are responding by moving towards more modular and flexible architectures. A new breed of application server is emerging. These application servers are lightweight, fast and flexible. They are frequently based a micro-kernel architecture, they can be configured to run multiple domain-specific services in combination and they are optimized for virtualized and elastic compute environments. 
At SpringSource we are building a next-generation application server that we believe will address the requirements of the changing market. 

Published at DZone with permission of its author, Peter Cooper-Ellis.

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

Comments

Ryan Developer replied on Fri, 2008/11/21 - 9:21am

I enjoyed reading this article, good job!

I noticed mention of WebSphere, WebLogic, Jboss, Tomcat and Spring dM server, but was really surprised to see no mention of of GlassFish V3. GlassFish V3 Prelude was just release and is commercially supported.  It uses OSGi modular architecture, starts very fast, has a low memory footprint, is designed for everything you talked about this article, and will be the reference implementation of Java EE 6.  That's a pretty important (and maybe strategic?) ommission!

Guillaume Jeudy replied on Fri, 2008/11/21 - 9:39am

Nice article!  I'm only a bit disappointed with an article that first announced itself to be an objective analysis of the java app server market and ended up being an advertisement for spring source DM server.

 I have no doubt this new app server will bring an excellent offering I am just disappointed that the analysis didn't go into a comparison feature by feature to see exactly where each java EE server offering stands.

I am also glad to realize that jboss (the app server im using) is really the precursor to the lightweight app server model and has already several years of expertise in a light-weight microkernel + hot deployable modular services architecture.

 To me the main pro with spring DM server is the absence of backward compatibility requirements which probably helped alot in designing a suitable architecture to fulfill all the requirements mentioned in this article.

 

Richard Nicholson replied on Fri, 2008/11/21 - 10:16am

Peter,

Nice article.

 Given the comment (extract below), surprised that you didn't reference the only vendor Service Fabric (and only production distributed OSGi runtime) presently available - which btw - supports Spring / Spring DM - i.e. our (Paremus) Infiniflow Service Fabric - ( see www.paremus.com).

So your prediction is real - and available now.

Cheers

Richard 

"Service Fabrics

Whereas many enterprise applications currently run on fixed clusters of servers, in the future, applications will frequently run across a dynamic, loosely-coupled and elastic configuration of servers. This configuration is sometimes referred to as a service fabric. This concept applies equally to service oriented architectures and next generation compute environments. The fabric is usually heterogeneous. Some or all of the servers included are frequently virtualized. The fabric is managed by a controller that has the ability to discover the state of the servers and can also interact with the virtualization or grid layer to coordinate resource availability....... "

Werner Keil replied on Fri, 2008/11/21 - 4:16pm

I also find it quite decent and educated.

The fact, that despite BEA's componentization and early adoption of both Spring and OSGi their AppServer has to be part or foundation for a completely different Portal by Oracle now (abandoning not only the BEA efforts into Eclipse and Workshop, but also pretty much trashing its Portal) raises many doupts in this area.

 On the other hand, Portal technology as such and even the Portlet standard gets more and more competition from e.g. all the Social Networking front. Which by personalizing or custom styling a community-based Web UI those gain more and more of what Portals used to be. I believe even a Portlet 3.0 might have to arise from this unless Java EE (or Portal technology on top of it) standards may want to become less relevant here, too. Spring of course won't do without Java. And even adding Grails to their portfolio rather strenghtens Java as a whole against other languages. 

Alex(JAlexoid) ... replied on Sat, 2008/11/22 - 7:21am

Great article...

However, there should have been 2 great articles: Changes in the Application Server Market* and Next-Generation Application Server Spring dm Server.

* - I basically skipped the first 2 pages of this article, since it was too acedemic and dead boring for me... since I already know that just too well.

Reza Rahman replied on Sun, 2008/11/23 - 2:00pm

I'm glad someone from SpringSource included a decent discussion of Java EE 6 and other application servers besides the SpringSource application platform, even despite the GlassFish ommission.

Let's hope this is indeed the dawn of a new era in Java EE/application servers.

Cheers,

Reza

James Selvakumar replied on Tue, 2008/11/25 - 8:40pm

It's still pathetic to see people ignoring the importance of Glassfish. In my opinion, Glassfish is the best application server in the market currently with it's modular architecture. It's fast, it's responsive, it's stable and also lightweight (especially when compared to WebSphere and Weblogic).

serena lin replied on Thu, 2009/08/06 - 12:17am

Generally speaking, you have written a good post , as i think. something has new appeared showded this year on new models Nike Air Max 90' nike air max 95' nike air max 2009etc so many editions on market, if you are interested in such perfect outstanding works on Nike , you will get what you needed, the only way to approaching is get the link: http://www.airmaxmall.com  <a href="http://www.airmaxmall.com">Link Text</a>

 

serena lin replied on Thu, 2009/08/06 - 12:19am

thank you for share this nice article, prepared to receive new mirachels on Nike Air Max new versions, i really liked it. andwhat about you?  <a href="http://www.airmaxmall.com">Link Text</a>

Gurkan Erdogdu replied on Fri, 2011/04/22 - 12:34am

Lightweight, small memory footprint and fast startup time. These are the important items for developers and administrators. We have launched Siwpas (http://siwpas.mechsoft.com.tr) from this view of point.

Liezel Jane Jandayan replied on Thu, 2011/08/18 - 8:23pm

Application servers represent a way to implement high availability systems. High-availability software markets bring stringent requirements for maintaining the support and confidence of the overall technical computing market. Application servers offer seamless private and public business process management. They allow companies to maximize e-business opportunities by leveraging existing resources to improve speed-to-market and anticipate IT changes as their business changes.

 

http://yochananberkowitz.com/

Paul Web replied on Tue, 2011/10/11 - 10:36pm

It's obvious that the evolution of architechture will be dominated by the ever-increasing demands of SOA as the trend toward 'cloud' computing is more and more mainstream. Java EE while solid and a well-established protocol sill need major revision if it is to remain competitive, which makes me think that another, newer standard would be more appropriate, developed from the ground up.

Paul - Dedicated Server Hosting UK

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.