La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

SOA Interopérabilité entre SII de partenaires commerciaux Espace Informatique Neuchâtelois Jeudi 22 novembre 2007.

Présentations similaires


Présentation au sujet: "SOA Interopérabilité entre SII de partenaires commerciaux Espace Informatique Neuchâtelois Jeudi 22 novembre 2007."— Transcription de la présentation:

1 SOA Interopérabilité entre SII de partenaires commerciaux Espace Informatique Neuchâtelois Jeudi 22 novembre 2007

2 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 2 Plan Projet de recherche HES-SO Démonstrateur Principes Base du dialogue entre les SII des 3 partenaires Plate-forme technique Environnement de développement Service Chorégraphie du processus global Orchestration du processus de chaque partenaire Réalisation de linterface de visualisation Conclusions

3 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 3 Projet HES-SO

4 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 4 BPMS – 4 - SME Projet HES-SO Plate-forme de compétences Démonstrateur montrant linteropérabilité de divers BPMS Business Process Management Systems For Small To Medium-Sized Enterprises

5 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 5 Cas pratique Projet HES-SO

6 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 6 Démonstrateur Une page Web, pour garantir la portabilité, permet de visualiser simultanément létat des processus internes de chacun des 3 partenaires

7 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 7 Démonstrateur - Principes Le démonstrateur est un modèle de simulation Un modèle est une simplification de la réalité Un modèle privilégie un point de vue

8 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 8 Entités informatiques 3 SII distincts –Détaillant –Producteur –Transporteur SII Détaillant –Console de visualisation davancement du processus global –Console de saisie de commande Principes

9 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 9 Scénario Principes

10 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 10 Simulation des tâches Principes Chaque tâche réalisée par le SII dun des partenaires est simulé par une temporisation de 30s

11 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 11 Notification de changement détats Principes La console de visualisation réinterroge les SII des partenaires toutes les 10s

12 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 12 Base du dialogue entre SII des 3 partenaires Envoi de message | N/Réf – Notre référence ID (Clé primaire) de lobjet du message c/o lexpéditeur Réponse de message ID (clé primaire) de lobjet créé par le destinataire et qui servira de référence pour les échanges ultérieurs (V/Réf) Envoi de message | V/Réf – Votre référence ID (Clé primaire) de lobjet du message c/o le destinataire

13 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 13 MCD - Détaillant Base dialogue N/Réf V/Réf

14 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 14 MCD - Producteur Base dialogue N/Réf V/Réf

15 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 15 MCD - Transporteur Base dialogue N/Réf V/Réf

16 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 16 Démonstrateur – Plate-forme technique

17 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 17 Démonstrateur – Environnement de développement Fonctionnalités Environnement de développement Base de donnéesOracle Designer Applications Web/PLSQLOracle Designer Réalisation et publication des services Web Oracle JDeveloper Console de visualisation Oracle Designer AJAX Modélisation de scénarios, dorchestration et de chorégraphie IBM Rational Rose

18 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 18 Démonstrateur – Service

19 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 19 Exemple de lenvoi de la commande du détaillant au producteur Service

20 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 20 Procédure PL/SQL Créer commande c/o le producteur FUNCTION NEWORDER (RETAILERID IN NUMBER,ORDERITEMS IN PROD_PACK.TYPE_ORDERITEMS ) RETURN INTEGER IS VL_NUMCMD NUMBER(9); BEGIN -- Recherche séquence de la commande SELECT CMD_SEQ.NEXTVAL INTO VL_NUMCMD FROM DUAL ; -- Insertion commandes INSERT INTO COMMANDES (NUMERO, DET_NUMERO, DATE_RECEPTION, ETAT) VALUES (VL_NUMCMD, RETAILERID, SYSDATE, 'OUVERTE'); -- Insertion des lignes de commandes FOR i IN 1..ORDERITEMS.COUNT LOOP INSERT INTO LIGNECOMMANDES (CMD_NUMERO, PROD_NUMERO, QUANTITE) VALUES (VL_NUMCMD, ORDERITEMS(i).IDPROD, ORDERITEMS(i).QUANTITE); END LOOP ; COMMIT; RETURN VL_NUMCMD; END; Service

