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

Changes in the Application Server Market

11.21.2008
| 26524 views |
  • submit to reddit

There have been a number of significant developments in the enterprise software infrastructure market in the past several years. The application server market in particular, has been impacted and application server architectures are responding to new requirements.  This article takes a look at a new breed of application server that is emerging.

It’s been about ten years since the Java application server emerged in response to the need for serving up dynamic content on the web. During that time, Java has become ubiquitous - estimates are that there are now three to five million Java developers word-wide, and the Java EE standard, now 10 years old, is complete and mature.  The enterprise software industry has become crowded and the players compete aggressively to differentiate their offerings. Although the Java to EE application server market has consolidated considerably, the remaining vendors compete aggressively to differentiate their products through quality of service and extensions to the standard.

While the Java EE standard and the application servers that support that standard have matured, the industry has continued to evolve.  Java developers are beginning to experiment with new programming models including frameworks and dynamic languages. Developers have also started looking for lighter-weight containers that can improve developer productivity.

Service Oriented Architecture (SOA) has also driven a number of new requirements onto the application server, including increased demand for specialized, loosely-couple, course-grained service endpoints, and event driven architectures.

Hardware commoditization has driven demand for horizontally scaled and grid architectures. And finally, data center consolidation has driven demand for virtualization and elastic computing.
All of these trends have had in impact on enterprise software designs, but in particular, the maturation of the Java EE standard, SOA, and data center consolidation have each had a profound effect on application server architectures.   In the following sections we will take a look at how the convergence of these trends has influenced application server architectures and the application server market.

The Maturation of Java EE

As the Java EE standard has evolved and matured, the API  has become increasingly rich and also increasingly complex. The application server vendors all participate in the standards process and they constantly jockey for competitive advantage by promoting standards that will create competitive advantage for their product. As a result, more “stuff” (API’s) keeps getting added to the spec and the standard has become overloaded. The result of that has been that the application servers that implement the standard have become bloated. WebLogic and WebSphere both have in-memory footprints of around one gigabyte!

As a result of the increasing complexity of the Java EE standard and the ever-growing footprint of the Java EE application servers, recently, Java developers have begun looking at alternate programming models and containers. Frameworks such as Spring, Struts and Hibernate have become popular. The Apache servlet container Tomcat, has also become very widely deployed. Tomcat is attractive to developers because it is open source and free, but also because it is lightweight, fast and easy to use.
In response to the demand for lighter-weight containers, Sun has proposed breaking up the Java EE standard into “profiles” Three profiles  are proposed for Java EE 6. Each profile will include a subset of the Java EE technology. For example, the Web Profile is a subset targeted at web application development.Certification will be available at each profile level.

Recently, many of the Java EE vendors have begun to tackle the problem of complexity and footprint. Presumably, they are also preparing for the Java EE 6 profiles. A common approach has been to modularize the code base and to make the server configurable to run only specific containers and services.
However, the challenges in getting from a one-gig monolithic architecture to a modular, configurable architecture are significant. Compounding the problem is the requirement for the servers to preserve backwards compatibility for the installed-base applications. We will take a look at some of the approaches that the various vendors are taking in the following sections.

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.