New wave

Related Links

Application servers

Application servers

What are they?

Enterprise application servers are software tools that wrap up programs that process enterprise data, sitting between users' Web browsers, other software and hardware clients and enterprise databases, performing transactions and getting resulting information to where it is needed. They also can be used as an integration platform between older systems and other enterprise applications.

How do they work?

Most application servers are based on either Sun Microsystems Inc.'s Java Enterprise Edition or Microsoft Corp.'s .NET software framework. These software architectures define how applications can interact with databases, with each other, and with other applications over a network using remote procedure calls like CORBA and Web services.

What are Web services?

Web services are interfaces to application server-based programs that use HTTP or other network transports to carry requests for information or submitted data to an application server and result sets back to the client, usually formatted as an Extensible Markup Language document. Application servers can use Web services to support service-oriented architectures.

What do you need to know to build programs that run on application servers?

For the most part, application servers require programs written in one of two sets of programming languages: some version of Java Enterprise Edition, or Microsoft's .NET languages (C# and Visual Basic .NET). But increasingly, there are other options for wiring together components written in these languages. Workflow and rules-based languages like the XML Processing Description Language and the Drools Rules Language, and 'service orchestration' languages that tie together Web services such as Business Process Execution Language for Web Services and Java BPEL, allow business analysts and other nonprogrammers to create 'programs' that tie together application server components across multiple servers. And, increasingly, 'dynamic' programming languages like PHP, Groovy, Python and Ruby are being adapted to build application server programs or integrate them with browser-based applications.

How much do they cost?

Open-source application servers like JBoss, Geronimo and JOnAS are free, as are some 'community edition' or 'platform edition' versions of commercial application servers. Others range from a few hundred dollars per server CPU to tens of thousands of dollars per server CPU.

What's next?

Application servers are getting easier to use, and with the increased use of rules and scripting languages, they'll continue to become easier to work with.
Interoperability between different vendors' servers will continue to get better through adoption and evolution of Web services and SOA standards. And open-source application servers based on open standards will push vendors toward delivering better support services as a source of revenue instead of traditional software licensing schemes.

Thanks to open standards, the market for application servers is a lot friendlier than it used to be

General-purpose application servers are the building blocks that make the current preferred paradigm for enterprise application development possible'connecting a Web browser-based client with enterprise databases and other business logic on the back end.

Most of the major packaged enterprise applications deployed today, from enterprise resource planning to human resource management, are built on the backs of application servers.

But despite the success of application server technology (and Java app servers in particular), they have suffered from a steep learning curve for developers and have come with management and interoperability problems.

Variations in the versions of standards supported by application server vendors have made it more difficult to easily move software built on one platform to another.

And the structural requirements for building applications often meant that developers spent nearly as much time setting up the framework for an application as they did writing code that actually did something.

Some of that has changed. Thanks to a new wave of open standards and the continuing pressure from customers and the open-source community, today's application server market is a much friendlier place than it was a few years ago.

Picket fences

Where there were once solid walls hemming developers into a single set of products, the barriers between many application server vendors' products are starting to seem more like picket fences.

There's better interoperability between different vendors' wares because of standards like the WS-* Web services specifications. And it's getting easier to build and deploy applications on many application servers because of new and improved Java Enterprise Edition standards.

On top of that, the increasing interest in dynamic programming languages for Web applications'such as PHP, Python and Ruby'is driving app server vendors to open the doors to more ways to do development.

Another major factor in the continuing evolution of app servers is the emergence of the service-oriented architecture and the demand for app servers to provide tools that allow people other than developers to assemble applications from Web services and other bits of application logic to create workflows and business processes.

Focal point

As application servers provide a route for developers to bring legacy systems into the world of Web services and SOA, they are increasingly becoming the focal point of business process management and agency integration efforts.

'Where the rubber hits the road [for application servers] now is major initiatives and trends around SOA,' said Drew Ladner, general manager of the government group for JBoss of Atlanta, a division of Red Hat.

'Everybody's talking SOA; the government is excited about it because it's going to help them do more with less, take advantage of existing services, and data that may be out there and take advantage of existing code,' Ladner said.

