Premiers pas avec REDHAT SOA PLATFORM

Dans la série des premiers pas de votre serviteur dans le monde merveilleux et chatoyant des ESB, me voici avec REDHAT SOA PLATFORM.

REDHAT SOA PLATFORM est le pendant commercial de JBOSS ESB. Ce produit dispose donc d'un contrat de support. Cette stack offre les composants suivants :

  • Un serveur d'application JBOSS ( vous allez me dire, un glassfish ca aurait fait mauvais genre...)
  • Un moteur BPEL
  • Un moteur de règles (DROOLS)
  • Un MOM
  • La stack WS JBOSSWS
  • Un annuaire UDDI
  • Des connecteurs (JMS,FTP, MAIL, HIBERNATE, JCA)

Bref, a contrario de Petals ou WSO2 , ils ont privilégié le tout en un, ce qui n'est pas plus mal pour les pauvres informaticiens que nous sommes...

Installation

Comme d'habitude avec JBOSS, l'installation est très très dure.... Unzip et hop la c'est fini :)

Exemples fournis

Les exemples sont assez complets, il y en a un pour chaque d'utilisation.

soa025.png

Réalisation d'un proxy

Il faut utiliser JBOSS DEV TOOLS si vous ne voulez pas tout faire à la main. Il faut relativiser le prix de cette outil est de 99$. Pour une boite, ce n'est pas grand chose surtout quand on regarde le prix des licences de certains produits (ex. client datastage)

Personnellement j'ai pris le parti de tout faire à la main pour éprouver la documentation.

J'ai donc réalisé un exemple de proxy de service web . Le code est disponible en GPL sur bitbucket. Bon il n'y a pas grand chose et c'est rassurant ... Pas besoin de beaucoup de code pour publier un simple proxy, le contraire aurait été étonnant...

La définition du proxy réside dans le fichier jboss-esb.xml

  1. <service category="Proxy_Basic" name="Proxy"
  2. description="Basic WebService Proxy"
  3. invmScope="GLOBAL">
  4. <listeners>
  5. <http-gateway name="Http" urlPattern="tokenProxy/*"/>
  6. </listeners>
  7. <actions mep="RequestResponse">
  8. <action name="echo-request"
  9. class="org.jboss.soa.esb.actions.SystemPrintln">
  10. <property name="message" value="Message before SOAPProxy"/>
  11. </action>
  12. <action name="proxy"
  13. class="org.jboss.soa.esb.actions.soap.proxy.SOAPProxy">
  14. <property name="wsdl" value="http://server:8180/gawebrc/TokenWS?wsdl"/>
  15. <property name="endpointUrl" value="http://server:8180/gawebrc/TokenWS"/>
  16. </action>
  17. <action name="echo-response"
  18. class="org.jboss.soa.esb.actions.SystemPrintln">
  19. <property name="message" value="Message after SOAPProxy"/>
  20. </action>
  21. </actions>
  22. </service>

Déploiement

Comme tous les artifacts à déployer sous JBOSS, ca se passe dans le répertoire $JBOSS_ESB_HOME/jboss-as/server/default/deploy .

On vérifie la console JBOSS pour la prise en compte du livrable

  1. 09:51:19,578 INFO [EsbDeployment] Starting ESB Deployment 'jbossesbsample-1.0.esb'
  2. 09:51:20,688 WARN [HttpMethodBase] Going to buffer response body of large or unknown size. Using ge
  3. tResponseBodyAsStream instead is recommended.
  4. 09:51:20,782 INFO [JBossDeployerUtil] Detected WS implementation, using Native
  5. 09:51:20,813 INFO [SOAPProxy] mapped soapaction ["urn:getToken"] to binding [{http://token.interfac
  6. es.metier.gaweb.harmonie.fr}TokenWSBinding]
  7. 09:51:20,813 INFO [SOAPProxy] mapped operation [{http://token.interfaces.metier.gaweb.harmonie.fr}g
  8. etToken] to binding [{http://token.interfaces.metier.gaweb.harmonie.fr}TokenWSBinding]
  9. 09:51:20,844 INFO [SOAPProxy] mapped binding [{http://token.interfaces.metier.gaweb.harmonie.fr}Tok
  10. enWSBinding] to transport [org.jboss.soa.esb.actions.soap.proxy.HttpSOAPProxyTransport] with endpoin
  11. t address: [http://sr037272cti3700:8180/gawebrc/TokenWS]
  12. 09:53:27,657 INFO [InquiryHelper] uddi:juddi.apache.org:5cfc6ee4-46b6-43af-8cd2-4dd4bd54de07 is mod
  13. ified Wed Feb 29 09:45:00 CET 2012 1330505100235
  14. 09:53:27,735 INFO [InquiryHelper] uddi:juddi.apache.org:d52113ee-d900-4368-81d9-c26da9320312 is mod
  15. ified Wed Feb 29 09:45:00 CET 2012 1330505100594
  16. 09:53:27,782 INFO [InquiryHelper] uddi:juddi.apache.org:e88460e3-ad39-455b-8f94-4f7e28088c8f is mod
  17. ified Wed Feb 29 09:45:03 CET 2012 1330505103110

Dans la console WEB, on pourra voir dans la partie JBOSS ESB Service List que le proxy est bien disponible:

soa026.png

Vus : 1589
Publié par Littlewing : 368