ReliableTransactionRouterGettingStartedOrder Number: AA-RLE1A-TEJanuary 2001This document introduces Reliable Transaction Router and describes itsconc
Figure 1 RTR Reading PathCoverletterZKO-GS015-99AISPD ReleaseNotesGettingStartedSystem ManagerApplication ProgrammerInstallationGuideMigrationGuideSys
1IntroductionThis document introduces RTR and describes RTR concepts. It isintended for the system manager or administrator and for theapplication pro
RTR Continuous Computing ConceptsRTR Continuous Computing ConceptsRTR provides a continuous computing environment that isparticularly valuable in finan
RTR TerminologyRTR TerminologyThe following terms are either unique to RTR or redefined whenused in the RTR context. If you have learned any of these t
RTR TerminologyRTR ApplicationAn RTR application is user-written software that executeswithin the confines of several distributed processes. The RTRapp
RTR TerminologyFigure 1–2 Server SymbolChannelRTR expects client and server applications to identify themselvesbefore they request RTR services. Durin
RTR TerminologyFigure 1–3 Roles SymbolsFEBETRFacilityThe mapping between nodes and roles is done using a facility.An RTR facility is the user-defined n
RTR TerminologyFigure 1–5 Components in the RTR EnvironmentLKG-11203-98WIUser Accounts FacilityFE TR BEGeneral Ledger FacilityClientapplicationServera
RTR Terminologymessaging, RTR ensures that a transaction is ‘‘all or nothing’’—either fully completed or discarded; either both the checkingaccount de
RTR TerminologyFigure 1–6 Two-Tier Client/Server EnvironmentLKG-11204-98WIDatabase ServerDMApplication Presentation and Business Logic(ODBC Model)Figu
© 2001 Compaq Computer CorporationCompaq, the Compaq logo, AlphaServer, TruCluster, VAX, and VMS Registeredin U. S. Patent and Trademark Office.DECnet,
RTR TerminologyAll components can reside on a single node but are typicallydeployed on different nodes to achieve modularity, scalability,and redundan
RTR Terminologysingle node configuration can be useful during development, butwould not normally be used when your application is deployed.Figure 1–9 R
RTR TerminologyIn this example, the frontend with the client and the routerreside on one node, and the server resides on the backend.Frequently, route
RTR TerminologyFigure 1–12 Standby Server ConfigurationLKG-11210-98WITRBEDBBEServerServerPrimaryServerStandbyServerTransactionalshadowingTo increase tr
RTR TerminologyFigure 1–13 Transactional Shadowing ConfigurationLKG-11211-98WITRBEBEServerServerPrimaryServerShadowServerFEWith transactional shadowing
RTR Server TypesFigure 1–14 Two Sites: Transactional and Disk Shadowing with Standby ServersLKG-11212-98WIDiskShadowingFETRBEBEBEBETRTransactionalShad
RTR Server Types• Concurrent servers• Callout serversThese are described in the next few paragraphs. You specifyserver types to your application in RT
RTR Server Typesone node can contain the primary servers for one key range andstandby servers for another key range to balance the load acrosssystems.
RTR Server TypesFigure 1–16 shows a simple shadow configuration. The main(BE) Server at Site 1 and the shadow server (Shadow) at Site2 both receive eve
RTR Server Typeschannels within a single process or as one channel in separateprocesses.Figure 1–17 Concurrent ServersBEServer1A-NServer2Server3Server
ContentsPreface ... vii1 IntroductionReliable Transaction Router . . ... 1–1
RTR Server TypesFigure 1–18 A Callout ServerTransactionToPartition ATRCalloutServerApplicationServerBEUser Accounts FacilityLKG-11276-98WIAuthenticati
RTR Server TypesPartitionWhen working with database systems, partitioning the databasecan be essential to ensuring smooth and untrammeledperformance w
RTR Server Typesbut strictly speaking, the key range defines the partition. Apartition has both a name, its partition name, and an identifiergenerated b
RTR Networking CapabilitiesFigure 1–20 Standby with PartitioningLKG-11214-98WIRouter1-199991-199991-199991-19999Accounts:1-1999920000-3999920000-39999
2Architectural ConceptsThis chapter introduces concepts on basic transaction processingand RTR architecture.The Three-Layer ModelRTR is based on a thr
The Three-Layer ModelFigure 2–1 The Three Layer ModelDBBEServerBEServerTRFEClientFEClientFEClientDBTerminalsFrontends (FE) Routers (TR)Backends (BE)Da
RTR Facilities Bridge the GapRTR Facilities Bridge the GapMany applications can use RTR at the same time withoutinterfering with one another. This is
Flexibility and Growth• User access patterns• The volume of dataSince an RTR-based system can be built using multiple systemsat each functional layer,
The Partitioned Data ModelThe Partitioned Data ModelOne goal in designing for high transaction throughput isreducing the time that users must wait for
3 Reliability FeaturesServers . . ... 3–1Failover and Recovery ... 3–2Router Fai
Object-Oriented ProgrammingFigure 2–2 Partitioned Data ModelDBBEServerBEServerTRFEClientFEClientFEClientDBTerminalsFrontends (FE) Routers (TR)Backends
Object-Oriented ProgrammingTable 2–1 Functional and Object-Oriented ProgrammingComparedFunctional Programming Object-Oriented ProgrammingA program con
Object-Oriented ProgrammingExample 2–1 Objects-Defined SampleDog.h:class Dog{ ...};main.cpp:#include "Dog.h"main(){Dog King;Dog Fifi;}Message
Object-Oriented ProgrammingPolymorphismPolymorphism is the ability of objects, inherited from a commonbase or parent class, to respond differently to
XA SupportXA SupportThe XA interface is part of the X/Open DTP (DistributedTransaction Processing) standard. It defines the interface thattransaction m
3Reliability FeaturesReliability in RTR is enhanced by the use of:• Concurrent servers• Standby servers• Shadow servers• Callout servers• Router failo
Failover and RecoveryFailover and RecoveryRTR provides several capabilities to ensure failover and recoveryunder several circumstances.Router Failover
Recovery ScenariosBackendRecoveryIf standby or shadow servers are available on another backendnode, operation of the rest of the system will continue
4RTR InterfacesRTR provides interfaces for management and applicationprogramming.You manage RTR with a management interface from the RTRmanagement sta
Figures1 RTR Reading Path ... x1–1 Client Symbol . ... 1–41–2 Server Symbol . ...
The RTR application programming interfaces are identicalon all hardware and operating system platforms that supportRTR. The object-oriented API is ful
RTR Management StationThe user is called user, the facility being defined is calledDESIGN, a client and a server are established, and a testmessage con
RTR Management Station[The user issues the following commands on the serverapplication where RTR is running on the backend.]$ RTRCopyright Compaq Comp
RTR Management StationRTR> RTR_RECEIVE_MESSAGE/CHAN=S%RTR-S-OK, normal successful completionchannel name: Smsgsbmsgtype: rtr_mt_msg1msglen: 19usrhd
RTR Management StationRTR> RTR_RECEIVE_MESSAGE/CHANNEL=C/tim[to get mt_opened or mt_closed]%RTR-S-OK, normal successful completionchannel name: Cms
RTR Management StationRTR> RTR_RECEIVE_MESSAGE%RTR-S-OK, normal successful completionchannel name: S...msgtype: rtr_mt_accepted...RTR> STOP RTRB
Application Programming InterfacesFigure 4–1 RTR Browser InterfaceSample C++ clientcodeExample of object creation in an RTR client program.//// Create
Application Programming InterfacesSample C++server codeExample of object creation in an RTR server program.void CombinationOrderProcessor::StartProces
Application Programming InterfacesSample C clientcodeExample of an open channel call in an RTR client program:status = rtr_open_channel(&Channel,F
5The RTR EnvironmentThe RTR environment has two parts:• The system management environment• The runtime environmentThe RTR System Management Environmen
The RTR System Management Environment• Handles all transactions and recoveryRTRACP handles interprocess communication traffic, networktraffic, and is th
The RTR System Management EnvironmentThe Command Server Process executes commands both locallyand across nodes. Commands that can be executed at the R
The RTR System Management EnvironmentMonitoring RTRRTR Monitor pictures or the RTR Monitor let you view thestatus and activities of RTR and your appli
The RTR System Management EnvironmentPartitionManagementPartitions are subdivisions of a routing key range of values usedwith a partitioned data model
The RTR Runtime Environment• Server application• RTR shareable image, LIBRTR• RTR control process, RTRACP• RTR daemon, RTRDFigure 5–2 shows these comp
What’s Next?What’s Next?This concludes the material on RTR concepts and capabilitiesthat all users and implementors should know. For moreinformation,
GlossaryA few additional terms are defined in the Glossary to theReliable Transaction Router Application Design Guide.ACIDTransaction properties suppor
branchA subdivision of a bank; perhaps in another town.broadcastA nontransactional message.callout serverA server process used for transactional authe
common classesC++ foundation classes that can be used in both client and serverapplications.concurrent serverA server process identical to other serve
PrefacePurpose of this DocumentThe goal of this document is to assist an experienced systemmanager, system administrator, or application programmer to
endianThe byte-ordering of multibyte values. Big endian: high-orderbyte at starting address; little endian: low-order byte at startingaddress.eventRTR
frontendFE, the physical node in an RTR facility where the clientapplication runs.FTPFile transfer protocol.inquorateNodes/roles that cannot participa
messageA logical grouping of information transmitted between softwarecomponents, typically over network links.message handlerA C++ API-derived object
primaryThe state of the partition servicing the original data store ordatabase. A primary has a secondary or shadow counterpart.processThe basic softw
rollbackWhen a transaction has been committed on the primarydatabase but cannot be committed on its shadow, the committedtransaction must be removed o
shadowThe state of the server process that services a copy of the datastore or primary database. In the context of RTR, the shadowmethod is transactio
transactional messageA message containing transactional data.transactional shadowingA process by which identical transactional data are writtento sepa
IndexAACID, 2–4Anonymous client, 1–22API, 4–1Applicationdistributed, 2–4software, 2–2Authentication, 1–20BBackend, 2–1loss, 3–3BE, 2–1Broadcast, 2–3CC
NNetworkwide area, 1–18Nodes, 2–2OObject-oriented, 2–5OracleRDBMS, 2–10PParallel execution, 2–4Partitioned data model, 2–5Processesclient, 2–1server,
Related DocumentationAdditional resources in the RTR documentation kit include:Document ContentFor all users:Reliable TransactionRouter Release NotesD
Reader’s CommentsCompaq welcomes your comments on this guide. Please sendyour comments and suggestions by email to [email protected] include th
Komentarze do niniejszej Instrukcji