Lorsqu'il n'existe pas d'équivalent direct pour
un type de service WebSphere Studio
Application Developer Integration Edition, un scénario de
consommation est nécessaire pour utiliser l'ancien service
WebSphere Studio Application Developer Integration
Edition tel quel lors de la nouvelle conception de l'application dans
WebSphere Integration
Developer.
Voici les étapes que vous devez suivre dans
WebSphere Studio Application Developer
Integration Edition
avant d'appeler l'Assistant de migration :
- Créez un projet
Java pour conserver ce code de proxy client. Ne
placez pas ce code de proxy client dans le projet de service car les
classes de bean Java et les messages générés
de type 5.1 seront ignorés par l'Assistant de migration automatique
qui migre les projets de service.
- Ouvrez
WebSphere Studio
Application Developer Integration Edition et cliquez avec le bouton
droit de la souris sur le fichier WSDL contenant la connexion de
transformateur ainsi que le service, puis sélectionnez
.
Vous devez indiquer le type de proxy à créer, mais seul le type
Web Services Invocation Framework (WSIF)
est disponible. Cliquez sur Suivant.
- Vous pouvez maintenant indiquer le module et le nom de la classe
Java
de proxy de service à créer (vous créerez le proxy dans le projet de
service en cours). Cliquez sur Suivant.
- Vous pouvez maintenant indiquer le style du proxy ;
cliquez sur Module de remplacement client,
sélectionnez les opérations que vous souhaitez inclure dans le proxy,
puis cliquez sur Terminer.
Cette opération crée une classe Java qui expose
les mêmes méthodes que le service WebSphere Studio
Application Developer Integration Edition, où les arguments pour les
méthodes Java correspondent aux parties du
message WSDL source.
Vous pouvez maintenant effectuer la migration vers
WebSphere Integration
Developer :
- Copiez le projet Java du proxy client vers le
nouvel espace de travail et importez-le à l'aide de l'option
.
- Importez le projet de service à l'aide de l'Assistant de
migration. Cette opération crée un module Business Integration avec
les messages WSDL, les types de port, les connexions et les services
générés dans
WebSphere
Studio Application Developer Integration Edition.
- Dans Business Integration, développez le module
pour voir son contenu. Pour ouvrir Assembly Editor, double-cliquez
sur le premier élément sous le projet de module (même nom que le
projet).
- Pour créer le composant
Java personnalisé, sous le projet
de module, développez Interfaces et
sélectionnez l'interface WSDL générée pour ce service de
transformateur dans WebSphere Studio Application Developer
Integration Edition.
- Effectuez un glisser-déposer de cette interface vers l'éditeur
d'assemblage. Une boîte de dialogue vous demande de sélectionner le
type de composant à créer. Sélectionnez Composant (sans
type d'implémentation) et cliquez sur
OK.
- Un composant générique apparaît dans le diagramme de
l'assemblage. Sélectionnez-le et accédez à la vue
Propriétés.
- Dans l'onglet Description, vous pouvez
remplacer le nom et le nom d'affichage du composant par un nom plus
descriptif (dans le cas présent, attribuez-lui le nom de votre EJB
et ajoutez un suffixe tel que "JavaMed", car ce composant
Java servira d'intermédiaire entre
l'interface WSDL générée pour le service de transformateur dans WebSphere Studio
Application Developer Integration Edition et l'interface Java du proxy client du
transformateur).
- Dans l'onglet Détails, vous voyez que ce
composant a une interface (celle pour laquelle vous avez effectué
un glisser-déposer vers l'éditeur d'assemblage).
- Dans l'éditeur d'assemblage, cliquez avec le bouton
droit de la souris sur le composant que vous venez de créer et
sélectionnez Sélectionnez ensuite le package dans lequel
l'implémentation Java sera générée.
Cette opération crée un service
Java squelette conforme à
l'interface WSDL selon le modèle de programmation SCA, où les types
complexes sont représentés par un objet de type
commonj.sdo.DataObject et où les types simples sont représentés par
leurs équivalents objet
Java.
Maintenant, vous devez entrer du code aux endroits où vous
voyez les balises "//TODO" dans la classe d'implémentation
Java générée. Il existe deux options :
- Déplacez la logique de la classe
Java d'origine vers cette classe,
en l'adaptant à la nouvelle structure de données.
- Créez une instance privée de l'ancienne classe
Java à l'intérieur de cette classe Java
générée et écrivez du code dans :
- Convertissez tous les paramètres de la classe d'implémentation
Java générée en paramètres
attendus par l'ancienne classe
Java.
- Appelez l'instance privée de l'ancienne classe
Java avec les paramètres convertis.
- Convertissez la valeur de retour de l'ancienne classe Java en type de valeur de retour
déclaré par la méthode d'implémentation
Java générée.
Une fois que vous avez exécuté les opérations
ci-dessus, vous devez reconnecter le proxy client. Comme il ne doit
exister aucune "référence", il vous suffit de reconnecter
l'interface du composant
Java :
- Si ce service est appelé par un processus métier situé dans le
même module, vous devez créer une connexion entre la référence
de processus métier appropriée et l'interface de ce composant Java.
- Si ce service est appelé par un processus métier situé dans un
autre module, créez une exportation avec liaison SCA et à partir de l'autre module, effectuez un
glisser-déposer de cette exportation vers l'éditeur
d'assemblage de ce
module pour créer l'importation avec liaison SCA
correspondante. Connectez la référence de processus métier appropriée
à cette importation.
- Si ce service a été publié dans WebSphere Studio
Application Developer Integration Edition pour faire l'objet d'une
exposition
externe, voir la section "Création d'exportations SCA afin
d'accéder au service migré" pour savoir comment le publier de
nouveau.