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

Formation 1 - Formation Architecture SOA Architecture SOA.

Présentations similaires


Présentation au sujet: "Formation 1 - Formation Architecture SOA Architecture SOA."— Transcription de la présentation:

1 Formation 1 www.objis.com - Formation Architecture SOA Architecture SOA

2 www.objis.com - Formation SPRING A propos d’Objis…  Centre de formation depuis 2005  Spécialiste technologies Java/J2ee  Formations intra/inter entreprises  70% de pratique  Paris – Lyon – Dakar  Sponsor salon Solutions Linux 2010  + de 100 tutoriaux Java/j2ee sur www.objis.comwww.objis.com 2 www.objis.com - Formation Architecture SOA

3 www.objis.com - Formation SPRING Sommaire  Introduction SOA  Technologies d'intégration clés  Bus de service  Routage, transformation, validation  Orchestration web services  Processus métier  Traitement Evènement complexe  Moteur de règles 3 www.objis.com - Formation Architecture SOA

4 www.objis.com - Formation SPRING Objectifs  1) Comprendre problématiques SOA  2) Identifier technologies / briques clés SOA  3) Stratégie mise en oeuvre env. SOA / JEE 4 www.objis.com - Formation Architecture SOA

5 www.objis.com - Formation SPRING Apparition architecture SOA : contexte métier  Besoin : mettre le système d'information (SI) de l'entreprise au service du business !!  AVANT : SI = ensemble d'applications Gestion relation client (CRM) Gestion flux logistique (SCM) Progiciel de gestion entreprise (ERP) Gestion processus métiers (BPM) Entrepot de données (Datawarehouse)...  DEMAIN : SI = ensemble de services 5 www.objis.com - Formation Architecture SOA

6 www.objis.com - Formation SPRING Apparition architecture SOA : contexte technique  CORBA, EJB et DCOM basés sur RPC Pb : Couplage fort  EJB et DCOM liés à une plateforme Pb : manque d'intéropérabilité  CORBA EJB complexe CORBA nécessite IDL EJB nécessit(ait) XML complexe  2003+ : nouveaux standards ouverts XML / Web Services WSDL / SOAP / UDDI JAX-RPC / JAX-WS 6 www.objis.com - Formation Architecture SOA

7 www.objis.com - Formation SPRING Stratégie : pyramide SOA  Jusqu'où le SI met en oeuvre SOA ? 7 www.objis.com - Formation Architecture SOA 1) Sécurité 2) Transactions 3) Qualité service

8 www.objis.com - Formation SPRING Standards Web services : Le monde de JAX-WS 8 www.objis.com - Formation Architecture SOA SOAP JAXB JAX-R SCHEM A XML JAX-P WSDL MTOM SAAJ JAX-WS Java SE 6 UDDI inclus basé sur Fournit API haut niveau pour utilise Fournit API bas niveau pour Annuaire pour définit manipule Représenté par Fournit clients pour accéder Transformation JAVA / XML

9 www.objis.com - Formation SPRING Standards Web services  JSR 224 : JAX-WS (API haut niveau pour WS) –http://jcp.org/en/jsr/detail?id=224http://jcp.org/en/jsr/detail?id=224  JSR 181 : métadonnées (annotations) –http://jcp.org/en/jsr/detail?id=181http://jcp.org/en/jsr/detail?id=181  JSR 109 : Modèle prog. Web Services JEE –http://jcp.org/en/jsr/detail?id=109http://jcp.org/en/jsr/detail?id=109  JSR 67 : SAAJ (API bas niveau créer/manipuler WS) – http://jcp.org/en/jsr/detail?id=67http://jcp.org/en/jsr/detail?id=67

10 www.objis.com - Formation SPRING Environnement SOA 10 www.objis.com - Formation Architecture SOA Services bas niveau Systèmes métiers Services composites Processus métiers orchestrée Services de présentation ES B Service ERPPortailSCMCRM Adaptateurs TransformationTransformation MessagesMessages RoutageRoutage

11 www.objis.com - Formation SPRING SOA : 5 caractéristiques clés  Contrat de service  Transparence du service  Granularité du service  Composition du service  Annuaire de service 11 www.objis.com - Formation Architecture SOA

12 www.objis.com - Formation SPRING Caractéristique SOA : interface / contrat de service 12 www.objis.com - Formation Architecture SOA Service(s) 1Opération XSD Message In/Out 2Opération XSD Message In/Out

