SlideShare a Scribd company logo
1 of 30
OSGiTM
Un système dynamique de services
Java
devenue un framework à composants
Christophe Saint-Marcel
MIAGE M1

MIAGE M1 St-Marcel - @VELOSSITY
Définitions
OSGi™ - The Dynamic Module System for Java™

…new service-oriented programming model, referred to by some
as “SOA in a VM.”
OSGI in Action ©Manning Publications Co
Enfin, la réutilisation de logiciel à portée de la main!
C. Saint-Marcel

MIAGE M1 St-Marcel - @VELOSSITY
Caractéristiques principales









Modularisation des applications
Chargement/Déchargement de code dynamique
pour le langage Java
Déploiement dynamique d’applications sans
interruption de la plateforme
Installation, Lancement, Mise à jour, Arrêt, Retrait
No « reboot »
Résolution des dépendances versionnées de code

MIAGE M1 St-Marcel - @VELOSSITY
Domaines d’applications






Initialement, Systèmes embarqués
– Véhicule de transport (automotive)
– Passerelle résidentiel/domotique/immotique
– Contrôle industriel
– Téléphonie mobile
Serveurs d’application
– JOnAS 5, Geronimo, ApacheDS, JAMES,
WebSphere, JBoss 5 …
Eclipse !
MIAGE M1 St-Marcel - @VELOSSITY
Schneider et OSGiTM: Résidentiel

MIAGE M1 St-Marcel - @VELOSSITY
Schneider et OSGiTM: Building

MIAGE M1 St-Marcel - @VELOSSITY
Un marché pour le résidentiel

From Orange Open Home Automation Infrastructure - J.M. Ortholand, A. Bottaro, nov 2011

MIAGE M1 St-Marcel - @VELOSSITY
Démonstrateur
 Cf.

HOMES MULTISENSOR

 http://www2.schneider-

electric.com/sites/corporate/fr/presse/dossier
s/projet-homes.page

MIAGE M1 St-Marcel - @VELOSSITY
Un peu d’histoire





Mars 1999 : Fondation de l’OSGi Alliance, un consortium
d’industriels
Aujourd’hui, plus de 40 sociétés membres
Au départ une plateforme embarquée pour les passerelles
résidentielles : Open Services Gateway initiative
Plusieurs groupes d’experts:
Core Platform Expert Group (CPEG) – Framework
–
Enterprise Expert Group (EEG) – Enterprise Issues
–
Residential Expert Group (EEG) – Home Automation
Groupes inactifs:
–
Mobile Expert Group (MEG) – Mobile Telephony
–
Vehicle Expert Group (VEG) - Automobile
–

MIAGE M1 St-Marcel - @VELOSSITY
Un standard en construction
R4

ei bo M
l

R3

e c he V
l i

R2

uA e m H
o

R1

Framework
Http
Log
Device Access

Package Admin
R2
Configuration Admin
Permission Admin
User Admin
Preferences
MetaType
Service Tracker

2000

From Peter Kriens, aQute

2001

UPnP
Initial Provisioning
Name Space
Jini
Start Level
IO Connector
Wire Admin
XML Parser
Measurement & State
Position
Execution Env.

2003

Application Manager
Foreign App. Access
Signed Bundles
Declarative Services
Device Management
Security Policies
Framework Layering
Initial Provisioning
UPnP
Conditional Permissions
…

2006
MIAGE M1 St-Marcel - @VELOSSITY
OSGi R5
 Sortie

officielle en juin 2012
Core
Resource API
Version range
Compendium & Enterprise
Repository Service
Resolver Service
Subsystems Service
Service loader Mediator
Common Namespaces
…
MIAGE M1 St-Marcel - @VELOSSITY
Fournisseurs de solutions
 Equinox

