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



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

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

Présentation d'un MOM open-source

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

Infrastructure RDS 2012

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

Projet de Veille Technologique

Messagerie asynchrone et Services Web

Armelin ASIMANE. Services RDS. de Windows Server 2012 R2. Remote Desktop Services : Installation et administration

Installation FollowMe Q server

Configuration Interface for MEssage ROuting

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

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

Mise en place d un projet VDI

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

Hyper-V Virtualisation de serveurs avec Windows Server 2008 R2 - Préparation à l'examen MCTS

JOnAS Day 5.1. Clustering

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

Le passage à l échelle de serveur J2EE : le cas des EJB

Exemples et tutoriels Version 7.5. Tutoriel de l'exemple Recrutement de personnel pour IBM Process Designer

Installation personnalisée d'oracle 10g

Tutorial et Guide TeamViewer

Le paiement par carte bancaire

Kaseya 2. Guide de démarrage rapide. pour VSA 6,0

Hyper-V et SC Virtual Machine Manager sous Windows Server 2008 R2

Manuel d installation serveurs

Etude de l ENT de l Université de Paris 5. Mise en place d outils de suivi de la charge de l ENT (monitoring)

Compte Rendu d intégration d application

McAfee Security-as-a-Service

Guide de l'utilisateur Sybase Mobile Sales for SAP CRM 1.0

JOnAS 5. Serveur d application d

Services RDS de Windows Server 2012 R2 Remote Desktop Services : Installation et administration

Licences Windows Server 2012 R2 dans le cadre de la virtualisation

Intégration de systèmes

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

1. Comment accéder à mon panneau de configuration VPS?

La réplication sous SQL Server 2005

Evaluation et mise en place d un serveur de messages pour Chamilo 2.0

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

Votre appareil est configuré en usine pour permettre d'envoyer immédiatement des SMS.

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

pour Windows Manuel de l agent pour Microsoft SQL Server r11.1 C F

NIGHT VISION STUDIOS GUIDE DU LOGICIEL. Produit Voyance. Version 1.5

Projet ESB - Retour d expérience

Guide de prise en main Symantec Protection Center 2.1

Sage 100 CRM - Guide d installation Version Mise à jour : 2015 version 8

Liste des FICHES PRATIQUES

Kaseya 2. Guide de démarrage rapide. pour VSA 6,0

Guide de l'utilisateur

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. A308, Université de Paris 13

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

Le Ro le Hyper V Premie re Partie Configuration et Prise en main du gestionnaire Hyper-V

Fonctions Réseau et Télécom. Haute Disponibilité

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles

//////////////////////////////////////////////////////////////////// Administration bases de données

Captation automatique. Mode d'emploi

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Le pare-feu de Windows 7

Addenda du Guide de l administrateur

Programme des Obligations d épargne du Canada. Guide d utilisation du serveur FTPS. Version 2.4

Communiqué de lancement Sage Paie & RH V MAPS Paie & RH 15 novembre 2013

PTV MAP&GUIDE INTRANET QUELLES SONT LES NOUVEAUTÉS?

Authentification avec CAS sous PRONOTE.net Version du lundi 19 septembre 2011

Symantec Backup Exec Remote Media Agent for Linux Servers

SOLIVIA Monitor. Manuel d'utilisateur

CONNECTEUR PRESTASHOP VTIGER CRM

Java Naming and Directory Interface

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription

Mise en œuvre d un poste virtuel

UserLock Guide de Démarrage rapide. Version 8.5

CONFIGURER ET DÉPLOYER UN CLOUD PRIVÉ AVEC SYSTEM CENTER 2012

vcenter Server 1. Interface Lancez le vsphere Client et connectez vous à vcenter Server. Voici la page d accueil de vcenter Server.

terra CLOUD SaaS Exchange Manuel Version : 05/

Informations sur l utilisation du webmail du CNRS. Webmail du CNRS. Manuel Utilisateur

Support technique logiciel HP

Guide d utilisation du service Virtual Assistant de Tango

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Guide de connexion à. RENAULT SA et PSA PEUGEOT CITROËN. via ENX

STI 3 Édition 4 / Mai 2005

UserLock Quoi de neuf dans UserLock? Version 8.5

ALOHA Load Balancer Guide de démarrage

EA Eole Trading GUIDE D INSTALLATION DES SYSTEMES

Didacticiel de mise à jour Web

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

Administration de VMware View

RMI le langage Java XII-1 JMF

Configuration d'un compte géré par plusieurs utilisateurs

CA ARCserve Backup pour Windows

Compte-rendu de projet de Système de gestion de base de données

CA ARCserve Backup pour Windows

Guide de l'utilisateur

