MOM: Concepts & Applications



Documents pareils
Plan du cours. Systèmes et applications asynchrones Middleware à message. Architecture distribuée. Objectifs du cours

Projet. But: consultation en temps réel d événements (cours de bourse, trafic d envoi SMS ) sur des téléphones portables. Serveur de diffusion

Introduction aux applications réparties

Messagerie asynchrone et Services Web

Urbanisme du Système d Information et EAI

JF SMA'14. A3 - Agent Anytime Anywhere. une plateforme à agents distribués Oct l'expertise middleware.

TD sur JMS ) Qu est-ce qu un middleware orienté message (MOM)? Quelles différences faites-vous entre un MOM et JMS?

MQPerf un outil de diagnostic en mode SaaS des performances optimales du MOM JORAM

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Message Oriented Middleware (MOM) Java Message Service (JMS) Didier DONSEZ

Intégration de systèmes

Des solutions J2EE open source professionnelles adaptées à votre système d information d entreprise

NFP111 Systèmes et Applications Réparties

JOnAS 5. Serveur d application d

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

Fusion : l interopérabilité chez Oracle

Le modèle client-serveur

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

BMC Middleware Management

Introduction aux intergiciels

J2EE - Introduction. Développement web - Java. Plan du chapitre

Les nouvelles architectures des SI : Etat de l Art

Mettez les évolutions technologiques au service de vos objectifs métier

Introduction à la plateforme J2EE

Architectures n-tiers Intergiciels à objets et services web

L intégration d applications unifiée par les Services Web et XML Réconcilier J2EE.NET EIS et mainframes

Grid Technology. ActiveMQ pour le grand collisionneur de hadrons (LHC) Lionel Cons Grid Technology Group Information Technology Department

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

PROJET : ETNIC ESB JANUS. Guide technique : WS-Notification - Clustering. BULL Services et Solutions

Analyse des techniques et des standards pour l interopérabilité entre plateformes

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG

Smart Notification Management

Nouvelles technologies pour l intégration : les ESB

Java pour le Web. Cours Java - F. Michel

Software Engineering and Middleware A Roadmap

Urbanisation des Systèmes d'information

Yann BECHET 32 ans 8 ans d expérience yann@bechet.org

Environnements de Développement

Services Réseaux - Couche Application. TODARO Cédric

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

Mise en œuvre des serveurs d application

La haute disponibilité de la CHAINE DE

5. Architecture et sécurité des systèmes informatiques 5.1 Architecture technique.

Les tableaux de bord de pilotage de nouvelle génération. Copyright PRELYTIS

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

Plan. Department of Informatics

Gestion et sécurisation des échanges XcMon, PMPI 03.31/2004 PDB. Global Data Exchange System

Les Services Web. Jean-Pierre BORG EFORT

Introduction aux «Services Web»

Programmation Web Avancée Introduction aux services Web

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft

Composants Logiciels. Le modèle de composant de CORBA. Plan

Les processus métiers : concepts, modèles et systèmes

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

Introduction à WebSphere MQ

SOA : une brique de la 4 ième génération de l architecture informatique? Hervé Crespel Président du club urba-ea

Cedric Dumoulin (C) The Java EE 7 Tutorial

Notre Catalogue des Formations IT / 2015

Module BD et sites WEB

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Présentation d'un MOM open-source

SOMMAIRE. Conseil de lecture Préface Introduction. 1 Comprendre le rôle des technologies 1. 2 Maîtriser les concepts technologiques 13

Auto-évaluation Aperçu de l architecture Java EE

RFID: Middleware et intégration avec le système d'information Olivier Liechti

Windows (2000/NT), Solaris, AIX, HP-UX, Linux Haute disponibilité : SunCluster 3, Veritas Cluster Server 4. J2EE (JSP, Servlet, EJB, JTA), Open Source

18 TCP Les protocoles de domaines d applications

Description de la formation

MSP Center Plus. Vue du Produit

Gérez efficacement vos flux d entreprises.

DATASET / NETREPORT, propose une offre complète de solutions dans les domaines suivants:

L EAI. par la pratique. François Rivard. Thomas Plantain. Groupe Eyrolles, 2003 ISBN :

Web Application Models

Android et le Cloud Computing

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

BizTalk Server Principales fonctions

Fiche de l'awt Intégration des applications

Le MSMQ. Version 1.0. Pierre-Franck Chauvet

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Configuration Interface for MEssage ROuting

Introduction à la conception de systèmes d information

