lundi 22 décembre 2008

Joyeux Noël et Bonne Année sur hugublog








Weblogic Apache Plugin

Voici un petit mémo sur le plugin Apache fournit par Oracle pour Weblogic serveur ou OSB. Ce plugin assure un loadbalancing logiciel intélligent entre un url et une ferme de serveurs Weblogic. Ces derniers peuvent être en cluster ou non.



Voici la logique du plugin:




Pour cela il faut installer Apache serveur http version 2.2 ou +

ensuite allez sur
http://www.oracle.com/technology/software/products/ias/index.html

puis télécharger les plugin Apache délivré par Oracle pour plusieurs envrionnement (Solaris, windows, linux ....)


http://download.oracle.com/otn/bea/weblogic/server103/WLSWebServerPlugins1.0.1150354-Apache.zip




Ensuite il vous reste à configurer votre plugin. Voici un exemple trés simple:





Plus d'infos sur la doc officielle en anglais:

http://e-docs.bea.com/wls/docs103/plugins/apache.html

mercredi 17 décembre 2008

Oracle Fusion Middleware Forum le 20/01/2009


Pour fêter la nouvelle année 2009 avec du Middleware ...


Ne passez pas à côté de cette chance unique de connaitre l'essentiel de la stratégie Middleware Oracle - BEA, de découvrir l'offre produit et concrètement de tirer parti des études de cas présentées lors des 12 ateliers du Forum !



Inscrivez-vous ICI

mercredi 3 décembre 2008

Forums SOA suite

Afin d'avoir un espace de discussions sur le sujet SOA,
je vous engage à participer aux forums

http://forums.oracle.com/forums/forum.jspa?forumID=320&start=0

bonne lecture et contribution

mercredi 26 novembre 2008

Oracle Siebel Adapter - où trouver les paramètres Siebel serveur




Voici un mémo qui explique comment trouver les bons paramètres dans Siebel serveur pour les appliquer à l'adapteur Oracle.



Signez vous sur Siebel Call center



ensuite cliquer sur "site map" par cet icone:



et choisir le lien : Administration - Server Configuration

puis le lien : Enterprise Explorer



pour avoir ce type d'écran:


Récupérer le nom du serveur siebel (enterprise server)




Récupérer les paramètres de la gateway siebel qui expose les objets siebel vers le monde java:



Il vous reste alors à saisir le nom de l'utilisateur et son mot de passe pour jouer avec les objets siebel:


lundi 17 novembre 2008

OSB 10GR3 - BPEL 10.1.3.4



Afin de communiquer entre OSB avec Bpel ou vis versa, il faut utiliser le transport :
BPEL-10g qui fait partie de la liste des transports disponibles pour un Business Service:


WSDL Web Service: bpel-10g, DSP, HTTP, JMS, JPD, SB, WS
Transport-Typed Service: EJB, Flow
Messaging Service: E-mail, File, FTP, HTTP, JMS, MQ (if available), SFTP, Tuxedo
Any SOAP Service: DSP, HTTP, JMS, JPD, SB
Any XML Service: DSP, E-mail, File, FTP, HTTP, JMS, JPD, MQ (if available), SB, SFTP, Tuxedo


Afin de visualiser ce transport, il faut créer un BS (business service) basé sur un WSDL provenant d'un processus Bpel.





Plus d'infos sur:

http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/bpelpmtransport/transport.html#wp1107155

lundi 3 novembre 2008

Oracle BAM - JMS topic vers Plan

Voici un mémo qui explique comment on peut intégrer l'interface Oracle BAM en JMS.


Il faut donc avant tout créer dans votre serveur d'application favori un Topic JMS (sous weblogic ou OC4J).

Vous pourrez également utiliser un processus BPEL pour simuler une charge sur ce topic JMS en utilisant l'adapteur JMS.

Ensuite dans Oracle BAM, il faut:


- créer un dataObject (via Architect) avec un certains nombre de champs comme suit dans mon cas:





- Dans BAM administrator, vous devez vous assurer que le classPath pour l'accès à Oracle (AS JMS and OJMS) est correct ou celui de Weblogic si vous utiliser ce dernier




- Ensuite il faut créer son plan et lui associer une transformation XSL





La transformation XSL n'est pas compliqué dans mon exemple, je vous conseille de la préparer dans Jdev en utilisant le mapper XSL.


Retrouver le détail de ma transformation xsl : ici