DSI - Pôle Infrastructures

Qlik Sense Cloud. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

Licence professionnelle Réseaux et Sécurité Projets tutorés

Administration de Citrix NetScaler 10.5 CNS-205-1I

Installation de IBM SPSS Modeler Server Adapter

Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction

Transcription:

PROJET : ETNIC ESB JANUS Guide technique : WS- BULL Services et Solutions Date : 20 novembre 2008 Version : 1.0 Référence Bull : ETNIC_ESB/ANA/00 Auteur : NOSEDA Anne

Projet ETNIC ESB JANUS Guide technique WS-Notification Clustering Référence du document Type de document ETNIC_ESB_ANA_00 Guide de configuration Version Description Ecrit par Revu par Date 1.0 Corps du document Anne Noseda (BULL) 20/11/2008 2/10

Table des matières Architecture...4 Limitations du composant servicemix-wsn2005...5 Fonctionnement du topic administratif...6 Fonctionnement des topics virtuels...7 Introduction...7 Exemple...7 Configuration ActiveMQ...8 Configuration du composant servicemix-wsn2005...9 Modification des classes JAVA du composant servicemix-wsn2005...10 3/10

Voici l'architecture générale du cluster : Projet ETNIC ESB Architecture Les instances de Servicemix ne sont pas réellement «clusterisées». Elles sont tout-à-fait indépendantes et il faut obligatoirement déployer tous les SA sur toutes les instances du cluster. Ce sont les brokers JMS ActiveMQ qui sont réellement «clusterisés». Les instances Servicemix sont connectées à toutes les instances du cluster de broker JMS. Elles sont également toutes connectées à la même base de données WSN (reprenant les informations de sécurité et la persistance des topics et des souscriptions). L'alteon joue le rôle de loadbalancer. Il répartit la charge sur les différentes instances de Servicemix. 4/10

Limitations du composant servicemix-wsn2005 Pour réaliser l'architecture ci-dessus, le composant servicemix-wsn2005 présentait 2 limitations : les souscriptions et enregistrements de publisher n'étaient pas propagés d'une instance à l'autre (pas de communication / synchronisation) prévue entre les instances ; si une souscription était présente sur plusieurs instances, elle recevait autant de fois le message de notification alors qu'il ne fallait lui en envoyer qu'un seul exemplaire. Ces limitations ont été corrigées de la manière suivante : création d'un topic administratif pour permettre aux différentes instances de communiquer ; utilisation de la notion de topic virtuel. 5/10