Les Architectures Orientées Services (SOA)

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

INSTITUT NATIONAL POLYTECHNIQUE DE GRENOBLE

La démarche SOA et l interopérabilité applicative

TechSoftware Présentations

Présentation Internet

FOSS Enterprise Integration Plattaform

Catalogue des Formations Techniques

Jahia. Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3

LIVRE BLANC OCTOBRE CA Unified Infrastructure Management : architecture de la solution

Introduction au Déploiement

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Projet Sécurité des SI

BPEL Orchestration de Web Services

Transcription:

MOM: Concepts & Applications André Freyssinet ScalAgent Distributed Technologies Andre.Freyssinet@scalagent.com www.scalagent.com

Plan Introduction Exemple d application (supervision) Synchrone vs Asynchrone Message Oriented Middleware Modèle Architecture Exemples:MQSeries, SonicMQ, etc. Java Message Service : une API Java pour le MOM Description Utilisation Août 2003-2

Plan (2) Joram: Une implantation Open-Source de l API JMS Présentation Le MOM ScalAgent Implémentation Exemple et démonstration MGE-UPS : Une application de supervision dans le domaine de la distribution électrique Août 2003-3

Introduction Distribution, Intégration Application = ens. Distribué de composants Du synchrone (RPC, RMI, etc.) à l échange de messages asynchrone. Indépendance Evolution Architecture «faiblement couplée» Août 2003-4

Exemple - Supervision Surveillance de l'état de machines, de systèmes d'exploitation et d'applications dans un environnement distribué. Flot continuel de données en provenance de sources diverses sur le réseau. Les éléments du système peuvent apparaître, disparaître, migrer, etc. Les administrateurs doivent pouvoir accéder à l'information quel que soit leur localisation Août 2003-5

Solution traditionnelle client / serveur Interrogation régulière des éléments à surveiller par l'application d'administration et mise à jour d'une base de données centralisée. Utilisation d'une configuration complexe afin de connaître l'ensemble des éléments à surveiller. Maintien de cette configuration lorsque des machines ou des applications rejoignent, quittent ou se déplacent dans le système. Interrogation par les administrateurs de la base centrale. Août 2003-6

Solution traditionnelle client / serveur adm adm NT Août 2003-7

Solution «Messaging» Les différents éléments administrés émettent des messages : changements d'état et de configuration alertes, statistiques Un ou plusieurs démons reçoivent ses notifications et maintiennent l'état courant du système suivi des changements de configuration dynamiques émission de messages signalant les changements d'états significatifs ou les mises à jour Inversion des rôles des producteurs et des consommateurs de données Août 2003-8

Solution «Messaging» adm adm NT Août 2003-9

Révolution? pas vraiment!! Années 70/80 : IBM MQ Series, etc. Internet et Asynchronisme Le courrier électronique (communication PTP) le producteur envoie un message à un destinataire qu il connaît le message est stocké sur un serveur, le consommateur reçoit ultérieurement le message lorsqu il se connecte Les listes de diffusion (Anonymat, Publish/Subscribe, Push) le consommateur s abonne à une liste de diffusion, le producteur publie un message sur la liste (communication anonyme) Le message est diffusé à tous les abonnés Les news (Anonymat, Pull) le producteur publie une information dans un forum le consommateur va lire le contenu du forum quand il le souhaite Août 2003-10

Principes directeurs Couplage faible de l émetteur et du destinataire Communication asynchrone «Store And Forward» Communication indirecte Mode de désignation Persistance et fiabilité Messages typés Gestion de l'hétérogénéité Des données, des systèmes et des systèmes de communication. Août 2003-11

Format des messages Entête : Information permettant l'identification et l'acheminement du message Id. unique, Destination, Priorité, durée de vie, etc. Attributs : Couples (nom, valeur) utilisables par le système ou l'application pour sélectionner les messages Données Définies par l'application Août 2003-12

Modes de désignation Communication de groupe groupe = ensemble de récipiendaires identifiés par un nom unique gestion dynamique du groupe : arrivée/départ de membres différentes politiques de service dans le groupe : 1/N, N/N Communication anonyme désignation associative : les destinataires d'un message sont identifiés par leurs propriétés et non par leur nom applications : tolérance aux fautes (gestion de la réplication), travail coopératif Août 2003-13

Modes de délivrance 4 Relations entre producteur et consommateur 1 producteur 1 consommateur 1 producteur N consommateurs N producteur 1 consommateur N producteurs N consommateurs 2 Modéles Point-To-Point Publish/Subscribe Août 2003-14

