La plateforme dynamique à services
OSGi™
Gaël Thomas
(Basé sur un cours de Dider Donsez)
Université Pierre et Marie Curie
Master Informatique
2007/2008
Gaël Thomas OSGi 2
Les services
Service : entité informatique définie par un ensemble de descripteurs de service
enregistrés dans un annuaire de service
Descripteur : ensemble de propriétés définissant l’accès à l’entité
Exp : une interface Java ou IDL pour un fournisseur (interface offerte)
ou une interface Java ou IDL pour un client (interface requise)
Contrat : ensemble des descripteurs mis en relation
Exp : deux interfaces égales (ifce fournisseur = ifce du client)
+ propriétés de QoS
En général : contrat = mis en relation d’un client et d’un founrisseur
Annuaire : associe des entités avec des descripteurs de service
Exp : service associant des serveurs et des interfaces, recherche d’un serveur à partir
de son interface
service de nommage (associe un nom aux serveurs)
Gaël Thomas OSGi 3
Les services
Intérêt des services
Seul le descripteur est nécessaire pour trouver un fournisseur
Pas de dépendance vis à vis d’un nom indépendant
Descripteur définit l’interface, les meta-données, les assertions etc…
Mécanisme de recherche intuitif
Exemple : "Trouve moi une imprimante couleur à l’étage"
Interface d’imprimante {
void print(PostScript file)
}
Propriétés :
couleur = vrai
étage = mon-étage
Gaël Thomas OSGi 4
Les services
Trois intervenants :
Fournisseur de service
Imprimante, amazone.com
Client du service
Utilisateur final, application à base de services, moteur d’orchestration
Annuaire de services (Service Registry)
UDDI, pages jaunes, registry OSGi
Un annuaire de service contient des associations entre
descripteurs et instances de fournisseur