Vous trouverez sur mon blog des infos sur différents sujets techniques. Ils proviennent de mes expériences chez BEA, Versata ... et actuellement ORACLE
mardi 27 janvier 2009
Retour sur l'évènement Oracle Fusion Middleware du 20/01/2009
http://www.oracle.com/global/de/events/2008/roadshows/fusion_middleware_forum/france/downloadpage.html
Bonne lecture
;)
jeudi 22 janvier 2009
SB transport - entre BPEL PM et OSB
Le but de cet article est de pousser un message depuis BPEL en utilisant la préconisation de la doc (ICI)
pour effectuer le lien suivant:
Avant tout il faut créer dans OSB un Business Service. Dans mon cas j'ai utilisé un BS qui pousse un message JMS dans une queue de OSB.
Une fois ces opérations réalisées, nous allons dans Bpel PM pour faire un processus qui va faire du polling sur une table et envoyer à OSB via SB transport le contenu des nouvelles lignes ajoutées:
où l'interface "bdPooling" utilise le DB adapter pour scruter une table et en fonction de la présence de ligne déclenche le processus. Celui-ci effectue un Assign pour initialiser les variable du "partner link" qui est notre proxy service avec le protocole SB transport.
Pour insérer le WSDL de ce proxy de type SB transport, il suffit de l'exporter depuis le bus en utilisant depuis la console OSB l'icone de notre proxy suivant:
Le jar exporté contient alors le WSDL et si besoins les XSD mon exemple: (ICI).
Note: Pour les XSD n'oublier pas de les importer dans votre processus BPEL sinon il ne va pas compiler.
Ensuite on configure dans Bpel PM un partner link qui utilise notre WSDL basé sur le proxy service de type SB Transport:
Deployer ensuite le processus vers votre serveur BPEL PM pour le tester. Pour mon exemple, je rajoute une ligne dans ma table et automatiquement le proxy service par le transport SB pousse le message au BS de type JMS.
Pour être certain, je peux même visualiser le message dans la queue JMS de WebLogic. Cela se fait depuis la console du serveur d'application WebLogic.Et voilou ... ;)
vendredi 16 janvier 2009
Soa Suite 10.1.3.4 nouveau MLR4# (nouveau patch)
le patch suivant:
TRACKING BUG FOR CUMULATIVE MLR#4 ON TOP OF 10.1.3.4.0
N° de patch : 7586067
mardi 13 janvier 2009
Transport BPEL-10g OSB BPEL
Celui-ci peut être synchrone, asynchrone et/ou utiliser les callBack (retour asynchrones).
Il faut donc importer dans un premier temps le WDSL de votre processus BPEL en tant que ressources dans Eclipse WorkShop:
Ensuite, vous devez créer un Business Service dans OSB en utilisant ce WSDL et lors du paramétrage du Business Service (BS) vous devez spécifier le transport BPEL-10G comme suit:
où le protocole utilisé entre OSB et Bpel PM est OPMN. Pour connaitre sans erreur le port de OPMN, il suffit de lancer la ligne de commande :
d:\productORACLE\10.1.3.1\SOA\opmn\bin>opmnctl status -port
HSIMONNE-fr:6003
L'url pour contacter votre processus doit être similaire à cet exemple:
opmn://HSIMONNE-fr:6003/oc4j_soa/default/Stock/1.0
où oc4j_soa correspond au nom de votre instance BPEL
default correspond au nom du domaine bpel
Stock correspond au nom du processus
1.0 correspond à la version du processus (c'est optionnel)
Si vous utiliser un cluster BPEL PM pensez bien a mettre une URL équivalente à :
protocol://host1:port1,host2:port2
Pour plus de détail aller sur :
http://download-llnw.oracle.com/docs/cd/E13159_01/osb/docs10gr3/bpelpmtransport/
samedi 10 janvier 2009
Erreur Opatch pour appliquer un patch sur SOA suite
OPatch detects your platform as 207 while this patch 7586063 supports platforms
je vous conseille de passer par un workAround pour appliquer un patch:
mettre la variable d'environnement de Windows suivante:
set OPATCH_PLATFORM_ID=0
puis relancer Opatch apply pour avoir:
OPatch succeeded.OPatch returns with error code = 0
dimanche 4 janvier 2009
Utilisation du format : MFL avec format builder
Aujourd'hui on retrouve ce format dans OSB (Oracle Service Bus). Il permet de définir un proxy service (interface de consommation) ou un business service (interface de production de service) qui traite un fihcier (lecture ou ecriture).
Le MFL permet donc de définir la structure du fichier et de le rendre lisible pour OSB, WLI ...
Il devient alors par ce biais une simple requête XML.
L'exemple suivant explique comment utiliser MFL format Builder accèssible depuis l'environnement WorkShop Eclipse.
Voici mon fichier type CSV à traiter avec Format Builder
1;test1;test1;test1;test1
2;test2;test2;test2;test2
3;test3;test3;test3;test3
4;test4;test4;test4;test4
Pour cela nous devons avant tout créer dans Format Builder un namespace qui sera interprété par OSB:
Ensuite pour traiter l'ensemble des lignes de ce fichier Csv, nous utiliserons un Group n'ayant pas de limite de parsing:
Ensuite pour chacunes des champs du fichier csv on doit définir un nom de champ et spécifier le séparateur, voir certaines informations supplémentaires comme des valeurs par défaut.
Ainsi de suite sur l'ensemble des champs. Le dernier champ est différent car il doit tenir compte du retour chariot et de passer à la ligne suivante (;\n\r\n\r):
Ensuite votre MFL peut être testé avec le débugger intégré:
Attention dans le testeur n'oubliez pas de faire un retour chariot à la fin de la dernière ligne, sinon une erreur de parsing apparait ....