Modèle «Point-to-Point» Un message émis sur une queue de messages donnée est consommé par une unique application asynchronisme et fiabilité Application A send Application B recv Message Queue Application C Août 2003-15

Modèle «Point-to-Point» 1! Destinataire Indépendance de l'émetteur et du destinataire Anonymat Evolution Indépendance temporelle Acquittement du traitement par le destinataire Août 2003-16

Modèle «Publish/Subscribe» Un message émis vers un Topic donné est délivré à l ensemble des applications ayant souscrit à ce topic. Application B subscribe Application A recv publish Topic Application C recv subscribe Août 2003-17

Modèle «Publish/Subscribe» Multiples destinataires Anonymat Dépendance temporelle Critères d abonnement "subject based" versus "content based" Organisation hiérarchique Abonnements persistants Août 2003-18

Consommation des messages «Pull» réception explicite Les clients viennent prendre périodiquement leurs messages sur le serveur. «Push» délivrance implicite Une méthode prédéfinie (réaction) est attachée à chaque type de message (événement) la réception d'un événement entraîne l'exécution de la réaction associée. Evénement / Réaction Août 2003-19

Architecture Centralisée : Hub and Spoke Client Client Client MOM Server Client Distribuée : Snowflake Client Client MOM Server MOM Server Client Client Client MOM Server Client Distribuée : Bus Client Client Client MOM Server MOM Server MOM Server Août 2003-20

Qualité de service Fiabilité Persistance des messages + Garantie de délivrance. Scalabilité Nombre de sites, Taille des messages Wide Area Networks (hétérogénéïté, etc.) Transaction Sécurité Répartition de charge Ordonnancement Août 2003-21

Fonctions additionnelles Routage des messages par le contenu Filtrage des messages émetteur, type de message, priorité Attributs, contenu Août 2003-22

Exemples Message Queuing PTP MQ/S Bus logiciels P/S Koala, SoftBench, etc. Unification PTP, P/S Broker de messages JMS PTP & P/S Sonic, Sun ONE, Joram, etc. Août 2003-23

IBM MQ-Series (WebSphere MQ) Interfaces de programmation Message Queue Interface (MQI) JMS1.1 Architecture «centralisée» C/S Interconnexion de Queue-Manager Publish/Subscribe Broker MQ P&S MQ Everyplace Mobile 35 plateformes, nbx languages (C, C++, Cobol, etc) et protocoles Modules Workflow, EDI, EAI, etc. Août 2003-24

Microsoft MSMQ Environnement de prog. Microsoft «Intégré» à l OS. Propriétés Garantie de délivrance, «one-to-many» (P/S) 3.0 (XP) Routage «cost-based» Transactions, Sécurité, priorités Interopérabilité MQSeries Août 2003-25

BEA MessageQ Architecture : bus de messages MQ groups + routage MQ Server Persistance des messages, fiabilité et routage MQ client Propriétés Garantie de délivrance, P/S «Self-describing Message», Sélection de messages, CorrelationId Portabilité, Interopérabilité Août 2003-26

Tibco RendezVous Implémentation JMS1.1 Architecture : bus de messages Un démon (RVD) par site Protocole fiable de diffusion sur UDP chaque démon filtre les messages qu il doit retransmettre à ces clients WAN: routeurs "intelligents" de messages routage des messages en fonction de leurs sujets Interopérabilité : WebLogic, WebSphere Août 2003-27

Progress SonicMQ Implémentation JMS1.1, 100% Java Architecture distribuée C/S SonicMQ Bridge IBM MQSeries, Tibco RendezVous, JMS, Mail, FTP SonicMQ Clients Accès à l ensemble des fonctions JMS depuis C, C++, etc. Windows, Solaris. Août 2003-28

FioranoMQ Implémentation JMS1.1 XML «content based routing» Scalabilité, sécurité (SSL) Interopérabilité : IBM MQSeries, MSMQ. COM (ActiveX), C, C++. Août 2003-29

Softwired ibus Implémentation JMS, 100% Java ibus//messageserver Architecture centralisée «hub & Spoke» ibus//messagebus Architecture bus de messages Protocole IP-Multicast (intranet) Passerelles TCP (internet) Transactions XA, contrôle d accès, sécurité (SSL), persistance Août 2003-30

