Composants orienté Service pour OSGi



Documents pareils
FROGi : Déploiement de composants Fractal sur OSGi

Introduction au Déploiement

JOnAS 5 Enterprise OSGi javaee compliant

JOnAS 5. Serveur d application d

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

Création d un service web avec NetBeans 5.5 et SJAS 9

Cedric Dumoulin (C) The Java EE 7 Tutorial

S T L - C P S - L e s p l u g i n s E c l i p s e. - Une Introduction , Frédéric Peschanski

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

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

Alfstore workflow framework Spécification technique

GRIDKIT: Pluggable Overlay Networks for Grid Computing

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Configuration Interface for MEssage ROuting

Projet de développement

La Stratégie d Intégration Advantage

Administration d'infrastructures logicielles avec Jade

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

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

TP1 : Initiation à Java et Eclipse

Patrons de Conception (Design Patterns)

Une introduction à la technologie EJB (2/3)

Modèle à composants. Daniel Hagimont. IRIT/ENSEEIHT 2 rue Charles Camichel - BP TOULOUSE CEDEX 7. Remerciements

Catalogue des formations Edition 2015

Installer Enterprise Miner 5.1 en SAS environnement Windows

TP1 : Initiation à Java et Eclipse

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

Rendez-vous la liberté avec Rational Quality Manager

Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Bases Java - Eclipse / Netbeans

Vérifier la qualité de vos applications logicielle de manière continue

Introduction aux «Services Web»

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK

Le fichier Merchant Reconciliation XML

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

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

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

EXA1415 : Annotations

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Plateforme IoT flexible et configurable:

Projet de Veille Technologique

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Système Principal (hôte) 2008 Enterprise x64

THÈSE. Présentée à. en habilitation conjointe avec l Université de Rennes 1. En vue de l obtention du grade de. DOCTEUR de l ENST Bretagne.

Cours en ligne Développement Java pour le web

Introduction MOSS 2007

Un business model d éditeur open source

Famille IBM WebSphere Application Server

Point sur les solutions de développement d apps pour les périphériques mobiles

Programmation MacOSX / ios

Commerce Server 2009 R2

Toutatice, une plateforme Portail/ECM open source pour la publication de contenus et de services métiers

Messagerie asynchrone et Services Web

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Java Naming and Directory Interface

I-JVM: une machine virtuelle Java pour l isolation de composants dans OSGi

Rapport de projet de fin d études

ECLIPSE RCP. Introduction

NBS System et Zend Technologies Découvrez la scalabilité sans limite pour vos applications PHP grâce au Zend Cloud

Notre processus d embauche

Celui qui vous parle. Yann Vigara

Francis Mignault. ! Coauteur : Expert Oracle Application Express. ! Membre du Oracle APEX Advisory Board apex.oracle.com/vote

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Les BRMS Business Rules Management System. Groupe GENITECH

Applications distribuées: le retour du client "riche"

IBM DB2 Alphablox. d administration GC


les techniques d'extraction, les formulaires et intégration dans un site WEB

Moderniser. le système d information et le portefeuille applicatif.

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

Android 4 Les fondamentaux du développement d'applications Java

InstallShield 2014 FICHE TECHNIQUE. Création de programmes d installation pour Microsoft Windows

SAP Runs SAP Reporting Opérationnel & BI avec HANA et SAP Analytics. Pierre Combe, Enterprise Analytics Juin, 2015

4. SERVICES WEB REST 46

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

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

Introduction à la plateforme J2EE

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

Drupal un CMS orienté mé2er. Romain JARRAUD Mathieu GROS

TP Contraintes - Triggers

Système de Stockage Sécurisé et Distribué

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Virtualisation sous Linux L'age de raison. Daniel Veillard

Intégration ESRI - SAP Geo-Enablement de l ERP SAP Exemple : GEO.e. Christophe Lapierre Enrique Yaptenco Professional Services - ESRI Suisse

Composants logiciels Introduction aux composants

Déploiement de SAS Foundation

as Architecture des Systèmes d Information

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

La plate-forme DIMA. Master 1 IMA COLI23 - Université de La Rochelle

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

OpenPaaS Le réseau social d'entreprise

Plan. Patrons de conception. Motivations. Design Pattern : principe. Philippe Collet

Le Cloud Open-Mind! Emilien Macchi

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

Analyse,, Conception des Systèmes Informatiques

Transcription:

Composants orienté Service pour OSGi Clément ESCOFFIER LSR ADELE 19 Mai 2006 Réunion du OSGi Users Group France