- Ensuite avec l'outil "Design Studio" fournit avec Oracle BAM 10.1.3.x créer la liaison entre le plan JMS et l'intégration des données dans votre DataObject.


Pour se connecter à "Design Studio" il n'y a pas de mot de passe pour l'utilisateur BAM !


Ensuite vous créer votre flux ainsi :


L'icone Grid permet de tester vos données provenant de la Topic JMS.




Une fois ce flux validé vous devez supprimer le Grid, et aller dans l'"Administrator" pour activer votre plan.



- Aller dans Administrator et sélectionner "plan monitor" puis le lien "plan setting" et démarrer votre plan comme suit :





Et voilà c'est fini pour l'intégration par JMS !!

Plus de détail dans ce tutorial en US : ICI


jeudi 30 octobre 2008

OSB (ex ALSB) certifié avec Bpel Process Manager 10.1.3.4


Il est tout chaud de quelques jours OSB : Oracle Service Bus suite à l'acquisition de BEA (mon ex boite), et disponible en download sur:





Je vous confirme également que OSB fonctionne bien avec des processus Bpel synchrones et asynchrones !


Bref, c'est le bonheur ....


mardi 28 octobre 2008

Mode DFU pour iphone

Voici la procédure pour passer votre Iphone 1 ou 2 en mode DFU (mode de restauration) :


- Ouvrir iTunes, éteindre et débrancher votre iPod Touch (ou iPhone) du PC.
- Brancher votre iPod Touch (ou iPhone) sur le PC, la pomme grise Apple va alors s’afficher à ce moment là, maintenez les touches HOME + POWER pendant 10sec. (Au bout de 6sec votre iPod Touch (ou iPhone) devrait s’éteindre, continuez 4sec!).
- Puis apres les 10sec, lâchez POWER et rester appuyer sur HOME jusqu’à temps que iTunes détecte votre iPod Touch (ou iPhone) qui sera alors reconnu par votre ordinateur en mode DFU .

lundi 27 octobre 2008

Surveiller - Monitorer JMS queues topic avec Hermes OC4J


Avant tout il faut télécharger Hermes (outil opensource) sur:

ensuite pour le configurer avec OC4J je vais tout vous détailler ci-dessous ....

Configurer le classpath de Hermes afin d'avoir l'ensemble des jars nécessaires pour communiquer avec un OC4J et notamment avec son arbre JNDI.

Aller dans le menu de Hermes => Options => Préférences
Ajouter un provider "OC4J" et ajouter l'ensemble des jars suivant :

Ensuite dans l'onglet Session de cette même fenêtre paramétrer votre connexion JNDI. Assurez vous que vous aller utiliser le "Loader" précédemment définit "OC4J" ... sinon ca marche pas.


Ensuite appliquer bien "Apply" et faire "OK".

Il suffit alors de créer un nouveau "Context" sur la gauche, avec ces caratéristiques :



l'url provider dépend du port RMI de votre serveur OC4J (si vous ne le connaissez pas regardez le fichier rmi.xml sous ORACLE_HOME/j2ee/home/config).
Faire "OK" et attendre que la connexion et l'introspection de votre arbre JNDI distant se fasse ...
Vous devez avoir ensuite cela :



Sélectionner alors une factory Topic ou Queue afin d'établir une connexion (click droit dessus). Donner lui un nom "hugublog", elle apparait alors dans la liste des sessions (écran de gauche dans Hermes).

Ensuite, il suffit de sélectionner la queue JMS ou la Topic que vous souahitez monitorer. Un petit clic droit sur votre Topic préféré par exemple et faire "Add to..." "hugublog".

Dans la liste des sessions vous retrouverez alors sous "hugublog" votre JMS topic ou queue. Lors de la réception de messages JMS vous pourrez voir ce type d'écran :



Et voilou ....

mercredi 15 octobre 2008

Quoi de neuf dans BPEL 10.1.3.4 ?

Cet article présente les nouveautés de la version SOA Suite 10.1.3.4 contenant Bpel Process Manager.
Cette version est d'ailleurs plus rapide que la précédente et offre quelques nouveautés comme:



- sur le moteur Bpel serveur vous avez maintenant des grpahiques permettant de mieux comprendre et optimiser celui-ci







- sur les statistiques visible de la console, Oracle propose maintenant de visualiser directement les points de contention:


- une analyse plus fine des payload (enveloppe XML) réceptionnées par Bpel lors du démarrage d'un processus :


- des nouveautés en terme de configuration sur l'automate, permettant de relancer un process en cas d'erreur (Recovery system).

