Distributed Computing Applications and Infrastructure (IS 206)
Fall 1998

[Group E Home] | [IS206 Home] [Milestone 5 Home]

Applicability of Middleware

Transaction Processing
MOM (Message Oriented Middleware)
DOM (Distributed Object Management Middleware) and Mobile Code


Transaction Processing

GWD utilizes various databases. To simplify the development of the application, particularly the addition of new modules, coordination of resources should be dealt with separately from the application itself. Considering the nature of the application and that multiple users are allowed to access the same resource at the same time (e.g. through collaborative features), it is reasonable to integrate transaction processing into GWD to avoid conflicts between multiple transactions and to ensure consistency resources' states. The adoption of transaction processing architecture may also contribute to a reduction in development costs because it simplifies development.

Example:
GWD allows multiple users to work on the same HTML document at the same time. Consider the process of opening a document as a transaction which consists of the following internal steps:

  1. Check the User-Doc Information to determine if others are editing the document
  2. Record the current user and the document name in User-Doc Information
  3. Determine if the page adheres to the recommended template for that page (if specified)
  4. Retrieve annotations for this page from the Annotation Database
  5. Open the document and linked annotations as well as give template consistency status
In processing this transaction, there may be problems such as:


1)
A
wants to open an HTML document called product.html. This transaction requires access to several resources: the HTML Document database, the User-Doc Information database, the Annotation database and the Template database, as described above. When GWD's Collaboration module receives A's request, it then joins the transaction to the Transaction Manager. The Transaction Manager coordinates the usage of resources by communicating with the resource managers (in this example, the database management system).

Now suppose that the system crashes after recording the checking out of information and A cannot open the file. In this case, the information in the User-Doc Information Database must be corrected in order to be consistent with the actual state (i.e. A has not actually checked out product.html). The Transaction Manager resolves this inconsistency by rolling the transaction back to its starting state.

2)
A and B are trying to access the same HTML document, product.html, at the same time. When GWD's Collaboration module receives the requests from A and B, it initiates a join of the transaction to the Transaction Manager. The Transaction Manager deals with the two concurrent transactions as if they were sequential requests. By isolating transaction A from B, conflicts resulting from accessing the same resource can be avoided. Therefore, it prevents both A and B from being simultaneously notified, incorrectly, that product.html is not currently checked out. (If A is treated first by Transaction Manager, B is notified that product.html is currently checked out by A.)

top


MOM (Message Oriented Middleware)

MOM provides deferred communication between a client and server. Clients can retrieve messages from multiple servers at any time in any order thanks to MOM's multiplexing and queuing capabilities. GWD uses deferred messaging in many features (e.g. Link Management, Version Control, Template Management; see features for details). The development costs for GWD can be decreased if MOM, which is available in the market, is used.

Example:
As a new page is added or an existing page is modified, GWD collects information about its contents in order to suggest related links to the page's author based on the content (see Content-Based Link Suggestion).

Information about the new page is passed to GWD's Site Management Module. The message about the new page does not need to be received immediately by the module. Instead, MOM can receive the message and the module can retrieve it at any time. Not only deferred retrieval, but also the retrieval of messages by priority, can be realized by using MOM. The Site Management Module can retrieve messages which are queued in MOM in any order to process the content-analysis tasks efficiently.

top


DOM (Distributed Object Management Middleware) and
Mobile Code

By applying DOM and using RMI (Remote Method Invocation), interoperability is achieved regardless of platform and language.

DOM makes a distributed application more like a centralized application, as the itneraction among objects is similar whether objects are distributed or reside on the same host.

GWD offers interoperability across heterogeneous platforms by adopting a web browser as its interface.

As long as a user connects to the Internet with a web browser and has proper authorization, they can access GWD from anywhere on any platform.

Mobile code is also handled by the browser. Java applets and JavaScript embedded in HTML documents are executable in the browser and can be distributed over the network.

The web browser, which provides the foundation for the application's interoperability, is exploited thoroughly by GWD.

Considering the ubiquitous presence of web browsers today, their use is the most effective way (in terms of both cost and performance) to achieve interoperability for this application.

top

[Milestone 5 Home]


last updated 11/24/98