CICS Transaction
Gateway fournit des adaptateurs de ressources qui implémentent l'interface CCI (Common Client Interface) pour des interactions avec CICS.
Interface CCI (Common Client Interface)
L'interface CCI est une interface de haut niveau défini par JCA et est disponible pour les développeurs
J2EE utilisant l'interface ECI (External Call Interface) pour communiquer avec des programmes fonctionnant sur un serveur CICS.
L'interface CCI possède deux types de classe distincts :
- Classes CCI génériques : les classes CCI génériques sont utilisées pour demander une connexion à un système EIS comme CICS et exécuter des commandes sur cet EIS, en transmettant des données d'entrée et en récupérant des données de sortie. Ces classes sont génériques dans le sens où elles ne transmettent pas des informations spécifiques à un EIS particulier. Connection et ConnectionFactory sont des exemples de classes CCI génériques.
- Classes CCI spécifiques à CICS : les classes spécifiques à CICS sont utilisées pour transmettre des informations spécifiques entre l'application client Java et CICS. Des exemples de classes spécifiques à CICS sont :
- ECIConnectionSpec
- ECIInteractionSpec
Les applications qui suivent le modèle d'interface de programmation utilisant l'interface CCI possèdent une structure commune, indépendante du système EIS utilisé. JCA
définit des objets Connections et ConnectionFactories qui représentent la connexion au système EIS. Ces objets permettent à un serveur d'application de gérer la sécurité, le contexte de transaction et les pools de connexion pour l'adaptateur de ressources. Une application doit commencer en obtenant un objet ConnectionFactory à partir duquel un objet Connection peut être obtenu. Les propriétés de cet objet Connection peuvent être remplacées par un objet ConnectionSpec. La classe ConnectionSpec est spécifique à CICS, comme ECIConnectionSpec.
Après avoir obtenu une connexion, une interaction peut être créée à partir de la connexion pour une requête particulière. De même que la connexion, les interactions peuvent avoir des propriétés personnalisées déterminées par la classe InteractionSpec spécifique à CICS (ECIInteractionSpec). Pour accomplir l'interaction, l'application appelle la méthode execute() et utilise les objets d'enregistrement spécifiques à CICS pour conserver les données.
- Connection Factory : ConnectionFactory peut être obtenu de deux manières :
- Géré: si vous utilisez un serveur d'application, ConnectionFactory est normalement créé à partir de l'adaptateur de ressources au moyen d'une interface d'administration. Ce ConnectionFactory possède des propriétés personnalisées, par exemple la passerelle à utiliser serait définie sur ConnectionURL. Lorsque le ConnectionFactory a été créé, il peut être mis à la disposition de toute application d'entreprise via JNDI. Ce type d'environnement est appelé environnement géré. Un environnement géré permet à un serveur d'applications de gérer les qualités du service des connexions.
- Non géré : si vous n'utilisez pas de serveur d'applications, vous devez créer un ManagedConnectionFactory et définir ses propriétés personnalisées. Vous pouvez ensuite créer un ConnectionFactory à partir de ManagedConnectionFactory. Ce type d'environnement est appelé environnement non géré. Un environnement non géré ne permet pas à un serveur d'applications de gérer des connexions.
Afin de récupérer des données à partir du serveur CICS, votre application J2EE :
- Utilise l'objet ConnectionFactory pour créer un objet Connection.
- Utilise l'objet Connection pour créer un objet Interaction.
- Utilise l'objet Interaction pour exécuter des commandes sur EIS.
- Ferme Interaction et Connection.
L'exemple suivant illustre l'utilisation des interfaces J2EE CCI pour exécuter une commande sur un système EIS :
ConnectionFactory cf = [Lookup from JNDI namespace]
Connection conn = cf.getConnection();
Interaction int = conn.createInteraction();
int.execute([Input output data]);
int.close();
conn.close();