Service-oriented architectures also offer the opportunity for agencies to use the investment in business process modeling driven by enterprise architecture requirements to actually drive some of the business logic of applications.

New possibilities

Increasingly, model-driven development tools, rules languages like JBoss' Drools Rules Language and implementations of the Business Process Execution Language for Web Services, are making it possible for business analysts to assemble core enterprise services into virtual workflows, or even long-running processes that perform queries and transactions across multiple organizations.

Oracle Corp.'s Fusion middleware environment, for example, includes an ESB orchestration engine that can assemble a number of processes, 'including human interaction'in other words, workflow,' said Ashish Mohindroo, senior product director at Oracle.

'It even allows you to monitor processes in real time and improve them based on their performance,' he added.

Another way in which Web services and SOA components are changing the way developers look at application servers is the way they can be turned into 'Web 2.0'-style applications.

While application servers were originally intended to separate the business logic of enterprise applications, technologies like AJAX dynamic web pages are making it much easier for developers to build interactive Web applications based on Web services and other server business logic.

But there's just one problem with SOA today. 'The only thing we know with certainty about SOA is that [the standards are] going to change,' Ladner said.

Managing the cost of dealing with the rapid rate of change in those standards is one of the reasons why open-source platforms are becoming increasingly popular.

Increasingly, the wide availability of open-source application servers, such JBoss, the Apache Software Foundation's Tomcat and Geronimo, and ObjectWeb's JOnAS and Enhydra projects, has made it easier for organizations to experiment with and deploy application server technologies without making a major investment in software licenses and extend those platforms to meet their own needs.

Alphabet soup

JBoss, in particular, has emerged as a challenger to even the leading commercially licensed application server vendors, with its professional (paid) support and wide acceptance by major technology vendors (like Hewlett Packard). And it is among the first to implement new approaches to app server development that are making it easier to build and deploy software for BPM, SOA and the ever-growing alphabet soup of other architectures and standards.

In just a year of officially having a government presence, JBoss' application server has seen significant adoption in DOD and civilian agencies, according to Ladner.
Prominent examples are the Navy's Sea Warrior Portal (Phase 2 of the Navy Knowledge Online portal) and the Army Knowledge Online portal, both which run on top of JBoss' application server.

The popularity of open-source application servers for prototyping applications has led most of the major commercial app server vendors to offer free downloadable 'community' or 'developer' versions of their products. IBM offers a version of WebSphere built on Apache's Geronimo and Tomcat, among other open-source components.

GlassFish

Oracle, BEA Systems Inc. of San Jose, Calif., and Sun Microsystems Inc. all offer free versions of their current application servers. Sun has open-sourced the latest version of its Java System Application Server (Version 9) as part of a project code-named 'GlassFish.' Oracle has also donated its TopLink persistence code for Java EE to the GlassFish project.

But open-source application servers' popularity isn't all based on cost of acquisition. Part of the attraction of open standards in the app server space is that they help eliminate what former Sun CEO Scott McNealy called 'the cost of exit'.

'We help put [government agencies] back in charge of their procurement,' Ladner said. 'We don't lock them in with proprietary technical extensions. Once an agency has spent millions of dollars, it's very difficult to, even if it makes good business sense, it doesn't play well in the agency and it's not going to play well on Capitol Hill. So helping agencies avoid proprietary lock-in is a huge driver of adoption of open source in government.'

As avoiding that sort of lock-in becomes ingrained in procurement policy'as it has at DOD'open-source application servers only will become more attractive.

Because they can be tested and adopted without a traditional procurement cycle, and vendors can be brought in only when support is needed, such open-source solutions can help agencies be more innovative and react more quickly to requirements.

And that's something that proprietary vendors will have a hard time overcoming by just giving away free developer versions of their own products.

S. Michael Gallagher is an independent technology consultant based in Baltimore.

inside gcn

  • Global Precipitation Measurement of Florence

    USDA geotargets the press

Reader Comments

Please post your comments here. Comments are moderated, so they may not appear immediately after submitting. We will not post comments that we consider abusive or off-topic.

Please type the letters/numbers you see above

More from 1105 Public Sector Media Group