JAVA EE vs Services WEB & SIEBEL
Quand on fait des services web on se dit, c'est cool l'intéropérabilité!!! Surtout quand des gars de l'avant vente font éloge de la rolls des CRM ( quand je compare siebel à une rolls, c'est parce que c'est très cher et très lourd, comme la voiture)
Bref, voici en quelques mots les écueils que j'ai rencontré et rencontre encore actuellement:
Les standards
Tout d'abord, il a fallu se pencher sur le support des standards. La je me suis dit on part sur de bonnes bases :
- SOAP 1.1 ( un peu vieux, mais bon je n'ai pas à gérer d'attachements ) ,
- WS-I BASIC PROFILE 1.1.
A ce niveau on était compatible avec JAXWS et la stack de JBOSSWS 2.0.5 ( livrée avec JBOSS AS 4.2.3.)
Les schémas de données
Le premier problème est venu avec la gestion des données: SIEBEL me fournit à chaque fois un WSDL composé de 2 ou 3 schémas XML qui se font référence mutuellement. Et ca ... WSIMPORT n'aime pas trop. Pour preuve, l'erreur :
src-resolve: Cannot resolve the name to a(n) 'element declaration' component
La seule résolution que j'ai trouvée était de placer tous les objets dans le même namespace et de fusionner les différents schémas. Je sais ca fait brutal, mais je n'ai trouvé que ca pour l'instant....
La gestion des virtual host
Le but ultime serait de faire tourner tout ce petit monde derrière un frontal web avec un virtual host qui changerait de nom selon l'environnement ( transcendant n'est-ce pas ?) Le seul moyen que j'ai trouvé pour l'instant, et qui ne me plait guère, est d'utiliser une annotation propriétaire JBOSSWS : @WebContext . J'essaye de voir sur les forums si il existe une autre solution ...