13 www.objis.com - Formation SPRING Caractéristique SOA N°1 : interface / contrat de service  Quelles opérations disponibles entre le client et le service ? Quelles données en paramètres ?Comment solliciter le service ?  Solution : WSDL + XSD : description format message XML pour chaque opération  WSDL 1.1 complexe Ports ? Bindings ?  WSDL 2.0 plus simple Courbe apprentissage plus réduite  WS-Adressing 13 www.objis.com - Formation Architecture SOA

14 www.objis.com - Formation SPRING Caractéristique SOA N° 2: Transparence 14 www.objis.com - Formation Architecture SOA

15 www.objis.com - Formation SPRING Caractéristique SOA N° 2: Transparence  Appeler un service sans avoir besoin de connaître son emplacement physique sur le réseau  Solution 1 : ESB (Enterprise Service Bus) Ex : ServiceMix (http://servicemix.apache.org )  Solution 2 : Proxy / Médiateur Ex : Apache Synapse (http://synapse.apache.org)  WS-Adressing Définir dans le message le endpoint / l'action pour un Web Service basé sur Soap Notion de 'destination logique' 15 www.objis.com - Formation Architecture SOA

16 www.objis.com - Formation SPRING Caractéristique SOA N° 2: Transparence 16 www.objis.com - Formation Architecture SOA

17 www.objis.com - Formation SPRING Caractéristique SOA N° 2: Transparence 17 www.objis.com - Formation Architecture SOA

18 www.objis.com - Formation SPRING Caractéristique SOA N° 3: Granularité et état  Ex : besoin d'un service web qui ajoute un utilisateur dans le CRM du SI  Solution 1 : Un seul 'gros' service AjouterClient (OrganisationId) → id spécifique CRM PB : limite réutilisabilité du service par autres clients  Solution 2 : plusieurs petits' services RechercherOrganisationIdClient(Client) AjouterAdresseClient()  Maximiser la réutilisabilité !  La gestion de l'état ajoute de la complexité Ex service nécessitant validation (id en session ?) 18 www.objis.com - Formation Architecture SOA

19 www.objis.com - Formation SPRING Caractéristique SOA N°4 : Composition de services  Maximiser la création de services composites et / ou orchestration de services 1 service = Ensemble d'autres services  Solution 1 : spec BPEL (orchestration WS) Exemple produit : Ode (http://ode.apache.org/)http://ode.apache.org/  Solution 2 : spec SCA (Service Component Architecture) Exemple produit : Tuscany http://tuscany.apache.org/http://tuscany.apache.org/ 19 www.objis.com - Formation Architecture SOA

20 www.objis.com - Formation SPRING Caractéristique SOA N°4 : Composition de services  Norme SCA : 2005 (IBM, BEA, Oracle...) Création de services 'composite' 1 service = ensemble de 'composants' Indépendance protocole accès & langages implem  Analogie Spring Conteneur Spring (XML)= Composite SCA Bean Spring = Composant SCA 20 www.objis.com - Formation Architecture SOA 12

21 www.objis.com - Formation SPRING Caractéristique SOA N°4 : Composition de services  Exemple modélisation pb : Service de Tickets 21 www.objis.com - Formation Architecture SOA

22 www.objis.com - Formation SPRING Caractéristique SOA N°4 : Composition de services  Service de Tickets : solution 1 (Composite SCA) 22 www.objis.com - Formation Architecture SOA SCADomain scaDomain = SCADomain.newInstance("composite1.xml");

23 www.objis.com - Formation SPRING Caractéristique SOA N°4 : Composition de services  Service de Tickets : solution 2 (Composite SCA) 23 www.objis.com - Formation Architecture SOA

24 www.objis.com - Formation SPRING Caractéristique SOA N°4 : Composition de services  Service de Tickets : séquence 24 www.objis.com - Formation Architecture SOA

25 www.objis.com - Formation SPRING Caractéristique SOA N°5 : Annuaire & publication  Aujourd'hui peu d'entreprises utilisent UDDI Peu d'annuaires publics (essais de SAP,IBM..) La 'découverte automatique' se heurte au business Réalité : besoin de contrats commerciaux !  En pratique : Pour web services SOAP, un WSDL clair suffit pour lister les services et opérations disponibles Annuaire interne Ex : Juddi Base de données Annuaire LDAP Wiki Solution pro : CentraSite.org MuleSource :Galaxy (http://www.mulesoft.org/display/GALAXY/Home)http://www.mulesoft.org/display/GALAXY/Home Annuaire WS02 (http://www.wso2.com)http://www.wso2.com 25 www.objis.com - Formation Architecture SOA

26 www.objis.com - Formation SPRING Les technologies d'une plate forme SOA 26 www.objis.com - Formation Architecture SOA

27 www.objis.com - Formation SPRING Technologies plate forme SOA (1/2)  BPM : Business Process Management Définir, Visualiser, Déployer des processus métiers impliquant plusieurs organisations Objectif : réduire couts, améliorer agilité business.  EDM : Enterprise Decision Management Modifier simplement toutes les règles métiers Via DSL (Domain Specific Language) BRE (Business Rules Engine) BRMS (Business Rule Management System)  ESB : Enterprise Service Bus Ex : recevoir fichier Ascii via FTP et le transformer en fichier XML,puis soumettre à WS Notion de 'temps réel' 27

28 www.objis.com - Formation SPRING Technologie SOA : Complex Event Processor  CEP : Complex Event Processor Gérer plusieurs flux de données en temps réel En déduire tableaux de bord stratégiques / tactiques / opérationnels (BAM) Ex fraude : utilisation simultanée carte crédit Ex. produit : Esper (http://esper.codehaus.org/)http://esper.codehaus.org/ Ex. produit : Tibco BusinessEvents 28 www.objis.com - Formation Architecture SOA

29 www.objis.com - Formation SPRING Les technologies d'une plate forme SOA : Complex Event Processor 29 www.objis.com - Formation Architecture SOA

30 www.objis.com - Formation SPRING Technologie SOA : Service central de Décision (EDM) 30 www.objis.com - Formation Architecture SOA

31 www.objis.com - Formation SPRING Technologie SOA : Service central de Décision (EDM) 31 www.objis.com - Formation Architecture SOA

32 www.objis.com - Formation SPRING Technologie SOA : Business Activity Monitor (BAM) 32 www.objis.com - Formation Architecture SOA Exemple solution BAM de WS02 : http://wso2.com/products/business-activity-monitor/http://wso2.com/products/business-activity-monitor/

33 www.objis.com - Formation SPRING Technologie SOA : annuaire de Service 33 www.objis.com - Formation Architecture SOA

34 www.objis.com - Formation SPRING Technologie SOA : annuaire de Service 34 www.objis.com - Formation Architecture SOA

35 www.objis.com - Formation SPRING Roles de l'ESB  1) Connecteurs de données / Adaptateurs HTTP (SOAP,XML), FTP, SFTP, JMS, Fichier...  2) Transformation Ex : transformation XSLT pour flux XML  3) Routage intelligent Basé sur contenu ou en tête message  4) Gestion du service Outils admin déploiement, versionning, config.  5) Monitoring & Logging Suivre en temps réel flux données. Intercepteurs. 35 www.objis.com - Formation Architecture SOA

36 www.objis.com - Formation SPRING Roles et utilité de l'ESB  6 ) API d'intégration Ajouter de nouveau adaptateurs spécifiques  7) Gestion de flux Visuellement (ou à travers éditeur XML) créer graphes ou enchainement de séquences  8) Timing Créer actions en fonction du temps / Triggers  CONSEIL : valeur ajoutée de l'ESB mitigée si services exposés sous forme de web service Utile si plusieurs formats données à gérer, plusieurs protocoles. Environnement complexe 36 www.objis.com - Formation Architecture SOA

