www.wikidata.de-de.nina.az
Die Jakarta Connectors JCA fruher Java EE Connector Architecture ist eine Softwarearchitektur und Programmierschnittstelle API zur Integration von heterogenen Anwendungen in die Jakarta EE Plattform Die Architektur besteht aus zwei Teilen den Service Provider Interfaces SPI welche ein Connector Provider implementieren muss und dem Common Client Interface CCI das eine Applikation verwendet um mit dem Connector zu interagieren Daruber hinaus enthalt die JCA noch ein API fur lokale Transaktionsdemarkation Fruher wurde der Standard als J2EE Connector Architecture bezeichnet Ab Version 1 6 der Spezifikation wurde aus J2EE Java EE 1 Inhaltsverzeichnis 1 Enterprise Application Integration EAI 2 EAI und die Jakarta EE Plattform 3 Architektur 3 1 Die Systemkontrakte 4 Nicht verwaltete Umgebung 5 Verwaltete Umgebung 5 1 Konfiguration des Ressourcenadapters 5 2 Verbindungsaufbau und Sicherheit 5 3 Transaktionen 5 4 Ereignisse 6 Anmerkung 7 Weblinks 8 EinzelnachweiseEnterprise Application Integration EAI BearbeitenDie Enterprise Application Integration EAI ist ein Ansatz fur die Integration von Applikationen und Datenquellen Dieser soll den Austausch von Daten und die Verbindung von Geschaftsablaufen vereinfachen Vor diesem Ansatz wurde haufig versucht das Problem der Integration durch Eigenentwicklungen und Anpassungen zu losen Bei den Anwendungen handelte es sich allerdings oft um spezielle Insellosungen auf unterschiedlichen Plattformen und mit unterschiedlichen Kommunikationsprotokollen Deshalb war eine Integration der Produkte nur mit grossem Aufwand realisierbar EAI definiert nun einen Standard der das Kommunizieren zwischen Applikationen und Datenquellen auf einheitlichem Wege moglich macht Damit werden einzelne Teile der Integration leichter austauschbar Allerdings scheinen die technischen Unterschiede der Applikationen und Datenquellen problematisch zu sein die fur die Integration berucksichtigt werden mussen Fur Enterprise Information Systems EIS sind folgende Unterscheidungsmerkmale zu berucksichtigen Grad der technologischen Unterstutzung Beinhaltet die Moglichkeit der Durchfuhrung von Transaktionen oder Unterstutzung von Sicherheitsmechanismen Administrative und technologische Restriktionen Ein EIS kann Benutzern beispielsweise unterschiedliche Zugriffsmoglichkeiten geben Fahigkeit der Integration mit anderen Systemen EISs wurden oftmals auf bestimmte Systemumgebungen zugeschnitten wahrend die Kommunikation mit anderen Produkten nur eine untergeordnete Rolle spielte Systemdetails auf unterer Ebene Die Client APIs der EISs konnen sich unterscheiden Neben der Verwendung unterschiedlicher Programmiersprachen kann ihre Komplexitat stark variieren EAI und die Jakarta EE Plattform BearbeitenAufgrund der grossen Anzahl von unterschiedlichen EIS Systemen ist die Losung der Integrationsfrage sehr komplex Um aus einer Anwendung heraus auf Informationen eines EIS zugreifen zu konnen war bisher eine anwendungsspezifische Verbindung notwendig Die Folge war ein hoher Entwicklungsaufwand welcher mit der Anzahl der EIS Systeme und Applikationsserver wuchs da fur jeden Applikationsserver eine Verbindung zu jedem EIS hergestellt werden muss Bei m Applikationsservern und n EIS Systemen bedeutet dies einen Aufwand von m mal n siehe Abb 1 nbsp Abb 1 m mal n IntegrationsproblemDurch die Konnektor Architektur soll dieser Aufwand reduziert werden EIS Entwickler mussen ihre Systeme nicht jedem Applikationsserver anpassen Stattdessen reicht es wenn sie fur ihr EIS einen entsprechenden Ressourcenadapter entwickeln der dann in jeden Applikationsserver integriert werden kann wenn er die Konnektor Architektur unterstutzt Damit also die Applikationsserver die Ressourcenadapter einbinden konnen mussen deren Entwickler lediglich einmalig die Konnektor Architektur integrieren Somit reduziert sich der Aufwand der Integrationsproblematik auf m n siehe Abb 2 nbsp Abb 2 m n IntegrationsproblemArchitektur BearbeitenIn der verwalteten Umgebung managed environment welche spater noch naher erlautert wird lassen sich die wichtigsten Komponenten und deren Zusammenspiel erklaren Die verwaltete Umgebung definiert ein Umfeld fur eine Jakarta EE basierte mehrschichtige und webfahige Applikation die auf ein EIS zugreift Dabei besteht die Applikation aus einer oder mehreren Applikationskomponenten wie Jakarta Enterprise Beans EJBs oder Jakarta Server Pages JSPs die in einem Container ablaufen Folgende Container sind moglich Web Container fur JSPs Servlets und statische HTML Seiten EJB Container fur EJB Komponenten Applikationsclient Container fur eigenstandige Applikationsclients nbsp Abb 3 Uberblick JCADie Kommunikation der Jakarta EE Applikationskomponenten erfolgt uber den Container Komponenten Kontrakt der das Verbindungsstuck zwischen einem Container und dem Applikationsserver darstellt Dieser wird in der Jakarta EE Spezifikation definiert Um auf Funktionen des EIS zugreifen zu konnen benutzen die Applikationskomponenten einen Ressourcenadapter Der Zugriff auf diesen erfolgt uber dessen Client API Die Systemkontrakte Bearbeiten Die Einbindung des Ressourcenadapters in den Applikationsserver erfolgt uber die sogenannten Systemkontrakte Von ihnen wird das Zusammenspiel von Ressourcenadapter und Applikationsserver geregelt Ihre Implementierung wird durch die Konnektor Spezifikation zwingend gefordert Ein Applikationsserver und ein Ressourcenadapter arbeiten zusammen um alle systemnahen Mechanismen gegenuber den Applikationskomponenten transparent zu halten Es werden daher drei wichtige Systemkontrakte benotigt Kontrakt fur das Verbindungsmanagement Dieser erlaubt dem Applikationsserver Verbindungspools zum darunter liegenden EIS zu verwalten was zu einer besseren Ausnutzung von Verbindungen fuhrt Kontrakt fur das Transaktionsmanagement Dieser Kontrakt erlaubt einem Applikationsserver einen Transaktionsmanager fur die Verwaltung von Transaktionen uber mehrere Ressourcenmanager zu verwenden Kontrakt fur das Sicherheitsmanagement Der Sicherheitsmanagement Kontrakt soll einen sicheren Zugriff auf das EIS ermoglichen Er bietet Unterstutzung fur eine sichere Applikationsumgebung die Sicherheitsprobleme minimieren hilft und vom EIS verwaltete Informationen schutzt Fur die Implementierung der 3 Systemkontrakte definiert die Konnektor Spezifikation Schnittstellen welche zu grossem Teil vom Ressourcenadapter implementiert werden mussen Nicht verwaltete Umgebung BearbeitenNeben der bereits kurz erwahnten verwalteten Umgebung beschreibt die Konnektor Spezifikation weiterhin eine nicht verwaltete Umgebung non managed environment Diese definiert eine zweischichtige Applikation Ein Applikationsclient verwendet einen Ressourcenadapter direkt um auf ein EIS zuzugreifen Hierbei wird kein Applikationsserver benotigt nbsp Abb 4 Nicht verwaltete UmgebungDa fur diese Art der Integration meist ein einfacher Standard Verbindungsmanager des verwendeten Ressourcenadapters benutzt wird werden Features wie der Gebrauch von Verbindungspools meist nicht unterstutzt In Abbildung 4 ist zu sehen wie ein Applikationsclient uber einen Ressourcenadapter auf ein EIS zugreifen kann Die Connection a href Abstrakte Fabrik html title Abstrakte Fabrik Factory a Schnittstelle wird angesprochen wenn eine neue Verbindung benotigt wird Diese Verbindungsanfrage wird an die ConnectionManager Schnittstelle weitergereicht dessen Implementierung die Verwaltung der Verbindung ubernimmt Die Erzeugung der physikalischen Verbindung wird dann von der ManagedConnectionFactory Schnittstelle realisiert Die physikalische Verbindung zum EIS wird durch die ManagedConnection Schnittstelle reprasentiert Damit der Applikationsclient auf Funktionen des EIS zugreifen kann bekommt er ein Handle einer Connection Instanz welche durch die eben erwahnte ConnectionFactory Schnittstelle erzeugt wurde woruber er Zugriff auf das EIS bekommt Verwaltete Umgebung Bearbeiten nbsp Abb 5 Verwaltete UmgebungDie bereits erwahnte verwaltete Umgebung soll nun etwas naher betrachtet werden da diese den Schwerpunkt der Konnektor Architektur bildet Im Gegensatz zur nicht verwalteten Umgebung sind die Applikationskomponenten und der Ressourcenadapter uber Kontrakte mit einem Applikationsserver verbunden der somit insbesondere in das Verbindungs Transaktions und Sicherheitsmanagement eingreift Im Unterschied zur nicht verwalteten Umgebung kann man feststellen dass die Implementierung der ConnectionManager Schnittstelle innerhalb des Applikationsservers geschieht Uber die Systemkontrakte wird zudem der Zugriff auf den Ressourcenadapter vom Applikationsserver geregelt Konfiguration des Ressourcenadapters Bearbeiten Konfigurationsinformationen des Ressourcenadapters wie zum Beispiel der Servername oder die Portnummer konnen uber ein sogenanntes Deployment Tool gesetzt werden Ein so konfigurierter Ressourcenadapter wird vom Applikationsserver fur die Herstellung physikalischer Verbindungen zum darunterliegenden EIS verwendet Verbindungsaufbau und Sicherheit Bearbeiten Um zu einer Verbindung zu gelangen findet ein Aufruf der getConnection Methode der ConnectionFactory durch die Applikationskomponente statt Diese Anfrage wird an den ConnectionManager weitergereicht Ein Verbindungsmanager innerhalb des Applikationsservers bearbeitet die Anfrage und sucht eine geeignete Verbindung heraus Falls keine geeignete Verbindung besteht wird eine neue erzeugt Die vom Sicherheitsmanager verwalteten Sicherheitsmechanismen Login Passwort mussen ubereinstimmen um eine bestehende Verbindung nutzen zu konnen Die Verwaltung des Verbindungspools liegt beim Applikationsserver und wird nicht durch die Konnektor Spezifikation festgelegt Der Applikationsserver verwendet die ManagedConnectionFactory Schnittstelle zur Erzeugung physikalischer Verbindungen wobei es sich um ManagedConnection Instanzen handelt Wie auch in der nicht verwalteten Umgebung bekommt die Applikationskomponente ein Handle auf diese physikalische Verbindung Unter Benutzung des Common Client Interface CCI handelt es sich wieder um eine Connection Instanz uber die auf das EIS zugegriffen werden kann Transaktionen Bearbeiten nbsp Abb 6 a href X Open XA html title X Open XA XARessource a basierte TransaktionFur die lokale Steuerung im EIS verwendet der Applikationsserver die LocalTransaction Schnittstelle des Ressourcenadapters Verteilte Transaktionen werden uber den Transaktionsmanager geregelt welcher die a href X Open XA html title X Open XA XARessource a Schnittstelle des Ressourcenadapters benutzt Der Transaktionsmanager verwaltet Transaktionen uber eigene interne Mechanismen welche nicht durch die JCA Spezifikation vorgegeben werden In Abbildung 6 ruft ein Client die EJB Komponente X auf welche einen Zugriff auf das TP System durchfuhrt und die EJB Y aufruft Diese wiederum spricht ein ERP System an Der Applikationsserver verwendet einen Transaktionsmanager um transaktionalen Zugriff uber mehrere EIS Ressourcenmanager auszufuhren Ereignisse Bearbeiten Die ConnectionEventListener Schnittstelle informiert den Applikationsserver uber unterschiedliche Ereignisse der physikalischen Verbindung ManagedConnection Ereignisse konnen zum Beispiel das Schliessen der Verbindung das Auftreten von Fehlern oder der Status von Transaktionen sein Anmerkung BearbeitenDie bisherige Ausfuhrung zeigt grundlegende Zusammenhange der Schnittstellen innerhalb der Konnektor Architektur Um diese Schnittstellen implementieren zu konnen benotigt man naturlich detailliertere Informationen Details zu den Schnittstellen konnen in der Konnektor Spezifikation oder der Java Dokumentation des Java EE SDK nachgelesen werden Weblinks BearbeitenJEE Connector Architecture im Java EE 7 Tutorial bei Oracle englisch JSR 322 Java EE Connector Architecture 1 6 englisch JSR 112 J2EE Connector Architecture 1 5 englisch JSR 16 J2EE Connector Architecture englisch Einzelnachweise Bearbeiten JSR 322 Java EE Connector Architecture 1 6 englisch Abgerufen von https de wikipedia org w index php title Jakarta Connectors amp oldid 225282288