Sun ONE Message Queue Implémentation JMS1.1, 100% Java Architecture C/S Distribuée Enterprise Edition Sécurité, Scalabilité Interopérabilité, portabilité SOAP, C (3.5β) Windows, Linux, Solaris TCP, HTTP, SSL Integration Server EAI, B2B Août 2003-31

Interopérabilité Pas de standardisation entre les MOM Spécification BMQ : Business Messaging Quality Une autorité MOMA (Message Oriented Middleware Association) CORBA 3.0 introduction de la notion de messages asynchrones J2EE API JMS Août 2003-32

JMS - Java Message Service Mapping Java entre une application cliente et un MOM Le support de JMS est requis dans J2EE 1.3 Un composant essentiel de l architecture J2EE JMS ne spécifie pas le fonctionnement du MOM mais est défini pour couvrir la diversité de ceux-ci : Modèles de communication : Point-to-Point, Publish/Subscribe. Réception : implicite, explicite. Nombreux types de messages : textes, binaires, objets, etc. Qualité de service: persistance, fiabilité, transactions, etc. Août 2003-33

JMS - Java Message Service La spécification JMS est limitée : déploiement, administration (JSR 77), etc. «hierarchical topics», «Dead Message Queues», etc. Les applications utilisant l API JMS sont (presque) indépendante du MOM utilisé (portabilité) mais actuellement l interopérabilité entre deux MOM s nécessite une passerelle. Août 2003-34

Application JMS «JMS Provider» Clients JMS Objets administrés ConnectionFactory, Destination. Messages Clients «natifs» Août 2003-35

Architecture lookup Client JMS JNDI Destination ConnectionFactory bind Outil d administration Connexion logique JMS Provider Août 2003-36

«Messaging Domains» Point-to-Point Publish/Subscribe JMS 1.1 : unification des domaines Réduit et simplifie l API (à terme) Permet l utilisation de Queues et Topics dans une même session (transaction) Août 2003-37

Les objets JMS Objets administrés ConnectionFactory : point d accès à un serveur MOM Destination : Queue ou Topic Connection Authentifie le client et encapsule la liaison avec le provider Gère les sessions et l ExceptionListener Session Fournit un contexte mono-threadé de production/consommation de messages Gère les destinations temporaires, sérialise l exécution des MessageListener, les acquittements de messages et les transactions Août 2003-38

Les objets JMS MessageProducer Fabriqué par la session QueueSender, TopicPublisher Permet l émission de message send, publish MessageConsumer Fabriqué par la session QueueReceiver, TopicSubscriber Permet la réception de message Synchrone receive Asynchrone MessageListener Permet le filtrage des messages Août 2003-39

Architecture JNDI Destination Client JMS ConnectionFactory Connection Session + + MessageProducer MessageConsummer Août 2003-40

Le message JMS Entête JMSMessageId, JMSDestination, JMSDeliveryMode, JMSExpiration, JMSPriority, etc. Propriétés Couple <nom, valeur> Corps TextMessage, MapMessage StreamMessage, ObjectMessage BytesMessage Août 2003-41

JMS - "Point-to-Point" Emetteur Messaging Destinataire QueueConnectionFactory QueueConnection QueueConnection QueueSession Queue QueueSession + + send QueueSender QueueReceiver receive QueueConnectionFactory QueueSender String TextMessage selector msg sender = new session.createtextmessage(); (TextMessage) = session.createsender(queue); String("(name connectionfactory receiver.receive(); = ObjectWeb') = (QueueConnectionFactory) or (name = Scalagent'))"); messaging.lookup(" "); msg.settext(" "); QueueReceiver queue = (Queue) receiver messaging.lookup(" "); = session.createreceiver(queue, selector); QueueConnection sender.send(msg); connection = connectionfactory.createqueueconnection(); connection.start(); QueueSession session = connection.createqueuesession( ); Août 2003-42

JMS - "Point-to-Point" QueueConnectionFactory connectionfactory = (QueueConnectionFactory) messaging.lookup(" "); Queue queue = (Queue) messaging.lookup(" "); QueueConnection connection = connectionfactory.createqueueconnection(); connection.start(); QueueSession session = connection.createqueuesession( ); QueueSender sender = session.createsender(queue); String selector = new String("(name = ObjectWeb') or (name = Scalagent'))"); QueueReceiver receiver = session.createreceiver(queue, selector); TextMessage msg = session.createtextmessage(); msg.settext(" "); sender.send(msg); TextMessage msg = (TextMessage) receiver.receive(); Août 2003-43