Fonctionnement du topic administratif Lorsqu'une instance reçoit un message de type : souscription ; enregistrement d'un publisher ; désinscription (pas encore implémenté); désenregistrement d'un publisher (pas encore implémenté) elle effectue son travail normalement puis envoi le message original ainsi que l'id de la souscription / de l'enregistrement dans un topic administratif. De cette manière, les autres instances du cluster, sont averties et peuvent se synchroniser. D'un point de vue technique, lors de l'initialisation du composant, il vérifie que le clustering est activé (par défaut il est désactivé). Si c'est le cas, l'instance se connecte à l'aide d'une souscription durable au topic adiministratif (par défaut le topic WSN_ADMIN). A chaque réception d'un message, il en vérifie le type (souscription, enregistrement d'un publisher, autre,...) puis le traite pour créer la souscription / l'enregistrement (création du endpoint, du consommateur JMS,...). 6/10

Fonctionnement des topics virtuels Introduction Le principe du publish/subscribe repose sur la notion de topic JMS. Lorsqu'un producteur envoie un message sur un topic, un exemplaire de ce message est automatiquement envoyé à chacun des consommateurs. En mode cluster, on ne peut pas souscrire à partir de chaque instance sur un même topic car on va recevoir N fois le message de notification alors qu'il n'en faut qu'un seul exemplaire par réelle souscription. La solution est de recourir à la notion de queue JMS : en effet, sur une queue, lorsqu'un message est posté il ne sera reçu que pas un et un seul consommateur. L'idée est de créer un topic «virtuel» qui forwarde les messages qu'il reçoit vers un ensemble de queue : une par souscription. Exemple Dans l'exemple ci-dessous, nous avons un topic WSN.MimesisTopic sur lequel les notifications seront postées. Lorsqu'un «subscriber» envoie une demande de souscription, le système crée automatiquement une queue nommé : «Consumer.» + l'identifiant unique de la souscription + le nom du topic. Si l'identifiant de la souscription est «ID-nom-du-host-39277-1227179891963-0-1», le nom de la queue sera «Consumer. ID-nom-du-host-39277-1227179891963-0-1.WSN.MimesisTopic». 7/10

Configuration ActiveMQ Sur chaque broker ActiveMQ du cluster, il faut configurer la notion de topic virtuel (pour plus d'information, voir le site : http://activemq.apache.org/virtual-destinations.html). Dans le fichier AMCTIVEMQ_ROOT/conf/activemq.xml, ajouter les lignes suivantes : <broker xmlns="http://activemq.apache.org/schema/core" brokername="localhost" datadirectory="${activemq.base}/data">... <!-- VIRTUAL TOPIC WSN --> <destinationinterceptors> <virtualdestinationinterceptor> <virtualdestinations> <virtualtopic name="wsn.>" prefix="consumer.>.wsn.>" /> </virtualdestinations> </virtualdestinationinterceptor> </destinationinterceptors>... </broker> ATTENTION : Il est donc impératif que toutes les notifications soient envoyées sur des topics ayant comme préfixe WSN. sinon le clustering ne fonctionnera pas. Par contre, le nom du topic administratif ne doit PAS commencer par «WSN.» car il s'agit d'un topic réel et non virtuel. 8/10

Configuration du composant servicemix-wsn2005 Dans le fichier SERVICEMIX_ROOT/conf/jndi.xml, il faut configurer le pool de connexions JMS aux brokers JMS «clusterisés». <!-- wsn2005 jms connection factory --> <entry key="java:comp/env/jms/wsnotificationcf"> <bean class="org.apache.activemq.pool.pooledconnectionfactory" destroy-method="stop"> <constructor-arg value="tcp://localhost:51616" /> </bean> </entry> Dans le fichier SERVICEMIX_ROOT/conf/component.properties, il faut obligatoirement activer le clustering et donner un nom unique à chaque NotificationBroker (instance servicemix) du cluster car ce nom est utilisé pour créer l'id lors de la souscription JMS durable au topic administratif. servicemix-wsn2005.brokername=broker-instance1 servicemix-wsn2005.activateclustering=true D'autres propriétés sont paramétrables mais sont optionnelles : servicemix-wsn2005.jndiconnectionfactoryname=java:comp/env/jms/wsnotificationcf servicemix-wsn2005.clusteringadmintopicname=wsn_admin La première doit correspondre avec la clé de votre fichier JNDI (voir ci-dessus). La seconde permet de paramétrer le nom du topic administratif utilisé par le cluster. Si vous le changez, faites attention à utiliser le même nom sur toutes les instances du cluster et à ne pas le préfixer avec «WSN.». 9/10

Modification des classes JAVA du composant servicemix-wsn2005 package org.apache.servicemix.wsn class AbstractNotificationBroker : ajout d'une propriété activateclustering, ajout d'un appel à la méthode warnclustersubscription dans la méthode handlesubscribe pour prévenir les autres instances du cluster de la création d'une nouvelle souscription, ajout d'une méthode handlesubscribeclustering pour traiter un message de type 'souscription' venant du topic administratif, ajout d'un appel à la méthode warnclusterpublisherregistration dans la méthode handleregisterpublisher pour prévenir les autres instances du cluster de la création d'un nouvel enregistrement d'un publisher, ajout d'une méthode handleregisterpublisherclustering pour traiter un message de type 'enregistrement' venant du topic administratif, ajout de deux méthodes abstraites warnclustersubscription et warnclusterpublisherregistration. interface WSNConstants : ajout d'une interface regroupant toutes les constantes. package org.apache.servicemix.wsn.component class WSNConfiguration : ajout de 2 propriétés activateclustering et clusteringadmintopicname interface WSNConfigurationMBean : ajout de 4 méthodes isactivateclustering, setactivateclustering, getclusteringadmintopicname, setclusteringadmintopicname. class WSNLifeCycle : ajout de l'initialisation des 2 propriétés activateclustering et clusteringadmintopicname. package org.apache.servicemix.wsn.jms class JmsNotificationBroker : ajout de 5 propriétés clusteringadmintopicname, session, topicconverter, jmstopic, log; modification de la méthode init pour assigner un ID à la connexion et créer une souscription durable au topic administratif; ajout d'une méthode onmessage qui permet de traiter les messages en provenance du topic administratif; ajout de deux méthodes warnclustersubscription et warnclusterpublisherregistration pour créer le message à poster dans le topic administratif. class JmsSubscription : modification de la méthode start pour créer un consommateur JMS sur une queue et plus sur un topic (à cause de la notion de topic virtuel). package be.etnic.janus.wsn.security class EtnicSecurityHandler : ajout avant de créer la souscription ou de l'enregistrement d'un test sur leur présence. En effet, une autre instance peut déjà avoir créer la ligne en DB. class EtnicSecurityDbManager : ajout de 2 méthodes : subscriptionexist et registrationexist. 10/10