Internet Systems

Online Strategies for IS Professionals

Intranet Development Tools

By Robert C. Bolt
Internet Systems (A supplement to DBMS), May 1996

Here we go again ... Web development mimics the early days of client/server.


Just when you thought client/server technology was becoming manageable (or unusable, depending on your perspective), the Web splashed down. I hate to be the bearer of bad news, but get ready to start over again. This article is an attempt to thin out the dense fog that is developing around the Internet application development tools market. It focuses on the Intranet, and, specifically, on Web technology as a platform for corporate application development. I have broken the article into five sections. This introduction is the first one. The second and third sections look at the advantages and disadvantages, respectively, of Web technology as an application development platform. The fourth section highlights a sample of the vendors who are attempting to deliver Intranet (or Web) development tools. The fifth section is my insightful wrap-up.

Someone from Sun was recently quoted as saying, "Java is C++, minus minus." If my calculator is functioning correctly, that equals C. HELLOOO!!! Since when do MIS application developers do the bulk of their coding in C, C++, or anything remotely resembling these low-level languages? The aforementioned quote exemplifies the hysteria that is accompanying the arrival of the Web as an application development platform.

If memory serves, much of the hype surrounding the Web smacks of the early days of client/server. Early on, client/server was presented as the panacea to all of the problems facing MIS organizations. It has taken six or seven years for people to realize that client/server technology has both pluses, such as distribution of application logic, and minuses, such as lack of scalability. Let me make a bold prediction. Given the accelerated adoption of the Web, I believe it won't take another six years for people to realize that the Web brings both benefits and problems to the party; it will only take two years. Now, before I spontaneously combust from overexcitement, let's put the Web application development market into perspective.

When considering the past, present, and future of Web technology, it is useful to divide it into at least three phases. The first phase spans the introduction of Web technology in 1992 to the middle of 1995. The highlights of this phase were the development of the original foundation of the Web, the unprecedented hype, and the proliferation of Web sites (predominantly corporate and personal billboards).

The second phase of Web technology begins in the middle of 1995 and runs through the end of 1996. This phase is (will be) characterized by the creation of an Internet/Web strategy by every software company, developing awareness of the potential of Web technology by MIS, and the launching of a variety of Web development tools for both the World Wide Web (WWW) and Corporate Wide Webs (CWW).

The third phase of the Web will kick in toward the end of 1996. By this time, the foundation of Web technology will be solid enough to handle full-tilt, application development efforts. During phase three we will see the proliferation of Web applications and mass migration to the Web platform within MIS.

Why Web Technology?

The Web has exploded practically overnight for two different reasons. One is that technologically, the Web allows us to do things that have previously been expensive and awkward. It replaces the need for Lotus Notes, which is both expensive and awkward, to publish a variety of documents for widespread consumption within a division of a large corporation. The more important reason, however, is that the Web has the potential to touch everyone, including customers outside the bounds of corporate LANs that host traditional client/server applications. Prior to jumping into the Internet arena, I worked in the client/server technology arena for about seven years. My mother didn't have a clue about my activities and still doesn't. Now that I am working in the Internet arena, she has staked a claim as one of my key advisors and I humor her.

The first phase of Web technology, highlighted by the explosion of the World Wide Web, exploits the Web's amazing electronic publishing capabilities. HTML is a long overdue concept. The ability to present a variety of information in various multimedia formats makes HTML a strong contender for the application interface of the future. And when you combine the presentation capabilities with hot links and the elimination of many application distribution problems, you wind up with a platform that MIS professionals can't ignore.