(OSGi-Framework – du projet
Eclipse (Enterprise)
 Apache Felix – projet de la communauté R4.3
Apache
 Knopflerfish – originellement commercialisé
comme un produit embarqué de Gatespace
 ProSyst – Solution commerciale
MIAGE M1 St-Marcel - @VELOSSITY
Plateforme

Architecture d’une plateforme OSGiTM

MIAGE M1 St-Marcel - @VELOSSITY
Framework

Architecture du framework




La couche Services offre la
possibilité de mettre à disposition
des services au sein d'une même
machine virtuelle tout en masquant
leurs implémentations à leurs
utilisateurs.
La couche Cycle de vie prend en
charge les états des bundles

Services
Cycle de vie
Module



La couche Module adresse la
gestion du chargement des classes
(classloading), la gestion de leurs
visibilités et de leurs versions dans
chaque bundle.

MIAGE M1 St-Marcel - @VELOSSITY
Module

Comment ça marche : le bundle
 L’unité

de déploiement: le bundle est le bloc
de légoTM
– Unité de livraison et de déploiement sous
forme de jar
– Une application OSGiTM est un assemblage
de bundles
– Chaque bundle est un isolat
MIAGE M1 St-Marcel - @VELOSSITY
Module

Structure d’un bundle

MIAGE M1 St-Marcel - @VELOSSITY
Cycle de vie

Déploiement du bundle


Le Framework:
– Lit le manifest du jar
– Installe le code et les ressources
– Résolve les dépendances
– Contrôle le cycle de vie du bundle
– Appelle le Bundle Activator pour démarrer le
bundle

MIAGE M1 St-Marcel - @VELOSSITY
Cycle de vie

Cycle de vie du bundle

MIAGE M1 St-Marcel - @VELOSSITY
Services

Comment ça marche : µSOA
 Architecture










orienté service (µServices)

Le service est défini par un contrat
(Service API)
Le fournisseur publie le service
dans le registre
Le service a son propre cycle de
vie, il peut venir et partir à tout
moment
Le consommateur demande un
fournisseur de service au registre, il
peut aussi être notifié de
l’apparition et de la disparition d’un
fournisseur
Le consommateur s’associe au
fournisseur, il invoque le service

Component

Java Interface

Service registry
Service API
Notifies

Publishes
Requests
Binds
Service
Provider

Invoke

Service
Requester

MIAGE M1 St-Marcel - @VELOSSITY
Mais où sont les composants?
 Le

service ?
 Le bundle ?
⇒ Le

framework OSGiTM natif est un framework
à composants primitifs !
⇒ Dynamique

difficile à gérer
⇒ Mélange du code métier et technique

MIAGE M1 St-Marcel - @VELOSSITY
Les modèles à composants sur OSGiTM
 Plusieurs

approches concurrentes
 Basées sur un modèle déclaratif, chaque
composant décrit ce qu’il fournit et ce qu’il
requiert
 Abstraction de la dynamicité pour se
concentrer sur le métier
 Un composant est déployé dans un bundle

MIAGE M1 St-Marcel - @VELOSSITY
Modélisation des composants
cmp Big Picture
REST Connector

RESTAdapter

Device
Business API
Multis ensor

HDDe vice
Field bus

MultiSensorStorage
Database
MultiSensor.storage

ZigbeeFactory

java.sql.Connection

DataStorage

MIAGE M1 St-Marcel - @VELOSSITY
Solutions concurrentes
 Plusieurs
–
–
–
–
–

approches toutes compatibles:

Le SCR spécifié en 1.4
Blueprint
iPOJO, le préféré des Grenoblois
Dependency Manager
FROGi (Fractal over OSGiTM)

MIAGE M1 St-Marcel - @VELOSSITY
Exemple de déclaration

MIAGE M1 St-Marcel - @VELOSSITY
OSGiTM : une technologie mature



Modèle à composants déclaratif de haut niveau
Nombreux bundles open-source
–



http://wiki.chameleon.ow2.org/xwiki/bin/view/Main/WebHome

Outils de construction adaptés
–
–
–

Maven: construction de bundles
 http://mvnrepository.com/
Nexus: entrepôts de bundles
Jenkins: intégration continue des bundles
 http://velossity.zapto.org:8080/
MIAGE M1 St-Marcel - @VELOSSITY
OSGiTM : un paradoxe?

MIAGE M1 St-Marcel - @VELOSSITY
OSGiTM : un paradoxe?
DZone: How widespread is OSGi in the Java community and what are
your predictions for how adoption will change based on the
introduction of Jigsaw?
Kirk: Fascinating question. Just about every software developer is an
OSGi consumer today because just about every platform and every IDE
use OSGi. The major platform vendors, including IBM, Oracle, and Red
Hat are all using OSGi to build up their platforms. What's interesting is
that OSGi hasn't penetrated the enterprise developer space yet. At
least, it hasn't gone mainstream yet. Some people might complain that
OSGi is too complex. But what they're really saying is that designing
modular software is really really hard. Because it is.
http://java.dzone.com/articles/osgi-vs-jigsaw-kirk
MIAGE M1 St-Marcel - @VELOSSITY
OSGiTM : une solution ultime?
At this time, it has been decided to remove OSGi support from
WildFly for various reasons. OSGi support will continue within
our SOA platform. I personally do not view OSGi as a viable
technology but on the other hand it is possible that the winds may
shift and that we may revisit this decision some day. Note that
since we have a flexible low-level core in WildFly, the choice of
specifications to support do not carry down into any kind of basic
architectural lock-in so we're never really "too far" from
supporting any given container specification or component
model, so to me this isn't a terribly drastic choice, just a
pragmatic one based on the current known factors
David Lloyd at https://community.jboss.org/thread/229889?_sscc=t
MIAGE M1 St-Marcel - @VELOSSITY
OSGiTM : la concurrence


Jigsaw
+ Java natif, modularisation du JRE intégrée à Java 8?
– Pas encore sorti et éprouvé



Android (http://www.adon-line.de/kunden/prosystBlog/?p=18)
+ Simplicité, modèle d’application
- Communication inter-process, Pas de versionnement



.Net (http://www.aqute.biz/presentations/WhyOSGI.ppt)
+ Managed Extensibility Framework (MEF)
- Pas de standard / Single platform
MIAGE M1 St-Marcel - @VELOSSITY
Bibliographie
 http://france.osgiusers.org/Main/HomePage
 Peter

Kriens –
http://www.aqute.biz/Main/HomePage
 Didier Donsez - http://membresliglab.imag.fr/donsez/cours/exemplesosgi/
Cette présentation est à retrouver à l’adresse
http://fr.slideshare.net/saintmar/m1-presentation-os-gi
MIAGE M1 St-Marcel - @VELOSSITY

More Related Content

Similar to M1 presentation OSGi

La plateforme de services dynamiques OSGi
La plateforme de services dynamiques OSGiLa plateforme de services dynamiques OSGi
La plateforme de services dynamiques OSGiDidier Donsez
 
2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...
2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...
2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...PartnerWin - #SocialSelling StarterPacks
 
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...OCTO Technology
 
Retour d'expérience - Simplicité Software - 3 février 2016
Retour d'expérience - Simplicité Software - 3 février 2016Retour d'expérience - Simplicité Software - 3 février 2016
Retour d'expérience - Simplicité Software - 3 février 2016Simplicité Software
 
Production logicielle, outils et pratiques
Production logicielle, outils et pratiquesProduction logicielle, outils et pratiques
Production logicielle, outils et pratiquesJohan Moreau
 
Présentation de la plateforme Cloud Simplicité
Présentation de la plateforme Cloud SimplicitéPrésentation de la plateforme Cloud Simplicité
Présentation de la plateforme Cloud SimplicitéSimplicité Software
 
Innover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans ruptureInnover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans ruptureGuillaume Laforge
 
2014.04.10 - Cloud privé powered by IBM - Aspaway - Patrice Lagorsse et Loic ...
2014.04.10 - Cloud privé powered by IBM - Aspaway - Patrice Lagorsse et Loic ...2014.04.10 - Cloud privé powered by IBM - Aspaway - Patrice Lagorsse et Loic ...
2014.04.10 - Cloud privé powered by IBM - Aspaway - Patrice Lagorsse et Loic ...PartnerWin - #SocialSelling StarterPacks
 
2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanneDidier Durand
 
Jonas5 Serveur Applications Solutions Linux Ow2
Jonas5 Serveur Applications Solutions Linux Ow2Jonas5 Serveur Applications Solutions Linux Ow2
Jonas5 Serveur Applications Solutions Linux Ow2OW2
 
Jonas5 Serveur Applications Solutions Linux Ow2
Jonas5 Serveur Applications Solutions Linux Ow2Jonas5 Serveur Applications Solutions Linux Ow2
Jonas5 Serveur Applications Solutions Linux Ow2Catherine Nuel
 
#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devopsEmmanuel Roldan
 
Soirée OSGi au Paris Jug (14/10/2008)
Soirée OSGi au Paris Jug (14/10/2008)Soirée OSGi au Paris Jug (14/10/2008)
Soirée OSGi au Paris Jug (14/10/2008)Cyrille Le Clerc
 
Usages et deploiement Eclipse MMA 201502 - Eclipse Demo Camp
Usages et deploiement Eclipse MMA 201502 - Eclipse Demo CampUsages et deploiement Eclipse MMA 201502 - Eclipse Demo Camp
Usages et deploiement Eclipse MMA 201502 - Eclipse Demo CampLaurent Broudoux
 
Flexible Workstyle : Comment réussir l'évolution du poste de travail vers les...
Flexible Workstyle : Comment réussir l'évolution du poste de travail vers les...Flexible Workstyle : Comment réussir l'évolution du poste de travail vers les...
Flexible Workstyle : Comment réussir l'évolution du poste de travail vers les...Microsoft Technet France
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinThierry Buisson
 

Similar to M1 presentation OSGi (20)

La plateforme de services dynamiques OSGi
La plateforme de services dynamiques OSGiLa plateforme de services dynamiques OSGi
La plateforme de services dynamiques OSGi
 
2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...
2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...
2014.04.09 - Cloud hybride avec Aspaway, IBM et Soft layer - Patrice Lagorsse...
 
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
 
Retour d'expérience - Simplicité Software - 3 février 2016
Retour d'expérience - Simplicité Software - 3 février 2016Retour d'expérience - Simplicité Software - 3 février 2016
Retour d'expérience - Simplicité Software - 3 février 2016
 
Production logicielle, outils et pratiques
Production logicielle, outils et pratiquesProduction logicielle, outils et pratiques
Production logicielle, outils et pratiques
 
#2 Architecture OSGi
#2 Architecture OSGi#2 Architecture OSGi
#2 Architecture OSGi
 
CV REBAI Hamida
CV REBAI HamidaCV REBAI Hamida
CV REBAI Hamida
 
Présentation de la plateforme Cloud Simplicité
Présentation de la plateforme Cloud SimplicitéPrésentation de la plateforme Cloud Simplicité
Présentation de la plateforme Cloud Simplicité
 
Innover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans ruptureInnover sans contrainte, intégrer sans rupture
Innover sans contrainte, intégrer sans rupture
 
2014.04.10 - Cloud privé powered by IBM - Aspaway - Patrice Lagorsse et Loic ...
2014.04.10 - Cloud privé powered by IBM - Aspaway - Patrice Lagorsse et Loic ...2014.04.10 - Cloud privé powered by IBM - Aspaway - Patrice Lagorsse et Loic ...
2014.04.10 - Cloud privé powered by IBM - Aspaway - Patrice Lagorsse et Loic ...
 
2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne
 
MERAZKA Messaoud
MERAZKA MessaoudMERAZKA Messaoud
MERAZKA Messaoud
 
Jonas5 Serveur Applications Solutions Linux Ow2
Jonas5 Serveur Applications Solutions Linux Ow2Jonas5 Serveur Applications Solutions Linux Ow2
Jonas5 Serveur Applications Solutions Linux Ow2
 
Jonas5 Serveur Applications Solutions Linux Ow2
Jonas5 Serveur Applications Solutions Linux Ow2Jonas5 Serveur Applications Solutions Linux Ow2
Jonas5 Serveur Applications Solutions Linux Ow2
 
#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops
 
Soirée OSGi au Paris Jug (14/10/2008)
Soirée OSGi au Paris Jug (14/10/2008)Soirée OSGi au Paris Jug (14/10/2008)
Soirée OSGi au Paris Jug (14/10/2008)
 
Usages et deploiement Eclipse MMA 201502 - Eclipse Demo Camp
Usages et deploiement Eclipse MMA 201502 - Eclipse Demo CampUsages et deploiement Eclipse MMA 201502 - Eclipse Demo Camp
Usages et deploiement Eclipse MMA 201502 - Eclipse Demo Camp
 
CV_Bilel CHAOUADI
CV_Bilel CHAOUADICV_Bilel CHAOUADI
CV_Bilel CHAOUADI
 
Flexible Workstyle : Comment réussir l'évolution du poste de travail vers les...
Flexible Workstyle : Comment réussir l'évolution du poste de travail vers les...Flexible Workstyle : Comment réussir l'évolution du poste de travail vers les...
Flexible Workstyle : Comment réussir l'évolution du poste de travail vers les...
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et Xamarin
 

Recently uploaded

PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxMartin M Flynn
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneTxaruka
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film françaisTxaruka
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 37
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfbdp12
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfSylvianeBachy
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxJCAC
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursStagiaireLearningmat
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...NaimDoumissi
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 

Recently uploaded (18)

PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienne
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film français
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceurs
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
 
Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 

M1 presentation OSGi

  • 1. OSGiTM Un système dynamique de services Java devenue un framework à composants Christophe Saint-Marcel MIAGE M1 MIAGE M1 St-Marcel - @VELOSSITY
  • 2. Définitions OSGi™ - The Dynamic Module System for Java™ …new service-oriented programming model, referred to by some as “SOA in a VM.” OSGI in Action ©Manning Publications Co Enfin, la réutilisation de logiciel à portée de la main! C. Saint-Marcel MIAGE M1 St-Marcel - @VELOSSITY
  • 3. Caractéristiques principales       Modularisation des applications Chargement/Déchargement de code dynamique pour le langage Java Déploiement dynamique d’applications sans interruption de la plateforme Installation, Lancement, Mise à jour, Arrêt, Retrait No « reboot » Résolution des dépendances versionnées de code MIAGE M1 St-Marcel - @VELOSSITY
  • 4. Domaines d’applications    Initialement, Systèmes embarqués – Véhicule de transport (automotive) – Passerelle résidentiel/domotique/immotique – Contrôle industriel – Téléphonie mobile Serveurs d’application – JOnAS 5, Geronimo, ApacheDS, JAMES, WebSphere, JBoss 5 … Eclipse ! MIAGE M1 St-Marcel - @VELOSSITY
  • 5. Schneider et OSGiTM: Résidentiel MIAGE M1 St-Marcel - @VELOSSITY
  • 6. Schneider et OSGiTM: Building MIAGE M1 St-Marcel - @VELOSSITY
  • 7. Un marché pour le résidentiel From Orange Open Home Automation Infrastructure - J.M. Ortholand, A. Bottaro, nov 2011 MIAGE M1 St-Marcel - @VELOSSITY
  • 8. Démonstrateur  Cf. HOMES MULTISENSOR  http://www2.schneider- electric.com/sites/corporate/fr/presse/dossier s/projet-homes.page MIAGE M1 St-Marcel - @VELOSSITY
  • 9. Un peu d’histoire     Mars 1999 : Fondation de l’OSGi Alliance, un consortium d’industriels Aujourd’hui, plus de 40 sociétés membres Au départ une plateforme embarquée pour les passerelles résidentielles : Open Services Gateway initiative Plusieurs groupes d’experts: Core Platform Expert Group (CPEG) – Framework – Enterprise Expert Group (EEG) – Enterprise Issues – Residential Expert Group (EEG) – Home Automation Groupes inactifs: – Mobile Expert Group (MEG) – Mobile Telephony – Vehicle Expert Group (VEG) - Automobile – MIAGE M1 St-Marcel - @VELOSSITY
  • 10. Un standard en construction R4 ei bo M l R3 e c he V l i R2 uA e m H o R1 Framework Http Log Device Access Package Admin R2 Configuration Admin Permission Admin User Admin Preferences MetaType Service Tracker 2000 From Peter Kriens, aQute 2001 UPnP Initial Provisioning Name Space Jini Start Level IO Connector Wire Admin XML Parser Measurement & State Position Execution Env. 2003 Application Manager Foreign App. Access Signed Bundles Declarative Services Device Management Security Policies Framework Layering Initial Provisioning UPnP Conditional Permissions … 2006 MIAGE M1 St-Marcel - @VELOSSITY
  • 11. OSGi R5  Sortie officielle en juin 2012 Core Resource API Version range Compendium & Enterprise Repository Service Resolver Service Subsystems Service Service loader Mediator Common Namespaces … MIAGE M1 St-Marcel - @VELOSSITY
  • 12. Fournisseurs de solutions  Equinox (OSGi-Framework – du projet Eclipse (Enterprise)  Apache Felix – projet de la communauté R4.3 Apache  Knopflerfish – originellement commercialisé comme un produit embarqué de Gatespace  ProSyst – Solution commerciale MIAGE M1 St-Marcel - @VELOSSITY
  • 13. Plateforme Architecture d’une plateforme OSGiTM MIAGE M1 St-Marcel - @VELOSSITY
  • 14. Framework Architecture du framework   La couche Services offre la possibilité de mettre à disposition des services au sein d'une même machine virtuelle tout en masquant leurs implémentations à leurs utilisateurs. La couche Cycle de vie prend en charge les états des bundles Services Cycle de vie Module  La couche Module adresse la gestion du chargement des classes (classloading), la gestion de leurs visibilités et de leurs versions dans chaque bundle. MIAGE M1 St-Marcel - @VELOSSITY
  • 15. Module Comment ça marche : le bundle  L’unité de déploiement: le bundle est le bloc de légoTM – Unité de livraison et de déploiement sous forme de jar – Une application OSGiTM est un assemblage de bundles – Chaque bundle est un isolat MIAGE M1 St-Marcel - @VELOSSITY
  • 16. Module Structure d’un bundle MIAGE M1 St-Marcel - @VELOSSITY
  • 17. Cycle de vie Déploiement du bundle  Le Framework: – Lit le manifest du jar – Installe le code et les ressources – Résolve les dépendances – Contrôle le cycle de vie du bundle – Appelle le Bundle Activator pour démarrer le bundle MIAGE M1 St-Marcel - @VELOSSITY
  • 18. Cycle de vie Cycle de vie du bundle MIAGE M1 St-Marcel - @VELOSSITY
  • 19. Services Comment ça marche : µSOA  Architecture      orienté service (µServices) Le service est défini par un contrat (Service API) Le fournisseur publie le service dans le registre Le service a son propre cycle de vie, il peut venir et partir à tout moment Le consommateur demande un fournisseur de service au registre, il peut aussi être notifié de l’apparition et de la disparition d’un fournisseur Le consommateur s’associe au fournisseur, il invoque le service Component Java Interface Service registry Service API Notifies Publishes Requests Binds Service Provider Invoke Service Requester MIAGE M1 St-Marcel - @VELOSSITY
  • 20. Mais où sont les composants?  Le service ?  Le bundle ? ⇒ Le framework OSGiTM natif est un framework à composants primitifs ! ⇒ Dynamique difficile à gérer ⇒ Mélange du code métier et technique MIAGE M1 St-Marcel - @VELOSSITY
  • 21. Les modèles à composants sur OSGiTM  Plusieurs approches concurrentes  Basées sur un modèle déclaratif, chaque composant décrit ce qu’il fournit et ce qu’il requiert  Abstraction de la dynamicité pour se concentrer sur le métier  Un composant est déployé dans un bundle MIAGE M1 St-Marcel - @VELOSSITY
  • 22. Modélisation des composants cmp Big Picture REST Connector RESTAdapter Device Business API Multis ensor HDDe vice Field bus MultiSensorStorage Database MultiSensor.storage ZigbeeFactory java.sql.Connection DataStorage MIAGE M1 St-Marcel - @VELOSSITY
  • 23. Solutions concurrentes  Plusieurs – – – – – approches toutes compatibles: Le SCR spécifié en 1.4 Blueprint iPOJO, le préféré des Grenoblois Dependency Manager FROGi (Fractal over OSGiTM) MIAGE M1 St-Marcel - @VELOSSITY
  • 24. Exemple de déclaration MIAGE M1 St-Marcel - @VELOSSITY
  • 25. OSGiTM : une technologie mature   Modèle à composants déclaratif de haut niveau Nombreux bundles open-source –  http://wiki.chameleon.ow2.org/xwiki/bin/view/Main/WebHome Outils de construction adaptés – – – Maven: construction de bundles  http://mvnrepository.com/ Nexus: entrepôts de bundles Jenkins: intégration continue des bundles  http://velossity.zapto.org:8080/ MIAGE M1 St-Marcel - @VELOSSITY
  • 26. OSGiTM : un paradoxe? MIAGE M1 St-Marcel - @VELOSSITY
  • 27. OSGiTM : un paradoxe? DZone: How widespread is OSGi in the Java community and what are your predictions for how adoption will change based on the introduction of Jigsaw? Kirk: Fascinating question. Just about every software developer is an OSGi consumer today because just about every platform and every IDE use OSGi. The major platform vendors, including IBM, Oracle, and Red Hat are all using OSGi to build up their platforms. What's interesting is that OSGi hasn't penetrated the enterprise developer space yet. At least, it hasn't gone mainstream yet. Some people might complain that OSGi is too complex. But what they're really saying is that designing modular software is really really hard. Because it is. http://java.dzone.com/articles/osgi-vs-jigsaw-kirk MIAGE M1 St-Marcel - @VELOSSITY
  • 28. OSGiTM : une solution ultime? At this time, it has been decided to remove OSGi support from WildFly for various reasons. OSGi support will continue within our SOA platform. I personally do not view OSGi as a viable technology but on the other hand it is possible that the winds may shift and that we may revisit this decision some day. Note that since we have a flexible low-level core in WildFly, the choice of specifications to support do not carry down into any kind of basic architectural lock-in so we're never really "too far" from supporting any given container specification or component model, so to me this isn't a terribly drastic choice, just a pragmatic one based on the current known factors David Lloyd at https://community.jboss.org/thread/229889?_sscc=t MIAGE M1 St-Marcel - @VELOSSITY
  • 29. OSGiTM : la concurrence  Jigsaw + Java natif, modularisation du JRE intégrée à Java 8? – Pas encore sorti et éprouvé  Android (http://www.adon-line.de/kunden/prosystBlog/?p=18) + Simplicité, modèle d’application - Communication inter-process, Pas de versionnement  .Net (http://www.aqute.biz/presentations/WhyOSGI.ppt) + Managed Extensibility Framework (MEF) - Pas de standard / Single platform MIAGE M1 St-Marcel - @VELOSSITY
  • 30. Bibliographie  http://france.osgiusers.org/Main/HomePage  Peter Kriens – http://www.aqute.biz/Main/HomePage  Didier Donsez - http://membresliglab.imag.fr/donsez/cours/exemplesosgi/ Cette présentation est à retrouver à l’adresse http://fr.slideshare.net/saintmar/m1-presentation-os-gi MIAGE M1 St-Marcel - @VELOSSITY

Editor's Notes

  1. - Le divertissement et la culture ( Home Cinema, son multipièces , VOD , triple play, …..) - Sécurité des biens et des personnes ( contrôle d’intrusion, alertes fuites d’eau, gaz , ….) - Santé ( surveillance médicale à la maison, à distance, détection de chutes,….). - Confort ( commande des appareils électroménagers à distance, boutons d’ambiance « je lis » , « je regarde la télé », télémaintenance, …. )