37 www.objis.com - Formation SPRING Architecture ESB dans le SI 37 www.objis.com - Formation Architecture SOA

38 www.objis.com - Formation SPRING Conception : chaine d'intégration 38 16 5 43 2 7 www.objis.com - Formation Architecture SOA

39 www.objis.com - Formation SPRING Exemple ESB : ServiceMix 39 www.objis.com - Formation Architecture SOA Bus de service Open source / Implémentation JBI (JSR 208) http://servicemix.apache.org/

40 www.objis.com - Formation SPRING ServiceMix : démarrage 40  Choix 1 : lancer directement bin/servicemix ServiceMix utilise alors conf/servicemix.xml Voir console 'JBI Container (ServiceMix) started'  Choix 2 : expliciter un fichier de config : bin/servicemix monfichierconfig.xml ServiceMix utilise alors votre fichier de conf Lors du démarrage, ServiceMix charge tous les services disponibles dan 'hotdeploy' Formation Architecture SOA

41 www.objis.com - Formation SPRING ServiceMix : configuration avec fichier servicemix.xml 1 2

42 www.objis.com - Formation SPRING ServiceMix : packaging et déploiement 42 www.objis.com - Formation Architecture SOA

43 www.objis.com - Formation SPRING Exemple scenario simple d'intégration  Récupérer message d'une file ActiveMQ  Traiter message (Ex : tracer contenu message) 43 ESB ServiceMix Formation Architecture SOA Queue JMS 1 2 1 2