Sommaire Introduction Points de comparaison Modèle à composant au dessus d OSGi Service Binder / Service Component Runtime FROGi (Fractal Over OSGi ) Dependency Manager ipojo Conclusion 2

Programmation sur OSGi Extrêmement difficile à maitriser Dynamisme Ecouter les arrivées et les départs de services Gérer le cycle de vie des services fournis Relâcher les références L Activateur Accès au framework Non-fonctionnel Mélange entre l implémentation du service et la gestion du dynamisme et du cycle de vie 3

Composant & Composant à Service Séparation des préoccupations Conteneur Gestion des besoins non-fonctionnels Contenu Implémentation fonctionnelle Composant à services Peut utiliser des services Peut implémenter un ou plusieurs service 4

Composants à service sur OSGi Objectifs Séparation des préoccupations Implémentation du service (partie applicative) Gestion du dynamisme et du cycle de vie (partie OSGi ) Faciliter l implémentation de services sur OSGi 5

Points de comparaison Gestion des dépendances Multiple? Optionnelle? Injection? Gestion des services implémentés Cycle de vie (publication, retrait, création de l objet de service) Obtention des services Extensibilité du modèle Description des composants 6

Service Binder / Service Component Runtime 7 Notion de composant orienté service [Cervantes2004] Chaque composant est décrit de manière déclarative les services requis Les services fournis Un composant ~= Un bundle Service Binder gère le cycle de vie des services et les liaisons Les composants s exécutent dans un instance manager Gestion des objets de service (singleton) Conteneur par réflexion : Non extensible Maintenance difficile Intégrer à la R4 sous le nom de Service Component Runtime

Service Binder / Service Component Runtime Gestion des dépendances multiples & optionnelles Objets de services gérés dans le code Gestion des services fournis Mais singleton seulement pour Service Binder Publication / Retrait / Création géré par le conteneur Obtention des services Méthode bind & unbind dans le code du composant Non extensible Format de description : XML 8

FROGi : Fractal Over OSGi 9 Fractal : modèle à composant générique, hiérarchique, extensible (http://fractal.objectweb.org) Notion de membrane Conteneur Membrane composé de contrôleur Un contrôleur par aspect non-fonctionnel Objectif : Packager et Déployer une application Fractal en plusieurs bundles OSGi Séparation Contrat-Implémentation Mise à jour partielle Dynamique Composants partagés

FROGi FROGi : Modification du mixin de Julia (implémentation de référence de Fractal) «Binding Controller à service» B1 B2 Client Server 10

FROGi Gestion des dépendances simple Pas de gestion des multiples, ni des optionnelles Gestion des services fournis (singleton) Obtention des services Binding Fractal Modèle extensible (Fractal) Jamais testé 11

Dependency Manager [Offermans03] Proposition de gestion automatique des dépendances de services dans OSGi Contribution à FELIX Conteneur sous la forme d un manager gérant les services fournis et les dépendances Construction du conteneur à partir d une API Récupération des services requis via le conteneur Service fournit par le conteneur 12

Dependency Manager Gestion des dépendances Multiples Optionnelles (Null Object Pattern) Gestion des services fournits (singleton) Publication / Retrait / Création géré par le conteneur Obtention des services Utilisation d un objet «conteneur» (manager) Modèle non-extensible 13

ipojo 14 ipojo : injected POJO http://www-adele.imag.fr/~escoffie/dev/ipojo Extensible Service Container A POJO instance runs in the ipojo service container The container manage non functional aspects ipojo Container Content («POJO») C1 C2

ipojo Dependency Provided Service Lifecycle Callbacks Configuration Architecture Handlers manage non functional aspects ipojo Core Manages Component Lifecycle & Instance creation 15

ipojo Gestion des dépendances Multiples : Tableau Optionnelle : Null Object Pattern Gestion des services fournis (singleton & factory) Publication / Retrait / Création géré par le conteneur Vérification Obtention des services Champ de la classe Description du composant en XML (et texte) Modèle extensible 16 Contribution à Felix (en cours de vote), Relation avec Spring 2

Conclusion / Comparatif 17 Dépendances Services Fournis Obtention des services Description du composant Modèle extensible Service Binder (SCR) Multiple, Optionnelle FROGi Simple Dependency Manager Multiple, Optionnelle ipojo Multiple, Optionnelle Singleton Singleton Singleton Singleton & Factory Méthodes bind & unbind dans le code Binding Fractal Objet spécial dans le code Champ de la classe XML XML Non XML & Manifest Non Oui mais non testé Non Oui