Вы находитесь на странице: 1из 29

2006 BEA Systems, Inc.

41
BEA Tuxedo Architecture Overview
At the end of this module you will be able to:
Understand the distributed client-server model
Describe the main features of Tuxedo
Understand the Tuxedo communication paradigms
Identify key elements of the Tuxedo architecture
Describe some of the key extended Tuxedo features
Module 3
BEA Tuxedo Architecture Overview-1
2006 BEA Systems, Inc. 42
Application Server Architecture (n-Tier)
Execute DBMS logic
DBMS Status/Data
Request Service
Response
DBMS
Presentation
Application
Presentation
Services

DBMS
Business
Logic Logic
Business
Database
SQL
Data Completed
Benefits
Flexibility
Growth
Performance
BEA Tuxedo Architecture Overview-2
2006 BEA Systems, Inc. 43
Application Server & High Volume TP
100s - 1000s
of
transactions
Data
DBMS
Presentation
Application
Database
1000s-
10000s
of clients
Multiplex transactions from large
numbers of clients over much fewer
back-end resources; use a TP Monitor or
the database to support transactions
As the business expands,
need to address
Bottlenecks
Resources
Growth
Administration
BEA Tuxedo Architecture Overview-3
2006 BEA Systems, Inc. 44
Tuxedo & the Application Server Model
Presentation
Services
DBMS Business
Logic Logic
Business
Request Service
Response
DBMS
Presentation
Application
SQL
Data
Tuxedo
Clients
Tuxedo
Servers
Tuxedo Servers advertise and provide (named) services to Tuxedo Clients.
These servers provide access to the DBMS or other centralized resource.

Tuxedo Clients make requests for named services. Client service requests
are routed and distributed to a configured number of servers (that provide
the services) in the Application Server tier.

The Tuxedo Servers can be distributed over multiple Application Server
machines and are centrally configured and managed.
BEA Tuxedo Architecture Overview-4
2006 BEA Systems, Inc. 45
What Is BEA Tuxedo?
Middleware (between clients & servers)
Transaction Processing (TP) Monitor
Infrastructure for distributed applications - multi-tier,
client-server environment that is centrally managed
The nameTUXEDO comes from its origins:
Transactions for UNIX Extended for Distributed client-
server Operations
BEA Tuxedo Architecture Overview-5
2006 BEA Systems, Inc. 46
BEA Tuxedos Core Architecture
Name Service: Client service requests are routed and distributed to a
configured number of servers that have advertised that they are providing
this service. The Service directory is maintained and distributed by Tuxedo.

Transparent Communication: Clients and Servers communicate with each
other through messages. The Tuxedo API makes any underlying system
communication or networking layer transparent to the Application Developer.
Client
Process
Tuxedo
Name Service
Server Processes
Call
Service
XYZ
Centralized
Application
Administration
Transaction
Management
DBMS
Data Access
Request
Service
Service
Response
Process
Service XYZ;
reply with
results
Transparent
Communication
BEA Tuxedo Architecture Overview-6
2006 BEA Systems, Inc. 47
Benefits of the Tuxedo Architecture
Enables sophisticated messaging features such as
synchronous, asynchronous, and parallel or pipeline
operation
Makes the application server/service location
transparent to the programmer
Improves database efficiency by sharing database
connections at the back-end
Centralizes configuration management and system
administration tasks
Facilitates dynamic system administration
BEA Tuxedo Architecture Overview-7
2006 BEA Systems, Inc. 48
Components of a Tuxedo Application
Message
Queue


Message
Queue


Client
Server
Bulletin Board
Liaison (BBL)
Bulletin
Board (BB)
1A. Lookup
1B. Request
2B. Reply
2A. Update
Bulletin Board Liaison - Tuxedo administration process
Bulletin Board, Message Queues O/S IPC resources
Client, Server Tuxedo application processes
BEA Tuxedo Architecture Overview-8
2006 BEA Systems, Inc. 49
Bulletin Board & Bulletin Board Liaison
Bulletin Board (BB) Shared Memory Segments:
Provides server location transparency by holding dynamic
information that translates a service name to a specific server
instance location.
Holds run-time information; for example the number of
queued requests for a service.
Bulletin Board Liaison (BBL) Server Process:
Starts all application server instances.
Performs health checks of the system.
Handles coordination functions for all other Tuxedo
components.
BEA Tuxedo Architecture Overview-9
2006 BEA Systems, Inc. 50
Tuxedo Clients
Native Clients:
Run on a configured machine (with bulletin board).
Can also access services on other networked machines.
Remote Clients (/WS ATMI, Jolt, CORBA):
Do not have native bulletin board access.
Are supported through BEA application proxy native clients.
/WS subsystem [WSL - WSH] (ATMI workstation clients)
Jolt library [J SL - J SH] (Java clients)
CORBA library [I SL - I SH] (any CORBA client)
BEA WebLogic Server applications can also access
Tuxedo services using the WebLogic-Tuxedo
Connector (WTC) architecture.
BEA Tuxedo Architecture Overview-10
2006 BEA Systems, Inc. 51
The Tuxedo API (ATMI)

