Document de travail Groupe Français des utilisateurs OSGiTM

publicité
Document de travail Groupe Français des utilisateurs OSGiTM
Formation à la technologie OSGiTM
Stéphane Frénot, Didier Donsez, Michel d'Hooge, Alain Moreau
A) Présentation générale
I.1) Objectif général
L'objectif de ce groupe est de définir une structure générale de formation autour d'OSGiTM.
Cette structure peut être déclinée de différentes manières (formation universitaire, école
d'ingénieurs, formation continue, formation professionnelle). Le groupe des utilisateurs OSGi
fait cette proposition afin de définir des lignes générales d'une telle formation, et d'en fédérer
les différents acteurs. Les modalités de financement et de certifications sont pour l'instant en
dehors du cadre de cette proposition.
I.2) Structure générale
Cette proposition se décline selon 2 axes
•
Les développeurs qui veulent parfaitement maîtriser la technologie OSGiTM
•
Les décideurs qui veulent rapidement connaître la technologie et savoir dans quoi
ils vont éventuellement s'engager.
I.2.1) Axe Développeurs
Cet axe doit permettre à des développeurs à différents niveaux de compétence de devenir
autonomes autour de la technologie. La durée de formation est de l'ordre d'une semaine pour
l'ensemble de l'axe et se reparti entre Cours et TP machines à raison de 1/3 et 2/3
respectivement.
Nous proposons de structurer cet axe selon 5 blocs1 :
N.B. : un descriptif détaillé de chacun des blocs est donné dans la section II du document.
Core 1 : doit permettre de comprendre le framework OSGi et de pouvoir développer les
premiers bundles2 dessus
Core 2 : permet de comprendre l'intégralité de la spécification OSGi, ainsi que certains
services spécifiques
Inside : donne les indication techniques permettant de comprendre les fondements
1 La durée de formation d'un bloc est d'environ 1 journée
2 Bundle se traduit en français par paquet, ballot, liasse. Afin d'éviter certaine confusion nous conservons le
terme anglo-saxon
Stéphane Frénot
Groupe des utilisateurs français d'OSGi
20/05/05
1/5
technologique sur lesquels repose OSGi
Service Management : présente les services liés à la supervision de passerelles OSGi
Service Communication : présente les services liés à l'interaction avec des passerelles
I.2.2) Axe Décideurs
Cet axe propose une formation d'environ une journée. Elle permet aux auditeurs de faire des
choix justifiés concernant la technologie. C'est une approche orientée évangélisation de
technologie. La présentation de l'axe repose sur des cours magistraux avec des « cas
d'utilisation », des « success stories » et des « exemples type, d'utilisation ». Nous
proposons de décomposer l'axe en deux blocs :
Décideur 1 : est une présentation générale autour de l'infrastructure OSGi (Business model,
OSGi Alliance, OSGi framework)
Décideur 2 : est une présentation sur la gestion de projet autour d'OSGi. Quelles sont les
implications liées au montage d'un projet autour d'OSGi
I.3) Parcours
Le schéma bloc suivant représente les différents sections de la formation
core1
Décideurs 1
core2
Décideurs 2
inside management communications
Il est certainement possible d'envisager plusieurs parcours de formation possible. Les blocs
« inside, management et communications » sont des blocs plutôt orientés domaines
d'application, ils peuvent donc être pris de manière indépendante les uns des autres et
indépendamment des modules core.
Stéphane Frénot
Groupe des utilisateurs français d'OSGi
20/05/05
2/5
B) Proposition de description des blocs
II.1) Axe développeurs
II.1.1) Core 1
Pré-requis : programmation java
Business Model d'OSGi
Principes de programmation java :
Programmation orientée services (interface)
Programmation orientée services dynamique
Principes de la plate-forme OSGi
Bundle, Package et Services
Activator
Manifest
Négociation de services (propriété et filtres)
Listeners
Offre de passerelles
Liste des passerelles,
Modèles de licence
II.1.2) Core 2
Pré-requis: programmation java+Core1+ant
Mécanisme de gestion des bundles
import/export et matching de version
imports dynamiques
Utilisation de code natif
Emballage de librairies externes java
Modèle de sécurité de bundles
Services de base
Service de log
XML parser
HTTP service
Services de Combinaison et de gestion de cycle de vie
Service Factory, Service Binder, Service Tracker
Stéphane Frénot
Groupe des utilisateurs français d'OSGi
20/05/05
3/5
Services de Communications locales
Wire service
Device Access Manager
II.1.3) Inside
Programmation java avancée
Chargement de classes
Classloaders, packages, javax
Sécurité java
Servlet
Génie logiciel
Packaging (Contrat/implémentation) (best practice)
Chaîne de projet OSGi (ant, maven)
Modèle de développement de services
Proactif (http), Réactif (device discovery)
Outillages
vi, eclipse, ant, maven
Optimisations
Machines virtuelles et environnements (choix)
II.1.4) Management Services
Pré-requis: programmation java+Core2+ant
Services liés au management d'OSGi :
Shell gui, tui, tiny + équivalent sur les autres plates-formes
telnet
Permission Admin
ConfigurationManager
UserAdmin
Preferences
Start level
Initial provisionning
JMX (agent, console, remoting)
Obr
Stéphane Frénot
Groupe des utilisateurs français d'OSGi
20/05/05
4/5
II.1.5) Communication services
Pré-requis: programmation java+Core2+ant
Services liés à la communication sous OSGi :
Communication inter applications : http, JMS
IOConnector, URL handler
Remoting : RMI, SOAP
Infrastructures tiers : UPnP, JINI
II.2) Axe Décideurs
II.2.1) Principes
Pré-requis : le monde java
Business model d'OSGi
OSGi Alliance
Grandes lignes du framework (forces et faiblesses)
Services majeurs de la plate-forme
Environnements java associés
II.2.2) Exemples de mise en oeuvre
Exemples de success stories (et anti-patterns ?)
Prendre en main un projet OSGi
Équipe, outils, infrastructure
Domaines d'applications
Réseaux actifs, réseaux de capteurs...
Environnement technique
Panel de gateway (ibm, prosyst, oscar, kf...)
Approches open-source
Stéphane Frénot
Groupe des utilisateurs français d'OSGi
20/05/05
5/5
Téléchargement