44 www.objis.com - Formation SPRING ServiceMix : scenario intégration  Récupérer message XML d'une file de message Jargon SMix = Service Unit ''Binding Component'  Traiter ce message (Ex : affichage console) Jargon Smix = Service Unit 'Service Engine' 44 www.objis.com - Formation Architecture SOA ESB ServiceMix Queue JMS 1 2

45 www.objis.com - Formation SPRING Exemple scenario simple d'intégration : quels composants ? 45 2 1 URL composants ServiceMix : http://servicemix.apache.org/components-list.htmlhttp://servicemix.apache.org/components-list.html

46 www.objis.com - Formation SPRING ServiceMix : méthodologie  1 : sélectionner BC et SE  2 : configurer les SU pour le scénario  3 : packager les Sus dans un SA  4 : déployer le SA dans serviceMix

47 www.objis.com - Formation SPRING ServiceMix : scenario intégration

48 www.objis.com - Formation SPRING ServiceMix : Exemple xbean.xml Binding Component 48 www.objis.com - Formation Architecture SOA Ecoute d'une file de message 2 1 5 3 4

49 www.objis.com - Formation SPRING ServiceMix : scénario intégration 49 www.objis.com - Formation Architecture SOA 4 2 3 1

50 www.objis.com - Formation SPRING ServiceMix : scénario intégration 50 www.objis.com - Formation Architecture SOA 1 2

51 www.objis.com - Formation SPRING Démo ServiceMix : déploiement service dans 'hotdeploy' 51 www.objis.com - Formation Architecture SOA Copier la livraison dans répertoire 'hotdeploy' de ServiceMix ServiceMix informe du déroulement du déploiement du service

52 www.objis.com - Formation SPRING Démo ServiceMix : test du scénario d'intégration 52  1 : démarrer ESB ServiceMix  2 : démarrer fournisseur de message ActiveMQ  3 : identifier queue 'objis.client.queue' via broker  4 : ajouter un message dans la queue  5 : scruter la console pour voir si message traité www.objis.com - Formation Architecture SOA

53 www.objis.com - Formation SPRING Démo ServiceMix : test du scénario d'intégration 53 1 2

54 www.objis.com - Formation SPRING Monitoring JMX 54  Lancer JAVA_HOME\bin\jconsole (jdk 5)  ou JAVA_HOME\bin\jvisualvm (jdk 6)

55 www.objis.com - Formation SPRING Monitoring JMX 55 2 Onglet Mbeans Avec activation JMX 6 54 3 www.objis.com - Formation Architecture SOA

56 www.objis.com - Formation SPRING Monitoring JMX : ActiveMQ 56 Configurer le Broker : → Attributs → Opérations Liste des Queues www.objis.com - Formation Architecture SOA

57 www.objis.com - Formation SPRING Monitoring JMX : ServiceMix 57

58 www.objis.com - Formation SPRING Monitoring JMX : Statistiques Endpoint 58

59 www.objis.com - Formation SPRING LOG 59

60 www.objis.com - Formation SPRING Gestion des erreurs : bonne pratique  Utiliser un composant Camel comme intermédiaire  Avantage : aucun développement à faire Par rapport à une autre solution de type bean 60 www.objis.com - Formation Architecture SOA

61 www.objis.com - Formation SPRING Sécurité  INFO : gestion d'erreurs préalable !!! Vous devez savoir gérer messages d'erreur Authentification & Autorisation & intégrité  Solution 1 : passer par un bean A éviter car implique codage  Solution 2 : passer par API JAAS Java Authentication and Autorisation Service Authentifier (Login/pwd ou certificat) + Role Pas de code ! Uniquement config → TB ! Autorisation : Fichiers conf\groups.properties Authentification : users-passwords.properties ou users-credentials.properties (si certificats) 61 www.objis.com - Formation Architecture SOA