Let me elaborate on the application distribution problem. One of the side effects of client/server technology was the complexity of distributing the client portion of the application. A typical installation might include the appropriate database drivers (Oracle's SQL*Net, for example), the application executable (or runtime), a host of supporting files required by the application development tool vendor, and perhaps a decision-support tool. Each of these "pieces" is typically made up of a number of separate files (particularly DLLs). I witnessed some client/server application implementations in which it took more time to distribute, troubleshoot, stabilize, and maintain the client application than it took to build the application in the first place. The browser component of Web technology can come close to eliminating these problems. Whatever the application needs to run can be distributed at runtime, if it is not already available on the client workstation.

Today's Problems

It is easy to get snowed into thinking that Web technology is completely ready for prime time. Unfortunately, this isn't the case. Vendors are "baking" the technology faster than ever, but there is still a way to go. Examples of the immaturity of Web technology abound. HTML is still in its early stages of definition and doesn't address a wide variety of desirable display formats. In fact, it will tax the creativity of most application developers to develop HTML interfaces that provide good usability for database interaction.

An even more critical enigma facing application developers is the variety of problems associated with the Common Gateway Interface (CGI). CGI is the component of Web technology used to connect to databases and other back-end services. The browser passes data by encoding the data into a URL, which it then sends to the server. The server can then process the data via a script or an executable, which it launches in response to the request. The laundry list of problems associated with CGI includes:

* Lack of state information. Web pages do not stay connected to remote applications, so maintaining connections to a database is problematic.

* Significant overhead. Many users translates into many CGI scripts or executables being launched. Each user's invocation of a server-resident CGI script creates a separate process on the server, and each process requires its own resources. CGI will not scale well beyond relatively small numbers of users.

Another issue I discovered was that most of the tools are currently available only for Unix workstations. This is great news if you are Sun, SGI, or HP. On the other hand, if you are a typical corporate application developer and you have a Windows PC on your desk, you are going to have to wait a while for choices.

What you will find as you look at various Web development tools is that vendors have spent considerable time and energy attempting to fix the early weaknesses of the Web, like the aforementioned state problem. For now, this short-term effort to improve the foundation of the Web platform translates into fairly weak programming environments.

Some of the Early Players

With a little help from the editors, I selected a handful of tools for further exploration. In some cases they overlap, but for the most part their approaches to providing developers with what they need to get Web applications built are varied. I have divided the tools into categories to assist with your mental organization. It is still early enough in the game that comparing any two products is like comparing apples and oranges. For the time being you will just have to decide which type of fruit you prefer.

Following are several types of development tools that are on the market. Java and Visual Basic are languages. ParcPlace-Digitalk's VisualWave, Centura Software's (formerly Gupta) Web Data Publisher, and Bluestone's Sapphire/Web are examples of new products from established vendors. Neuron Data's Web Elements and Speedware's Autobahn are Web-enabled products from established vendors. And two examples of new products from startup companies include dbWeb from Aspect Software Engineering and Spider from Spider Technologies.

Java, JavaScript, and Visual Basic Script

There is probably no better place to start than with Java, despite its not actually being a tool. In fact, the only reason that it is associated with the Web is that Sun threw it out there and it stuck. I am amazed at the number of people who seem to think that Java is a full-blown development environment. Java is a programming language! At the time of this writing, there aren't any available production development environments that actually utilize Java. There is a rudimentary debugger, a rudimentary compiler, and VI or Notepad (for editing the code). If you're thinking that this doesn't sound like a solid platform for building corporate business applications, you're right.

Java stands a good chance of becoming an important part of the Web platform. Probably not because of any particular technological advantages, but, rather, because of the grass roots interest in all things that aren't sent down from Bill Gates. There are a number of companies that have announced plans for Java development environments. The list includes SunSoft, Borland, Symantec, Natural Intelligence, and SourceCraft. Additionally, many other vendors have said they will incorporate support for Java into their existing Web development tools.

Java is a general-purpose, object-oriented, portable development language that can be both interpreted and compiled. Developers can use the language to create standalone software products or objects that can be included in Web applications. Examples of the latter are applets that are displayed by a browser or procedural code that runs on a Web server to implement application logic.

JavaScript has nothing to do with Java. Surprised? This is another one of those cute marketing gimmicks that high-tech vendors love to use on their customers. (Remember Sybase jumping from version 4 to System 10?) JavaScript is the new name for Netscape's LiveScript and, as of this writing, Netscape hasn't quite gotten all of the references to LiveScript out of their Web site (see http://developer.netscape.com/standards/index.shtml). JavaScript differs from Java in that it is designed to be included directly in HTML documents. It is useful for doing things such as client-side data validation on fields in HTML forms.

Visual Basic Script (VBS) is Microsoft's answer to JavaScript. It is a subset of the Visual Basic language and, like JavaScript, is used to perform scripting on the client workstation within the browser environment. It differs in that it is compatible with the language that thousands of developers already use with VB and the Microsoft Office Suite (Visual Basic for Applications). Also like JavaScript, it is stored as ASCII text within HTML pages and then downloaded and compiled by the browser at runtime.

ParcPlace-Digitalk's VisualWave

ParcPlace-Digitalk Inc. (PDI) falls into the "established vendor, new product" category with its Internet development environment strategy. The company has created an interesting marketing slant that separates it from the other vendors in this category. The VisualWave development environment is targeted at what PDI refers to as "live" applications. Live applications, according to PDI, are the next logical step (or leap) in the use of Web technology. They are more than the sum of pages and forms. They also include an understanding of the user and can track and respond to what the user is doing within the application.

PDI's VisualWave provides a broad set of technologies to assist application developers building "live" Web sites. The main components of the VisualWave environment are:

* a graphical development environment that generates the appropriate HTML and CGI scripts required to deploy your Web site

* a session manager to deal with the state problem inherent in Web technology today

* a variety of object-oriented utilities, including browsers, inspectors, a symbolic debugger, and a resource finder

An interesting note about the source of VisualWave is that it was originally developed for use in addressing internal IS problems at PDI. The company then realized that the product had broad applicability across corporate America. VisualWave differs from most other products because it is a new product assembled using a combination of the best components of VisualWorks (PDI's existing OO development environment) and new components built specifically for the Web platform. PDI is able to leverage its internal OO development efforts in providing a new product.

Centura Software Corp.

Formerly known as Gupta Corp., Centura Software has articulated an elegant strategy for moving its clients into the Web era. Setting itself somewhat apart from the other existing client/server tools vendors (Powersoft and Sybase, for example), it is creating a totally new and broad product suite to address the Intranet technology platform.

Centura focused on three goals for its new product line. In its terms, the goals are "scale up," "reach out," and "connect it all." The scale up goal is born out of corporations' experiences with two-tier client/server tools running out of steam on systems targeted at more than 100 users. Reach out focuses specifically on Internet-enabling applications. Finally, connect it all attempts to solve the problems people have with accessing heterogeneous databases and facilitating mobile computing problems.

The Centura product family consists of four major components that attempt to achieve the three aforementioned goals. The first is the cornerstone of the product line and is called Centura Team Developer. It is the actual application development environment with which the corporate developer continuously interacts. Centura Ranger, the second component, is OLE server technology, which provides access to various disparate data sources (DB2, Oracle, and so on) and also delivers a heterogeneous data replication capability designed to elegantly enable mobile computing. These first two components are scheduled to be available by the time you read this article.

The third and fourth components, the Centura Application Server and the Web Data Publisher, are due out in the second half of 1996. The Application Server is a repository for Centura client/server applications and Java applets. An interesting capability that is planned for Team Developer is the ability to generate Java "byte code." This means that you can deploy your application either as applets to be run by any Java capable browser or as a "traditional" client/server application. The Web Data Publisher is a combination of tools, a server-based application, and a repository that together give you the ability to create applications and forms that access database servers.

Bluestone

One interesting aspect of the Web applications tools market is that it is very difficult to get consistent messages from vendors (independent of how interesting their particular tools might be). I discovered an example of this when I was poring over Bluestone's Web site. The site includes an old FAQ (July 1995), which states that internal applications "may be the largest use of Web technology." A more recent white paper (January 1996) on the site contradicts this by stating, "One use (of Web technology), now in early stages of exploration, is to use the Web's capabilities as an avenue for developing and implementing intra-corporate applications."

Bluestone has embraced the Web, in its earliest and most pure form, by building its development tools around standard HTML and CGI scripting. Presumably Bluestone is well aware of the limitations of CGI; however, it did not address them in any of the publicly available information on which I was able to lay my hands. The company's Sapphire/
Web product provides similar HTML form and database column binding to Spider. Bluestone then diverges from Spider by generating CGI scripts in C or C++ to handle the interaction with database servers.

Bluestone's tool is available on various Unix workstation platforms and it has announced plans to support Windows in a future release. Bluestone currently provides direct support for connections to Sybase, Oracle, and Informix.

Neuron's Web Elements

Neuron Data is pursuing a very logical path that leverages their existing development environment. Its strategy is divided into two separate parts. The first part is the combination of a Web browser control and a Web-link navigation utility that Neuron Data is adding to its Data Elements development environment. These two pieces of technology allow you to extend a client/server application so that a user can browse Web pages from within an application. An extended version of the browser control is also available (via an API) so developers can customize the functionality of the browser.

This first part of the strategy elegantly supports the following notion that was communicated to me when I met with some folks from Neuron Data: "The Internet is an information source for the Intranet." By embedding a browser within an existing client/server application, you open a window onto the most incredible database ever imagined.

The second part of Neuron's strategy is to allow developers to extend the functionality of an HTML document by embedding applets written in native Data Elements ObjectScript language. This is conceptually the same as the Java applets idea, but it allows a developer to stick to one language for all applications, whether they are Data Elements-centric or Web-centric. Neuron is focused on the high end of the application development market. They are primarily concerned with business-critical applications that require the core competencies such as scalability and portability.

Speedware's Autobahn

Speedware is an early entrant into the Web applications development tools market. In December 1995, the company shipped what it describes as "the first 4GL designed to create applications for the Web." The product (Autobahn) leverages Speedware's existing Open Application Server (OAS). OAS is an application server that manages connections from front-end applications, provides for application partitioning (via DCE), and provides connectivity to various data sources.

The tools component of the product combines a GUI screen designer and Speedware's 4GL language to let developers build the forms components of a Web application. Speedware is also bundling SoftQuad's HotMetal HTML authoring tool for developers to create the other portions of their application interfaces.

Speedware is addressing the state problem in a fashion similar to most of the other vendors. The Autobahn module is an interface between OAS and your Web server of choice. You can see an interesting demonstration of an application built using Autobahn on Speedware's Web site (www.speedware.com).

Aspect Software Engineering's dbWeb

I found dbWeb to be one of the more compelling products for Web application development. Part of the reason is that it is the only vendor that isn't overdoing the hype. In fact, the company describes the product in terms that map perfectly to what the product can do today. In Aspect's own words: "dbWeb is a high-performance CGI-compliant application implemented as a 32-bit multithreaded Windows NT service. Administrative tools for managing database schema, forms, and data sources are included."

dbWeb is made up of four main components. (See Figure 1.) The first component is a repository, which contains the information that dbWeb needs to generate Web pages in response to database queries. The second component is an administrative tool, which is used to populate and maintain the repository. The third component is the dbWeb service, which manages connections to databases via ODBC. The fourth component is a CGI stub, which opens a pipe to the dbWeb service.

Aspect doesn't pretend that dbWeb is a complete development environment. It simply provides you with tools and technology to speed up the process of connecting your Web application to back-end database servers. dbWeb only support Windows NT servers, so it is not a good fit for many MIS shops.

Spider Technologies' Spider

Spider Technologies has a web-centric application development tool called Spider. I met with the CEO of the company, Zack Rinat, who explained that the company focus is to assist customers in solving specific business problems by applying Web technology and Spider's tools. The product is made up of two modules. An application creation module called Spider Development, and an execution module called Spider Deployment. From a developer tools perspective, Spider has chosen to initially focus on providing a mechanism to simplify the creation of forms and the presentation of result sets (through the Spider Development module). Additionally, they have addressed the scalability and state problems associated with CGI technology.

As the architecture diagram shows (see Figure 2, page 22), Spider is similar to dbWeb. The primary difference is that it is not repository-based and it has a Unix focus. The product is currently available for three different Unix workstation environments: Silicon Graphics, Sun Microsystems, and Hewlett-Packard. It was clear, from my discussion with Rinat, that Spider Technologies is moving quickly to provide a Windows solution.

My Promised Wrap-Up

This has been one of the easiest and, at the same time, one of the toughest articles I have ever written. It was easy because, in the face of a very immature market, there is so much to write about. It was difficult because it is hard to get a fix on what is usable. In the two weeks prior to my deadline, I heard about a new tool announcement or company at least once a day. There simply wasn't enough space to cover the potential breadth of tools or give equal coverage to all of them in a 2500-word article.

One of my more interesting research findings is that all of the tools I examined are only partial solutions to the Web application development problem. If you truly embrace Web technology as an application development platform, you will want to take advantage of many of the different types of objects that are available for inclusion in an application (HTML, images, JavaScript, applets, sounds, and OCXs, for example). Using these objects today requires the use of a number of different tools that are not integrated and many of which are pretty rudimentary.

I have attempted to highlight some of the different strategies that are being pursued by tools vendors. My recommendation is that you experiment with some of the products before you fully commit your development resources to any particular product.


Robert C. Bolt is CEO of NetBuild Inc., a software company specializing in application development tools for Intranets. You can contact Rob via email at robbolt@netbuild.com or http://www.netbuild.com, or by phone at 415-341-1177.


Table of Contents - May 1996 | Home Page
Copyright © 1996 Miller Freeman, Inc. ALL RIGHTS RESERVED
Redistribution without permission is prohibited.
Please send questions or comments about this Web site to mfrank@mfi.com
Updated Thursday, June 20, 1996