mercredi 4 juin 2008

XSL - enrichir le flux en temps reel


Afin d'enrichir un flux xml, lors d'une transformation XSL,

SOA suite et Oracle propose des fonctions de base de données:


orcl:query-database (arg1, arg2, arg3, arg4)


sqlquery - requête SQL
rowset - Indicates if the rows should be enclosed in an element
row - Indicates if each row should be enclosed in an element
datasource - Either a JDBC connect string (jdbc:oracle:thin:username/password@host:port:sid) or a JNDI name for the database


Concrètement:
1er argument : votre requête SQL comme celle-ci
concat("select nom from maTable where id='",/ns1:monXml/ns1:id,"'")





2iem argument:
false()





3iem argument:
false()





4iem argument:
"jdbc:oracle:thin:orabam/ora123@hsimonne-fr:1521:hugu"





et automatiquement lors de la transformation xsl, vous accèdez à votre table pour enrichir la requête ou la réponse d'ailleurs .....



je vous propose mon xsl sur ce lien: ici


plus de détail dans la doc oracle officielle :
http://download-west.oracle.com/docs/cd/B31017_01/integrate.1013/b28981/app_xpath_functions.htm

lundi 26 mai 2008

Calculateur CO2

Air france propose sur son site un calculateur de CO2, afin d'estimer le coût pour notre planete ....

Ne serait ce pas un artifice marketing ??

http://developpement-durable.airfrance.com/FR/fr/local/calculateurCO2/calculateurCO2Passager.htm?

mardi 20 mai 2008

IPICO et SOA suite

La société IPICO http://www.ipico.com/


propose une technologie RFID basé sur la dual frequence. Celle-ci permet de lire plus facilement des tag RFID et cela même à une vitesse trés importante.


La dual frequency permet de booter le tag ipico pour qu'il s'identifie vers le lecteur via une autre fréquence. Ce mécanisme permet de simplifier la problèmatique des cycles de lecture d'une architecture classique UHF / ECP.



Le tag transmet son id au lecteur via un protocol IPX.
Le frameworl TOLK (open source: http://sourceforge.net/projects/tolk/) proposé par Ipico permet de transformer ce protocol IPX vers ce que l'on veut: fichier, Xml, tcp ...

J'ai donc utilisé ce framework Tolk afin d'effectuer l'écoute vers le lecteur ipico. Je précise au passage que tous les lecteurs ipico utilisent le même protocole.

En modifiant le framework tolk, je propage un flux XML (proposé en standard dans Tolk) vers une file JMS qui elle même est consommée par Oracle ESB.




Mon projet ESB propage de l'information vers Oracle BAM et Oracle BPEL.


Exemple d'application IPICO : http://www.ipicosports.com/index.html

mardi 6 mai 2008

Protéger son iphone - film transparent incassable




Pour votre iphone préféré,

vous pouvez coller un film transparent dessus,
sauf que celui que je vous propose est incassable et anti raillures !


Voici une démonstration en vidéo :
C'est un produit utilisé par l'armée américaine pour les hélicoptères


Il suffit de le commander sur le Web sur ce site

Ps: vous pouvez l'utiliser pour tous vos produits Apple ...

samedi 3 mai 2008

SOA V11 disponible en TP4




Vous pouvez déjà tester la release V11 en béta (TP4), je viens de la télécharger, je vous ferai quelques articles sur des certains points prochainement ....

Le téléchargement de Jdev 11 se trouve ici :
La procédure d'installation est là :

ESB 10.1.3x primé sur infoworld




vendredi 2 mai 2008

Scheduler pour déclencher un Processus Bpel


Afin de déclencher un processus Bpel / ESB / Classe Java , etc ... la suite SOA d'Oracle propose en standard l'utilisation des API Quartz.


Ces API permettent dans l'exemple que nous allons utiliser de déclencher un processus Bpel toutes les minutes.

La fréquence d'execution du processus est un simple paramètre présent dans le fichier web.xml de la webapplication qui est le "scheduleur".

Ce paramètre de fréquence suit la normalisation Quartz (framework de déclenchement de programme) :




Dans le projet Jdev que je propose à titre d'exemple ci-dessous, il y a 2 classes importantes :
* BPELScheuleServlet : servlet initialisant les classes Quartz et qui prépare un job d'execution

* BPELHelloWorldJob : classe java qui déclenche un processus Bpel via les API Bpel (l'utilisation d'un proxy webservice en java aurait pu être utilisé également)



Il y a également 2 fichiers de paramètrage:


* context.properties : paramètres pour l'accès jndi à votre serveur SOA (notamment l'application parente orabpel)


* bpel_quartz.properties : qui définit les paramètre du moteur quartz déclenché par la servlet


remarque : la méthode executeTest() sans paramètre n'est utilisé que pour du test unitaire via la méthode Main()


Pour télécharger le projet jdev 10.1.3x c'est ici


Il faut préciser le jar orabpel_common.jar au dépliement de l'application web comme suit :





Remarque: une autre solution pour effectuer du scheduling c'est d'utiliser la base de donnée Oracle (plus de détail sur ce pdf : ici)