21 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 21 Transformation de la procédure PL/SQL Créer commande en service Web Service

22 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 22 Extraits du fichier WSDL de définition du service Web Créer commande … … Service

23 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 23 Exemple denveloppe de message SOAP envoyé au SII du producteur Service

24 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 24 Exemple de message SOAP de retour du SII du producteur Service 742

25 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 25 Procédure PL/SQL dinvocation de service Web c/o le détaillant (1) FUNCTION NEWORDER (PE_RETAILERID IN INTEGER,PE_ORDERITEMS IN INVWSPROD_PACK.TYPE_ORDERITEMS ) RETURN INTEGER IS VL_REQUEST SOAP_API.T_REQUEST; VL_NUMCMDPROD INTEGER(9); VL_RESPONSE SOAP_API.T_RESPONSE; BEGIN VL_REQUEST := SOAP_API.new_request(p_method => 'ns1:neworderElement', p_namespace => 'xmlns:ns1="http://bpmsprod_prod10g/WSProductor_newOrder.wsdl/types/"', p_envelope_tag => 'soap'); -- Ajout du paramètre id détaillant SOAP_API.add_parameter( p_request => VL_REQUEST, p_name => 'ns1:retailerid', p_type => 'xsd:decimal', p_value => PE_RETAILERID); Service

26 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 26 Procédure PL/SQL dinvocation de service Web c/o le détaillant (1) -- Ajout du paramètre commande FOR i IN 1..PE_ORDERITEMS.COUNT LOOP SOAP_API.add_parameter( p_request => VL_REQUEST, p_name => 'ns1:orderitems', p_type => 'tns:ProdPackOrderitemUser', p_value => ' ' ||PE_ORDERITEMS(i).IDPROD||' ' ||PE_ORDERITEMS(i).QUANTITE||' '); END LOOP; VL_RESPONSE := SOAP_API.invoke( p_request => VL_REQUEST, p_url => PARAMETRAGE.VG_IASNAME||'/BPMSPROD_WS- newOrder-context-root/WSProductor_newOrderSoapHttpPort', p_action => 'neworderResponseElement'); VL_NUMCMDPROD := SOAP_API.get_return_value(p_response => VL_RESPONSE, p_name => 'ns0:result', p_namespace => 'xmlns:ns0="http://bpmsprod_prod10g/WSProductor_newOrder.wsdl/types/"'); RETURN VL_NUMCMDPROD; END; Remarque: PARAMETRAGE.VG_ISNAME contient lURL du serveur dapplication iAS Service

27 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 27 Démonstrateur – Chorégraphie du processus global Normes –WSCI (Web Services Choregraphy Interface) – WS-CDL (Web Services Choregraphy Description Language) Chorégraphie du démonstrateur réalisé à laide de diagrammes dactivités dUML Notre processus global implique des interactions pair- à-pair entre les 3 partenaires sans chef dorchestre Définition dune chorégraphie

28 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 28 Vue globale Chorégraphie

29 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 29 1 er fragment Chorégraphie

30 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 30 2 ème fragment Chorégraphie

31 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 31 3 ème fragment Chorégraphie

32 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 32 4 ème fragment Chorégraphie

33 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 33 5 ème fragment Chorégraphie

34 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 34 6 ème fragment Chorégraphie

35 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 35 7 ème fragment Chorégraphie

36 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 36 Démonstrateur – Orchestration du processus de chaque partenaire Normes –BPEL4WS ou WS-BPEL (Business Process Execution Language For Web Services) Orchestration des processus internes de chaque partenaires du démonstrateur réalisé à laide de diagrammes états et transitions dUML Le SII de chaque partenaire organise la partie de processus qui lui est propre Définition dune orchestration

37 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 37 Détaillant Orchestration

