Oracle đã xong vụ Bea. Có lẽ nhiều người cũng đã biết về Bea, 1 trong các production là Bea Tuxedo. Vậy Tuxedo là gì?
1/ Tuxedo là 1 middleware platform, type: Application Server.
2/ Tuxedo được deploy trên nhiều platform
3/ Tuxedo viết bởi ngôn ngữ C/C++ và COBOL (sau này Oracle develop thêm thế nào thì chịu rồi)
4/ Trong số các feature của Tuxedo là:Messaging Core
Tuxedo is at its core a message routing and queuing system. Requests are sent to named services and Tuxedo uses memory based Inter-process communication facilities to queue the requests to servers. The requester is unaware of where the server that actually processes the request is located or how it is implemented. In essence, Tuxedo provided the elements of Service-oriented architecture (SOA) years before the phrase Service-oriented architecture was coined. Tuxedo can use the content of the message to determine what servers should be utilized to receive the request by means of data dependent routing.
The heart of the Tuxedo system is the Bulletin Board (BB). This is a shared memory segment that contains the state of a Tuxedo domain. Servers, services, transactions, and clients are all registered in the BB providing a global view of their state across the machines within a domain. To coordinate updates to the BB a process called the Bulletin Board Liaison (BBL) runs on each machine to keep the local copy of the BB up-to-date. A master machine runs a process called the “Distinguished Bulletin Board Liaison” that coordinates the updates to the BB. This allows each machine to have a view of what servers, services, transactions, and clients are on each machine within the domain.
Another process on each machine called the Bridge is responsible for passing requests from one machine to another. This allows Tuxedo to spread load across the various machines within a domain and allows servers and services to be running on multiple machines. In addition the BBL and Bridge monitor each other and restart the other should one fail. In the advent of a failure of the master machine, another machine designated as a backup master can take over the function of master machine. Also, since machines within a single domain can be of different architectures (x86, IA32, SPARC, P-Series, etc.), the Bridge is also responsible for handling differences in things like endianness.
For remote clients (Java, CORBA, or /WS), Tuxedo provides communication concentrators called listener/handlers that handle the remote network communication. Clients connect to these communication concentrators and act as proxies for the clients. As clients make requests, the listener/handler uses the local Tuxedo infrastructure to make the request on the behalf of the client. Tuxedo then load balances the requests across the servers within the domain that offer the service even if the server is not on the local machine. This is in contrast to most Java Enterprise Edition application servers where load balancing is done by the client making requests to different machines with the cluster
Tuxedo provides a queuing subsystem called /Q. This facility provides transient and persistent queues that allows applications to explicitly queue requests to named queues. Queues can be ordered by message availability time, expiration time, priority, LIFO, FIFO, or a combination. Queues are managed by an XA compliant resource manager allowing queue operations to participate in transactions. An automated queue forwarding server is provided that will remove entries from a queue and invoke an associated Tuxedo services.