62 www.objis.com - Formation SPRING Sécurité 62 21 www.objis.com - Formation Architecture SOA

63 www.objis.com - Formation SPRING Sécurité  Solution 1 (simple) : passer par un bean  Le bean trace message et contexte de Sécurité 63 www.objis.com - Formation Architecture SOA

64 www.objis.com - Formation SPRING ServiceMix : scénario complexe (calculateur de meilleur tarif) 64 www.objis.com - Formation Architecture SOA

65 www.objis.com - Formation SPRING ServiceMix : scénario complexe Flux de requête 65 www.objis.com - Formation Architecture SOA

66 www.objis.com - Formation SPRING ServiceMix : scénario complexe Flux de réponse 66 www.objis.com - Formation Architecture SOA

67 www.objis.com - Formation SPRING ServiceMix 67 www.objis.com - Formation Architecture SOA

68 www.objis.com - Formation SPRING ServiceMix 4  Nouveauté : OSGi  Nouveauté : vues Développeur / Technologie / Noyau 68 Formation ESB ServiceMix

69 www.objis.com - Formation SPRING Exemple ESB : Mule ESB 69 www.objis.com - Formation Architecture SOA 1,5 millions de téléchargements – 2500 mise en production - http://www.mulesoft.com

70 www.objis.com - Formation SPRING Plate forme SOA 'Opensource'  Combinaison de produits open source remplissant objectifs de chaque brique technologique de la pyramide  Critères de choix : Viabilité Architecture Monitoring Extensibilité 'vrai' Open source 70 www.objis.com - Formation Architecture SOA

71 www.objis.com - Formation SPRING Plate forme SOA 'Opensource' 71 www.objis.com - Formation Architecture SOA

72 www.objis.com - Formation SPRING Drools  Pour avoir un système 'agile' & 'intelligent', les décisions opérationnelles doivent être gérées, automatisées, améliorées  Ces décisions peuvent dépendrent d'éléments extérieurs imprévisibles  Coder les règles métiers en Java ne permet pas cette agilité. De plus modifications dépend des développeurs...pas acceptable pour le business !!!  Drools permet de modifier les règles métiers d'un programme sans modifier le code Java. 72 www.objis.com - Formation Architecture SOA

73 www.objis.com - Formation SPRING Architecture Drools  Drools Expert : le moteur  Drools Fusion : traitement évènements complexes  Drools Flow : combine Règles et Processus métiers  Drools Guvnor : Système gestion Règles métiers  Drools Solver : algorithme de recherche  Plugin Eclipse 73 www.objis.com - Formation Architecture SOA

74 www.objis.com - Formation SPRING Processus métiers  Séquence d'activités contribuant au besoin métier  BPM utilise les services exposés 74 www.objis.com - Formation Architecture SOA

75 www.objis.com - Formation SPRING Relation BPM / Services / Evènements 75 www.objis.com - Formation Architecture SOA

76 www.objis.com - Formation SPRING Relation Flux BPM / Flux ESB 76  Flux ESB : echange de messages entre systemes Approche 'technique' Utile ssi nombreux protocoles & formats données Routage 'temps réel'  Flux BPM : exécuter processus métier Approche 'métier' Lent (pourque tout un processus finisse) Nécessite souvent intervention humaine Notion de 'temps d'attente (wait state)  Bonne pratique : utiliser BPM + ESB BPM pour modéliser métier ESB pour routage temps réel + transformation messages

77 www.objis.com - Formation SPRING JBPM  1) jBPM prend un processus graphique en entrée  2) Un processus est composé d'activités liées par des transitions  3) Le diagramme / graphe sert pour commmunication entre analystes et développeurs  Process = flux d'exécution  Exécution d'un process = instance du process  JBPM gère les instances de process  Certaines activités sont automatiques : envoi email ou invocation EJB 77 www.objis.com - Formation Architecture SOA

78 www.objis.com - Formation SPRING Déploiement d'un processus  2 options Packager processus en fichier.par Contient diagramme du processus Déployer directement via console web  Lorqu'un processus est déployé, il obtient systématiquement nouvelle version Permet de pas 'écraser' instances existantes Facilite audit de chaque version du process 78 www.objis.com - Formation Architecture SOA

