Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
enseignement:tp:sw:servicemix:2014 [2014/11/16 11:10]
ecoquery
enseignement:tp:sw:servicemix:2014 [2014/11/17 21:49] (Version actuelle)
ecoquery [JMS]
Ligne 32: Ligne 32:
 ===== Pont vers un service ===== ===== Pont vers un service =====
  
-La deuxième route est un pont vers le service cineservice fourni dans le projet. Démarrer ce dernier via ''mvn tomcat7:run''. Créer un projet SOAPUI (ou réutilisez votre projet du [[enseignement:tp:sw:clients:2014|TP Clients]]). Attention, le point d'accès est maintenant sur le port 8086. Dans SOAPUI, changer l'adresse du point d'accès pour passer par ServiceMix au lieu d'accéder directement à cineservice. Utiliser pour cela la configuration de la seconde route Camel.+La deuxième route est un pont vers le service cineservice fourni dans le projet. Démarrer ce dernier via ''mvn tomcat7:run''. Créer un projet SOAPUI (ou réutilisez votre projet du [[enseignement:tp:sw:clients:2014|TP Clients]]). Attention, le point d'accès est maintenant sur le port 8086. Dans SOAPUI, changer l'adresse du point d'accès pour passer par ServiceMix au lieu d'accéder directement à cineservice. Utiliser pour cela la configuration de la seconde route Camel. Tester.
  
 +[[http://camel.apache.org/components.html|Doc composants Camel]]
  
 +Désactiver la route avec le timer dans le projet smix-camel. Ajouter un log à l'aller et au retour, avec des nom différents, du pont vers cineservice. Reconstruire puis redéployer((uninstall, install, start)) le bundle précédent.
  
 +<note tip>Il est possible d'effectuer un déploiement via copie de fichier dans le répertoire ''deploy'' de ServiceMix. Dans ce cas le bundle est démarré automatiquement. Il est désinstallé quand le jar est supprimé.</note>
 +
 +Diviser la route en deux routes en utilisant un endpoint  [[http://camel.apache.org/seda.html|seda]]. Redéployer et tester.
  
 ===== JMS  ===== ===== JMS  =====
  
-  * JMS => ActiveMQ +ServiceMix intègre une implémentation de JMS: [[http://activemq.apache.org/|ActiveMQ]] 
-  ''features:install activemq-web-console'', puis http://localhost:8181/activemqweb/+ 
 +Installer la console web d'ActiveMQ: ''features:install activemq-web-console'', puis http://localhost:8181/activemqweb/ 
 + 
 +Utiliser un ''[[http://camel.apache.org/wire-tap.html|wire-tap]]'' pour envoyer, en plus du ''seda'' le message entrant sur une file JMS en plus (préférer le composant [[http://camel.apache.org/activemq.html|activemq]] en précisant ''karaf'' comme username et password pour la file JMS). Envoyer quelques messages, puis afficher le contenu de la file depuis la console d'activemq. 
 + 
 +===== BPEL et ODE ===== 
 + 
 +[[http://ode.apache.org/index.html|Apache ODE]] est un moteur BPEL. L'objectif est ici de déployer un process BPEL faisant office de proxy pour le service ''cine-service''. On pourra suivre les étapes suivantes pour déployer ce dernier: 
 +  - Optionnel, mais conseillé: éditeur graphique: installer le plugin BPEL pour eclipse ([[http://download.eclipse.org/bpel/site/|update site]]) 
 +  - Installer [[http://www.apache.org/dyn/closer.cgi/ode/apache-ode-war-1.3.6.zip|Apache ODE]]. Déployer le serveur dans un serveur Tomcat ([[http://ode.apache.org/war-deployment.html|doc]]). 
 +  - Démarrer le serveur Tomcat contenant ODE. Une console web est disponible ici: http://localhost:8080/ode/ 
 +    * Si vous utilisez le plugin Eclipse, il est possible de configurer ODE comme un serveur que l'on peut lancer depuis Eclipse (attention, la config de démarrage de tomcat peut être boguée, bien vérifier la présence de ''bootstrap.jar'' et ''tomcat-juli.jar'' du répertoire bin, ainsi que des ''tools.jar'' du JDK dans le classpath de la //launch configuration// du serveur). 
 +  - Déployer le projet ''ode-services'' fourni. Deux possibilités: 
 +    - Importer le projet dans Eclipse et utiliser les outils de déploiment intégrés. 
 +    - Copier le contenu du répertoire bpelContent dans un répertoire ode-services à placer lui-même dans le répertoire ''webapps/ode/WEB-INF/processes'' de l'installation du tomcat d'ODE. 
 +  - Comprendre la configuration de déploiement (deploy.xml et références aux WSDL). Vérifier que cine-services est bien lancer (le relancer si besoin avec ''mvn tomcat7:run'') puis tester avec SOAPUI. 
 + 
 +Créer un nouveau process BPEL dans le projet ode-services pour créer un nouveau service qui, étant donné un jour, effectue une réservation pour la première séance disponible pour le jour en question: 
 +  * Créer le //port type// WSDL 
 +  * Créer le fichier BPEL 
 +  * Créer les partnerLinkTypes et les partnerLinks 
 +  * Mettre en place la structure du workflow. 
 +  * Passer sur les propriétés de chaque activité en créant des variables si besoin