Java Transaction API

Java Transaction API
Java Transaction API
Maintainer Java Community Process
Entwickler Sun Microsystems
Aktuelle Version 1.1.
(1. November 2002)
Betriebssystem plattformunabhängig
Programmier­sprache Java (Programmiersprache)
Kategorie Programmierschnittstelle
Lizenz GNU General Public License
java.sun.com/javaee/technologies/jta

Die Java Transaction API (JTA) ist eine von Sun und dem Java Community Process spezifizierte Programmierschnittstelle (API), welche den Einsatz verteilter Transaktionen über mehrere XA Ressourcen unter Java ermöglicht.[1]

Inhaltsverzeichnis

Aufgaben

Transaktions-Management ist ein wichtiger Bestandteil geschäftskritischer DV-Anwendungen. Es zeichnet u.a. dafür verantwortlich, dass Transaktionen nur dann die in einer Datenbank gespeicherten Daten einer Anwendung dauerhaft ändern, wenn sie vollkommen fehlerfrei abgeschlossen werden können.

Transaktionen sind jedoch nicht nur gegen einzelne Datenbanken notwendig, sondern auch gegenüber andere Ressourcen (wie z.B. Messaging Systemen). Ebenfalls oft notwendig sind verteilte Transaktionen, das sind Transaktionen, welche gegenüber mehrere Ressourcen (z.B. mehrere Datenbanken) gleichzeitlig laufen. Exakt dies leistet die Implementierung von JTA. Andere Kriterien wie Threadsicherheit (Nebenläufigkeit), also beispielsweise die Vermeidung von Race Conditions, fallen nicht in den Zuständigkeitsbereich von JTA.

Funktionsweise und Einsatz

JTA selbst definiert die Schnittstelle (Interfaces und Exception Klassen), über welche Java Programme mit Transaktionsmanagern kommunizieren können. Transaktionsmanager ihrerseits implementieren üblicherweise die Java Transaction Service (JTS) Programmierschnittstelle, welche die Standardschnittstelle für JTA fähige Transaktionsserver darstellt. JTS selbst ist eine Spezifikation für Transaktionsmanager, welche die JTA Spezifikation auf Kommunikationsebene und die OMG Oject Transaction Services (OTS) Spezifikation für das Java Mapping implementiert.[2]

Die JTA basiert auf dem X/Open XA Standard, welcher eine von der Open Group herausgegebene Spezifikation für Distributed Transaction Processing, die Abarbeitung von über mehrere Systeme verteilten Transaktionen ist. Dieser Standard sieht den Einsatz eines Transaktionsmanagers für die Koordination von Transaktionen über mehrere Ressourcen vor. Die Ressourcen selbst bieten typischerweise ihre eigenen Schnittstellen für die Behandlung von Transaktionen (beispielsweise Transaktionen über die JDBC-SQL Schnittstelle bei Datenbanken). Darüber hinaus müssen sie aber für X/Open XA auch noch das XA Protokoll implementieren, erst dann nennt man eine Ressource "XA-compliant". Mittels des Zwei-Phasen-Commit-Protokolls stellt der X/Open XA Standard sicher, dass eine über unterschiedliche Ressourcen verteilte Transaktion auch korrekt abläuft.

Die Java Transaction API ist eine der Programmierschnittstellen der Java Platform, Enterprise Edition und somit zwingender Bestandteil aller Java Anwendungsserver. Bei der Verwendung der Java Platform, Standard Edition muss hingegen ein JTA fähiger Transaktionsmanager hinzugezogen werden. Beispiele dafür sind TransactionsEssentials von Atomikos oder der Java Open Transaction Manager (JOTM) - siehe Weblinks.

Üblicherweise wird in der Entwicklung nicht direkt gegen die JTA programmiert, sondern über Frameworks wie Spring, Hibernate oder TopLink. Diese Frameworks können mittels JTA ein kontrolliertes Transaktions-Management über verteilte Ressourcen gewährleisten, ohne dass der Entwickler mit der Komplexität der JTA in Berührung kommt.

Geschichte

Die Java Transaction API wurde von Sun und dem Java Community Process unter dem Java Specification Request (JSR) 907 entwickelt. Die erste Version der JTA wurde gemeinsam mit der JTS Spezifikation im Dezember 1999 verabschiedet. Die minimal verbesserte Version 1.0.1 wurde am 27. September 2001 fertiggestellt. Die aktuelle Version ist JTA 1.1 vom 1. November 2002.

Weblinks

Siehe auch

Einzelnachweise

  1. Java Transaction API 1.1 Spezifikation, Susan Cheung & Vlada Matena, 1. September 2002
  2. Java™ Transaction Service (JTS) Sezifikation, Susan Cheung 1. Dezember 1999

Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Java Transaction API — Java Transaction API, сокращенно JTA  Java API для транзакций. Определяет взаимодействие между менеджером транзакций и другими участниками распределенной транзакционной системы. JTA  спецификация, разработанная в рамках Java Community… …   Википедия

  • Java Transaction API — The Java Transaction API (JTA) is one of the Java EE APIs allowing distributed transactions to be done across multiple XA resources. JTA is a specification developed under the Java Community Process as JSR 907. JTA provides for:* demarcation of… …   Wikipedia

  • Java Transaction API — JTA (del inglés Java Transaction API API para transacciones en Java) es parte de Java EE APIs, JTA establece una serie de Interfaces java entre el manejador de transacciones y las partes involucradas en el sistema de transacciones distribuidas:… …   Wikipedia Español

  • Java Transaction API — Java Transaction (JTA) est une API présente dans la spécification J2EE. JTA fournit des interfaces Java standards entre un gestionnaire de transaction et les différentes parties impliquées dans un système de transactions distribuées : le… …   Wikipédia en Français

  • Java Transaction Service — (JTS) ist ein Begriff aus der Softwareentwicklung mit Java. Bei der Kommunikation von mehreren Komponenten einer oder mehrerer Anwendungen miteinander kommt es häufig darauf an, diese Kommunikation und die daraus resultierenden Arbeitsschritte in …   Deutsch Wikipedia

  • Java Persistence API — The Java Persistence API, sometimes referred to as JPA, is a Java programming language framework that allows developers to manage relational data in Java Platform, Standard Edition and Java Platform, Enterprise Edition applications.The Java… …   Wikipedia

  • Java 2 Enterprise Edition — Java Platform, Enterprise Edition, abgekürzt Java EE oder früher J2EE, ist die Spezifikation einer Softwarearchitektur für die transaktionsbasierte Ausführung von in Java programmierten Anwendungen und insbesondere Web Anwendungen. Sie ist eine… …   Deutsch Wikipedia

  • Java 2 Platform Enterprise Edition — Java Platform, Enterprise Edition, abgekürzt Java EE oder früher J2EE, ist die Spezifikation einer Softwarearchitektur für die transaktionsbasierte Ausführung von in Java programmierten Anwendungen und insbesondere Web Anwendungen. Sie ist eine… …   Deutsch Wikipedia

  • Java EE — Java Platform, Enterprise Edition, abgekürzt Java EE oder früher J2EE, ist die Spezifikation einer Softwarearchitektur für die transaktionsbasierte Ausführung von in Java programmierten Anwendungen und insbesondere Web Anwendungen. Sie ist eine… …   Deutsch Wikipedia

  • Java Platform Enterprise Edition — Java Platform, Enterprise Edition, abgekürzt Java EE oder früher J2EE, ist die Spezifikation einer Softwarearchitektur für die transaktionsbasierte Ausführung von in Java programmierten Anwendungen und insbesondere Web Anwendungen. Sie ist eine… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”