mardi 31 mars 2009

AIA et OSB

C'est actuellement possible d'utiliser OSB au lieu de OESB pour AIA (application intégration architecture)


http://www.oracle.com/applications/aia-foundation-pack-on-service-bus-white-paper.pdf


Bonne lecture ...

jeudi 26 mars 2009

AIA v2.3 - foundation pack

La version 2.3 de AIA est disponible en téléchargement et elle permet de relier vos applications Oracle et non Oracle avec un TCO plus faible qu'un dev classique SOA:




Voici la liste des EBO (enterprise business object - objets communs) disponible dans Oracle Application Integration Architecture:



La liste complète en Excel ICI


Je rappelle également que AIA permet nativement via l'utilisation de PIP (Processus pré intégré) afin de faciliter encore plus vos intégrations entre application Oracle et non Oracle:




mardi 24 mars 2009

AIA blog

Tout sur les nouveautés de AIA sur:

http://blogs.oracle.com/aia/

Bonne lecture ...

jeudi 19 mars 2009

OBR - performances - Oracle Business Rules - BPEL

Afin de valider les performances de OBR en mode fichier ou webdav (voir articles plus anciens), j'ai effectué certains tests.

Pour effectuer le test j'utilise BPEL Console et le Stress Test tools inclus.


sur un process trés simple, c'est à dire qu'il ne comprend qu'une action : "DECIDE" afin d'appeler OBR en mode fichier ou mode webdav.



La règle de OBR appelée est simple :


Premier constat sur le petit bench effecuté, en mode fichier il n'y a pas de soucis les temps de réponses sont corrects, mais en mode WebDav j'ai beaucoup d'attentes dans le serveur Bpel:

Les requêtes s'empilent parce que OHS/OBR ne répondent pas assez vide et frizz ....


J'ai donc décidé de chercher pourquoi. Il s'avère que BPEL appelle l'action DECIDE en utilisant un partner link qui n'est autre qu'une WebApp contenant une servlet qui elle appelle OBR via ses API java. L'appel au référentiel de règles en API java en mode fichier ne provoque pas d'engorgement, par contre en mode WebDav comme l'illustre la console ci-dessus ca va pas fort fort ...

Après plusieurs recherches notamment sur oradav (module webDav proposé par Oracle), j'ai compris que le problème venait tout simplement de OHS dont les paramètres de tuning ne sont pas bon pour WebDav.

En effet, le stresseur Bpel utilise OHS qui déclenche une request OHS pour chacunes des instances BPEL qui appelle chacune à nouveau OHS pour le partnerLink suite à l'action DECIDE qui dans la servlet appelle encore OHS pour récupérer la règle et le référentiel .. Bref, cela fait beaucoup de request/response HTTP pour OHS.
Pour constater cela il suffit de regarder la page OHS http://monserver:monport/server-status
si ce lien n'est pas activé par défaut regarder votre configuration Apache sur ce lien:
Il faut donc modifier les paramètre dans ORACLE_HOME/APACHE/APACHE/conf/httpd.conf et augmenter les paramètres classique APACHE:

- ThreadsPerChild
- MinSpareServers
- MaxSpareServers

je vous propose mon httpd.conf sur ce lien ICI
Ensuite comme moi, vous pourrez constater que le mode fichier ou WebDav pour accèder à OBR est quasi aussi performant dans les 2 cas. Ci-dessous pour Webdav:



et pour le mode fichier:



voilou ...

jeudi 12 mars 2009

BPEL PM avec SQLSERVER en base de déshydratation



BPEL PM utilise généralement Oracle Database, parce que on ne change pas une équipe qui gagne côté performances et facilités d'administration .... ;)


Ceci dit il peut arriver que certains SI (système d'information) utilise SQLSERVER. BPEL PM supporte SQLSERVER.


Il faut donc installer BPEL et la SOA Suite avec Oracle XE dans un premier temps et ensuite modifier les pools pour les re diriger vers SQLSERVER.


Il faudra également télécharger les scripts adaptés à SQLSERVER depuis MetaLink (base de support d'oracle) http://metalink.oracle.com/

Chercher la référence de patch : 6729033


Pour plus d'informations en english :


mercredi 4 mars 2009

UDDI avec BPEL PM 10.1.3.4 - OSR - Oracle Service Registry

Voici un article qui propose de relier BPEL PM à OSR (Oracle service registry).

OSR est un annuaire UDDI qui permet de référencer vos services. Osr propose donc plus de souplesse dans la gestion de vos services: référencement, descriptions, spécifications techniques ....

OSR peut s'installer sur Oracle Application Server ou Oracle Weblogic Server. Cet annuaire UDDI V2 & V3 utilise une base de données pour y stocker l'ensemble des informations de vos services.

Pour mon exemple, j'ai positionné un WebService qui renvoit le chiffre que vous lui pousser ... et je l'ai inscrit dans OSR via l'interface web:








Avec dans un premier temps une référence pointant vers mon service Stock v1.0

ensuite dans BPEL, j'ai créé un processus qui utilise le service Stock v1.0 :
pour rajouter le partner link j'ai effectué un browse depuis Jdev suite à un paramétrage de mon annuaire UDDI:


Ensuite pour que le "endpoint" soit dynamique en fonction de l'information stockée dans OSR, il suffit de positionner sur le partnerLink la propriété registryServiceKey comme suit:






la clé spécifiée est celle du service dans OSR (selection en orange) qui sera différente en fonction de votre OSR. Elle constitue un identifiant unique :


Ensuite dans la console BPEL il faut paramétrer votre lien entre le serveur BPEL et OSR comme suit:




uddiLocation = http://votreserveur:votreport/registry/uddi/inquiry

uddiPassword = urn:unknown (si vous acceder à votre annuaire sans https)

uddiUsername= urn:unknown (si vous acceder à votre annuaire sans https)



Redémarrez votre SOA suite pour que ces paramètres soient pris en compte.

Ensuite lors de l'éxécution du processus BPEL vous aurez ce type de liste d'instance si on spécifie le endpoint du service Stock dans OSR à http://hsimonne-fr/orabpel/default/Stock/1.0 puis à http://hsimonne-fr/orabpel/default/Stock/2.0


On constate que sur le premier appel, Bpel PM contacte OSR pour récupérer le endpoint dynamiquement (qui sera stocké dans le cache wsdl) pour joindre le service Stock.

Ensuite lors du changement et redéploiement du service Stock (processus BPEL) en version 2.0, la seconde éxecution du processus UDDItesthugu_BPELProcess1 (v. 1.0) utilise encore la version 1.0 car je n'ai pas changé le endpoint dans OSR.

La dernière execution du processus UDDItesthugu_BPELProcess1 (v. 1.0) utilise la version 2.0 de Stock car je viens de la modifier dans OSR.

Cela démontre la gestion dynamique des endpoints avec BPEL.

Je vous ferai peut être un article associé à OSB & OSR mais le principe reste le même ...

pour plus d'informations sur OSR: http://www.oracle.com/technology/tech/soa/uddi/index.html

un document de type tutorial en anglais que j'ai utilisé: http://hugues.simonnet.free.fr/logiciels/blog/OSRBPELPM1013IntegrationLab.pdf