79 www.objis.com - Formation SPRING JBPM  Certaines activités sont automatiques : envoi email ou invocation EJB  Certaines activités peuvent être en état d'attente : attente d'une commande client  JBPM va gérer et rendre persistant les états  Composantes jBPM Moteur Eclipse designer Web modeler : Signavio 79 www.objis.com - Formation Architecture SOA

80 www.objis.com - Formation SPRING JBPM 5 full installer : 'ant install.home'  Installation Jboss AS 5.1.0.GA  Installation Eclipse Helios  Installation Drools Guvnor dans Jboss AS  Installation Oryx Designer dans Jboss AS  Installation console jBPM dans Jboss AS  Installation plugin Eclipse jBPM  Installation plugin Eclipse Drools 80 www.objis.com - Formation Architecture SOA

81 www.objis.com - Formation SPRING Les risques du couplage faible  1) Les nouveaux standards de communications (XML, SOAP, WSDL, UDDI....) sont ouverts.  2) Les nouveaux standards de communications ont été développé sans une approche sécurité.  3) Si'ils sont utilisés 'tel quels', ils sont complètement non sécurisé !  Exemple : communication Usine / Agences AVANT : Interfaces propriétaires sécurité DEMAIN : services exposés via WS 81 www.objis.com - Formation Architecture SOA

82 www.objis.com - Formation SPRING Exemple B2B AVANT SOA : Communication par VPN 82 www.objis.com - Formation Architecture SOA

83 www.objis.com - Formation SPRING Exemple B2B AVEC SOA : Communication par Web Services 83 www.objis.com - Formation Architecture SOA

84 www.objis.com - Formation SPRING Solutions pour Sécurité  1) Intercepteur SOAP  2) SAML (Secure Assertion Markup Language) & Authentification fédérée (Ex: OpenSSO)  3) Proxy  4) Contrats  5) Certificats  6) Encryption XML  7) Signature  8) Audit 84 www.objis.com - Formation Architecture SOA

85 www.objis.com - Formation SPRING Apache Camel  Implémentation de patterns d'intégration (EIP) entre un point A et un point B ( http://www.eaipatterns.com/ )http://www.eaipatterns.com/  Traitement de messages: routage, médiation, transformation, validation, interception, enrichissement  Langage spécifique (Domain Specific Language)  from(“file:c:\objis\xml”).filter().xpath(expression).to(“jms:dQueue”)  Supporte plusieurs protocoles (http, ftp, file,...)  Supporte plusieurs formats données (xml, json, text...)  CamelContext = 'routes' + 'processors' + 'components' 85 www.objis.com - Formation Architecture SOA

86 www.objis.com - Formation SPRING Apache Camel 86 www.objis.com - Formation Architecture SOA

87 www.objis.com - Formation SPRING Scénario d'intégration simple avec Apache Camel 87 www.objis.com - Formation Architecture SOA 1 3 2 4

88 www.objis.com - Formation SPRING Apache Camel : objet Exchange 88 www.objis.com - Formation Architecture SOA

89 www.objis.com - Formation SPRING Apache Camel : contexte Camel 89 www.objis.com - Formation Architecture SOA

90 www.objis.com - Formation SPRING Apache Camel : routage intelligent 90 www.objis.com - Formation Architecture SOA

91 www.objis.com - Formation SPRING Drools : les produits  Drools Expert : le moteur de règles  Drools Fusion : module CEP (Complex Event Proc.)  Drools Flow : combine Règles et processus métier  Drools Guvnor : BRMS  Drools Solver : Algorithme de recherche  Plugin Eclipse  http://www.jboss.org/drools/ 91 www.objis.com - Formation Architecture SOA

92 www.objis.com - Formation SPRING Jboss Rules (Drools) : concurrents  ILOG (Ibm)  Jrules  Blaze Advisor .NET : Biztalk  OpenRules  Jess 92 www.objis.com - Formation Architecture SOA

93 www.objis.com - Formation SPRING Règles métiers : le problème  PB Implémentation règles métier 'en dur dans le code' : Maintenance difficile (code spaguetti / if imbriqué !) Evolution : attention à la régression ! MAJ règles réservée au Développeur Vérif règles difficile / MAJ impossible pour analyste + il y a de if, + de prob. performance 93 www.objis.com - Formation Architecture SOA

