Bringing Data to the Web II
In my last column I discussed some of the technical issues you must address if you intend to establish a Web site with interactive access to corporate databases. The sporadic nature of Web traffic requires a solution that is elastic and scalable, since Web traffic may leap from a few users to thousands within seconds.
A single logical transaction can result in multiple database requests. Logging on a user, submitting a query, returning a result set and logging off a user, forces a Web application to make numerous database requests. The overhead of starting up and running thousands of connection requests can bring a database to its knees as it tries to handle all the transient links.
Security requirements for Web applications may be complex, since you may have external users who are business partners or remote users who need to access internal data. Finally, the browser-centric, stateless development model of the Web is different from the traditional client-server model most developers are used to.
A variety of tools and products are available to help solve the problems of Web access to databases. What all these products have in common is a multitier architecture with an engine that sits in between the Web server and a database server. These engines are referred to as application servers, which I believe is a misnomer since not all of them run applications. When you’re looking for an application server, there are four types of products to evaluate: Java IDEs, CORBA ORBs, HTML generators and database connection engines.
The largest category of application server products are Java integrated development environments. They have a strong focus on Java development tools, but are weaker in terms of database connectivity and scalability. Most of these products are moving toward support server-side and client-side Java, including Enterprise JavaBeans. IBM Corp.’s WebSphere, Sun Microsystems’ NetDynamics, Netscape Communications’ Application Server, BEA Systems’ WebLogic and SilverStream Software’s Application Server are examples of integrated Java development environments. If you’ve decided to develop your applications in Java, one of these products should meet your needs.
If you’re more interested in CORBA support, you should look at Inprise Corp., which combines Java with a CORBA runtime environment. If you have heavy CORBA development expertise in-house, this may be the way to go.
One popular product in the HTML generation category is Cold Fusion from Allaire Corp. This tool is an HTML IDE that that generates Web pages that use a proprietary markup language similar to HTML, but requires the Cold Fusion runtime environment to work properly.
WebXi Inc. focuses on database connectivity and allows developers to create Web pages using HTML, Java or Active Server Pages. I-Kinetics is another company in this category.
No matter which development approach or tool makes the most sense for your environment, there are several features that must be included. First, the system must be able to scale up to support the maximum number of simultaneous Web site users and database requests you expect. This number may grow into the tens of thousands for a popular Web site. Second, the product should have a mechanism for load balancing and connection pooling, to improve the scalability and reduce the load on the DBMS. Third, make sure there is a solid management tool to help with deployment, configuration, security and performance monitoring. Fourth, look for an open, non-proprietary solution. There’s nothing worse than selecting a vendor’s product for a mission-critical application, only to discover later that the vendor has gone out of business and that you can’t easily convert to another environment. Finally, you need to assess your data connectivity requirements. For most modern environments, ODBC or a native relational DBMS driver are sufficient. For legacy environments with non-relational databases, such as Adabas, IMS, or VSAM files, you will probably need to buy or build some specialized middleware connectivity software. --Robert Craig is vice president of marketing at WebXi Inc. (Burlington, Mass.), and a former director at the Hurwitz Group Inc. Contact him at rscraig@Webxi.com.