![]() |
![]() |
Transaction Processing
MOM (Message Oriented Middleware)
DOM (Distributed Object Management Middleware) and Mobile Code
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)
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.)
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.
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. |
![]() |