3. TP Monitors

3.1. Transaction Processing Monitors

3.1.1. Definition

TP monitors manage processes and coordinate programs by breaking complex applications into pieces of code called transactions.

3.1.2. Monitoring

A transaction can be managed from its point of origin across one or more servers and back to the originating client.

3.1.3. Transaction model defines

  • Transaction's start.

  • Transaction's end.

  • Appropriate units of recovery (in case of failure).

3.2. Large systems

3.2.1. TPs in systems with large number of clients

  • Manage Transactions.

  • Route Transactions across systems.

  • load-balance execution

  • Restart then after failure.

Audio in Portuguese

3.3. Nested Transactions

Figure 24.2. Nested Transactions

Nested Transactions

3.3.1. Main points

Good points:

  • TP monitors help the operating system and servers to deal with large numbers of clients.

  • TP monitors can cooperate with other TP monitors in federated arrangements.

  • TP monitors can manage process failures across systems.

Bad points:

  • TP monitors are overkill in single-server, single-vendor applications.

  • TP monitors add unnecessary complexity in small systems.

Audio in Portuguese

3.4. Groupware

Definition:

Technologies to support collaborative work and information dissemination.

Foundation technologies:

  • Multimedia documents

  • Word Wide Web

  • E-mail

  • Conferencing

  • Lotus Notes

Work flow model:

Data passes from one program to the next in client/server environment, simulating real-world collaborative activity.

Goals:

  • To bring the information to the people and programs who can act on it.

  • To coordinate existing software processes.

  • To track processes to make sure the work gets done.

Example Lotus-Notes:

  • A reliable, scalable and secure distributed document database. The database-centric model gives users the ability to assemble, share, and manage the rich variety of documents vital to conducting business.

  • An integrated messaging system. Groupware users must be able to take advantage of a messaging infrastructure to send and receive electronic mail and move documents through a workflow process.

  • A rich application development environment. Developers must be able to rapidly build portable and scalable strategic applications which span document-oriented and structured database information

Audio in Portuguese

3.5. Distributed Objects

Definition:

Distributed objects are the middleware that establishes client-server relationships between objects. A client can transparently invoke a method on a server object, which can be on the same machine or across a network.

3.5.1. ORB - Object Request Broker

Function:

The ORB intercepts requests to objects, finds an object that can implement this request, passes it the parameters, invokes its method, and returns the results of the request.

Advantages:
  • The client does not have to be aware of where the object is located, its programming language, its operating system, or any other system aspects that are not part of an object's interface.

  • The ORB provides interoperability between applications on different machines in heterogeneous distributed environments and seamlessly interconnects multiple object systems

Request sent through a ORB:

Figure 24.3. Request Through ORB

Request Through ORB

Audio in Portuguese

3.5.2. CORBA

Definition:

The Common Object Request Broker Architecture (CORBA) is a standard ORB architecture defined by the Object Management Group (An international consortium to develop ORB technology).

3.5.3. ORG Interfaces

Structure of ORB Interfaces:

Figure 24.4. ORB Interfaces

ORB Interfaces

The client side:

OMG IDL stub

Stubs generated from an IDL specification depending on the interface of the target object. They make calls on the rest of the ORB .

Dynamic Invocation interface

Interface independent of the target object's interface. It allows the dynamic construction of object invocations.

ORB Interface

The interface that goes directly to the ORB which is the same for all ORBs and does not depend on the object's interface or object adapter.

Audio in Portuguese

The server side (or the Object Implementation):

IDL Generated Skeleton

A skeleton generated from an IDL specification that is specific to a particular language mapping.

Dynamic Skeleton Interface

A skeleton interface is available which allows dynamic handling of object invocations analogous to the client side's Dynamic Invocation Interface.

Object Adapters

Adapters are the primary means for an object implementation to access ORB services such as object reference generation.

ORB Interface

Same as the client's implementation to access ORB services such as object reference generation.

The Interface Definition Language (OMG IDL)

IDL defines the types of objects by specifying their interfaces. An interface consists of a set of named operations and the parameters to those operations. Implementation to access ORB services such as object reference generation.

Interoperation with other object systems:

Figure 24.5. Interoperation With Other Systems

Interoperation With Other Systems

The interoperation between system is handed by the ORB of each system.

Audio in Portuguese