nt component development environment for rtr engineering manager ease dianne dickerson
TRANSCRIPT
NT Component NT Component Development Environment Development Environment
for RTRfor RTR
Engineering ManagerEASE
Dianne Dickerson
DisclaimersDisclaimers
The technology being discussed in this The technology being discussed in this presentation is still under developmentpresentation is still under development
There is no commitment from Compaq to deliver There is no commitment from Compaq to deliver this technology (however, we do plan to)this technology (however, we do plan to)
When this technology is delivered in a product, it When this technology is delivered in a product, it may appear differently than as presented in this may appear differently than as presented in this presentationpresentation
Compaq Application Compaq Application ServerServer
Reliability
Availability
Interoperability
Performance
Scalability
Reliability
Availability
Interoperability
Performance
Scalability
ApplicationServer
Interoperability
ApplicationServer
Plus
ReliableTransaction
Router
ACMSxp
Goals of componentGoals of componentinterface for RTRinterface for RTR
Be as transparent as possible:Be as transparent as possible: No direct exposure of the RTR APINo direct exposure of the RTR API Expose RTR concepts in ways that are natural to Expose RTR concepts in ways that are natural to
the client and server environmentsthe client and server environments Provide a GUI-based managementProvide a GUI-based management
Customers should not have to use the RTR Customers should not have to use the RTR command line for component RTR applicationscommand line for component RTR applications
Rules that RTR applicationsRules that RTR applicationsmust follow for fault tolerancemust follow for fault tolerance
Must not keep state between requests Must not keep state between requests Must not use node specific informationMust not use node specific information Must use transactional databases or handle Must use transactional databases or handle
manually replayed transactionsmanually replayed transactions Calls to non-shadowed systems that do updates Calls to non-shadowed systems that do updates
must not be made on secondary systemmust not be made on secondary system For example, calls to VISAFor example, calls to VISA
Must not make time assumptions (to avoid Must not make time assumptions (to avoid problems on replays to shadow site)problems on replays to shadow site)
1st planned release:1st planned release:Component RTR for MTS/COM+Component RTR for MTS/COM+
Support the use of RTR within MTS/COM+ Support the use of RTR within MTS/COM+ applicationsapplications
Support Windows NT V4 at FCS and Windows Support Windows NT V4 at FCS and Windows 2000 as soon as possible2000 as soon as possible
On Windows NT V4 application must handle On Windows NT V4 application must handle possible duplicate transactionspossible duplicate transactions
Support the use of VB and C++ using ATL in the Support the use of VB and C++ using ATL in the development of RTR applicationsdevelopment of RTR applications
RTR-specific features seen as COM interfaces RTR-specific features seen as COM interfaces implemented by serverimplemented by server
Development of faultDevelopment of faulttolerant MTS/COM+ appstolerant MTS/COM+ apps
Application is developed using standard Microsoft Application is developed using standard Microsoft toolstools
““Extension” interfaces are imported from their type Extension” interfaces are imported from their type libraries (Primary vs Secondary, Manual libraries (Primary vs Secondary, Manual Transactions)Transactions)
Application is installed under MTSApplication is installed under MTS Management interface is used to apply RTRManagement interface is used to apply RTR
Proxies and stubs are generated to intercept calls Proxies and stubs are generated to intercept calls between client and serverbetween client and server
Stubs generate calls for extension interfaces as Stubs generate calls for extension interfaces as neededneeded
MTS Application CreationMTS Application Creationand Installationand Installation
ClientClient
ClientClient
MTS Application installed and clients setup using standard mechanismsMTS Application installed and clients setup using standard mechanisms
DatabaseDatabaseSystemSystem
DatabaseDatabaseSystemSystem
MTS/COM+MTS/COM+ApplicationApplication
MTS/COM+MTS/COM+ApplicationApplication
Creating facilitiesCreating facilities
A MMC snapin is used to create RTR facilitiesA MMC snapin is used to create RTR facilities Each node that participates must have “Component Each node that participates must have “Component
RTR for MTS” installed previouslyRTR for MTS” installed previously ““Component RTR for MTS” executes the required Component RTR for MTS” executes the required
RTR commands on each node of the facilityRTR commands on each node of the facility ““Component RTR for MTS” keeps RTR Component RTR for MTS” keeps RTR
configuration data in a replicated database on two configuration data in a replicated database on two of the router nodesof the router nodes
Following slides show screen shots of a facility Following slides show screen shots of a facility being createdbeing created
Facility creationFacility creation
ClientClient
ClientClient
MMC Plug InMMC Plug In
DatabaseDatabaseSystemSystem
DatabaseDatabaseSystemSystem
MTS/COM+MTS/COM+ApplicationApplication
MTS/COM+MTS/COM+ApplicationApplication
RTR Facility
RouterRouter
RouterRouter
Enabling an application for RTREnabling an application for RTR
An MTS application from a server node is selectedAn MTS application from a server node is selected ““Component RTR for MTS” creates the required Component RTR for MTS” creates the required
proxies and stubsproxies and stubs The proxies and stubs are installed on the clients The proxies and stubs are installed on the clients
and servers automaticallyand servers automatically
Applying RTR to an MTSApplying RTR to an MTSapplicationapplication
ClientClient
ClientClient
MMC Plug InMMC Plug In
DatabaseDatabaseSystemSystem
DatabaseDatabaseSystemSystem
RouterRouterStubStubRouterRouter
ProxyProxy
RouterRouterProxyProxy RouterRouter
StubStubMTS/COM+MTS/COM+ApplicationApplication
MTS/COM+MTS/COM+ApplicationApplicationRouterRouter
RouterRouter
RTR Facility
Data routingData routing
Data routing is done on parameters of methodsData routing is done on parameters of methods Each application must define the routing keyEach application must define the routing key The routing key must be identified within each The routing key must be identified within each
methodmethod Done through a GUI interfaceDone through a GUI interface
Possible future directions for Possible future directions for component RTRcomponent RTR
Support for more RTR featuresSupport for more RTR features Interoperability with current RTR applicationsInteroperability with current RTR applications Support of other server typesSupport of other server types
ACMSACMS C++C++ EJB serversEJB servers
Mixed client and server typesMixed client and server types Heterogeneous system supportHeterogeneous system support
Open VMS, Unix,...Open VMS, Unix,...
Clients and servers being Clients and servers being considered for Component RTRconsidered for Component RTR
RTRRTR RTRRTR
COM+/MTSCOM+/MTS
Java/EJBJava/EJB
CorbaCorba
ACMSACMS
TuxedoTuxedo
ACMSxpACMSxp
Business BusBusiness Bus
AutomationAutomation
COM+/MTSCOM+/MTS
C/C++C/C++
Java/JavaBeansJava/JavaBeans
CorbaCorba
ACMSxpACMSxp
Component interoperationComponent interoperation
““Component RTR” is part of a more general set of Component RTR” is part of a more general set of component interoperability toolscomponent interoperability tools
These tools work by extracting definitions from These tools work by extracting definitions from servers and generating proxies and stubs from servers and generating proxies and stubs from those definitionsthose definitions
Compaq Application Compaq Application ServerServer
Reliability
Availability
Interoperability
Performance
Scalability
Reliability
Availability
Interoperability
Performance
Scalability
ApplicationApplicationServer Server
InteroperabilityInteroperability
ApplicationServer
Plus
ReliableTransaction
Router
ACMSxp
Full set of clients, servers,Full set of clients, servers,and transports being consideredand transports being considered
IIOPIIOP
RTRRTR
TCP/IPTCP/IP
RTRRTR
TCP/IPTCP/IP
IIOPIIOP
DCOMDCOM DCOMDCOM
MSMQMSMQ MSMQMSMQ
AutomationAutomation
COM+/MTSCOM+/MTS
C/C++C/C++
Java/JavaBeansJava/JavaBeans
CorbaCorba
ACMSxpACMSxp
COM+/MTSCOM+/MTS
Java/EJBJava/EJB
CorbaCorba
ACMSACMS
TuxedoTuxedo
ACMSxpACMSxp
Business BusBusiness Bus
ContactsContacts
If you are interested in providing requirements or being If you are interested in providing requirements or being a field test site please contact:a field test site please contact:
Art Zina - Program ManagerArt Zina - Program Manager– 1 978 506 59201 978 506 5920– [email protected]@compaq.com
Rick Seed - Product Manager (Plus)Rick Seed - Product Manager (Plus)– 1 978 506 74111 978 506 7411– [email protected] [email protected]
Jerry Hershey - Product Manager (Interop)Jerry Hershey - Product Manager (Interop)– 1 978 506 58721 978 506 5872– [email protected]@compaq.com
Thank you!Thank you!