38 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 38 Producteur Orchestration

39 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 39 Transporteur Orchestration

40 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 40 Réalisation de linterface de visualisation

41 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 41 Modèle Etats –Activités –Actions Transitions –Gardes Visualisation

42 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 42 Structure générale du code Javascript Visualisation

43 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 43 Rendu partiel de page Visualisation AJAX – Asynchronous Javascript And XML function newXMLHttpRequest(){ try {return new XMLHttpRequest(); } catch(e) { try {var aObj = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) { try {var aObj = new ActiveXObject("Microsoft.XMLHTTP");} catch(e) {return false;} } return aObj; };

44 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 44 Rendu partiel de page synchronisé Visualisation function executeXMLHttpRequest(procServeur, param, foncExecute){ var http = newXMLHttpRequest() ; … http.open("POST",procServeur,false) ; // false pour une requête synchrone http.setRequestHeader("Content-Type","application/x-www-form-urlencoded") ; http.send(param) ; … var docXML = http.responseXML.documentElement; … if (http.status == 200) { eval(foncExecute); } else { alert("L'erreur suivante est survenue: " + http.status); };

45 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 45 Fonction raffraichi Visualisation function raffraichi() { … // pour autant que la commande du détaillant soit enregistrée if (commandeDetNum != "") { var donnee = "PE_NUMERO=" + commandeDetNum; executeXMLHttpRequest ("det_module.rendEtat", donnee, "traiteRaffraichissement(docXML,DETAILLANT)"); … // pour autant que la commande du producteur soit enregistrée if (commandeProdNum != "") { var donnee = "PE_NUMERO=" + commandeProdNum; executeXMLHttpRequest ("det_module.rendEtatProd", donnee, "traiteRaffraichissement(docXML,PRODUCTEUR)"); …

46 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 46 Requête REST dinterrogation détat dune commande du détaillant Visualisation PROCEDURE RENDETAT (PE_NUMERO IN VARCHAR2 ) IS VL_ETAT COMMANDES.ETAT%TYPE; BEGIN SELECT ETAT INTO VL_ETAT FROM COMMANDES WHERE NUMERO = PE_NUMERO; owa_util.mime_header('text/xml', true); htp.p ( co_declarationXML); htp.p(' '); htp.p(' ' || VL_ETAT ||' '); htp.p(' '); … END;

47 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 47 Requête REST dinterrogation détat dun objet de partenaire (commande producteur) Visualisation PROCEDURE RENDETATPROD (PE_NUMERO IN VARCHAR2 ) IS VL_ETAT COMMANDES.ETAT%TYPE; BEGIN VL_ETAT := INVWSPROD_PACK.ETATCOMMANDE(PE_NUMERO); owa_util.mime_header('text/xml', true); htp.p ( co_declarationXML); htp.p(' '); htp.p(' ' || VL_ETAT ||' '); htp.p(' '); … END;

48 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 48 Message SOAP dinterrogation détat dun objet de partenaire (commande producteur) Visualisation 1182

49 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 49 Message SOAP de réponse détat dun objet de partenaire (commande producteur) Visualisation RECUE PAR DETAILLANT

50 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux Conclusions Ne nécessite pas une refonte des applications et le recours à des logiciels spécifiques Soigner le référencement des objets des tiers impliqués Charge de travail relativement restreinte –Env jours pour le développement et la documentation de lapplication et des services des 3 partenaires –Env. 10 jours pour la conception, le développement et la documentation de linterface de démonstration

51 22 novembre 2007 / p.-a. sunier SOA - Interopérabilité entre SII de partenaires commerciaux 51 Références Site du laboratoire de génie logiciel de la HE-Arc: Rubriques: Ra&D Sagex Enseignement Méthodologie Modélisation Le site renvoie à dautres références plus complètes.


Télécharger ppt "SOA Interopérabilité entre SII de partenaires commerciaux Espace Informatique Neuchâtelois Jeudi 22 novembre 2007."

Présentations similaires


Annonces Google