- l'export d'un processus Bpel directement depuis la console Bpel au format ZIP:

- un espace diagnostique pour un environnement de production permet de mieux comprendre le comportement de vos processus en cas de problème:


- des améliorations pour des déploiements multiples (dev, recette, pré prod, prod). Il suffit d'utiliser maintenant un seul plan de déploiement:




Bpel continue à évoluer et notamment dans la futur release 10.1.3.5 (probablement sous Weblogic par défaut) avec des fonctions comme le débugger avancé sur le code Bpel ....

mercredi 8 octobre 2008

Mise à jour vers 10.1.3.4

Pour passer votre SOA suite oracle 10.1.3.3 vers 10.1.3.4
il suffit d'aller sur http://metalink.oracle.com

et de télécharger le patch numéro 7272722

dimanche 5 octobre 2008

produits Oracle en téléchargement

Pour télécharger tous les outils de Oracle, y compris les magnifiques outils de middleware, il suffit d'aller sur :

http://edelivery.oracle.com/

Ce lien contient les applications, les outils d'intégration, AIA ....

jeudi 25 septembre 2008

BPEL synchrone pilote un BPEL Asynchrone

Ce mémo explique comment un processus synchrone Bpel peut piloter et connaitre l'état d'un processus asynchrone.
Ce mécanisme se fait par le biais de la Correlation (voir article précédent).
Dans mon exemple le processus synchrone P1 lance l'éxecution du processus P2 asyncrhone.
P1 peut ensuite questionner P2 sur son état.
Une fois que P2 est terminé, P1 peut re demander son état et connaitre le résultat final de P2.

Dans mon exemple P1 correspond à : hugu_BPELProcess1_SYN
P2 correspond au processus BPEL : hugu_BPELProcess1

Pour l'utiliser il faut lancer P1 comme suit :









Ci joint le zip contenant P1 & P2 : ICI
Un autre exemple également fournit par un collègue : Processus d'addition ICI

Keyboard Linux

Se signer comme root

Editer le fichier/etc/sysconfig/keyboard

qui contient les deux lignes suivantes:

KEYBOARDTYPE="pc"

KEYTABLE="us"

Remplacer le us par fr dans la seconde ligne :

KEYTABLE="fr"

Reboot de la VM ou du serveur et c'est bon le clavier est en French !

mardi 23 septembre 2008

OpenWorld 2008

Tout sur l'évènement Oracle Open World de San Francisco :

http://blogs.oracle.com/oracleopenworld/


comme si on y était ... ou presque

lundi 15 septembre 2008

OSB (ALSB) et Coherence

Voici un Pattern classique sur lequel on peut mettre en oeuvre OSB + Coherence:




Voici comment on peut utiliser trés simplement Coherence (ex Tangosol) avec OSB (ex ALSB).

L'idée étant de mettre en cache des flux de données arrivant sur votre ESB (OSB: Oracle Service Bus) et de pouvoir restituer ces données lorsque le BE (WebService final) ne répond pas.

J'avais déjà proposé comme système de cache de OSB, Oracle Web Cache dans un article précédent, mais dans cet article nous allons utiliser le système Coherence qui est un cache de données répliquées sur plusieurs JVM. Ce système est bien plus performant et souple en terme d'objets que vous souhaitez mettre en cache.

Dans OSB nous allons faire un PUT des données dans un cas et un GET lorsque le Business Service ne répond pas.

Pour faire le PUT il faut le faire au retour du Business Service. Cette étape peut être réalisée lors de la réponse dans le message flow du proxy service.

Nous utiliserons dans ce retour une fonctionnalité de OSB avec l'étape Java CallOut.

Cette classe java qui contient 2 méthodes, permet d'inscrire une donnée dans le cache cohérence. Cohérence fonctionne comme un HashMap java. Il faut positionner un clé et une valeur.

L'import de cette classe dans OSB se fait par un Jar. Ce dernier sera dépend de 2 autres Jar correspondant aux API de Cohérence.







Une fois cet import réalisé, vous pouvez alors construire le proxy flow utilisant un java callout vers Coherence:



Les variables :

MonId correspond au critère de la requête sur l'OSB

MonResultat correspond au résultat du Business Service final



L'ensemble est alors stocké dans Coherence via cette classe java que vous pouvez modifier:

http://hugues.simonnet.free.fr/logiciels/blog/MyFirstSample.java


