Site home page
(news and notices)

Get alerts when Linktionary is updated

Book updates and addendums

Get info about the Encyclopedia of Networking and Telecommunicatons, 3rd edition (2001)

Download the electronic version of the Encyclopedia of Networking, 2nd edition (1996). It's free!

Contribute to this site

Electronic licensing info



Distributed Applications

Related Entries    Web Links    New/Updated Information

Search Linktionary (powered by FreeFind)

Note: Many topics at this site are reduced versions of the text in "The Encyclopedia of Networking and Telecommunications." Search results will not be as extensive as a search of the book's CD-ROM.

Distributed applications allow users to interact with other systems on a network. A distributed application is traditionally divided into two parts-the front-end client and the back-end server. This is the client/server model, a model that balances processing loads between client and server. See "Client/Server Computing." Distributed means that clients may interact with many different servers all over the network.

Application/groupware suites like Microsoft Exchange, Novell GroupWise, Lotus Notes/Domino, and Netscape SuiteSpot are designed for distributed networks. Management applications that use SNMP can collect information from remote distributed systems and report it back to management systems.

The Internet and the Web are "massively distributed networks." Web browsers provide a universal client for accessing applications and resources on local and remote systems, either within the organization or outside. The object/component approach breaks up complex programs into smaller components that make it easier to distribute and update applications, especially on the Internet.

Dan Nessett of 3Com points out some important and emerging concepts for object technologies in his excellent paper "Massively Distributed Systems" (see the link on the related entries page). He points out two ways of organizing computations on distributed systems:

  • Move data to the processing, as is done with NFS (Network File System), World Wide Web, FTP, and Gopher.

  • Move processing to the data, as is done with active networking and Java applets (i.e., objects move within the distributed system, and carry both code and data).

Nessett notes that "If the object consists primarily of data, it will closely approximate moving data to the processing. If it consists primarily of code, it will closely approximate moving pro- cessing to the data."

The three-tier model consists of clients on one end and servers on the other, and a middle tier that provides services, business rules, transaction management, and other business logic. The server side may consist of database servers, data marts, and data warehouses. See "Distributed Computer Networks," "Multitiered Architectures" "Distributed Object Computing," and "Object Technologies."

The middleware component is now commonly referred to as an application server. Application servers interface with databases and information systems on the back end and clients, usually Web server clients, on the front end. The servers may perform relatively simple functions, such as building Web pages on-the-fly with data obtained from back-end servers. The servers may also provide more sophisticated functions, such as transaction processing in electronic commerce applications.

Application servers provide a variety of functions. They serve as a central hub for application services, including message routing, object exchange, transaction processing, data transformation, and so on. They also may support CORBA, Microsoft COM/DCOM, and Enterprise JavaBeans. Additional features include the ability to connect with a variety of back-end database services and to load balance the traffic between users and a cluster of servers.

Distributed Application Models

There are several models for creating distributed applications and providing a way for client, server, and components to communicate:

  • RPCs (remote procedure calls)    A session-oriented communication protocol between computers connected across networks. RPCs are generally used for real-time, connection- oriented activities.

  • Messaging services    Messaging services (usually called MOM, or message-oriented middleware) provide a way to exchange information between applications and components using queues and store-and-forward messaging. It is not appropriate for real-time communications. Newer techniques use XML. Microsoft's SOAP (Simple Object Access Protocol) is a message-passing protocol that uses HTTP to carry XML-formatted messages.

  • ORB (object-request brokering)    The best way to describe how ORBs fit into this picture is to describe their use in the Web client/server model. A user running a Web browser contacts a Web site and uses an ORB to locate a necessary component. Once he or she has the component, the client communicates through it to back-end services, and the original Web server is out of the picture.

For more information about middleware in general, see "Distributed Object Computing," and "Middleware and Messaging."

A transaction system protects data from damage that can occur if an in-process transaction fails due to hardware problems or communication problems. A business system may consist of data servers at far-flung locations that must contain the same information. If an inventory is stored over multiple servers to make data more available to local users, changes to the inventory in one location must be immediately posted to other locations. If a glitch occurs during the transaction, all the changes made so far must be backed out. No transaction is complete until it is fully written to all the data servers involved. This topic is covered further under "Transaction Processing."

Copyright (c) 2001 Tom Sheldon and Big Sur Multimedia.
All rights reserved under Pan American and International copyright conventions.