JMS - "Publish/Subscribe" Emetteur Messaging TopicConnectionFactory Destinataire TopicConnection Topic TopicConnection A B TopicSession x y TopicSession + + publish TopicPublisher TopicSubscriber Listener onmessage publisher.publish(msg); TopicConnectionFactory TopicPublisher void onmessage(message topic = (Topic) messaging.lookup("/a"); msg) connectionfactory = session.createpublisher(topic); throws JMSException = (TopicConnectionFactory) { messaging.lookup(" "); TopicSubscriber // unpack topic = and (Topic) subscriber handlemessaging.lookup("/a/x"); the = message session.createsubscriber(topic); TopicConnection Subscriber.setMessageListener(listener); connection = connectionfactory.createtopicconnection(); connection.start(); } TopicSession session = connection.createtopicsession(false, Session.CLIENT_ACKNOWLEDGE); Août 2003-44

JMS - "Publish/Subscribe" TopicConnectionFactory connectionfactory = (TopicConnectionFactory) messaging.lookup(" "); Topic topic = (Topic) messaging.lookup("/a/x"); TopicConnection connection = connectionfactory.createtopicconnection(); connection.start(); TopicSession session = connection.createtopicsession(false, Session.CLIENT_ACKNOWLEDGE); TopicPublisher publisher = session.createpublisher(topic); Topic topic = (Topic) messaging.lookup("/a"); TopicSubscriber subscriber = session.createsubscriber(topic); Subscriber.setMessageListener(listener); publisher.publish(msg); void onmessage(message msg) throws JMSException { // unpack and handle the message } Août 2003-45

JORAM Un MOM Open-Source et 100% Java Modèle de communication : message queuing et publish/subsribe Fournit l interface JMS Basée sur la plateforme ScalAgent Le MOM ScalAgent s appuie sur une technologie à base d agents Comportement Transactionnel Architecture distribuée Août 2003-46

JORAM Joram implémente la dernière spécification JMS 1.1 Topics hiérarchique, topics clusterisés DeadMessageQueue Support de SOAP / XML kjoram: un client léger (J2ME) pour périphérique portable Extensions en cours Gain de Performances, persistance BD Outils d administration et support JMX Joram est la solution JMS intégrée dans JOnAS (MDB) Août 2003-47

Le MOM ScalAgent Bus logiciel à base d agents communicants Agents = objets réactifs Persistants Légers: infrastructure d exécution partagée au sein d un serveur d agents Modèle asynchrone événement / réaction Événement = message / notification SendTo Agent Agent React Réaction = fonction de la classe Agent Channel Août 2003-48

Le MOM ScalAgent Persistance des agents et des messages Atomicité des réactions Cohérence garantie par un moniteur transactionnel Persistance + Atomicité = Fiabilité Chaque notification est délivrée une et une seule fois Architecture distribuée hybride Configuration de domaines de communication (bus) Routage entre les domaines Août 2003-49

JORAM Interface JMS du MOM ScalAgent Les queues et topics sont des agents Les messages sont encapsulés dans des notifications Les messages échangés par les clients JMS transitent via le MOM Un agent «ConnectionFactory» sur chaque nœud Mise en place des connections Chaque «client JMS» est représenté par un agent «proxy» Gestion de la connection, dialogue avec les destinations L architecture est naturellement distribuée Août 2003-50

Joram Architecture logique Client 1 Message JMS Client 2 Message JMS Joram Sender Joram Receiver Session Session Connection Connection Proxy Client1 ConnectionFactory Proxy Client2 Destination MOM Scalagent Août 2003-51

Joram Point To Point Client 1 Message JMS Send Client 2 Message JMS Receive Joram Sender Joram Receiver Session Session Connection Connection Proxy1 Message MOM Proxy2 Message MOM Queue MOM Scalagent Août 2003-52

Joram Publish/Subscribe Client 1 Message JMS Send Client 2 Message JMS Receive Joram Publisher Joram Subscriber Session Session Connection Connection Proxy1 Message MOM Topic Proxy2 Message MOM MOM Scalagent Août 2003-53

Joram Architecture centralisée Client 1 Client 2 Joram Joram Px1 T Q PX2 D MOM Scalagent Août 2003-54

Joram Architecture distribuée Client 1 Client 2 Joram Message JMS Joram Px1 Message MOM Message MOM T T Q Message JMS Px2 Message MOM MOM Scalagent Août 2003-55

Joram Architecture distribuée Client 1 Client 2 Client 3 Joram Joram Joram Px1 Px2 Px3 Q1 Q2 Q3 MOM Scalagent Août 2003-56

Joram Topic «clusterisé» Sub Sub Sub Sub Sub Message T Message T Message T Sub Pub Message Sub Août 2003-57

Joram - Administration Au travers de JMS 1 Topic d administration sur chaque serveur Cluster API client d administration Dialogue au travers de Message JMS Au travers de JMX Topic d administration Proxy, Queue et Topic Août 2003-58

Joram - Interconnexion Client 1 Client 2 Client 3 Joram JMS API KJoram Joram JMS API Java Objects TCP protocol Soap/XML messages HTTP protocol KXML / KSOAP Soap/XML messages HTTP protocol Apache / Axis TCP Proxy SOAP Proxy TCP Proxy SOAP Proxy Queues / Topics MOM Queues / Topics MOM TCP/IP SSL TCP/IP SSL HTTP SOAP HTTP SOAP Août 2003-59

Qualité de service Actuellement deux modes : Persistant / Transactionnel «Transient» 2 Mondes Futur Destination : Persistent / Transient Messages : Priorité Persitent / Transient Août 2003-60

Scalagent Distributed Technologies Joram est un élément d une technologie plus vaste Mise en évidence des propriétés de la plateforme Distribution, fiabilité, etc. Le package Open-Source offre des fonctions additionnelles Modèle de programmation Agent : Evénement / Réaction Workflow, EAI, ETL, etc. Ensemble de briques à valeur ajoutée Modèle à composant et outils associés Août 2003-61

ScalAgent Distributed Technologies Legacy/Back-Office applications Open-source Monitoring JMS API JORAM Queues, Topics Mediation Solution Component-based Distributed applications Agent-based Distributed applications Component Model Component Services life-cycle, notification dispatch Agents Model Agent Services creation, persistency, atomicity,.. Mediation Framework Reusable & configurable mediation components SCALAGENT MOM reliable asynchronous communication Integration infrastructure between network equipments and business appl. Tools configuration, deployment, control, dynamic reconfiguration Deployment Service life-cycle, repository ADL Run Time System Java Virtual Machine : J2EE, J2SE, J2ME, JavaCard Août 2003-62

Example: Supervision of UPS Devices Objectives Supervision of distributed Uninterruptable Power Supply Devices (UPS) Collecting usage data from UPSs in real-time Computing indicators from a set of UPSs and reporting to a central control point System components JVM embedded in the UPS device communication board ScalAgent mediation solution (from the UPS board to the management center) Joram and kjoram as connectors to the business applications JOnAS application server for supporting business applications (archiving and reporting) HTTP/ HTML Database HTTP/ XML MGE Teleservice Center Firewalls Supervision Service Monitoring Routers GUI Customer Enterprise Data Center This application has been developed in the framework of the RNTL Août 2003-63 PARFUMS project (MGE-UPS, INRIA, ScalAgent, Silicomp)

Supervision of UPS: solution overview Collect Alarm management Telemaintenance Reporting Reporting Logic Collect Usage data generated by UPS devices Collect Processing and transformation components Filter, correlation, aggregation, statistics, etc. Delivery of pertinent indicators Storage & archiving Logic Operation Center Networked Equipments Mediation infrastructure Business Logic This application has been developed in the framework of the RNTL Août 2003-64 PARFUMS project (MGE-UPS, INRIA, ScalAgent, Silicomp)

UPS supervision: technical components Definition and configuration tools Deployment control station KJoram HTTP/ JSP Web browser This application has been developed in the framework of the RNTL Août 2003-65 PARFUMS project (MGE-UPS, INRIA, ScalAgent, Silicomp)

UPS supervision in use Août 2003-66

Bibiliographie BEA MessageQ http://www.bea.com/content/products/more/messageq FioranoMQ 5 http://www.fiorano.com/products/fmq/overview.htm IBM WebSphere MQ http://www.ibm.com/software/integration/mqfamily Microsoft Message Queue Server (MSMQ) http://www.microsoft.com/windows2000/technologies/communications/msmq ObjectWeb JORAM http://joram.objectweb.org http://www.scalagent.com Août 2003-67

Bibiliographie Progress Sonic MQ http://www.sonicsoftware.com/products/enterprise_messaging Softwired ibus//messagebus http://www.softwired-inc.com/products/products.html Sun Java Message Service (JMS) http://java.sun.com/products/jms TIBCO Rendezvous http://www.tibco.com/solutions/products/active_enterprise/rv Août 2003-68