connect to Tuxedo
allocate a buffer
tpcall(XYZ,,)


get data from buffer
free the buffer
disconnect from Tuxedo

main() {


XYZ() {

return response
}
}
The service function XYZ()
in the server is invoked by
Tuxedo when the service
request arrives
Client ATMI
ATMI Service
Message Queue
Message Queue
Request
Reply
Server
BEA Tuxedo Architecture Overview-11
2006 BEA Systems, Inc. 52
Messaging & Communications
User data is passed between clients and servers within
Tuxedo message buffers.
Typed Buffers identify the type of data in the buffer (for
example, a C data structure).
Buffers are passed between clients and servers using
IPC resources or the network (TCP/IP).
For inter-machine communication, data is converted and
transferred transparently between different platforms.
The programmer does not have to convert data formats (for
example, a floating point number on an Intel machine sent to
a Sparc machine)
BEA Tuxedo Architecture Overview-12
2006 BEA Systems, Inc. 53
Tuxedo Buffer Types
Client Process
Server Process
My Data
STRING Buffer: Text Data
..011000.
Fields: AccountId (string),
MyBalance (float)
VIEW Buffer: All the defined
fields (the C data structure)
are always present
Fields: Name, Street, City,
State, ZipCode
FML Buffer: Any predefined
FML field (name/value) can
be present in the buffer
<name> Harry Smith
</name>
XML Buffer: (not in Tuxedo 6.5)
Text data with data item tags
CARRAY Buffer: Binary data
bytes (transparent)
BEA Tuxedo Architecture Overview-13
2006 BEA Systems, Inc. 54
Message Paradigms
Clients and/or servers may use any of the following
communication models.
Request/Response
Synchronous
Asynchronous
Conversational
Unsolicited Notification
Publish and Subscribe
Store and Forward
Described in more detail on the following slides...
BEA Tuxedo Architecture Overview-14
2006 BEA Systems, Inc. 55
Request/Response
Client Process

Queue
Server Process
Queue
Request
Reply
Client Process

Queue
Server Process
Queue
Request
Reply
Synchronous Request
Asynchronous Request
Client can
continue
processing
other tasks ...
Client gets reply
Client gets reply
BEA Tuxedo Architecture Overview-15
2006 BEA Systems, Inc. 56
Conversational
Client Server
Terminate Conversation
Request Service
Conversational Relationship between a
client and a specific server instance

Data
BEA Tuxedo Architecture Overview-16
2006 BEA Systems, Inc. 57
Unsolicited Notification
Client 1 Server Client 2
Request
Reply
Unsolicited
Notification
Unsolicited
Notification
Send Unsolicited
Message
Unsolicited
Msg Handler
Unsolicited
Msg Handler
BEA Tuxedo Architecture Overview-17
2006 BEA Systems, Inc. 58
Publish and Subscribe
Tuxedo
Event Broker
Subscribers
Subscription
Handling
Event
Posting
Publishers
Subscription
List
Event Notification
3 2
1
BEA Tuxedo Architecture Overview-18
2006 BEA Systems, Inc. 59
Store and Forward
















RequestQ
ReplyQ
Enqueue request
to RequestQ
Dequeue reply
from ReplyQ
Client
Service

