Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parAdrien Fournier Modifié depuis plus de 8 années
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
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.