Was sind die Vorteile der JCA?
Unsere Anwendung oft eine Verbindung zu einer anderen Art von back-ends über web-services, MQ, JDBC, proprietäre (direkt über Steckdose) und andere Arten von Verkehr. Wir haben bereits eine Reihe von Implementierungen, die uns verbinden, unsere Anwendung, um diese back-ends und während all dieser Implementierungen Umsetzung der gemeinsamen java-Schnittstelle, die Sie nicht teilen, nichts anderes.
Wir haben erkannt, dass es Sinn Teile von code, die für alle von diesen bestimmten connector-Implementierungen und wir haben beschlossen, zur Optimierung der Entwicklung zukünftiger Anschlüsse über einen universal-Stecker. Dieser connector wird in der Lage sein, formatieren von Nachrichten in ein format erwartet von back-end und senden Sie Sie mit den verfügbaren Transportmechanismus. Zum Beispiel, Feste-Länge-message-format über MQ oder über ein socket.
Eines der Dilemmata, mit denen wir konfrontiert sind, ist die am besten geeignete Technologie für diese Art von Anschluss. So weit, unsere Anschlüsse wurden grundlegende java-Klassen, die die Umsetzung der gemeinsamen java-Schnittstelle. Da wir in der Regel hosten unsere Anwendungen einige Java EE application server, es scheint, dass Java-Connector-Architektur wäre die am besten geeignete Technologie für dieses Stück software. Aber die Umsetzung von JCA konformer Konnektor, scheint relativ Komplex. Was sind die greifbaren Vorteile, die mit der standard – JCA und tun-Vorteile rechtfertigen den zusätzlichen Aufwand?
- Ich denke, ich sollte zählen JBI in der Kombination. In diesem Fall sollte die Frage sein: Vorteile von JBI vs. Vorteile der JCA vs. Vorteile der POJO-Ansatz.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Tat JCA scheint die am besten geeignete Technologie für Sie. Ohnehin schon sehr gute Argumente gemacht worden, nämlich die Portabilität, standardisierte Schnittstelle, den Verbindungs-pooling und Unterstützung von Transaktionen. Und vergessen Sie nicht, Sicherheit.
Mit WebSphere Process server die Adapter könnten ausgesetzt werden, als eine SCA-service, die haben eine Menge Vorteile, wenn das ist wichtig für Sie.
Auch einige Entwicklungs-tools haben umfangreiche Unterstützung für die Entwicklung und Erprobung JCA-Konnektoren.
Ein weiterer Vorteil ist der (erfahrene) Java-EE-Administratoren und Java-EE-Entwickler (sollten) wissen, die standard-also die Verwaltung und Entwicklung sollte leicht zu straffen.
Aber am Ende sollten Sie haben, um Ursachen zu finden, zu implementieren, JCA, basierend auf dem Umfang des Projekts, die Pläne für die Zukunft haben Sie für Ihr Projekt oder vielleicht auch in die Politik Ihres Unternehmens.
Kurze Antwort: ich sehe keinen Vorteil bei der Auswahl JCA gegenüber anderen Technologien, sehe ich es als Nachteil, da Sie müssen Java-EE-container.
Lange Antwort:
Ich habe Skeptiker über diese Java-EE-standards für einige Zeit jetzt. Ich sehe nicht, eine überzeugende technische Grund für die Verwendung einer full-featured Java-EE-server mehr, da gibt es bessere open-source-Implementierungen für jeder - Funktion angeboten. Ich habe mehrmals gebissen worden, die durch die Umsetzung Inkompatibilitäten beim Wechsel zu/von "enterprisey Lösungen".
Die Idee für die JCA ist auftauchen hier und jetzt drück ich mich zu versuchen apache camel oder spring integration statt. Ich bin für open-source-Implementierungen, die Sie überall nutzen können. Und es ist eine Menge Los. Überprüfen Sie diese Liste von Komponenten. Zugegeben, vielleicht kleiner ist, als was ist bereits entwickelt, JCA, aber jedes bisschen ist open-Source und es ist alles an einem Ort. Ich glaube auch die Dokumentation ist einfacher und vollständiger. Der Drang für integration fordert eine leistungsstarke SPI mit viel open-source -, real-live-Beispiele, entwickelte sich in den gleichen fashion, und, die gefunden werden können auf der gleichen Stelle.
Ich bin zu hassen, der Negativität, aber ich mag keine full-featured-Applikations-Servern. Zum Beispiel, ich würde für tomcat und terracota jeden Tag über andere "enterprisey" Produkte, gerade als ich gehen würde, mit Kamel vor JCA, bis die Notwendigkeit für die JCA wird bewiesen. Ich weiß nicht, wie die Idee der Java-Ausschuss zu sagen, wie ich das entwickeln eigener Applikationen, denn ich traue Ihnen nicht. Ich glaube, es ist in meinem besten Interesse, wenn das Stück software kann nur arbeiten, so leicht auf Java SE/RCP als in einem Java-EE-Umgebungen oder in einem reinen Servlet-container.
Ich habe gerade entwickelte ein inbound resource adapter für ein gps-Gerät kommuniziert über ein proprietäres Protokoll. Es war nicht viel Aufwand, aber ich habe den Eindruck, dass die Entwicklung eines outbound-man könnte erfordern mehr Arbeit. Das Schlimmste, was mit der JCA ist die fehlende Dokumentation. Alle Bücher und Artikel, zu haben scheint das gleiche dumme Beispiel.
Dem Ding bin ich am meisten erfreut ist die Portabilität. Sie haben einmal geschrieben der adapter können Sie den Stecker des rar (resource adapter archive) in jede beliebige Anwendung ein server zum bereitstellen von Anwendungen bereitgestellt, die Fähigkeit zur Kommunikation mit dem eis-unterstützt von Ihrem ra. Oder bündeln Sie die rar in den Krieg/Ohr.
Die Vorteile sind vor allem für Anbieter, die verkaufen wollen, Konnektoren für proprietäre back-end-Systemen für die Verwendung mit der app-server für Kunden, die wollen in der Lage sein, um die drop-in-Anschluss, ohne sich Gedanken darüber, ob es funktioniert nur auf WebLogic nicht, Websphere, etc. In der Tat, das ist das Ziel von Java EE im Allgemeinen.
Beachten Sie, dass JBoss hat beschlossen, einige Dinge in JCA, zum Beispiel von JDBC-verbindungen gehen über JCA.
Ihre zukünftige client-code wird eine standardisierte Schnittstelle, einige pooling-und Transaktions-Unterstützung etc. aber es ist wichtig zu behalten, das große ganze, nämlich die, dass die Leistungen nicht gezielt an dich und deine ein Projekt speziell, aber bei einem software-ökosystem, bestehend aus viele app-Server, viele back-end-Systeme, viele Anschlüsse und so weiter.
Klingt wie eine gute Verwendung für eine JBI container mit verbindlichen Komponenten. Diskussion der JCA vs JBI.