Server
4
3
2
1
1. Client sends request to the /Q Subsystem
Server (message is stored to disk).
2. Message is forwarded on
to the appropriate service.
4. Client later dequeues the reply
from the /Q Subsystem Server.
3. Service sends reply to the /Q Subsystem
Server (message is stored to disk).
BEA Tuxedo Architecture Overview-19
2006 BEA Systems, Inc. 60
Work Distribution
Load Balancing
Request is queued to the least busy server
Multiple-Server-Single-Queue (MSSQ) Set
Similar to having a single customer line in a bank versus
multiple lines
Data Dependent Routing (DDR)
Route client request based on the value of a data field in the
request buffer
Service Priority
Assign relative dequeue priorities for service requests; higher
priority requests get processed sooner
BEA Tuxedo Architecture Overview-20
2006 BEA Systems, Inc. 61
Basic Security
Clients
Authentication (are you a valid user ?)
Passwords, Tuxedo-defined users/groups
Authorization (what are you allowed to do ?)
Simple Access Control Lists (ACLs) can be set up to control access to
resources such as services
Servers
Are started by the Tuxedo BBL
Assume the operating environment of the Tuxedo
administrator and are assumed to be trusted
A simple Authorization Server is provided with the
Tuxedo product.
BEA Tuxedo Architecture Overview-21
2006 BEA Systems, Inc. 62
Data Encryption
Tuxedo
Application
LLE LLE
Standard Tuxedo Link Level Encryption
Tuxedo
Application
Link Level Encryption
(LLE) encrypts all data
between two machines
Extended Security with a 3rd Party security package enables message
based encryption between application processes. (not in Tuxedo 6.5)

Tuxedo
Application
Tuxedo
Application
Security product from 3rd
party security vendor
BEA Tuxedo Architecture Overview-22
2006 BEA Systems, Inc. 63
Distributed Transaction Management
A simple transaction is typically managed directly by the database
management system itself.

If a transaction involves multiple databases, a Transaction Manager
(TM) is required to coordinate the transaction activity among the
databases. This is usually referred to as a distributed transaction.

Tuxedo provides the infrastructure for implementing distributed
transactions using the industry standard XA protocol.
Client
SERVER 1
SERVER 2
ORACLE
DB2
TM
Distributed
Transaction
BEA Tuxedo Architecture Overview-23
2006 BEA Systems, Inc. 64
Configuration and Administration
Centralized Configuration
One configuration file describes the entire Tuxedo
application/domain.
For a multiple machine configuration, all the machines are
defined in this configuration file.
One Master machine is designated for the domain.
Centralized Administration
The Tuxedo application (domain) is started from the Master
machine.
The BBL and other configured servers on the other machines
are also started up.
Control commands can be performed only on the Master
machine.
BEA Tuxedo Architecture Overview-24
2006 BEA Systems, Inc. 65
Single Domain -
Multiple Machine (MP) Architecture
Servers
BB
BBL
DBBL
Servers
BB
BBL
Servers
BB
BBL
Bridge
Bridge
Admin
Console
Machine A
(Master)
Bridge
Machine B Machine C
Configuration
File
Tuxedo components on non-Master
machines are started up automatically
Configuration
File (copy)
Configuration
File (copy)
tmadmin
BEA Tuxedo Architecture Overview-25
2006 BEA Systems, Inc. 66
Multiple-Domain Architecture
Server Process
Client Process
Database
Server Process
Client Process
gateway
Network
Remote Domain Y
Remote
Domain X
Domain Z
Machine A Machine B
gateway
gateway
bridge
Request XYZ
Request XYZ
XYZ Service
BEA Tuxedo Architecture Overview-26
2006 BEA Systems, Inc. 67
Application Administration
Several command-line utilities are provided to perform
administrative tasks such as:
Booting the application configuration.
Starting up or shutting down some or all application servers.
Monitoring and viewing statistics of a running application.
Shutting down the entire application.
The BEA Tuxedo Administration Console:
Is a Java Applet that runs in a Web browser such as Mozilla
Firefox, Internet Explorer, or Netscape.
Contains the same set of facilities as the command-line
utilities but with a graphical user interface.
Is easy to use, but does require additional setup.
BEA Tuxedo Architecture Overview-27
2006 BEA Systems, Inc. 68
BEA Tuxedo Administration Console
BEA Tuxedo Architecture Overview-28
2006 BEA Systems, Inc. 69
Module Review
BEA Tuxedo architectural concepts
Components of a Tuxedo application
Tuxedo application communication paradigms
Tuxedo product features and benefits
In this module, we reviewed:
BEA Tuxedo Architecture Overview-29

Вам также может понравиться