MTS Microsoft Transaction Server Martin Basziszta 31.03.2000 Features Die MTS-Laufzeitumgebung. MTS Explorer, eine grafische Benutzeroberfläche (APIs und RessourcenVerwalter) Drei Beispielanwendungen (Bankbeispiel!) MS DTC für Transaktionen Die MTSLaufzeitumgebung - 1 Zusammenstellung von Systemdiensten: Verteilte Transaktionen Automatische Verwaltung von Prozessen und Threads Verwaltung von Objektinstanzen Ein verteilter Sicherheitsdienst Die MTSLaufzeitumgebung - 1 MTS arbeitet mit jedem Anwendungsentwicklungswerkzeug, das ActiveX-DLLs (Dynamic-Link Libraries) erstellen kann. MTS arbeitet mit einer breiten Palette von Ressourcen-Managern (Datenbanksysteme, Dateisysteme und Dokumentenspeichersysteme MTS Explorer · · · · · · grafische Benutzeroberfläche für die Verwaltung von MTSKomponenten Explorer-Hierarchie: Computer Pakete Komponenten Rollen Schnittstellen Methoden MTS-Schnittstellen · Angeben, dass die Arbeit eines Objekts abgeschlossen ist. · Eine Transaktion daran hindern, dass sie übermittelt wird. · Erstellen anderer MTS-Objekte. · Einbeziehen der Arbeit anderer Objekte in den Bereich der Transaktion des aktuellen Objekts. · Ermitteln, ob eine aufrufende Prozedur zu einer bestimmten Rolle gehört. · Ermitteln, ob die Sicherheit aktiviert ist. MS DTC = Microsoft Distributed Transaction Coordinator für Transaktion notwendig Dienst in Windows NT- (Windows 98-) Systemen verteilte Transaktion für Aktualisierungen an transaktionsgeschützten Ressourcen auf einem oder mehreren Systemen Remote-Kommunikation in COM Zwei Hilfsobjekte: Proxy (im ClientProzess), Stub (im Objekt-Prozess RPC als Kommunikationskanal zw. Proxy und Stub Serielles Verschicken von Methodenparametern = “Marshaling” Proxy/Stub Mögliche Zugriffsarten 3 Schichten Transaktion - 1 Transaktionsunterstützungsattribut der Komponente setzen (NoTransactions, Requires Transaction, Uses Transaction, Requires New Transaction) Ein Objekt dieser Komponente erstellen, aktivieren und wieder freigeben Im Objekt Transaktion kontrollieren: SetComplete, SetAbort Transaktion - 2 Function ' Objektkontext Dim objCtx As ObjectContext Set objCtx = GetObjectContext ' Daten bearbeiten . . . ' Trans. gültig setzen objCtx.SetComplete End Function Transaktion - 3 On Error GoTo ErrorHandler ... ErrorHandler: ' Transaktion ungültig setzen objCtx.SetAbort Err.Raise Registrierung Server-DLL mit MTS Client: CliReg32.exe, ServerApp.VBR, ServerApp.TLB CliReg32.exe Server.VBR -t Server.TLB -d -s <servername> -L -nologo (RegSvr32.exe für Server-DLLs) Installation (mit ORACLE) Windows NT 4.0 Windows NT Service Pack 3 SQL*Net + Patches IE4.01 SP1 MTS 2.0 aus Windows NT 4.0 OptionPack Windows NT Service Pack 5 MS Datenzugriffskomponenten (MDAC_TYP.EXE, Microsoft ODBC Driver for Oracle !!!) (Windows NT Service Pack 6) Literatur COM- u. MTS-Programmierung mit Visual Basic, Ted Pattison, Microsoft Press, ISBN 386063-497-6, 1999 VB 6.0-Bücher v. Microsoft Press Inside Distributed COM, G. Eddon, H.Eddon, (Komponenten-, Datenzugriffs-, Programmierhandbuch) Microsoft Press, ISBN 3-86063-459-3 Microsoft MSDN (VB-CDs bzw. Internet) MTS-Online-Hilfe Fachmagazin “basicpro”, Steingräber Fachverlag, Kiel, www.basicworld.com DEMO MTS Bsp.: Client/Server/Oracle8