DE60035800T2 - Verfahren zum unterstützen von verteilten transaktionen mit jdbc 1.0 -treibern - Google Patents

Verfahren zum unterstützen von verteilten transaktionen mit jdbc 1.0 -treibern Download PDF

Info

Publication number
DE60035800T2
DE60035800T2 DE60035800T DE60035800T DE60035800T2 DE 60035800 T2 DE60035800 T2 DE 60035800T2 DE 60035800 T DE60035800 T DE 60035800T DE 60035800 T DE60035800 T DE 60035800T DE 60035800 T2 DE60035800 T2 DE 60035800T2
Authority
DE
Germany
Prior art keywords
database
transaction
jdbc
connection
driver
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60035800T
Other languages
English (en)
Other versions
DE60035800D1 (de
Inventor
Tony Chun Fremont NG
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Application granted granted Critical
Publication of DE60035800D1 publication Critical patent/DE60035800D1/de
Publication of DE60035800T2 publication Critical patent/DE60035800T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Description

  • Hintergrund der Erfindung
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft im Allgemeinen eine Transaktionsunterstützung in einer Berechnungsumgebung für verteilte Objekt und insbesondere ein Verfahren für eine verteilte Transaktionsunterstützung unter Verwendung von JDBC-1.0-Treibern.
  • 2. Beschreibung des verwandten Standes der Technik
  • Java Database-Konnektivität oder JDBC ist eine allgemeine SQL-Datenbankzugriffs-Anwendungsprogrammschnittstelle (API – applications program interface) für die Java-Programmiersprache. Diese API stellt eine einheitliche Schnittstelle für eine Vielzahl von unterschiedlichen Datenbank-Modulen bereit, die es Programmierern erlaubt, eine einzelne Datenbankschnittstelle zum Zugreifen auf eine Vielzahl von unterschiedlichen Datenbänken zu schreiben. Die ursprüngliche JDBC-1.0-Spezifikation wurde neulich durch die Freigabe einer JDBC-2.0-Kern-API-Spezifikation, Version 1.0, 30. Mai 1998 und einer JDBC-2.0-Standarderweiterungs-API-Spezifikation, Version 1.0, 7. Dezember 1998 aktualisiert.
  • Wie in 1 gezeigt, werden, wenn eine Datenbankverbindung von einem JDBC 1.0 Treiber erhalten wird, alle Datenbankzugriffe, die über diese Verbindung durchgeführt werden, von der Transaktion durchgeführt, die spezifisch für diese Verbindung ist. Falls es zum Beispiel drei Datenbankverbindungen C1, C2, C3 gibt, wird die Arbeit, die über die drei Verbindungen durchgeführt wird, in drei getrennte, unabhängige Transaktionen T1, T2, T3 getrennt.
  • Die JDBC-2.0-Standarderweiterung-API definiert eine Unterstützung für verteilte Transaktionen unter Verwendung des Standard-Zwei-Phasen-Übergabeprotokolls, das in der Java-Transaktions-API (JTA – Java Transaction API) definiert ist. Dieses Merkmal erlaubt, dass viele JDBC-Verbindungen zu vielen Datenbanken unter gleichen, globalen Transaktion koordiniert werden. Mit anderen Worten wird eine Serie von Arbeit durch einzelne Komponenten in eine einzelne Einheit von Arbeit gruppiert, z.B. eine einzelne Transaktion. Wie zum Beispiel in 2 dargestellt, ist es mit einem JDBC-2.0-Standarderweiterungs-Treiber möglich, mehrfache Datenbankverbindungen C4, C5, C6 derart zu erhalten, dass sie alle in der gleichen, globalen Transaktion T4 eingetragen sind. Mit anderen Worten ist die gesamte Arbeit, die über diese Verbindungen C4, C5, C6 durchgeführt wird, ein Teil der gleichen, globalen Transaktion T4.
  • Eine Unterstützung für die JDBC-2.0-Standarderweiterungs-API ist jedoch optional und viele Datenbanken stellen lediglich JDBC-1.0-Treiber bereit. Die JDBC-1.0-Treiber umfassen keine Unterstützung für verteilte Transaktionen wie in der JDBC-2.0-Standarderweiterung definiert. Es wäre daher wünschenswert, eine begrenzte Unterstützung für verteilte Transaktionen unter Verwendung von JDBC-1.0-Treibern bereitzustellen, ohne die Notwendigkeit eines JDBC-2.0-Standarderweiterungs-kompatiblen-Treibers.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung stellt eine Gestaltung und Implementation von Klassen bereit, die die Simulation eines JDBC-2.0-Standarderweiterungs-Treiberverhaltens unter Verwendung von Standard-JDBC-1.0-Treibern erlauben. Statt einem Erzeugen einer neuen physikalischen Datenbankverbindung für jede Verbindungsanfrage, hält ein Schnittstellen-Treiber intern eine Abbildung in einer Tabelle zwischen einem globalen Transaktionsidentifikator und der physikalischen Datenbankverbindung aufrecht. Selbst falls eine Anwendung mehrere Verbindungen zu der gleichen Datenbank anfordert, wird der Gesamtdatenbankzugriff durch diese Verbindungen tatsächlich zu der gleichen, physikalischen Datenbankverbindung umgeleitet, wie diese in der Tabelle aufrechterhalten wird. Dies erlaubt es, dass die gesamte Arbeit unter der gleichen Transaktion koordiniert wird.
  • Zunächst hält ein Adapter eine Tabelle von Abbildungen zwischen globalen Transaktionsidentifikatoren und zugeordneten, physikalischen Verbindungen aufrecht. Wenn eine Komponente eine Datenbankverbindung anfordert, wird der Komponente eine virtuelle Verbindung zugewiesen. Wenn die Komponente versucht auf die Verbindung zuzugreifen, bestimmt der Adapter, ob eine physikalische Verbindung mit der Transaktion der Komponente verknüpft ist. Falls nicht, wird eine physikalische Verbindung erzeugt und die Tabelle wird aktualisiert. Die virtuelle Verbindung der Komponente wird dann dynamisch mit der physikalischen Verbindung beschaltet, die mit der Transaktion der Komponente verknüpft ist. Daher wird der Zugriff der Komponente zu der physikalischen Verbindung umgeleitet. Aus der Sicht der Datenbank wird lediglich eine physikalische Verbindung aufgebaut und mit lediglich einer Transaktion verknüpft. Die Arbeit, die von unterschiedlichen Komponenten durchgeführt wird, wird dadurch automatisch unter der gleichen Transaktion gruppiert.
  • Kurze Beschreibung der Zeichnungen
  • Die vorliegende Erfindung wird leicht durch die folgende detaillierte Beschreibung in Verbindung mit den begleitenden Zeichnungen verstanden, wobei gleiche Bezugszeichen gleiche strukturelle Elemente bezeichnen und in denen:
  • 1 Datenbankverbindungen darstellt, die gemäß einem JDBC-1.0-Treiber durchgeführt werden;
  • 2 Datenbankverbindungen darstellt, die gemäß einem JDBC-2.0-Treiber durchgeführt werden;
  • 3 ist ein Diagramm einer typischen J2EE-RI-Implementation;
  • 4 stellt die Beziehung zwischen einem Container, Komponenten, einem JDBC-Treiber und einer Datenbank dar;
  • 5(A) stellt einen Container dar, der konfiguriert ist, einen JDBC-2.0-Treiber zu verwenden;
  • 5(B) stellt einen Container dar, der gemäß der vorliegenden Erfindung konfiguriert ist;
  • 6 stellt eine bevorzugte Ausführung der vorliegenden Erfindung dar; und
  • 7 ist ein Flussdiagramm des Betriebs der vorliegenden Erfindung.
  • Detaillierte Beschreibung der Erfindung
  • Die folgende Beschreibung wird bereitgestellt, um es irgendeiner auf dem Gebiet tätigen Person zu ermöglichen, die Erfindung durchzuführen und zu verwenden und stellt die besten Ausführungsarten dar, die von dem Erfinder zum Ausführen der Erfindung genannt sind. Unterschiedliche Modifikationen jedoch werden leicht den auf dem Gebiet tätigen Fachleuten ersichtlich, da die Grundprinzipien der vorliegenden Erfindung hierin insbesondere definiert wurden, um ein Verfahren für eine verteilte Transaktionsunterstützung unter Verwendung von JDBC-1.0-Treibern bereitzustellen.
  • Die Java 2 Platform Enterprise Edition (J2EE) von Sun Microsystems ist eine Plattform zum Konstruieren von Java- Technologie-basierender-Vielschichtanwendungen über ein verteiltes, Objekt orientiertes Unternehmen. Eine bestimmte J2EE-kompartible Implementierung ist als die J2EE-Reference Implementation oder J2EE RI bekannt. Die J2EE RI umfasst eine Implementierung eines Java-Transaktionsdienstes (JTS – Java Transaction Service) und eine Java-Transaction-API (JTA). Der JTS wird durch die Java-Transaction Service-Entwurfspezifikation, Version 0,95, 1. März 1999 spezifiziert und die JTA wird von der Java-Transaction-API-Spezifikation, Version 1.0.1, 29. April 1999 spezifiziert. Die JTA-Spezifizierung spezifiziert die Schnittstellen auf höchster Ebene zwischen einem Transaktionsmanager und irgendwelchen anderen Parteien, die an einem verteilten Übertragungssystem beteiligt sind, wie zum Beispiel die Anwendung, den Ressourcen-Manager und den Anwendungsserver.
  • Eine typische J2EE-Implementation ist in 3 dargestellt. Die J2EE-Implementation 10 kann auf einer oder mehreren physikalischen Maschinen installiert werden, da der J2EE-Standard keine vordefinierte Hardware-Konfiguration spezifiziert. Die Standardarchitektur unterstützt zwei Arten von Komponenten, Web-Komponenten und Enterprise Java Bean-(EJB) Komponenten 141, 142 und ebenso Anwendungs-Clients. Die Web-Komponenten umfassen Jave Server Pages (JSP) 121 und servlets 122. Die JSP-Komponenten 121 können zum Beispiel über einen Web-Browser 20 unter Verwendung von http zugegriffen werden. Jeder Typ einer Komponente ist innerhalb eines „Containers" 12, 14, 16, 17 enthalten, der eine Umgebung bereitstellt, in der die Komponenten oder Anwendungen laufen. Eine J2EE-Implementation 10 kann mehrere Container vom gleichen Typ 16, 17 enthalten und die Container können in einer verteilten Umgebung existieren. Einzelne Komponenten können mit anderen über die Container oder mit externen Datenbanken 18 interagieren. Jeder Container weist seinen eigenen Transaktions-Manager 124, 144, 164 auf, um Transaktionen innerhalb des Containers zu verwalten. Die Transaktions-Manager können mit anderen Transaktions-Managern kommunizieren, um eine Transaktions-Statusinformation zu bestimmen.
  • Wie in 4 dargestellt, kann jede Komponente 401 in einem Container 40 eine Verbindung mit einer Datenbank 18 öffnen, um die gleiche Datenbankfunktion durchzuführen. Diese Datenbankanforderungen werden durch einen JDBC-Treiber 405 gehandhabt. Jedoch sehen, wie oben beschrieben, JDBC-1.0-Treiber vor, dass jede Verbindung mit der Datenbank eine unabhängige Transaktion darstellt. Idealerweise wären alle Komponenten, die an der gleichen Transaktion arbeiten, in der Lage, eine getrennte Verbindung zu öffnen, jedoch alle Verbindungen mit der gleichen Transaktion verknüpft aufzuweisen. Eine Lösung ist es, einen JDBC-2.0-Standarderweiterungs-Treiber zu verwenden, der es Containern erlaubt, Transaktionen dynamisch mit mehreren Verbindungen zu verknüpfen. Jedoch haben viele Datenbanken keinen kommerziellen JDBC-2.0-Treiber bereitgestellt. Daher stellt die vorliegende Erfindung eine Zwischenlösung bereit, die eine begrenzte Unterstützung für verteilte Transaktionen unter Verwendung existierender JDBC-1.0-Treiber bereitstellt.
  • Die vorliegende Erfindung stellt eine Gestaltung und eine Implementierung von Klassen bereit, die die Simulation von JDBC-2.0-Standarderweiterungs-Treiberverhalten unter Verwendung von JDBC-1.0-Treibern erlauben. Wie hierin definiert, wird die vorliegende Erfindung als ein JDBC-2.0-Standarderweiterungs-Adapter oder einfach ein Adapter bezeichnet. Statt einem Erzeugen einer neuen, physikalischen Datenbankverbindung für jede Verbindungsanfrage, hält der Adapter intern eine Abbildung in einer Tabelle zwischen einem globalen Transaktions-Identifikator und der physikalischen Datenbankverbindung aufrecht. Selbst falls eine Anwendung mehrere Verbindungen zu der gleichen Datenbank für die gleiche Transaktion anfordert, wird der gesamte Datenbankzugriff über diese Verbindungen tatsächlich zu der gleichen, physikalischen Datenbankverbindung umgeleitet, wie diese in der Tabelle aufrechterhalten wird. Dies erlaubt es, dass die gesamte Arbeit unter der gleichen Transaktion koordiniert wird.
  • Die vorliegende Erfindung schirmt einen Container von einem Erkennen ab, das zwei unterschiedliche Versionen eines JDBC-Treibers existieren. Insbesondere weist, wie in 5(A) gezeigt, der Container 50 einen JDBC-2.0-Standarderweiterungs-Treiber 501 auf und daher sieht der Container eine JDBC-2.0-Standarderweiterungs-API 502. Der Container 52 in 5(B) jedoch weist einen JDBC-1.0-Treiber 521 auf. Gewöhnlich würde der Container 52 eine JDBC-1.0-API 522 sehen. Die vorliegende Erfindung umfasst jedoch einen JDBC-2.0-Standarderweiterungs-Adapter 523, um die gleiche JDBC-2.0-Standarderweiterungs-API 524 dem Container 52 darzustellen, wie diese von dem Container 50 mit einem 2.0-Treiber gesehen werden würde.
  • Falls daher der zugrunde liegende Treiber ein JDBC-2.0-Standarderweiterungs-Treiber ist, ist es kein Problem und die vorliegende Erfindung wird nicht implementiert. Falls der Treiber jedoch ein 1.0-Treiber ist, erweitert der Adapter 523 die Funktionalität des 1.0-Treibers, um ihn aus der Perspektive des Containers wie einen 2.0-Treiber verhalten zu lassen, ohne jegliche spezifische Unterstützung von den Datenbanken.
  • Der Betrieb des Adapters 523 wird nun in Bezug auf 6 beschrieben. Statt einem sofortigen Öffnen einer Verbindung zu der Datenbank 601, wenn eine Komponente 602 eine Anfrage tätigt, wird der Komponente eine Verbindung 62 gegeben, die anfänglich nicht mit der Datenbank 601 verbunden ist (z.B. eine „virtuelle Verbindung"). Eine getrennte Tabelle 60 wird aufrechterhalten, die einen globalen Transaktions-Identifikator mit einer physikalischen Verbindung zu der Datenbank verknüpft. Zum Beispiel wird eine Transaktion T1 mit einer physikalischen Verbindung C1 verknüpft.
  • 7 ist ein Flussdiagramm, das den Betrieb der vorliegenden Erfindung darstellt. Zunächst hält der Adapter 523 eine Tabelle von Abbildungen zwischen globalen Transaktions-Identifikatoren und verknüpften physikalischen Verbindungen aufrecht (Schritt 70). Wenn eine Komponente eine Datenbankverbindung anfordert, wird der Komponente eine virtuelle Verbindung zugewiesen (Schritt 72). Wenn die Komponente versucht, auf die virtuelle Verbindung zuzugreifen, bestimmt der Adapter, ob oder ob nicht eine physikalische Verbindung mit der Transaktion der Komponente verknüpft ist (Schritt 74). Falls nicht, wird eine neue physikalische Verbindung erzeugt und die Tabelle aktualisiert (Schritt 80). Die virtuelle Verbindung wird dann dynamisch mit der physikalischen Verbindung beschaltet (verbunden), die mit der Transaktion der Komponente verknüpft ist (Schritt 76). Der Datenbankzugriff wird daher zu der physikalischen Verbindung umgeleitet (Schritt 78). Aus der Sicht der Datenbank wird lediglich eine physikalische Verbindung aufgebaut und mit lediglich einer Transaktion verknüpft. Die Arbeit, die von den unterschiedlichen Komponenten durchgeführt wird, wird daher automatisch unter der gleichen Transaktion gruppiert.
  • Die vorliegende Erfindung ist jedoch etwas begrenzt. Damit die vorliegende Erfindung arbeitet, müssen die Komponenten in dem gleichen Prozess oder einer Java Virtual Machine vorliegen, da sie ansonsten nicht in der Lage sind, die gleiche physikalische Verbindung zu teilen. Eine tatsächliche JDBC-2.0-Standarderweiterungsimplementation würde diese Einschränkung nicht aufweisen. Da nicht alle Datenbanken die Fähigkeit haben, mehrere Verbindungen für eine einzelne Transaktion zu unterstützen, erlaubt es die vorliegende Erfindung diesen Datenbanken in einer begrenzten Weise, die gleichen Ergebnisse zu erzielen, ohne einen fortschrittlichen JDBC-Treiber aufzuweisen. Durch Verwenden einer Schnittstelle innerhalb des Containers braucht der Container lediglich die 2.0-Standarderweiterungs-API zu verstehen, während die Datenbanken mit einem 1.0-Treiber interagieren.
  • Die auf dem Gebiet tätigen Fachleute werden verstehen, dass unterschiedliche Anpassungen und Modifikationen der gerade beschriebenen, bevorzugten Ausführungen konfiguriert werden können, ohne von dem Umfang der Erfindung abzuweichen. Daher ist es selbstverständlich, dass innerhalb des Umfangs der angehängten Ansprüche die Erfindung anders als hierin spezifisch beschrieben ausgeführt werden kann.

Claims (18)

  1. Verfahren zur verteilten Transaktionsunterstützung auf einem Computersystem mit einem Datenbanksystem unter Verwendung eines Datenbanktreibers, wobei das Verfahren durch die Schritte gekennzeichnet ist: Verknüpfen einer physikalischen Datenbankverbindung mit jeder Transaktion; Zuordnen einer virtuellen Datenbankverbindung (62) zu einer Komponente, die eine Datenbankverbindung (72) anfordert; und Verknüpfen jeder virtuellen Datenbankverbindung mit einer physikalischen Datenbankverbindung basierend auf einem Transaktionsidentifikator (76).
  2. Verfahren nach Anspruch 1 weiter mit den Schritten: dynamisches Austauschen virtueller Verbindungen, die mit der gleichen physikalischen Verbindung verknüpft sind, um Datenbankverbindungen für jede der Komponenten bereitzustellen.
  3. Verfahren nach Anspruch 2, wobei der Datenbanktreiber ein JBDC 1.0-Treiber ist.
  4. Verfahren nach Anspruch 3, wobei das Verfahren eine Simulation eines JDBC 2.0 Standard Extension-Treiberverhaltens bereitstellt.
  5. Verfahren nach Anspruch 4, wobei der Schritt eines Verknüpfens den Schritt eines Bildens einer Tabelle von Transaktions- und Verbindungsbeziehungen umfasst.
  6. Verfahren nach Anspruch 5, wobei das Verfahren als ein Adapter implementiert ist, der eine Schnittestelle zu einem JDBC 1.0-Treiber bilden kann.
  7. Verfahren nach Anspruch 6, wobei der Adapter eine JDBC 2.0 API-Schnittstelle bereitstellt, wie von einem Container gesehen.
  8. Verfahren nach Anspruch 7, wobei alle der Komponenten, die mit einer Transaktion verknüpft sind, auf dem gleichen Prozess oder einer Java Virtual Machine (JVM) sind.
  9. Verfahren nach Anspruch 8, wobei das Computersystem ein Java 2 Platform Enterprise Edition (J2EE) – System ist.
  10. Verfahren für einen Computersystem-Datenbanktreiberadapter (523) zum Verknüpfen vieler Datenbankverbindungen mit einer einzelnen Transaktion, wobei das Verfahren durch die Schritte gekennzeichnet ist: Verknüpfen einer physikalischen Datenbankverbindung mit jeder Transaktion durch Bilden einer Tabelle von Transaktions- und physikalischen Verbindungsbeziehungen; Zuordnen einer virtuellen Datenbankverbindung (62) zu einer Komponente, die eine Datenbankverbindung (72) anfordert; und Verknüpfen jeder virtuellen Datenbankverbindung mit einer physikalischen Datenbankverbindung basierend auf einem Transaktionsidentifikator (76), der in der Tabelle (76) gespeichert ist; und dynamisches Austauschen virtueller Verbindungen, die mit der gleichen physikalischen Verbindung verknüpft sind, um Datenbankverbindungen für jede der Komponenten bereitzustellen.
  11. Verfahren nach Anspruch 10, wobei der Adapter eine Simulation eines JDBC 2.0 Standard Extension-Treiberverhaltens bereitstellt.
  12. Verfahren nach Anspruch 12, wobei der Adapter eine Schnittestelle zu einem JDBC 1.0-Treiber bilden kann.
  13. Verfahren nach Anspruch 12, wobei der Adapter eine JDBC 2.0 API-Schnittstelle bereitstellt, wie von einem Container gesehen.
  14. Verfahren nach Anspruch 13, wobei alle der Komponenten, die mit einer Transaktion verknüpft sind, auf dem gleichen Prozess oder einer Java Virtual Machine (JVM) sind.
  15. Verfahren nach Anspruch 14, wobei das Computersystem ein Java 2 Platform Enterprise Edition (J2EE) – System ist.
  16. Verfahren zum Simulieren eines JDBC 2.0 Standard Extension-Treiberverhaltens unter Verwendung eines Standard-JDBC 1.0-Treibers, wobei das Verfahren durch die Schritte gekennzeichnet ist: Erzeugen einer Abbildung in einer Tabelle (60) zwischen globalen Transaktionsidentifikatoren (T1, T2, T3) und physikalischen Datenbankverbindungen (C1, C2, C3); und Umleiten aller Datenbankverbindungsanfragen, die mit einem globalen Transaktionsidentifikator verknüpft sind, über die gleiche physikalische Datenbankverbindung, wie in der Tabelle aufrecht erhalten.
  17. Verfahren nach Anspruch 16, wobei der Schritt eines Umleitens die Schritte umfasst; und Verknüpfen jeder virtuellen Datendankverbindung mit einer physikalischen Datenbankverbindung basierend auf dem Transaktionsidentifikator der Komponente.
  18. Verfahren nach Anspruch 17, weiter mit dem Schritt: dynamisches Austauschen virtueller Verbindungen, die mit der gleichen physikalischen Verbindung verknüpft sind, um Datenbankverbindungen für jede der Komponenten bereitzustellen.
DE60035800T 1999-06-14 2000-06-09 Verfahren zum unterstützen von verteilten transaktionen mit jdbc 1.0 -treibern Expired - Lifetime DE60035800T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US333141 1999-06-14
US09/333,141 US6411956B1 (en) 1999-06-14 1999-06-14 Method for distributed transaction support using JDBC 1.0 drivers
PCT/US2000/015930 WO2000077686A2 (en) 1999-06-14 2000-06-09 Method for distributed transaction support using jdbc 1.0 drivers

Publications (2)

Publication Number Publication Date
DE60035800D1 DE60035800D1 (de) 2007-09-13
DE60035800T2 true DE60035800T2 (de) 2008-04-30

Family

ID=23301478

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60035800T Expired - Lifetime DE60035800T2 (de) 1999-06-14 2000-06-09 Verfahren zum unterstützen von verteilten transaktionen mit jdbc 1.0 -treibern

Country Status (6)

Country Link
US (1) US6411956B1 (de)
EP (1) EP1252584B1 (de)
JP (1) JP2003529120A (de)
AU (1) AU5478200A (de)
DE (1) DE60035800T2 (de)
WO (1) WO2000077686A2 (de)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1182479C (zh) * 2000-01-07 2004-12-29 国际商业机器公司 有效地收集、整理和访问证书吊销表的***和方法
US6938256B2 (en) 2000-01-18 2005-08-30 Galactic Computing Corporation System for balance distribution of requests across multiple servers using dynamic metrics
US20040259774A1 (en) * 2000-03-08 2004-12-23 Enrique Alvarez Therapeutic polypeptides, nucleic acids encoding same, and methods of use
US8538843B2 (en) 2000-07-17 2013-09-17 Galactic Computing Corporation Bvi/Bc Method and system for operating an E-commerce service provider
US6816905B1 (en) * 2000-11-10 2004-11-09 Galactic Computing Corporation Bvi/Bc Method and system for providing dynamic hosted service management across disparate accounts/sites
US7136857B2 (en) * 2000-09-01 2006-11-14 Op40, Inc. Server system and method for distributing and scheduling modules to be executed on different tiers of a network
US20030050932A1 (en) * 2000-09-01 2003-03-13 Pace Charles P. System and method for transactional deployment of J2EE web components, enterprise java bean components, and application data over multi-tiered computer networks
US20020184337A1 (en) * 2001-05-21 2002-12-05 Anders Hyldahl Method and computer system for constructing references to virtual data
US6567809B2 (en) * 2001-06-08 2003-05-20 International Business Machines Corporation Disabling and reloading enterprise java beans using database trigger programs
US7571215B2 (en) * 2001-07-16 2009-08-04 Bea Systems, Inc. Data replication protocol
US7409420B2 (en) * 2001-07-16 2008-08-05 Bea Systems, Inc. Method and apparatus for session replication and failover
US6918013B2 (en) * 2001-07-16 2005-07-12 Bea Systems, Inc. System and method for flushing bean cache
US7702791B2 (en) * 2001-07-16 2010-04-20 Bea Systems, Inc. Hardware load-balancing apparatus for session replication
US20030023898A1 (en) * 2001-07-16 2003-01-30 Jacobs Dean Bernard Layered architecture for data replication
US7028030B2 (en) * 2001-08-30 2006-04-11 Bea Systems, Inc. Cluster caching with concurrency checking
US6826601B2 (en) * 2001-09-06 2004-11-30 Bea Systems, Inc. Exactly one cache framework
US7113980B2 (en) * 2001-09-06 2006-09-26 Bea Systems, Inc. Exactly once JMS communication
KR100429514B1 (ko) 2001-12-12 2004-05-03 삼성전자주식회사 네트워크관리프로토콜에 있어 정보 보관용관리정보베이스의 데이터베이스 억세스방법 및 시스템
US7930704B2 (en) * 2002-02-06 2011-04-19 Oracle International Corporation J2EE component extension architecture
US7392302B2 (en) 2002-02-21 2008-06-24 Bea Systems, Inc. Systems and methods for automated service migration
US20030182426A1 (en) * 2002-03-21 2003-09-25 Sun Microsystems, Inc. Apparatus and method of lazy connection transaction enlistment
US6850942B2 (en) * 2002-04-26 2005-02-01 International Business Machines Corporation System and method for providing multiple virtual database connections in a relational database system
US7337184B1 (en) * 2002-07-17 2008-02-26 International Business Machines Corporation Topology mapping of a multitier compute infrastructure
US7243306B1 (en) 2002-07-17 2007-07-10 International Business Machines Corporation Service descriptor for a multitier compute infrastructure
US7962590B1 (en) * 2002-07-17 2011-06-14 International Business Machines Corporation Automated discovery of a multitier compute infrastructure
US7210143B2 (en) * 2002-07-17 2007-04-24 International Business Machines Corporation Deployment of applications in a multitier compute infrastructure
US7506342B2 (en) * 2002-07-23 2009-03-17 Bea Systems, Inc. System and method for implementing J2EE connector architecture
US7698434B2 (en) * 2002-08-29 2010-04-13 Bea Systems, Inc. J2EE connector architecture
US8145759B2 (en) 2002-11-04 2012-03-27 Oracle America, Inc. Dynamically configurable resource pool
US7743083B2 (en) * 2003-04-24 2010-06-22 Oracle America, Inc. Common transaction manager interface for local and global transactions
US7610305B2 (en) 2003-04-24 2009-10-27 Sun Microsystems, Inc. Simultaneous global transaction and local transaction management in an application server
US20040267690A1 (en) * 2003-06-26 2004-12-30 International Business Machines Corporation Integrated development environment with context sensitive database connectivity assistance
US7640545B2 (en) * 2003-07-14 2009-12-29 Sun Microsytems, Inc. Transaction manager freezing
US7739252B2 (en) 2003-07-14 2010-06-15 Oracle America, Inc. Read/write lock transaction manager freezing
US8521875B2 (en) * 2003-09-04 2013-08-27 Oracle America, Inc. Identity for data sources
US8266326B2 (en) * 2003-09-15 2012-09-11 Oracle America, Inc. Frameworks for integrating information systems
US7257605B2 (en) * 2004-02-09 2007-08-14 International Busniess Machines Corporation System for heterogeneous distributed transaction management in database systems
US7757226B2 (en) * 2004-03-17 2010-07-13 Oracle International Corporation Method and mechanism for performing a rolling upgrade of distributed computer software
US20050251523A1 (en) * 2004-05-07 2005-11-10 Oracle International Corporation Minimizing downtime for application changes in database systems
US8060482B2 (en) 2006-12-28 2011-11-15 Intel Corporation Efficient and consistent software transactional memory
US8037467B2 (en) * 2007-10-26 2011-10-11 International Business Machines Corporation Single stream processing with multi-version support of application operating environments
US7962782B2 (en) * 2008-05-20 2011-06-14 International Business Machines Corporation Modifying connection records
US8972438B2 (en) 2010-12-06 2015-03-03 International Business Machines Corporation Database access for native applications in a virtualized environment
US9424007B2 (en) * 2011-06-02 2016-08-23 Open Invention Network, Llc System and method for pervasive software platform-based model driven architecture transaction aware application generator
US20140032608A1 (en) * 2012-07-30 2014-01-30 Gregory P. Comeau Database adapter
US20160092037A1 (en) * 2014-09-25 2016-03-31 Osix Corporation Computer-Implemented Methods, Computer Readable Media, And Systems For Distributed Processing
CN110022367A (zh) * 2019-04-11 2019-07-16 软通动力信息技术(集团)有限公司 一种事务处理方法和事务处理***
CN111694846B (zh) * 2020-06-04 2023-08-29 贵州易鲸捷信息技术有限公司 一种基于Type 2 JDBC驱动的分离模式分布式存储过程实现方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167253A (en) * 1995-01-12 2000-12-26 Bell Atlantic Network Services, Inc. Mobile data/message/electronic mail download system utilizing network-centric protocol such as Java
US5899990A (en) * 1997-03-31 1999-05-04 Sun Microsystems, Inc. Java-to-Database Connectivity Server
US6256637B1 (en) * 1998-05-05 2001-07-03 Gemstone Systems, Inc. Transactional virtual machine architecture

Also Published As

Publication number Publication date
WO2000077686A3 (en) 2002-08-15
EP1252584B1 (de) 2007-08-01
US6411956B1 (en) 2002-06-25
EP1252584A2 (de) 2002-10-30
AU5478200A (en) 2001-01-02
DE60035800D1 (de) 2007-09-13
JP2003529120A (ja) 2003-09-30
WO2000077686A2 (en) 2000-12-21

Similar Documents

Publication Publication Date Title
DE60035800T2 (de) Verfahren zum unterstützen von verteilten transaktionen mit jdbc 1.0 -treibern
DE69523939T2 (de) Verfahren zur erzeugung von objektstrukturen für den zugriff auf konventionelle, nicht objekt-orientierte geschäftsanwendungen
DE3852324T2 (de) Verfahren und System zur Netzwerkverwaltung.
EP0825524B1 (de) Verfahren zur Verwaltung der Benennung von Objekten
DE69228621T2 (de) Objektorientiertes verteiltes Rechnersystem
DE68919976T2 (de) Verfahren zur Herstellung von aktuellen Terminaladressen für Systemanwender die verteilte Anwendungsprogramme in einer SNA LU 6.2-Netzwerkumbegung verarbeiten.
DE69112156T2 (de) Gerät zur Realisierung von Datenbanken zum Verschaffen von objektorientiertem Aufrufen von Anwendungsprogrammen.
DE69829442T2 (de) System und Verfahren für transparenten, globalen Zugang zu physikalischen Geräten in einem Rechnersystem
DE69832354T2 (de) Netzwerkverwaltungsrahmenwerk
DE69229888T2 (de) Netzwerkverwaltungssystem und relationelle Datenbank dafür
DE68919631T2 (de) Verfahren zur Verarbeitung von Programmteilen eines verteilten Anwendungsprogramms durch einen Hauptrechner und einen intelligenten Arbeitsplatz in einer SNA LU 6.2-Netzwerkumgebung.
DE69220093T2 (de) Verarbeitungsnetzwerk für verteilte anwendungsprogramme.
DE69129479T2 (de) Verteiltes Rechnersystem
DE69606184T2 (de) Klient-server-brücke
DE69228819T2 (de) Konfigurations- und Betriebsverfahren eines Telekommunikationsgeräts
DE69425699T2 (de) Integrierung von Systemverwaltungsdiensten mit einem unterliegenden Systemobjektmodell
DE69523142T2 (de) Verteiltes datenbanksystem
DE69533786T2 (de) Vorrichtung zum Erzeugen von objektorientierten Schnittstellen für relationale Datenbanken und von dieser Vorrichtung durchgeführtes Verfahren
DE69804673T2 (de) Verfahren und system zum erstellen von indizien, die klassen einer objekt-orientierten anwendung entsprechen, in einer relationalen datenbank
DE69830285T2 (de) Auf Beans basiertes Verwaltungssystem
DE69424597T2 (de) Erweiterbares Dateiensystem
DE69510226T2 (de) Verfahren und vorrichtung zur aktualisierung oder änderung eines netzwerkverzeichnisses
DE69229453T2 (de) Verfahren und Anordnung zum Zugriff auf eine relationelle Datenbank, ohne eine objektorientierte Umgebung verlassen zu müssen
DE69029441T2 (de) System für den Aufruf von Prozeduren von einem Fernnetzwerkknotenpunkt
DE69323196T2 (de) Rechnersystem und Verfahren zur Ausführung von mehreren Aufgaben

Legal Events

Date Code Title Description
8364 No opposition during term of opposition