Au cas ou le Business Service ne répond pas on utilise alors (via la gestion d'erreur de OSB et les mécanisme de retry), le proxy suivant




Je vous propose mon jar ( ALSB Project 1) du projet OSB à télécharger ici:
http://hugues.simonnet.free.fr/logiciels/blog/sbconfigOSB_Coherence.jar

FastSwap - Weblogic Server 10.3

Weblogic server 10.3 permet de faciliter la vie des developpeurs ... en effet, il suffit d'activer cette option FastSwap dans le fichier descripteur
weblogic-application.xml pour être plus prodcutif en dev.

FastSwap permet de modifier une classe (ex: servlet ou autre) sur laquelle vous êtes en train de developper à la volée. C'est à dire que vous n'avez plus besoin de re déployer votre application vers Weblogic serveur, automatiquement il va en prendre compte.

Cette option ne concerne que les applications J2ee déployée en mode "exploded directories", c'est à dire dans un répertoire et non sous forme de EAR, WAR.

Les classes que vous pouvez changer sans re déployer doivent être présentes dans
WEB-INF/classes. Les librairies (format .jar) présentent dans
WEB-INF/lib ne sont pas pris en charge par cette option.

Par ailleurs cette option est non valable dans un environnement de Production.

Plus d'infos en anglais sur :

http://edocs.bea.com/wls/essex/TechPreview/pdf/FastSwap.pdf

jeudi 11 septembre 2008

Nouveau joujou de larry ellison

Quelques vidéos de ce nouveau jouet ... et en français !

mercredi 10 septembre 2008

Caractéristiques de la base de données Oracle SOA suite 10.1.3.3

Ci-dessous vous trouverez les caractéristiques d'une base de données dédiée à SOA suite 10.1.3.3.


How many Tables in the datamodel(s)
SOA suite needs :
- BPEL: 65 tables
- ESB: 78 tables
- WSM: 38 tables

How many Indexes
SOA suite needs :
- BPEL: 135 indexes
- ESB: 51 indexes
- WSM: 42 indexes

How many Views
SOA suite needs :
- BPEL: 15 views
- ESB: 22 views
- WSM: 0 views

How many Constraints
SOA suite needs :
- BPEL: 104 constraints
- ESB: 228 constraints
- WSM: 134 constraints

How many Procedures
SOA suite needs :
- BPEL: 15 procs
- ESB: 1 procs
- WSM: 0 procs

How many Triggers
SOA suite needs :
- BPEL: 0 triggers
- ESB: 4 triggers
- WSM: 0 triggers

Any other particular objects (synonyms, materialized views, etc
Other objects):
- BPEL : 2 sequences, 3 packages,3 packages body
- ESB : 5 evaluation context,10 rule set, 11 sequences
- WSM :10 sequences

jeudi 4 septembre 2008

WebCache et OSB - Cacher le résultat de OSB (ALSB)

Ce mémo va vous expliquer comment mettre en cache un requête envoyée à OSB (Oracle Service Bus - ex: ALSB).

Pour cela on utilise un super outil gratuit (Oracle Web Cache).

Côté OSB, j'ai mis en place un Business service qui appelle un webservice utilisant le code java suivant:

package com.oracle.demo;
import java.util.Random;
import javax.jws.*;
@WebService

public class WSDemo {
@WebMethod

public int getID(int i)
{ Random rd = new Random();
return rd.nextInt(i); }
}


Le poxy service dans OSB route la réquête qu'il reçoit sur le Business Service.


J'utilise SoapUi (outil de test de WebService) en utilisant l'url de mon proxy service: http://HSIMONNE-FR:7021/ALSB_Project_1/Proxy_Service_Demo

Le résultat sera donc différent à chaque appel sans utiliser le cache ....

Si l'on utilise maintenant le port 7777 qui fait référence à Oracle Web Cache, le résultat reste le même le temps d'expiration du cache ! Magique !!!!





Ce port 7777 relance la requête de Oracle Web Cache vers OSB ensuite port 7021.

Voici comment j'ai configuré Oracle Web Cache:

il faut effectivement paramètrer une règle de cache pour le POST/GET vers OSB dont le détail est le suivant:



Ensuite depuis SOAPUi et pendant (300 s par exemple) le résultat sera pris du cache de WebCache et WebCache n'intérrogera pas l'OSB.



PS: plus d'informations sur

Oracle Web Cache cliquez sur http://download.oracle.com/docs/cd/B15904_01/caching.1012/b14046/toc.htm

OSB http://e-docs.bea.com/alsb/docs30/