It is needed to accomplish a particular Client/Server type of services which includes:-
* Database specific middleware
* OLTP specific middleware
* Groupware specific middleware
* Object specific middleware
* Internet specific middleware and
* System management specific middleware.
There is no commonly accepted definition for a TP monitor. According to Jeri Edwards' a TP Monitor is "an OS for transaction processing".
TP-Lite is simply the integration of TP Monitor functions in the database engines. TP-Heavy are TP Monitors which supports the Client/Server architecture and allow PC to initiate some very complex multiserver transaction from the desktop.
These are fully-loaded machines which includes multiprocessors, high-speed disk arrays for intervive I/O and fault tolerant features.
Triggers are special user defined actions usually in the form of stored procedures, that are automatically invoked by the server based on data related events. It can perform complex actions and can use the full power of procedural languages.
A rule is a special type of trigger that is used to perform simple checks on data.
The types of transparencies the NOS middleware is expected to provide are:-
* Location transparency
* Namespace transparency
* Logon transparency
* Replication transparency
* Local/Remote access transparency
* Distributed time transparency
* Failure transparency and
* Administration transparency.
There is a many-to-one relationship between clients and server. Clients always initiate the dialog by requesting a service. Servers are passively awaiting for requests from clients.
In 3-tier Client/Server systems, the application logic (or process) lives in the middle tier and it is separated from the data and the user interface. In theory, the 3-tier Client/Server systems are more scalable, robust and flexible.
Example: TP monitor, Web.
The client side building block runs the client side of the application.
The server side building block runs the server side of the application.
If the bulk of the application runs on the Client side, then it is Fat clients. It is used for decision support and personal software.
If the bulk of the application runs on the Server side, then it is Fat servers. It tries to minimize network interchanges by creating more abstract levels of services.