yourfanat wrote: I am using another tool for Oracle developers - dbForge Studio for Oracle. This IDE has lots of usefull features, among them: oracle designer, code competion and formatter, query builder, debugger, profiler, erxport/import, reports and many others. The latest version supports Oracle 12C. More information here.
Cloud Expo on Google News
Cloud Expo & Virtualization 2009 East
Smarter Business Solutions Through Dynamic Infrastructure
Smarter Insights: How the CIO Becomes a Hero Again
Windows Azure
Why VDI?
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun's Incubation Platform: Helping Startups Serve the Enterprise
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
Next Generation Application Servers
Next Generation Application Servers

The original developers of the World Wide Web had a rather limited vision for their invention, create an application that would allow users to publish and link their documents without regard for the location of the documents or the platforms on which they resided. However, as developers discovered the flexibility and promise of the underlying protocols, the scope of information available to users began to expand beyond static content.

The methods of accessing this information also changed. Previously, information residing in legacy systems and databases was accessed via limited, expensive, and proprietary solutions. As web technology matured, the information could now be provided to users via applications that accessed the back-end datasources and presented the information to client browsers. These first web-based reporting front-ends for legacy databases ultimately grew in functionality and yielded the first application servers.

This article will explore the evolution of the application server from these initial reporting tools to the robust standardized platforms they have become. We will then define the requirements for the next generation of application servers given today's dynamic business environment and the heterogeneity of system architectures.

First Generation Application Servers
The first application servers to appear on the market were innovative products for quickly generating web-based interfaces to legacy data stores. These products either provided fancy user interfaces and streamlined HTML generation or they excelled at back end integration with potentially less emphasis on the presentation of data. However, they all shared the basic functionality of connecting to back end systems, communicating to client browsers, and providing a framework for defining application business logic.

These first efforts addressed the need to provide a rapid development environment for the web tier given that initial in-house efforts by developers were rather complex and hard-to-manage combinations of scripting languages (e.g. perl, tcl) and native executables written in C or C++. The development tools provided with application servers supplied a coherent platform on which to develop and a repeatable process for generating the target applications.

Although the emerging application server market offered some exciting new possibilities, there were still some distinct shortcomings to the technology. The initial offerings were CGI based and therefore did not address the failure recovery and scalability requirements expected of existing enterprise applications. Additionally, and possibly most importantly, the initial offerings did not offer a cohesive, standardized platform for web application development. Each of the vendors offered a proprietary solution that required a fairly advanced developer to learn a new set of skills in order to fully leverage the given solution; the knowledge the user gained was generally not transferable. As a consequence, choosing software for a web-based application was a rather ambitious task of sorting through and evaluating many products from different vendors such as Web Servers, web page templating engines, business component frameworks and databases.

Recognizing the need for a uniform approach to web application development, Sun pulled together a collection of enterprise APIs and created the Java 2 Enterprise Edition (J2EE) platform.

Second Generation Application Servers
The release of J2EE 1.0, in addition to the performance gains achieved with the release of the Hotspot Java Virtual Machine (JVM), spawned the second-generation of application servers. Given Java's growing popularity, most vendors had already moved towards leveraging the Java platform for deployment of their server components. Now they undertook a re-architecting or re-implementation of the core components of the existing application servers to comply with the defined J2EE APIs. With their common support for servlets, Java Server Pages (JSP), and Enterprise Java Beans (EJB), developers were afforded standard component models they could leverage to create relatively portable web based applications.

The development of the J2EE standard also yielded a strong impetus for continued innovation as vendors attempted to differentiate themselves from one another in order to fight the effects of commoditization. Various companies attempted to set themselves apart by providing advanced enterprise features such as load balancing, clustering, and legacy data access. In addition, tailored solutions for customer management, business-to-business integration, and XML support were put forth as significant differentiators.

As application servers grew in acceptance and as more APIs were rolled into the J2EE platform, developers wished to leverage them in increasingly varied deployment environments. Often the incorporation of a new or modified J2EE API meant the disassembly of mature working parts of the server so that a new technology could be integrated into the existing components. Moreover, rapidly evolving requirements for supporting heterogeneous client devices, deployment platforms, and back end data sources further steered vendors to constantly re-tool and adapt the existing application servers. Certain companies recognized the need to create a new, much more adaptable architecture in order to more rapidly and effectively address the customers' needs for rapid support of emerging technologies.

Third Generation Application Servers
The increasing velocity of business and constant emergence of new and exciting technologies created the need for a new generation of application servers. This third generation is designed to support an extensive list of component-based architectures. Today's dynamic web environment led certain vendors to gravitate towards the notion of a services-oriented architecture to provide a cohesive platform for the components that together constitute a J2EE application server.

