Manuale d’uso / di manutenzione del prodotto Reliable Transaction Router del fabbricante Compaq
Vai alla pagina of 78
Reliable T ransaction Router Getting Started Order Number: AA-RLE1A-TE January 2001 This document introduces Reliable T ransaction Router and describes its concepts for the system manager , system administrator , and applications programmer . Revision/Update Information: This is a new manual.
© 2001 Compaq Computer Corporation Compaq, the Compaq logo, AlphaServer , T ruCluster , V AX, and VMS Registered in U. S. Patent and T rademark Office. DECnet, OpenVMS, and P ATHWORKS are trademarks of Compaq Information T echnologies Group, L.P . Microsoft and W indows NT are trademarks of Microsoft Corporation.
Contents Preface ..................................................... vii 1 Introduction Reliable T ransaction Router . . ........................... 1–1 RTR Continuous Computing Concepts . . ................... 1–2 RTR T erminology . . .........
3 Reliability Features Servers . . ........................................... 3–1 Failover and Recovery ................................. 3–2 Router Failover ................................... 3–2 Recovery Scenarios . .........................
Figures 1 RTR Reading Path ................................. x 1–1 Client Symbol . ................................... 1–4 1–2 Server Symbol . ................................... 1–5 1–3 Roles Symbols . ................................... 1–6 1–4 Facility Symbol .
.
Preface Purpose of this Document The goal of this document is to assist an experienced system manager , system administrator , or application programmer to understand the Reliable T ransaction Router (RTR) product.
Related Documentation Additional resources in the RTR documentation kit include: Document Content For all users: Reliable T ransaction Router Release Notes Describes new features, changes, and known restrictions for RTR. RTR Commands Lists all RTR commands, their qualifiers and defaults.
Reader ’ s Comments Compaq welcomes your comments on this guide. Please send your comments and suggestions by email to rtrdoc@compaq.com . Please include the document title, date from title page, order number , section and page numbers in your message.
Figure 1 RTR Reading Path Cov er letter ZK O-GS015-99AI SPD Release Notes Getting Star ted System Manager Application Programmer Installation Guide Migration Guide System Manager's Manual Command.
1 Introduction This document introduces RTR and describes RTR concepts. It is intended for the system manager or administrator and for the application programmer who is developing an application that works with Reliable T ransaction Router (RTR).
RTR Continuous Computing Concepts RTR Continuous Computing Concepts RTR provides a continuous computing environment that is particularly valuable in financial transactions, for example in banking, stock trading, or passenger reservations systems.
RTR T erminology RTR T erminology The following terms are either unique to RTR or redefined when used in the RTR context. If you have learned any of these terms in other contexts, take the time to assimilate their meaning in the RTR environment.
RTR T erminology RTR Application An RTR application is user-written software that executes within the confines of several distributed processes . The RTR application may perform user interface, business, and server logic tasks and is written in response to some business need.
RTR T erminology Figure 1–2 Server Symbol Channel RTR expects client and server applications to identify themselves before they request RTR services. During the identification process, RTR provides a tag or handle that is used for subsequent interactions.
RTR T erminology Figure 1–3 Roles Symbols FE BE TR Facility The mapping between nodes and roles is done using a facility . An RTR facility is the user-defined name for a particular configuration whose definition provides the role-to-node map for a given application.
RTR T erminology Figure 1–5 Components in the RTR Environment LKG-11203-98WI User Accounts F acility FE TR BE General Ledger F acility Client application Server application disconnected before all parts of the transaction are done, then the transaction remains incomplete.
RTR T erminology messaging, RTR ensures that a transaction is ‘‘all or nothing’ ’— either fully completed or discarded; either both the checking account debit and the savings account credit are done, or the checking account debit is backed out and not recorded in the database.
RTR T erminology Figure 1–6 T wo-Tier Client/Server Environment LKG-11204-98WI Database Ser v er DM Application Presentation and Business Logic (ODBC Model) Figure 1–7 Three-Tier Client/Server Env.
RTR T erminology All components can reside on a single node but are typically deployed on different nodes to achieve modularity , scalability , and redundancy for availability . W ith different systems, if one physical node goes down or off line, another router and backend node takes over .
RTR T erminology single node configuration can be useful during development, but would not normally be used when your application is deployed. Figure 1–9 RTR with Browser , Single Node, and Databas.
RTR T erminology In this example, the frontend with the client and the router reside on one node, and the server resides on the backend. Frequently , routers are placed on backends rather than on frontends. A further separation of workload onto three nodes is shown in Figure 1–1 1.
RTR T erminology Figure 1–12 Standby Server Configuration LKG-11210-98WI TR BE DB BE Ser v er Ser v er Primary Server Standby Server T ransactional shadowing T o increase transaction availability , transactions can be shadowed with a shadow server .
RTR T erminology Figure 1–13 T ransactional Shadowing Configuration LKG-11211-98WI TR BE BE Ser v er Ser v er Primary Server Shadow Server FE W ith transactional shadowing, there is no requirement that hardware, the data store, or the operating system at different sites be the same.
RTR Server T ypes Figure 1–14 T wo Sites: T ransactional and Disk Shadowing with Standby Servers LKG-11212-98WI Disk Shadowing FE TR BE BE BE BE TR T ransactional Shadowing Standby Server or Router .
RTR Server T ypes • Concurrent servers • Callout servers These are described in the next few paragraphs. Y ou specify server types to your application in RTR API calls. RTR server types help to provide continuous availability and a secure transactional environment.
RTR Server T ypes one node can contain the primary servers for one key range and standby servers for another key range to balance the load across systems. This allows the nodes in a cluster environment to act as standby for other nodes without having idle hardware.
RTR Server T ypes Figure 1–16 shows a simple shadow configuration. The main (BE) Server at Site 1 and the shadow server (Shadow) at Site 2 both receive every transaction for the data partition they are servicing. Should Site 1 fail, Site 2 continues to operate without interruption.
RTR Server T ypes channels within a single process or as one channel in separate processes. Figure 1–17 Concurrent Servers BE Ser v er1 A-N Ser v er2 Ser v er3 Ser v er4 LKG-11275-98WI Callout serve.
RTR Server T ypes Figure 1–18 A Callout Server T ransaction To P ar tition A TR Callout Server Application Server BE User Accounts F acility LKG-11276-98WI Authentication RTR callout servers provide partition-independent processing for authentication.
RTR Server T ypes Partition When working with database systems, partitioning the database can be essential to ensuring smooth and untrammeled performance with a minimum of bottlenecks.
RTR Server T ypes but strictly speaking, the key range defines the partition. A partition has both a name, its partition name, and an identifier generated by RTR — the partition ID. The properties of a partition (callout, standby , shadow , concurrent, key segment range) can be defined by the system manager with a CREA TE P ARTITION command.
RTR Networking Capabilities Figure 1–20 Standby with Partitioning LKG-11214-98WI Router 1-19999 1-19999 1-19999 1-19999 Accounts: 1-19999 20000-39999 20000-39999 20000-39999 Application Ser v erA Ap.
.
2 Architectural Concepts This chapter introduces concepts on basic transaction processing and RTR architecture. The Three-Layer Model RTR is based on a three-layer architecture consisting of frontend (FE) roles, backend (BE) roles and router (TR) roles.
The Three-Layer Model Figure 2–1 The Three Layer Model DB BE Ser v er BE Ser v er TR FE Client FE Client FE Client DB T er minals F rontends (FE) Routers (TR) Back ends (BE) Database (DB) DB FE Clie.
RTR Facilities Bridge the Gap RTR Facilities Bridge the Gap Many applications can use RTR at the same time without interfering with one another . This is achieved by defining a separate facility for each application.
Flexibility and Growth • User access patterns • The volume of data Since an RTR-based system can be built using multiple systems at each functional layer , it easily lends itself to step-by-step growth, avoiding unused capacity at each stage.
The Partitioned Data Model The Partitioned Data Model One goal in designing for high transaction throughput is reducing the time that users must wait for shared resources. While many elements of a transaction processing system can be duplicated, one resource that must be shared is the database.
Object-Oriented Programming Figure 2–2 Partitioned Data Model DB BE Ser v er BE Ser v er TR FE Client FE Client FE Client DB T er minals F rontends (FE) Routers (TR) Back ends (BE) Database (DB) DB .
Object-Oriented Programming T able 2–1 Functional and Object-Oriented Programming Compared Functional Programming Object-Oriented Programming A program consists of data structures and algorithms. A program consists of a team of cooperating objects. The basic programming unit is the function, that when run, implements an algorithm.
Object-Oriented Programming Example 2–1 Objects-Defined Sample Dog.h: class Dog { ... }; main.cpp: #include "Dog.h" main() { Dog King; Dog Fifi; } Messages Objects communicate by sending messages. This is done by calling an object’ s methods.
Object-Oriented Programming Polymorphism Polymorphism is the ability of objects, inherited from a common base or parent class, to respond differently to the same message. This is done by defining different implementations of the same method name within the individual child class definitions.
XA Support XA Support The XA interface is part of the X/Open DTP (Distributed T ransaction Processing) standard. It defines the interface that transaction managers (TM) and resource managers (RM) use to perform the two-phase commit protocol. (Resource managers are underlying database systems such as ORACLE RDBMS, Microsoft SQL Server , and others.
3 Reliability Features Reliability in RTR is enhanced by the use of: • Concurrent servers • Standby servers • Shadow servers • Callout servers • Router failover Servers Note that, conceptual.
Failover and Recovery Failover and Recovery RTR provides several capabilities to ensure failover and recovery under several circumstances. Router Failover Frontend nodes automatically connect to another router if the one being used fails. This reconnection is transparent to the application.
Recovery Scenarios Backend Recovery If standby or shadow servers are available on another backend node, operation of the rest of the system will continue without interruption, using the standby or shadow server .
.
4 RTR Interfaces RTR provides interfaces for management and application programming. Y ou manage RTR with a management interface from the RTR management station.
The RTR application programming interfaces are identical on all hardware and operating system platforms that support RTR. The object-oriented API is fully described in the manual Reliable T ransaction Router C++ Foundation Classes .
RTR Management Station The user is called user , the facility being defined is called DESIGN , a client and a server are established, and a test message containing the words "Kathy’ s text today" is sent from the client to the server .
RTR Management Station [The user issues the following commands on the server application where RTR is running on the backend.] $ RTR Copyright Compaq Computer Corporation 1994.
RTR Management Station RTR> RTR_RECEIVE_MESSAGE/CHAN=S %RTR-S-OK, normal successful completion channel name: S msgsb msgtype: rtr_mt_msg1 msglen: 19 usrhdl: 0 Tid: 63b01d10,0,0,0,0,2e59,43ea2002 message offset bytes text 000000 4B 61 74 68 79 27 73 20 74 65 78 74 20 74 6F 64 Kathy’s text tod 000010 61 79 00 ay.
RTR Management Station RTR> RTR_RECEIVE_MESSAGE/CHANNEL=C/tim [to get mt_opened or mt_closed] %RTR-S-OK, normal successful completion channel name: C msgsb msgtype: rtr_mt_opened msglen: 8 message .
RTR Management Station RTR> RTR_RECEIVE_MESSAGE %RTR-S-OK, normal successful completion channel name: S . . . msgtype: rtr_mt_accepted . . . RTR> STOP RTR Browser Interface W ith the RTR browser.
Application Programming Interfaces Figure 4–1 RTR Browser Interface Sample C++ client code Example of object creation in an RTR client program. // // Create a Transaction Controller to receive incoming messages // and events from a client.
Application Programming Interfaces Sample C++ server code Example of object creation in an RTR server program. void CombinationOrderProcessor::StartProcessingOrdersAtoL() { // // Create an RTRKeySegment for all ASCII values between "A" and "L.
Application Programming Interfaces Sample C client code Example of an open channel call in an RTR client program: status = rtr_open_channel(&Channel, Flags, Facility, Recipient, RTR_NO_PEVTNUM, Ac.
5 The RTR Environment The RTR environment has two parts: • The system management environment • The runtime environment The RTR System Management Environment Y ou manage your RTR environment from a management station, which can be on a node running RTR or on some other node.
The RTR System Management Environment • Handles all transactions and recovery RTRACP handles interprocess communication traffic, network traffic, and is the main repository of runtime information. ACP processes operate across all RTR roles and execute certain commands both locally and at remote nodes.
The RTR System Management Environment The Command Server Process executes commands both locally and across nodes. Commands that can be executed at the RTR COMSER V include: • ST ART RTR • CREA TE/.
The RTR System Management Environment Monitoring RTR RTR Monitor pictures or the RTR Monitor let you view the status and activities of RTR and your applications. A monitor picture is dynamic, its data periodically updated. RTR SHOW commands that also let you view status are snapshots, giving you a view at one moment in time.
The RTR System Management Environment Partition Management Partitions are subdivisions of a routing key range of values used with a partitioned data model and RTR data-content routing. Partitions exist for each range of values in the routing key for which a server is available to process transactions.
The RTR Runtime Environment • Server application • RTR shareable image, LIBRTR • RTR control process, RTRACP • RTR daemon, RTRD Figure 5–2 shows these components and their placement on frontend, router , and backend nodes. The frontend, router , and backend can be on the same or different nodes.
What’s Next? What’ s Next? This concludes the material on RTR concepts and capabilities that all users and implementors should know . For more information, proceed as follows: If you are: Read these documents: a system manager , system administrator , or software installer 1.
.
Glossary A few additional terms are defined in the Glossary to the Reliable T ransaction Router Application Design Guide . ACID T ransaction properties supported by RTR: atomicity , consistency , isolation, durability . ACP The RTR Application Control Process.
branch A subdivision of a bank; perhaps in another town. broadcast A nontransactional message. callout server A server process used for transactional authentication. channel A logical port opened by an application with an identifier to exchange messages with RTR.
common classes C++ foundation classes that can be used in both client and server applications. concurrent server A server process identical to other server processes running on the same node. CPU Central processing unit. data marshalling The capability of using systems of different architectures (big endian, little endian) within one application.
endian The byte-ordering of multibyte values. Big endian: high-order byte at starting address; little endian: low-order byte at starting address. event RTR or application-generated information about an application or RTR.
frontend FE, the physical node in an RTR facility where the client application runs. FTP File transfer protocol. inquorate Nodes/roles that cannot participate in a facility’ s transactions are inquorate. journal A file containing transactional messages used for recovery .
message A logical grouping of information transmitted between software components, typically over network links. message handler A C++ API-derived object used in event-driven processing that processes messages. multichannel An application that uses more than one channel.
primary The state of the partition servicing the original data store or database. A primary has a secondary or shadow counterpart. process The basic software entity , including address space, scheduled by system software, that provides the context in which an image executes.
rollback When a transaction has been committed on the primary database but cannot be committed on its shadow , the committed transaction must be removed or rolled back to restore the database to its pre-transaction state. router The RTR role that manages traffic between RTR clients and servers.
shadow The state of the server process that services a copy of the data store or primary database. In the context of RTR, the shadow method is transactional shadowing, not disk shadowing.
transactional message A message containing transactional data. transactional shadowing A process by which identical transactional data are written to separate disks often at separate sites to increase data availability in the event of site failure. See also disk shadowing.
Index A ACID, 2–4 Anonymous client, 1–22 API, 4–1 Application distributed, 2–4 software, 2–2 Authentication, 1–20 B Backend, 2–1 loss, 3–3 BE, 2–1 Broadcast, 2–3 C Callout server, .
N Network wide area, 1–18 Nodes, 2–2 O Object-oriented, 2–5 Oracle RDBMS, 2–10 P Parallel execution, 2–4 Partitioned data model, 2–5 Processes client, 2–1 server, 2–1 R RDBMS, 2–10 R.
Un punto importante, dopo l’acquisto del dispositivo (o anche prima di acquisto) è quello di leggere il manuale. Dobbiamo farlo per diversi motivi semplici:
Se non hai ancora comprato il Compaq Reliable Transaction Router è un buon momento per familiarizzare con i dati di base del prodotto. Prime consultare le pagine iniziali del manuale d’uso, che si trova al di sopra. Dovresti trovare lì i dati tecnici più importanti del Compaq Reliable Transaction Router - in questo modo è possibile verificare se l’apparecchio soddisfa le tue esigenze. Esplorando le pagine segenti del manuali d’uso Compaq Reliable Transaction Router imparerai tutte le caratteristiche del prodotto e le informazioni sul suo funzionamento. Le informazioni sul Compaq Reliable Transaction Router ti aiuteranno sicuramente a prendere una decisione relativa all’acquisto.
In una situazione in cui hai già il Compaq Reliable Transaction Router, ma non hai ancora letto il manuale d’uso, dovresti farlo per le ragioni sopra descritte. Saprai quindi se hai correttamente usato le funzioni disponibili, e se hai commesso errori che possono ridurre la durata di vita del Compaq Reliable Transaction Router.
Tuttavia, uno dei ruoli più importanti per l’utente svolti dal manuale d’uso è quello di aiutare a risolvere i problemi con il Compaq Reliable Transaction Router. Quasi sempre, ci troverai Troubleshooting, cioè i guasti più frequenti e malfunzionamenti del dispositivo Compaq Reliable Transaction Router insieme con le istruzioni su come risolverli. Anche se non si riesci a risolvere il problema, il manuale d’uso ti mostrerà il percorso di ulteriori procedimenti – il contatto con il centro servizio clienti o il servizio più vicino.