Aller au contenu

Java connector architecture

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 30 juin 2024 à 23:42 et modifiée en dernier par Avinkhod (discuter | contributions) (début histoire et sources). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

JCA, abréviation de Java Connector Architecture, s'adresse principalement à ceux dont le besoin est d'accéder de manière très étroite à des logiques métier de système d'information d'entreprise (EIS). JCA utilise les technologies actuelles permettant ainsi de s'intégrer dans les divers systèmes d'informations en gérant les aspects de sécurité, transactionnels et les pools de communication.

JCA est majoritairement utilisé aujourd'hui pour établir des communications synchrones du type demande / réponse avec un serveur. JCA n'empêche pas d'utiliser un mode asynchrone et bi-directionnel.

Certains développements de JCA sont plus poussés et sont capables d'appeler un service JCA en fonction d'une logique métier.

Histoire

Depuis 1999 et la création de Java 2, les applications utilisant la plateforme d'entreprise J2EE respectaient des spécifications connues sous le nom de Java Community Process. À ce moment là, J2EE fonctionnait comme un serveur d'application, que les entreprises intégraient à leur façon dans leurs propres systèmes d'information[1].

En 2001, la JCA est créée, dans le but de spécifier des contrats et des interfaces standards pour les entreprises. De cette façon, les développeurs peuvent intégrer leurs logiciels dans les systèmes des entreprises sans avoir à s'adapter à ceux-ci : le serveur d'application devient une plateforme d'intégration[1],[2].

Description

Les applications J2EE sont constituées de :

  • modules web ;
  • modules EJB ;
  • modules client d’application d’entreprise

Les systèmes d’informations d’entreprise (EIS) sont constitués de :

  • ERP ;
  • mainframes ;
  • SGBD ;
  • applications anciennes écrites en C, C++, COBOL…

JCA est la solution de J2EE pour résoudre le problème d’intégration entre le monde J2EE et le système d’information d’entreprise (EIS).

Pour mettre en œuvre une telle intégration JCA propose une architecture basée sur les éléments suivants :

  • un Resource Adapter ;
  • des contrats applicatifs entre les modules J2EE et le Resource Adapter ;
  • des contrats système entre les serveurs d’applications J2EE (AS) et le Resource Adapter.

Un Resource Adapter est un pilote entre le serveur d’applications et le système d’information d’entreprise. Il est composé de :

  • jars permettant d'emmailloter l’accès aux ressources du système d’information ;
  • bibliothèques natives (.dll, .so) fournissant l’accès aux ressources du système d’information ;
  • un descripteur de déploiement ra.xml.

Les contrats systèmes définissent :

  • la connectivité du serveur d’applications vers l’EIS (dans la version 1.0 de JCA ) ;
  • la connectivité de l’EIS vers le serveur d’applications (dans la version 1.5 de JCA) ;
  • la gestion du cycle de vie du Resource Adapter (dans la version 1.5 de JCA) ;
  • la gestion des threads (dans la version 1.5 de JCA).

Parmi ces contrats on distingue donc :

  • contrat de gestion de connexions : définit comment obtenir une connexion à l’EIS depuis l’AS, le pooling des connexions est transparent pour l’application ;
  • contrat de gestion de transactions : permet à l’AS d’utiliser un gestionnaire de transactions supportant l’accès à divers gestionnaires de ressources de l’IES. Les invocations de services au sein de l’EIS sont enveloppées dans des transactions distribuées (XA Transaction définie par l’Open Group). Les transactions XA sont globales et peuvent contenir des appels à divers types de ressources de l’EIS ;
  • contrat de gestion de la sécurité : fournit des mécanismes permettant de gérer l’authentification, l’autorisation, les communications sécurisées entre le serveur J2EE et les ressources protégées de l’EIS ;
  • contrat de gestion de transactions inflow : permet de propager une transaction démarrée dans l’EIS vers le serveur d’application ;
  • contrat de gestion de messagerie inflow : permet à l’EIS de délivrer des messages à des composants du serveur d’application ;
  • contrat de gestion du cycle de vie : permet l’arrêt et le démarrage du Resource Adapter ;
  • contrat de gestion des threads : permet à l’EIS de soumettre des tâches à l’AS. Ainsi le Resource Adapter s’exonère de la gestion directe des threads.

Les contrats applicatifs sont définis par le Common Client Interface (CCI). Cette interface permet à des composants applicatifs J2EE, à des frameworks d’intégration d’applications d’entreprises de piloter les interactions entre des ressources hétérogènes de l’EIS via l’utilisation d’une API commune.

Notes et références

  1. a et b (en) Piyush Maheshwari et Ji-Ho Kim, « Analysing Reusability Aspects in Java Connector Architecture », 11th Asia-Pacific Software Engineering Conference, IEEE,‎ , p. 678–685 (ISBN 978-0-7695-2245-6, DOI 10.1109/APSEC.2004.31, lire en ligne Accès payant, consulté le )
  2. (en) Beom-Su Seo, SeungWoog Jung, SungHoon Kim et Joong-Bae Kim, « The implementation of the work management contract and the message inflow contract in the java connector architecture 1.5 », The 6th International Conference on Advanced Communication Technology, 2004., IEEE, vol. 2,‎ , p. 997–1002 (ISBN 978-89-5519-119-6, DOI 10.1109/ICACT.2004.1293017, lire en ligne Accès payant, consulté le )

Voir aussi

Bibliographie

Publications par Oracle et Sun Microsystems

  • (en) Rahul Sharma, Beth Stearns et Tony Ng, J2EE Connector Architecture and Enterprise Application Integration, Addison-Wesley Professional, (ISBN 978-0-201-77580-8)

Autres publications

Liens externes