A Sip From The Firehose: Monday, March 31, 1997

By: David Intersimone

Abstract: Multi-tier Computing and the Easter Egg Hunt

Monday, March 31, 1997
Santa Cruz, CA

Multi-tier Computing and the Easter Egg Hunt

Spring is in the air. Time for house cleaning, kite flying, baseball, sunny weather, and a new SipFH. Last weekend as I was watching my kids hunt for Easter eggs on top of fences, behind bushes and at the bottom of flower beds of course I was thinking about the new business computing environment that we are a part of and the impact it is having on new ways to architect applications.

1-tier, 2-tier, 3-tier -> Multi-tier

First there we had standalone computers working with local databases. We then moved out to a network file server so that multiple users could get at the same tables using database engines running on their local machines. To handle more and more users and to offload the database engine processing from the client machine, vendors such as IBM, Borland, Oracle, Sybase, Informix, and others created the database server software that ushered in the client/server revolution (also known as 2-tier computing). The user interface (or presentation layer) stayed on the client machine. The database logic (business rules) moved to the server machine.

Soon the database servers were doing so much work handling client requests that in order to scale the application to even more users, the information technology departments started using replication to duplicate the same database on multiple servers. Some database server software also allowed a database to span transparently across multiple back-end servers. When developers were designing applications they would decide where to put some of the application logic, the business rules, in a process called application partitioning.

Logically, what followed next was to split off some of the application processing to an application server that would house the business rules (as objects or remote procedures) and manage user requests for processing. The advent of application servers ushered in the 3-tier (generalized under the term multi-tier) computing revolution. With such a computing infrastructure model, developers can now partition their applications into 4 layers:

    1) The presentation layer
    2) the business layer
    3) the database layer
    4) the deployment layer

The Presentation Layer

In an Easter egg, presentation is everything (okay there may be something inside). The presentation layer contains the user interface for the application. It can also contain any local processing that the application developer chooses to keep on the client machine. In some Internet/Intranet applications this presentation layer is nothing more than a web browser and the local HTML and scripting code in what is referred to as a "thin client." This partitioning also insulates the client application from any changes in the back end database architecture and logic.

The Business Layer

For an Easter egg, the business processing is the recipe for boiling the egg, mixing the colors for the dye and the instructions for coloring the eggs. The business layer contains those application processing elements that can be split from the client application and reused throughout the enterprise. These elements (objects, remote procedures, OLE automation servers) might be common business processing rules for the department and the enterprise. The business layer contains those elements of application processing that can be isolated from changes that might take place in the client presentation layer and the back end database layer. The business layer can also allow developers to put a modern object face to a legacy application system. Having an application server that provides all the infrastructure support, security access and application management is a vital tool for all modern multi-tier development.

Borland's Entera provides a strong set of application server products that give developers an open infrastructure providing a scaleable environment for deploying enterprise-wide applications that integrate multiple GUIs, server platforms, and data sources into a fully distributed computing environment.

The Database Layer

I don't have to tell you where Easter eggs come from do I? If you answered either a chicken or a chocolate factory you are wrong, they come from the grocery store. The back end of any business is the corporate information storage facility. The database layer contains all of the information storage elements for the application or business. This layer contains all the traditional database access, storage, and related processing (stored procedures, triggers, event alerters, etc.) that have been present for years. The database layer insulates changes in the data model from the presentation and business layers. SQL is most often used as the data manipulation, stored procedure, and trigger language for back end databases. I wonder if Java will emerge as a second data manipulation language standard.

The Deployment Layer

The Easter Bunny takes the pre-built eggs and distributes them throughout the yard. Application developers and infrastructure managers used to think of application deployment vehicles such as install disk sets, the CD-ROM, or network install to get application components placed on the appropriate machines. Now it can be done by the users as they request documents from a server. This deployment layer has become a new part of the multi-tier application model with the ubiquitous on in-house networks and outside the firewall Internet connections. If your application architecture requires deploying applications dynamically over the Internet or a corporate Intranet, you can package the presentation layer into an Java applet, JavaBean or ActiveX control and embed it into an HTML document. These controls and applets can also request other application elements to be dynamically downloaded and distributed as required.

Putting It All Together

After the Easter egg hunt was over, it was time for the enjoyment of all the calories and cholesterol. I can't think of a better way to get pumped for the new challenges and joys of multi-tier computing. While you can get started today with existing products and technologies, the goal at Borland is to make multi-tier application development as simple as possible, in some cases as little as 2 clicks of a mouse button. More about this in a later column.

David Intersimone

For more information on multi-tier architectures and the Entera intelligent middleware solution, check out the "Integrating the Best Middleware Technologies" whitepaper (http://www.openenv.com/intbest/intbfrm.htm). For more information about the Entera Product Suite go to www.inprise.com/entera/.

Server Response from: ETNASC03