Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Expo on Google News

SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
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
Now Playing: XML, In A Crucial Role In Application Server Suites
Now Playing: XML, In A Crucial Role In Application Server Suites

During the last couple of years there have been several developments in the application server environment. Nineteen ninety-nine truly was the "Year of the Application Server." The evolution of the application server market has been influenced by several factors. The term application server almost always refers to Java application servers (Microsoft's MTS and COM+ notwithstanding), i.e., application servers based on the J2EE platform.

The main developments in the Java application server market have been:

  • Stabilization of the J2EE platform
  • Acceptance of the EJB object model
  • Maturing of application server vendor offerings
Application server vendors have expanded their product lines by means of acquisition, innovation and conglomeration. Application servers now address application development and integration issues in enterprise-level e-business applications. In that sense vendors have expanded beyond their realm of runtime execution environments to e-business solution environments.

The terms XML or XML support are invariably found wherever e-business and enterprise applications are mentioned. XML (eXtensible Markup Language), the new technology that's rapidly changing the way Web developers design and build their e-business applications, is an open standard for defining and sharing data on the World Wide Web. XML finds application in several e-business applications such as supply chain management, customer relationship management and content management by enabling proprietary systems to more easily exchange structured information. In the last year XML technology has gained a lot of ground and momentum.

As application server vendors expand their offerings into e-business solution suites, XML plays a crucial part in enabling them to interchange data between the various components of the suite. This article examines current trends in the application server market and the role of XML in application server suites.

Application Server Overview
An application server, by definition, is a computer server that serves applications. More precisely, it serves up application services. Its main purpose is to reduce the workload of applications by taking over the responsibility of mundane activities involved in executing the application and making the application's services available to external modules in a reliable manner.

I'll take a stab at defining an application server as follows:

  • An application server is a computer program that resides on a server in a distributed network whose main function is to provide the business logic for an application program.
  • An application server provides a customizable and flexible execution environment for hosting business logic components, thus providing distributed services and integrity for application execution.
  • An application server provides an execution environment that decouples front-end clients from back-end data access. The execution environment is supported by an infrastructure that enables integration among different applications. Application servers enable this integration by offering software components that can be used to create business logic for an enterprise application. The supporting infrastructure may include architectural frameworks such as messaging systems, transactional managers and database accessors.

Application servers came into existence because of a need in the market for flexible, robust, extensible and standards-based enterprise applications developed at Internet speeds. The Internet is the most powerful phenomenon driving application development and deployment today. Internet applications are shared among multitudes of parties participating in e-business transactions. This results in the need for standard architectures and frameworks that allow application hosting. Application servers provide the execution environment for Internet applications. Vendors in the application server market add value to the equation by taking over the burden of application hosting and offering commodified products that enable organizations to concentrate their resources on building the applications themselves. In some ways the application server market is moving toward the space currently occupied by operating systems. Operating systems are developed and maintained by third-party vendors. Companies use OS services to develop applications in their business niche. Similarly, application server vendors can provide third-party services for use by distributed application developers.

The benefits to an application development vendor of using a third-party application server are:

  • Better product focus
  • Abstraction
  • Indirection
  • Application interoperability
  • Better resource utilization
  • External support and maintenance

Java application servers are a by-product of Java's increasing presence in server-side middleware and the definition of Java Enterprise APIs by Sun Microsystems in collaboration with its industry partners. Java Enterprise APIs define enterprise-level services for server-side deployments. As described earlier, application servers started appearing in the market when the concept of multitiered computing became popular. These servers provided a hosting environment for middleware components. However, before the stabilization of Java Enterprise APIs, the definition of middleware components for a ubiquitous software platform was not uniform across operating systems. Hence, application servers were operation-system specific, each providing middleware services in a proprietary way, making portability and reuse of the components a difficult task. Emergence of the Java Enterprise APIs has enabled definition of a standard architecture for middleware components that comprises business objects. This architecture clearly defines well-formed interfaces between the application server's object containers and the objects or components themselves.

In Java this is made possible by:

  1. A standards object model (EJB) for designing business objects
  2. Uniform APIs for accessing business objects (remote interfaces via RMI)
  3. Container APIs for interacting with vendors' mechanisms to access system resources (EJB home interfaces)
  4. APIs for finding business objects (JNDI)
  5. Standard means of accessing these components through a distributed protocol (Java Servlets, RMI)
  6. Standard APIs for connecting to back-office data sources (JMS/JavaMail, JDBC, JTS)
  7. Secure access and data interchange (Java security API)
These form the components for a basic Java application server, as illustrated in Figure 1.

Developing E-Business Solutions
E-business drives the Internet economy, which is dependent on technology for modeling real-world businesses. Products offered by various vendors now need to provide functionality to realize different components of an e-business application including procurement services, business transaction services, security, order processing and purchases. Most enterprises look to vendors for value-added solutions that can provide these services in the form of out-of-the-box product suites.

Until recently, application server vendors provided the technical infrastructure to build enterprise applications. Their focus has been on the middle tiers of a distributed application. This middle tier can be split into two layers - the presentation layer that deals with getting input from the client tier and the business logic layer that is responsible for processing the data and providing connectivity to back-office systems such as ERP systems and databases. The application server product cycle is following the same trend as the operating systems product cycle did several years ago. Operating systems provided an abstraction on top of system services. Now operating system vendors have been reduced to the few that survived the OS wars. Application servers are the "operating systems" of e-business. However, they're more complex because they span several hardware and software platforms.

The application server market is at a stage where a large part of the paradigm has already solidified. Standard Web and Internet protocols (HTTP/TCP), object models (EJB/COM/CORBA) and distributed communication protocols (RMI/IIOP) have matured and are being accepted globally. In the next few years the application server market will mature to a level similar to that of the OS market today. The market is already looking toward application server vendors to see what type of integration alternatives they offer to fit in with the other building blocks of an e-business application. How do they integrate with content management systems? How do application servers work across different computing platforms? How do they offer commerce services like procurement and buying and selling services? How do they connect to logistics providers? How do application servers talk to legacy systems?

Figure 2 illustrates some of the other layers required to complete an e-business application.

Application servers provide development and execution environments for business applications. This is the core from which they started. However, complete solutions require integration with other environments such as ERP systems. This integration falls under the umbrella of enterprise application integration (EAI). The EAI space has been evolving too. Some vendors have concentrated on solving the EAI issues for integrating legacy applications into the new Internet paradigm. Organizations building e-business solutions prefer buying third-party products to meet time-to-market pressures. They count on application server vendors to integrate with these products. This has led to partnerships and acquisitions that couple app servers with integration servers. The combined product suite is often called an e-business server. E-business servers offer a variety of services including CRM, content management, personalization and trading community services. These suites offer development environments in several facets of e-business development. Figure 3 illustrates these development environments.

Enter XML

    So where can XML be leveraged for e-business application development? The answers are:
  • Wherever data is transported between distributed processes
  • Wherever data is presented to the user
Figure 4 illustrates the areas where XML can be used to support integration between different e-business application servers and between application components.

The current market trend for application server vendors is to claim that they have "XML integration support." What exactly does this mean? XML can be used in several different application development components.

    Integrating with XML means that app servers should support the following:
  • The presentation logic should be able to serve up XML to a variety of clients.
  • Business logic should be able to extract XML, process it internally, package it for external processing and feed back the results to the client.
  • External applications must be able to create and manage dynamic, secure business relationships across the Web using XML as the exchange format.
  • Enterprise business systems should be able to handle XML-based transactions.
  • Application servers should integrate with technologies including DOM, SAX, DTD, XSD, XPointer, XLink, XPath, XSL and XSLT.

One of the first uses of XML in conjunction with J2EE-based application servers was to create deployment descriptor documents for Enterprise JavaBeans. Since XML is an elegant format for expressing data, it's ideal for expressing configuration of the transaction and security properties or server-side Java components.

XML Servers
I've recently seen the terms XML application server, XML-oriented application server, XML integration server and XML B2B server in different places. In fact, if you go to Yahoo's site and look for XML servers, these terms will show up in the results of your search. So there are a couple of questions to be answered before you go any further. What is an XML application server? Frankly, I don't know. Going by a traditional application server definition, an XML application server should be able to serve up XML documents in a robust, secure, scalable environment. Thus, if you add XML processing tools to any standard application server, you should be able to have an XML application server. In Java terms this means that, on the client side, customized Servlets and JSPs should be able to accept, process and generate XML. On the other side, it should be possible to have business objects that extract information from the XML document that comes from the client and package it into some message format using JavaMail or JMS to send it to back-office systems. Other business objects should get XML from back-office sources, process it and serve it up to the client.

However, there's an independent XML server market evolving outside the realm of standard application servers. These XML servers address integration issues with legacy systems. Vendors are entering this application space from different origins. Some of the areas in which XML servers contribute to enterprise applications are:

  • Web catalogs
  • Knowledge management
  • Supply-chain integration
  • EAI, data integration
  • Data aggregation
  • Business workflow
  • Content management and publishing

Nowadays several application server vendors are including an XML server in their product suites. This allows them to extend traditional app server offerings of a robust and secure execution environment to a product suite that enables integration with EIS (Enterprise Information Sources). Examples of some of these product suites are given below. This is not an exhaustive list, but merely some examples of XML application server combos available in the market.

Bluestone Total-e-B2B
Total-e-B2B allows automation of your supply chain, enhancement of logistics operations and extension of e-business relationships with customers, suppliers and business partners. It uses XML technology to enable cross-platform communication, solving logistical and back-end business-to-business challenges. Bluestone offers this XML server in addition to a suite of products - Total-e-B2C for CRM and Total-e-Server, which is Bluestone's Java application server (formerly known as Sapphire/Web).

SilverStream's xCommerce
The xCommerce server is designed specifically to permit business analysts and software engineers to rapidly enable their proprietary systems for XML integration, map the data flows of those systems to other XML-enabled applications, and manage the runtime environment through which integrated applications interoperate. xCommerce enables B2B connections between Internet commerce applications, Web portals and vendor packages. SilverStream's corresponding application server offering is their SliverStream application server, which is J2EE compliant.

These are just two examples of combinations of XML servers and Java application servers. The XML server market itself has several products to offer in the XML server market, such as eXcelon Corp.'s B2B Integration Server, WebMethod's B2B and Microsoft's BizTalk Server.

Conclusion
The application server market is stabilizing with the acceptance of a few distributed object models and distributed platform technologies. The XML server market is rapidly evolving and offering solutions in the e-business space. Alliances between these two markets are taking place today and will continue to do so in the future. Vendors are offering "total e-solutions" that include bundling a Java application server with an XML server into one product suite. The integration between these products is not necessarily tightly coupled or even complete. Other vendors are partnering with complementary products to offer complete e-business solutions. The focus of application server vendors seems to be shifting from product providers to e-business solution providers.

About Ajit Sagar
Ajit Sagar is a principal architect with Infosys Technologies, Ltd., a global consulting and IT services company. Ajit has been working with Java since 1997, and has more than 15 years experience in the IT industry. During this tenure, he's been a programmer, lead architect, director of engineering, and product manager for companies from 15 to 25,000 people in size. Ajit has served as JDJ's J2EE editor, was the founding editor of XML Journal, and has been a frequent speaker at SYS-CON's Web Services Edge series of conferences, JavaOne, and international conference. He has published more than 125 articles.

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

Register | Sign-in

Reader Feedback: Page 1 of 1

Latest Cloud Developer Stories
Swisscom, the Swiss telecom, is going into the cloud business. Its subsidiary Swisscom IT Services AG has signed up with Red Hat as a Certified Cloud Provider and launched a public cloud Infrastructure-as-a-Service (IaaS) cloud targeting enterprise-class customers primarily in ...
Apache Deltacloud, the Red Hat-contributed ReSTful API that abstracts differences between clouds so services on any cloud can be managed – provided of course there’s a driver – has graduated from the Apache Foundation’s incubator and is now a full-fledged Top-Level Project (TLP)....
In a surprise move on Tuesday, January 10, Oracle wheeled out its Big Data Appliance. That’s the one it said in October would be ready sometime in the first half. Only nobody believed it meant early in the first half. Heck, it’s not even clear anybody thought Oracle could make ...
Rackspace Hosting, the service leader in cloud computing, on Thursday announced its acquisition of SharePoint911, an industry leader in SharePoint consulting, training, and "JumpStart" services within SharePoint. The unification of both companies provides capabilities to deliver ...
CloudLinux, Inc., on Thursday released CafeFS 3, a virtualized file system for shared hosters that cages each customer within its own virtualized file system. CageFS becomes part of CloudLinux OS at no additional charge. CloudLinux OS, the only commercially-supported Linux OS m...
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 News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON Featured Whitepapers
ADS BY GOOGLE

Breaking Cloud Computing News

ANN ARBOR, Mich., Feb. 16, 2012 /PRNewswire-USNewswire/ -- In recognition of a $15 million gift t...