A few years ago, most governments shrugged at the fact that within a department or agency there might be a mainframe application, a mini-computer application and numerous PC LANs. But today's mantra is: integrate and distribute.
Rather than continue to run separate systems, often containing redundant data, agencies should integrate so that information can be distributed for greater efficiency and productivity. The problem for government is developing a distributed computing application that works. One option is to replace a mainframe application with client/server. But despite its lower hardware and software costs and faster development environment, client/ server can be difficult to achieve, thanks to its immature management tools and higher system administration costs. Another option is to keep the mainframe and open up access to its data. According to a report released by Datapro Information Services Group Inc., more than 70 percent of companies with client/server applications continue to access legacy systems. Nearly 20 percent incorporate the older system in new client/server environments.
Making these hybrid systems possible is something called middleware. Lacking the sex appeal and glamour of database systems and application development tools, middleware is actually the unsung hero of distributed computing. "It's the glue that coordinates distributed computing," said Richard Schreiber, president of ATB Associates, a firm specializing in middleware technologies. "It's the stuff of interoperability."
In a report on the middleware industry, Ovum, a London-based consulting firm, called middleware the key to building successful client/server systems. The market, worth $1 billion in 1994, is expected to grow to $3 billion by 2000, according to Ovum.
Because there are different kinds of middleware products for different kinds of distributed applications, it's hard to come up with a clean and simple definition. Mark Farlan, product manager for StarQuest Software Inc., defines middleware as an enabling technology. "When middleware is incorporated into something, making the application bigger than it once was, it enables the user to do something they couldn't do before," he said. Farlan added that middleware is not
In fact, one of middleware's features is its ability to hide the complexity of hard-to-configure distributed applications. Middleware sits between the operating system and the applications, providing developers with a single interface to which applications can be written. The Ovum report stated that middleware allows computer users to cope in a world of heterogeneous systems, because it helps to insulate users from complexity and change, and cuts down on maintenance.
Some of the base services middleware perform include communications, scheduling, data access and connectivity. For example, most middleware should provide support for common communications protocols, such as Novell's IPX, IBM's SNA and TCP/IP. It should also provide connectivity between desktop, client computers and the database management system residing on the server or, in the case of hybrid systems, the mainframe.
DIFFERENT GLUES
Just as there are different types of glues to bind together different substances, there are also different types of middleware for different applications. The largest category is database middleware, which hides the incompatibility of data on different platforms, networks and programming languages by translating requests from one database to another. Message-oriented middleware provides a range of functions for message delivery between applications.
The smallest segment is object-oriented middleware, which helps developers write applications that ask for information without worrying about the hardware or operating system. Designed to reduce the difference between computing systems, object-oriented remains on the leading edge of middleware technology, according to Farlan.
Middleware vendors range from the familiar, such as IBM, Microsoft, Digital Equipment Corp., Hewlett-Packard and Sun Microsystems, to lesser known firms, such as Covia Technologies, NetWise, NobleNet, Cornerstone Software, PeerLogic and StarQuest Inc. The products they make are designed to reduce the technical risk of client/server computing, according to Farlan. As for cost, middleware tends to be at the low end for client/server. In fact, elements of middleware are evolving into components of operating systems, making their costs lower over time. Eventually, middleware may disappear into the operating system altogether or be given away, according to Schreiber. But that doesn't mean working with middleware is always cheap. "The more distributed the system, the more complex the system becomes," warned Schreiber. "That, in turn, requires more choices in terms of middleware." And the wrong choice can cost.
MIDDLE LEGACY
Right now, most governments will find they need middleware for data access. Often that means distributing information from IBM's DB2 database, which makes up roughly 70 percent of the relational databases in use today, according to IDC, the market research firm. Typically an agency or department wants to give its users of Windows applications access to the DB2 data that resides on a mainframe. That means connecting PC users with IBM databases via IBM's Systems Network Architecture (SNA), a set of protocols for interconnecting IBM systems.
An indirect approach is through terminal emulation or file transfer. Both methods allow users to see and update data, but terminal emulation doesn't allow users to pull data into their desktop Windows applications and file transfer can consume network bandwidth and mainframe CPU cycles. Other, more esoteric approaches, such as program-to-program and screen scraping, also have drawbacks.
But data access middleware, such as StarSQL from StarQuest, provides users with direct access to DB2 databases without the drawbacks of terminal emulation and file transfer. StarSQL allows users to pull data, record-by-record, directly from the DB2 database into any Windows software using Microsoft's Open Database Connectivity (ODBC) standard.
WISCONSIN HEALTH AND FAMILY SERVICES
A recent convert to data access middleware is the Wisconsin Department of Health and Family Services. One of the many tasks performed by the agency is to help find families for children in need of adoption. For years, the department struggled with ways to share information so that children could be matched and placed with the right families as quickly as possible. Making the task difficult was finding homes for children with special needs, which requires additional work. With nine regional offices, each maintaining separate paper databases, the department found it was taking too much time to get the job done.
In the early 1990s, the department began using its mainframe linked to 43 servers and PC LANs over a wide area network to distribute information to its caseworkers. At first, employees used terminal emulation software to access the database, but this meant exiting their Windows software every time they needed to download any data. The entire process was slow, cumbersome and hard to maintain, according to Tom Seeliger, the department's network manager.
One solution called for building a complete client/server system from the ground up, "but we needed a cheap solution," said Seeliger, so the department opted for middleware. In 1995, the department, after rejecting several other more expensive products, began installing StarSQL, giving workers direct access to the data through their Windows software. The middleware translates calls from PC software into requests that the DB2 database can understand. This enables caseworkers to pull family profiles and other kinds of data into their own spreadsheets or PC databases in realtime. The application uses Netware and NT servers at the headquarters and NT workstations at the regional offices that dial into the network using modems. "We're now able to access DB2 data easily and quickly at a very cheap cost," explained Seeliger.
With 50 caseworkers currently using StarSQL, Seeliger estimated the middleware has cost $100 per user. More important than cost, however, is the fact that since switching to middleware last year, the department has been able to place nearly 300 children with families.
CAREFUL EVALUATION
Whenever software is used to "glue" other software together, there are bound to be some limitations. Middleware works best when users take a highly disciplined approach to solving their business needs. In other words, they should carefully evaluate the applications, hardware and software they plan to use before deciding what middleware is needed.
"A simplified environment with a clear strategy for applications and databases is a far better basis to work on than one of chaotic accumulation," cautions the Ovum report. Even with the best planning, middleware still can't solve every problem. A lack of standards is one issue that has muted the overall success of middleware.
Other problems can crop up. The Wisconsin Department of Health and Family Services is trying to smooth out problems with password synchronization. Right now, users have to log into a number of resources on the Novell network, the NT network, the host system and, in some cases, the electronic mail system as they access the database. "Users don't like that," said Seeliger. "It's a painful problem for us." However, he added, the problem is universal with middleware and network operating systems.
Despite its drawbacks, middleware stands out as an increasingly important piece of software, even if it's hard to define. State and local governments are coming to grips with the need to distribute information to those who need it as quickly as possible. The days are gone when information could be passed from one government department to another in days or even weeks. With middleware, reaching the goal of distributed systems becomes a little easier. As Farlan pointed out, governments no longer have to choose between 1970s information architecture or spending lots of money for an entirely new system. "With middleware you can merge the 1990s with older technology."
*