eCommerce
entire site Enter your search terms below, or visit our search page Search applications only Enter your search terms below: For the table of contents and hyperlinks to general topics proceed to toc |
Features of Web Application Servers -- These Sight Products Have The Same Label, But Different Features And Abilities FEBRUARY 1999
The term Web application server is being tossed about by marketers looking for an advantage in the hotly contested development market. But you'll find few consistencies among the many products being sold as app servers. Some of these products are just object servers with support for HTTP. Others focus on serving database-enabled dynamic HTML Web pages. Still others are really application development and deployment environments that support a browser as a primary or a secondary client. This roundup of Web application servers will highlight the differences between some of the leading products. I looked at five characteristics: manageability, usability, scalability, fault-tolerance, and support for industry standards. With a Web application server, as with any server component, manageability and usability are important to ensure that deploying and managing content or components doesn't require coding gymnastics. Scalability and fault tolerance are important for sites that plan to grow or that require high availability. Before buying a Web application server, you'll want to figure out the answers to a few questions. What are you trying to accomplish? Will you have 20 users or 20,000? Will your users complain if your server is down for more than a few minutes a week? How many developers will interact with the server? Will your choice require you to use a particular Web server, which might limit future development or deployment choices? How does the vendor's pricing model impact your budget? This review includes Web application servers from Allaire, Apple Computer, Bluestone Software, IBM, NetDynamics, Netscape, Oracle, and Sybase. Other companies, including Forte, SilverStream, and WebLogic, make Web application servers, so you may want to expand your search beyond those in this article. Sapphire/Web 5.1 Sapphire/Web from Bluestone Software is actually several products: a Web application server called Sapphire/Universal Business Server, the Sapphire/Developer integrated development environment, the Sapphire/ Application Manager architecture-management facility, and the Sapphire/Enterprise Deployment Kit. Data sources are natively integrated using Sapphire Integration Modules that plug into Developer and UBS. SIMs provide a consistent application interface for accessing transaction systems such as CICS; object systems like COM, Corba, Enterprise JavaBeans; and databases and data modeling tools. Sapphire/ EDK includes an API to create your own SIM. Sapphire's extensibility using SIMs is exceptional. Although developers don't have to use Sapphire/Developer to use the features in the server products, Developer includes numerous development and deployment shortcuts. Many wizards are included in Developer to generate HTML or Java Web forms based on the structure of your data sources. Developer provides integration with source-code management systems based on Microsoft's SCC source-code API specification, such as Intersolv's PVCS. Once you create an application in Developer, you can deploy it as a Java application, servlet, or bean, or as a C program. UBS manages all Sapphire applications, and provides database connection caching, load balancing, persistent state management, fault tolerance via restorable state features, and session affinity to ensure users are always routed to the same instance of the application server process. Bluestone is the only vendor in this article that bases its price on the number of client requests performed by the application server irrespective of the number of transactions required to fulfill the request. Sapphire/Application Manager monitors all pieces of an application architecture to help with the overall task of managing application servers. It lets developers create reports for tracking application failures and processing bottlenecks. EDK includes a way to automatically locate and link applications to virtually any component. This extensibility ensures you aren't locked into a dead-end object model. WebObjects 4 When Apple Computer bought Next Software last year, it acquired the OpenStep development environment and the WebObjects application server. WebObjects is an application development environment for developing and deploying applications that are run on any Web server. With WebObjects' building tools-including Project Builder for managing a project's elements, WebObjects Builder for creating project pages, and EOModeler for mapping between the database and the application objects-developers create and deploy complete applications using Java, Objective-C, or Apple's interpreted WebScript scripting language. WebObjects Builder creates WebObjects applications, which are communicated to the Web server via a WebObjects adapter. WebObjects adapters come in three flavors: CGI, ISAPI, or NSAPI, depending on the HTTP server you use and the performance you require. WebObjects works with the CVS (a source-available package available on the Internet) and Intersolv PVCS source-code management systems. WebObjects components can be created using Java, Objective-C, or several other scripting languages. The application server can also manage ActiveX and COM components on Windows. Using separately purchased plug-ins, WebObjects can connect to Corba objects. WebObjects supports transactions and connection caching. State management is included, and session affinity is maintained for application objects. WebObjects Monitor, which can be accessed from a browser, helps with application management. It lets you determine where to run instances of WebObjects applications. The monitor also provides statistics on response time for each application, which is useful for determining when to add instances of an application on a server. The load-balancing feature checks the local server for available instances of an application and then looks to other servers for available instances. WebObjects' fault tolerance requires the developer to properly manage the state information. Jaguar CTS 1.1.1 Sybase's Jaguar CTS is an object and transaction server that works with other HTTP servers. Server objects it supports include single-threaded or multithreaded implementations of ActiveX components, C or C++ methods, and Java and JavaBeans (March 16, p. 10A; www. informationweek.com/673/73oljag.htm). Remote object support is implemented using a proxy-components created in ActiveX or Java-and the server object. The proxy communicates information between the HTML page and the remote object. The Jaguar Manager not only lets you manage the server objects, but also easily creates the proxy components for you to embed in your HTML pages or other applications such as PowerBuilder or Java applications. It's an exceptional tool for deploying objects. Jaguar Server provides two other features you'll want for performance and reliability: connection caching and transactions. Connection caching lets the developer define JDBC, ODBC, or native Sybase driver connections to remote database servers and then share those connections via Jaguar among multiple objects running concurrently. Transaction support lets the object control when to commit changes made to the database. Gateways are also provided for accessing legacy data through Jaguar. The Jaguar Server also provides software security. Access to server objects can be limited based on log-on authentication. Currently, Jaguar doesn't support links to other object brokers, but Sybase plans support for Corba 2.0 IDL and IIOP in the next release, expected in a few months. Also expected for that release is support for the Secure Sockets Layer standard, providing data encryption for secure communications. Sybase is partnering with HydraWeb Technologies to provide load-balancing. Oracle Application Server 4.0 Oracle Application Server has a number of interesting features, including application middleware to execute code and an HTTP server. You can also use Microsoft Internet Information Server, Netscape servers, or Apache. Oracle supports code written as components called cartridges as Java objects written to the Corba 2.0 standard (JCorba objects), or to Enterprise JavaBeans. Cartridges are code functions or objects written for a cartridge server, a run-time engine run in OAS. The app server includes cartridge servers for Oracle's PL/SQL, C, Java, Perl, LiveHTML (for Server-Side Includes documents), and VRML. The way this all works is similar to the way NetDynamics provides its C++ and Java services (see p. 24A), except that OAS includes support for many more types of code and also allows inter-cartridge requests. The cartridge architecture supports multithreading: The cartridge can be configured to support multiple instances running on threads within a cartridge server to improve overall performance. Load balancing is provided to distribute cartridge load across multiple OAS systems. The Standard Edition of OAS can be load-balanced for the number of instances of cartridge code or JCorba objects running on each server. Failure detection and correction is provided for every part of the OAS server, but clients will most likely have to resubmit their forms to recover from server failure. The Enterprise Edition of OAS includes an ODBC cartridge server for issuing SQL queries to non-Oracle databases. The PL/SQL cartridge handles Oracle databases. It also includes a transaction service for providing transaction-monitoring and load balancing based on distributing the load for CPU, memory, and swap space currently experienced on each server. The ODBC cartridge will be most useful in conjunction with OAS's intercartridge request handling to support database access for non-SQL cartridges. Session affinity is provided to allow a single client to access the same cartridge instance, so that the instance can maintain state information across multiple client requests. Database connection caching is provided with the PL/SQL and Java cartridge servers as well as the JCorba server. Database transactions, including the new Java Transaction Service, are supported, but maintaining transactions between cartridge requests is not completely implemented, and nested transactions aren't supported. OAS includes Symantec Visual Page for creating Web pages. Oracle's JDeveloper Suite and a still-unnamed tool will let you create cartridges based on Java and PL/SQL, respectively, and these tools will include an OAS developer license. Cold Fusion Application Server 3.1 For less-demanding sites, Allaire's Cold Fusion Application Server provides more features than Microsoft IIS but fewer than the other products in this article. Cold Fusion lets you create dynamic pages in an HTML-like format called the Cold Fusion Markup Language (CFML). The Application Server then compiles the pages into a p-code format for faster handling and delivery, marries these pages with the desired data, and delivers the results to the requesting HTTP server. The HTTP servers supported include Microsoft IIS, Netscape Server, Apache, and O'Reilly WebSite server. The Application Server doesn't provide object-brokering services or transaction-monitoring, load balancing, or fault tolerance, although load balancing and fault tolerance are coming in November. Database connection caching is supported, as is state management. The Application Server supports the ability to share values across pages in an application. From the Application Server, you can access SMTP/POP mail servers to retrieve or send E-mail as part of your Cold Fusion application. Application Server also supports LDAP directory services, which will help with application security. COM objects can be directly called from CFML pages, which provides one way to distribute your application to other servers via Microsoft's Transaction Server and DCOM services. An API is also included to define custom CFML tags that can perform specific actions or interact with other applications. Developing CFML pages can be done through your own text editor or Cold Fusion Studio, a page editor that handles CFML tags, HTML tags, and Java controls. Studio integrates with version-control systems, such as Visual SourceSafe, and includes a very good version-control system, StarBase version 2.0 from StarTeam. The Cold Fusion Administrator is accessed via a Web browser and lets you control the Application Server's parameters and actions. It also lets you schedule HTTP requests and save the results on the local server. Overall, the Administrator was one of the easiest to use, probably because of the limited number of Web application serving features you'll find in Cold Fusion. NetDynamics 4.1 NetDynamics' application server is based on the idea that the best performance comes from distributing its services on many machines. The application server is implemented as a set of Corba objects that can be distributed on any number of heterogeneous machines. NetDynamics can distribute the load from your application across as many machines as you wish, based on how you distribute the NetDynamics services across your network. NetDynamics includes an HTTP server, but you can use any server that supports CGI, ISAPI, or NSAPI. A NetDynamics application is created using the NetDynamics Studio, which supports the creation of applications that comprise HTML, Java, and JavaBeans. Java objects that you embed in your application, created using JDK 1.1.6 only, can run on the application server, on the client, or in some combination. Server-side objects are accessed via client-side proxies, which manage the communications between client and server objects, and provide fault tolerance and rebinding without specific application intervention. Compare this with Microsoft Transaction Server, which requires that client applications manually reattach to server objects when MTS crashes. Studio integrates with source-code management tools, such as Microsoft Visual SourceSafe and Intersolv PVCS, for team development. Integration with third-party enterprise resource planning systems and transaction-monitoring middleware is supported via platform adapter components (PACs), which are services for developing and deploying applications that interact with these types of third-party software. Currently, NetDynamics sells PACs for PeopleSoft and SAP, and offers a PAC development kit for integrating your own objects. Several software vendors offer PACs as well. Administration is provided entirely from the Command Center, which lets you configure how the services will run, and record and analyze statistics for how each is performing. Statistics aren't as in-depth as you'll find with WebObjects. NetDynamics' load balancing tries to ensure the overall network load is distributed equally. With NetDynamics, new requests are routed to a service locator, which evaluates all running services that support the requested server object and routes the request to the least-loaded service. Transaction support is included with connection caching for databases and PACs. Netscape Application Server 2.0 Netscape Application Server is a combination of an application server and some development and management tools. The application server is a combination of three processes that run on each server system: a Java server, a C++ server, and an "executive" server, which performs the services of the application server and incorporates support for transactions, database connection caching, request management, and other features. The Java and C++ servers are run-time engines that convey requests between Java or C++ server applications and the executive, which performs those requests. A plug-in component for the HTTP server routes requests to the application services via CGI, ISAPI, or NSAPI. Multiple copies of each Java and C++ server can be run to improve overall performance and provide a degree of fault tolerance. If a server system crashes, NAS supports the concept of a cluster, in which more than one server provides backup services for the other servers. Within a cluster, state information is passed around so that if one server fails, another can pick up the load without restarting the application. The application server processes are multithreaded and can be configured to support a minimum and maximum number of threads. NAS also supports load balancing within clusters by routing requests to the server system currently running under the lightest load. The Application Builder is included to help you create NAS clients that incorporate C/C++ code, HTML, Java, and JavaBeans. NAS clients communicate with server logic objects by including references to the object's identification number in the HTML page. The AppLogic Developer tool is included to simplify the process of inserting object references into your HTML code, but I still don't like this method of identifying objects in a client application. Application Builder does not provide integrated support for source-code control systems. The Application Server Administrator provides control over the application server processes as well as other features. Clusters, fault tolerance, load balancing, and other performance features are provided from the Administrator. Activity monitoring, security, and application deployment across multiple servers are also provided. The Server Extension Builder development kit provides a way to create Corba interfaces to legacy data or other enterprise applications, such as ERP systems. Netscape also provides extensions for IBM's CICS, IMS, and MQSeries, and BEA Systems' Tuxedo. ERP-specific extensions will be available by year's end. WebSphere 1.0 IBM's WebSphere Application Server is a set of development tools (scheduled to be available later this fall) and the WebSphere Performance Pack, available now for IBM AIX and Sun Solaris; other platforms will be available later. WebSphere Application Server is a Java servlet object server compatible with the Corba 2.0 spec. It supports objects written in Java or Enterprise JavaBeans, and works with Microsoft IIS and Apache, Lotus Domino Go, HTTP, and Netscape servers. Also included is a Connection Manager to provide connection caching to relational databases. The Performance Pack is a combination of three products: Web Traffic Express for caching object requests in environments with high bandwidth demands; eNetwork Dispatch for providing load balancing between application servers; and Transarc's Andrew File System for replicating information to multiple servers in real time. The tools package will be an integrated combination of NetObjects' Fusion and ScriptBuilder and IBM VisualAge for Java. Because much of WebSphere was still in testing, I didn't closely evaluate its technology or implementation. However, if you're looking for a Web object broker based on Corba and Java that provides enterprise scalability, you should consider WebSphere if IBM's time frame for release on your favorite platform meets your needs. Andy Feibus is president of CustomBytes, an application development consulting firm in Atlanta. He can be reached at amf@mindspring.com. --- At A Glance: Sapphire/Web 5.1 Bluestone Software Mount Laurel, N.J. 609-727-4600 www.bluestone.com Price: $25,000 for the starter kit: three developer licenses, Universal Business Server multisystem license supporting up to 2 million interactions per year, Application Manager, training credits, on-site mentoring, and one year of maintenance support and 10 hours phone support Web servers supported: Any HTTP, SHTTP, or SSL server; any Java Virtual Machine supported Component/object models supported: ActiveX and COM; Corba; Java, JavaBeans, Enterprise JavaBeans --- At A Glance: Jaguar CTS 1.1.1 Sybase Emeryville, Calif. 800-879-2273 www.sybase.com Price: Starts at $135 per user plus $700 per Windows NT Server; higher on Unix platforms Web servers supported: Any HTTP or SHTTP server Component/object models supported: ActiveX and COM; Java, JavaBeans; also C/C++ methods --- At A Glance: WebObjects 4 Apple Computer Cupertino, Calif. 800-879-6398 www.apple.com/webobjects Price: - Developer license, $1,495 - Deployment license starts at $7,499 per system Web servers supported: Any HTTP server supporting CGI, ISAPI, or NSAPI Component/object models supported: Java; Objective-C; ActiveX and COM; optional plug-in for Corba support --- At A Glance Cold Fusion Application Server 3.1 Allaire Cambridge, Mass. 888-939-2545 www.allaire.com Price: - $1,295 per server - $395 for Studio Web servers supported: Microsoft Internet Information Server and Personal Web Server, Netscape Enterprise and FastTrack servers, O'Reilly WebSite Pro, Apache; any other CGI-compliant Web server Component/object models supported: ActiveX and COM --- At A Glance Oracle Application Server 4.0 Oracle Redwood Shores, Calif. 800-672-2531 www.oracle.com Price: - $95 per concurrent user - Enterprise Edition, $195 per concurrent user - JDeveloper Suite (includes Oracle Application Server), $2,995 Web servers supported: Microsoft Internet Information Server, Netscape Enterprise and FastTrack servers, Apache Component/object models supported: Corba; Java, JavaBeans, Enterprise JavaBeans --- At A Glance: NetDynamics 4.1 NetDynamics Menlo Park, Calif. 650-462-7600 www.netdynamics.com Price: - Server starts at $15,000 based on active concurrent users - Developer Studio, $895 - PAC modules, $200 per concurrent user - ImPACt Bundle starts at $50,000 and includes PAC SDK, consulting, training, and support for three developers Web servers supported: Any HTTP server supporting ISAPI, NSAPI, or CGI Component/object models supported: Corba; Java, JavaBeans --- At A Glance: Netscape Application Server 2.0 Netscape Communications Mountain View, Calif. 800-784-3348 www.netscape.com Price: - $35,000 per CPU for Unix - $25,000 per CPU for Windows NT - $1,295 per user for Application Builder - $4,995 per user for Extension Builder - $4,995 per CPU for ready-to-use Extensions Web servers supported: Any HTTP server supporting CGI, ISAPI, or NSAPI Component/object models supported: C++; Corba functionality is part of Extension Builder; Java --- At A Glance: WebSphere 1.0 IBM Somers, N.Y. 800-426-4968 www.software.ibm.com/webservers Price: - Performance Pack, $7,500 per system - Application Server, $795 Web servers supported: Lotus Domino Go Web server (included with Application Server), Netscape Enterprise and FastTrack servers, Microsoft Internet Information Server, and Apache Component/object models supported: Corba; Java, JavaBeans, Enterprise JavaBeans |
Applications Servers Tie It All Together Information Builders and Java App Servers Move To OS Features of WWW servers Web-to-Legacy New App Servers Java Specs Web App Server Consolidation Netscape goes Transactions jBusiness focus on Intranet Metaserver goes Virtual |