94 www.objis.com - Formation SPRING Règles métiers : la solution  Mise en oeuvre moteur de règles (si règles < 20) : Séparer le QUOI (quelle règle) et COMMENT (algo) Langage déclaratif (ex:SQL) Les analystes écrivent les règles. Le moteur traduit Maintenance accrue car séparation quoi/comment Performances indep Nb Règles (Algo Rete, // exec) Flexibilité : plus simple d'ajouter règles que code. 94 www.objis.com - Formation Architecture SOA

95 www.objis.com - Formation SPRING Jboss Rules (Drools) : Règle 95 www.objis.com - Formation Architecture SOA 1 2 3 4

96 www.objis.com - Formation SPRING Jboss Rules (Drools) : Règle 96 www.objis.com - Formation Architecture SOA 1 2 4 3

97 www.objis.com - Formation SPRING

98 Traitement Evènements complexes (CEP)  Capturer informations métier : Messages / Evènements  Identifier des 'Patterns evenements'  Nombreuses applications : BPM (exceptions, monitoring) Finances, Fraude, Réseaux, Defense,  Analogie avec application DB “à l'envers” On enregistre requête → données temps réel  Remontée d'informations pour pilotage stratégique Ex : BAM (Business Activity Monitor) 98 www.objis.com - Formation Architecture SOA

99 www.objis.com - Formation SPRING ESPER : framework CEP Open Source  Traitement volume messages / évènements Besoin d'identifier des 'pattern de messages'  Dispo pour Java (Esper) et.NET (Nesper)  http://esper.codehaus.org/ http://esper.codehaus.org/  Langage requête : EPL ( Analogie SQL )  Mise en oeuvre : 4 points clés 1) Créer 'objets évènement' 2) Définir & enregistrer requêtes Esper 3) Spécifier Listeners et/ou souscripteur résultats 4) Définir options de configuration 99 www.objis.com - Formation Architecture SOA

100 www.objis.com - Formation SPRING ESPER : mise en oeuvre en 4 étapes clés 100 www.objis.com - Formation Architecture SOA Identifier Objet évènement Configuration Définir souscribteur et/ou listeners Définir et enregistrer La requête EPL 1 4 32

101 www.objis.com - Formation SPRING ESPER : Listener et souscripteur  But commun : écouter résultats requête EPL  Souscripteur Contrainte : 1 seul souscripteur par reqûete Avantage : matching direct avec besoin métier  Listener Plusieurs listeners possible par requête Inconvénient : besoin de caster résultats  Mi 101 www.objis.com - Formation Architecture SOA

102 www.objis.com - Formation SPRING ESPER IO : Intégration sources d'évènements  Notion d'Adaptateurs pour sources d'évènements : CSV, DB, Socket, Spring JMS, Stax 102 www.objis.com - Formation Architecture SOA Esper IO

103 www.objis.com - Formation SPRING ESPER : 2 méthodes pour traiter évènements  Méthode 1 : pattern d'évènements Corrélation entre évènement dans le temps Présence / Absence d'évènement(s)  Méthode 2 : requêtes flux d'évènement Fournit fonctions fenetrage, aggrégation, et analyse d'un flux d'évènement. 103 www.objis.com - Formation Architecture SOA

104 www.objis.com - Formation SPRING Travaux pratiques SOA  1) Affectation de produits dans pyramide SOA  2) Création d'un web service SOAP avec Java 6  3) Intégration JMS avec Spring JMS et ActiveMQ  4) Déploiement de services simples dans ServiceMix  5) Services complexes et flux dans ServiceMix  6) Intégration et EIP avec Apache Camel  7) intégration de Camel dans Service Mix  8) Orchestration de services avec Apache ODE  9) Processus métiers avec Jboss Jbpm  10) Mise en oeuvre règles avec Drools Jboss Rules  11) Intégration de Drools dans serviceMix  12) Composition services SCA avec Apache Tuscany 104 www.objis.com - Formation Architecture SOA Implémentations couche service : WS / EJB / JMS Intégration technique / Métier Archi SOA

105 www.objis.com - Formation SPRING Bibliographie  Open Source SOA Editions Manning – 450 pages  Web Services Up and Running Editions O'Reilly – 318 pages  SOA guide de l'architecte Editions Dunod – 360 pages  Java SOA Cookbook Editions O'Reilly – 782 pages 105 www.objis.com - Formation Architecture SOA


Télécharger ppt "Formation 1 - Formation Architecture SOA Architecture SOA."

Présentations similaires


Annonces Google