A services framework hosts a set of independent but cooperating services. Each service remains isolated and exposes only specific declared interfaces to other services. Thus, architects are able to engineer new services quickly by adhering to an explicitly defined interface. In addition, since services are isolated components (with potentially some dependencies on other services) architects can tailor the footprint of the application server to match the business needs mandated by the deployed application or the memory footprint of the deployment platform. For example, an application server instance that has no deployed EJB components can have its EJB container service (and any supporting services) removed, yielding a more streamlined and lightweight platform.

Furthermore, this architecture provides a foundation for not only supporting existing requirements but also dynamically extending the platform to meet specific business needs. Services can be added or removed without disrupting the design or operation of other services. Moreover, all services in the framework share the same support services afforded by the underlying service framework. There is no need to address evolving requirements not directly supported by the J2EE model by integrating some third party application. Rather, the application server itself can be easily extended to support this new facility.

The Web services initiatives currently under way are a prime example of technology that can benefit from this rapid deployment and availability model; as the components that encompass new Web services are created they can be dynamically linked into existing application servers with little effort.

Recognizing the utility of this architecture, many vendors (including Apache, HP, Lutris, IBM, ATG, Sun, and others) have begun an effort to standardize the service API through the Java Community Process (JCP). Java Specification Request (JSR) 111 puts forth the concept of the Java Services Framework. This initiative aims to formalize the service model and standardize the way in which service components are written and deployed. When completed, the Java platform will provide standardized support for service development.

This granular approach to application server assembly, in addition to the JSR standardization effort, yields exciting opportunities for vendors to offer best-of-breed application server components. The breadth and growth rate of the J2EE platform has made it increasingly difficult for any company to effectively keep pace with the requirements made of a fully compliant application server. A service-based approach opens the door for vendors to specialize in a particular J2EE or enterprise technology and offer it as a pluggable service that can be leveraged by a compliant services framework. One can also envision open source projects that produce pluggable enterprise domain services that customers can use in their application server infrastructure.

Thus, the next generation of service oriented application servers appearing on the market today yield a highly secure, reliable, extensible, and maintainable platform. As the set of APIs and technologies that application servers offer continue to evolve, they will define the platform to which developers design, develop, and deploy their business applications. These next generation application servers define a new operating environment - a highly adaptable and configurable environment on which future generations of Web services will reside.

HP Application Server -
Lutris Enhydra -
Apache Avalon Project -
JCP JSR-111 -

About Jon Maron
Jonathan Maron is a Distinguished Engineer with Hewlett-Packard's Middleware Division. He was the lead on HP Bluestone's J2EE 1.2 compatibility effort. He was also principle architect of the Bluestone EJB 1.1 server and is a member of the Javasoft EJB and J2EE Expert Groups. He has published several articles on J2EE-related topics. Jon can be reached at

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

For true distributed computing and distributed infrastructures for IT Systems for intranet/internet, there needs to be evolution of web-serice-brokers that are the backbone of this service oriented app-servers mentioned here. A very generic platform and protocol would allow a new application server to register itself as well as provide services over the internet ... app servers and associated development team would be the recipients of the services. Maybe soap/wsl have already addressed this...if so I would like any more information on that.

Your Feedback
Nishith Bhushan wrote: For true distributed computing and distributed infrastructures for IT Systems for intranet/internet, there needs to be evolution of web-serice-brokers that are the backbone of this service oriented app-servers mentioned here. A very generic platform and protocol would allow a new application server to register itself as well as provide services over the internet ... app servers and associated development team would be the recipients of the services. Maybe soap/wsl have already addressed this...if so I would like any more information on that.
Latest Cloud Developer Stories
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools availabl...
Financial enterprises in New York City, London, Singapore, and other world financial capitals are embracing a new generation of smart, automated FinTech that eliminates many cumbersome, slow, and expensive intermediate processes from their businesses. Accordingly, attendees at th...
Isomorphic Software is the global leader in high-end, web-based business applications. We develop, market, and support the SmartClient & Smart GWT HTML5/Ajax platform, combining the productivity and performance of traditional desktop software with the simplicity and reach of the ...
92% of enterprises are using the public cloud today. As a result, simply being in the cloud is no longer enough to remain competitive. The benefit of reduced costs has normalized while the market forces are demanding more innovation at faster release cycles. Enter Cloud Native! C...
Where many organizations get into trouble, however, is that they try to have a broad and deep knowledge in each of these areas. This is a huge blow to an organization's productivity. By automating or outsourcing some of these pieces, such as databases, infrastructure, and network...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)!

Advertise on this site! Contact advertising(at)! 201 802-3021

SYS-CON Featured Whitepapers
Most Read This Week