Résumé
Le projet Parol (Plate-forme d'Applications
Réparties à Objets Libre) propose l'amorçage d'une
communauté de développement d'une plate-forme répartie
à objets (ou DPE - Distributed Processing Environment) pour les
télécommunications, et la mise en place d'une base de code
initiale pour ce développement. La base logicielle du projet doit
permettre de constituer une plate-forme répartie, susceptible de
servir à la fois d'infrastructure pour l'expérimentation
de services et applications réparties avancées par la communauté
académique, et de plate-forme à objets répartis de
qualité industrielle pour l'industrie des télécommunications.
Pour ce faire, elle devra être à la fois flexible, adaptable,
et performante, et permettre le développement de plusieurs personnalités,
dont un ORB conforme aux dernières spécifications CORBA,
et une personnalité conforme aux spécifications RMI de Sun.
Au-delà, cette base logicielle doit permettre aussi le développement
de plates-formes réparties conformes, par exemple, aux spécifications
Enterprise Java Beans (EJB), ou aux spécifications de composants
CORBA. Le projet propose une structure collégiale pour l'animation
de la communauté de développement et cible dans un premier
temps les communautés universitaires et industrielles françaises
pour amorcer cette communauté.
Partenaires
du projet
1. France Télécom - Cnet
2. INRIA
3. AFNOR
Identification
Projet Précompétitif
N° 35
Durée
: 18 mois
Thème
de l'appel
Changer les méthodes... : (X)
Accélérer
la mutation... :
Services &
Usages :
Plate-forme
: (X)
Pour plus
d'information :
M.
Mél :
Réseau
National de Recherche en Télécommunications
20, avenue
de Ségur
F-75353 PARIS
07 SP
http://www.telecom.gouv.fr/rnrt
http://www.education.gouv.fr/technologie
Mél
: rnrt@telecom.gouv.fr
Mél
: rnrt@technologie.gouv.fr |
Objectifs
:
Le projet Parol
(Plate-forme d'Applications Réparties à Objets Libre) a pour
objectifs l'amorçage d'une communauté de développement
d'une plate-forme répartie à objets (ou DPE - Distributed
Processing Environment) selon les principes du logiciel libre, et la mise
en place de la base de code initiale pour ce développement.
La base logicielle
du projet doit constituer une plate-forme répartie susceptible de
servir à la fois d'infrastructure pour l'expérimentation
de services et applications réparties avancées par la communauté
académique, et de plate-forme à objets répartis de
qualité industrielle pour l'industrie des télécommunications.
Pour ce faire, elle devra être à la fois flexible, adaptable,
et performante, et permettre le développement de plusieurs personnalités,
dont un ORB (Object Request Broker) conforme aux dernières spécifications
CORBA, et une personnalité conforme aux spécifications RMI
de Sun. Au-delà, cette base logicielle doit permettre le développement
de plates-formes réparties conformes, par exemple, aux spécifications
Enterprise Java Beans (EJB), ou aux spécifications de composants
CORBA.
Les objectifs
du projet participent directement de l'ambition affichée dans l'appel
d'offres du RNRT, consistant à concevoir des réseaux de télécommunications
et le réseau des réseaux comme de très grands systèmes
informatiques répartis. Le projet vise en effet ultimement à
développer une infrastructure répartie ouverte qui pourra
être exploitée dans ce cadre de réseaux d'information.
Mise en oeuvre
et état de l'art :
Le domaine des
plates-formes d'exécution réparties, ou "middleware" , est
un domaine logiciel en pleine expansion. En témoigne l'explosion
du marché des "serveurs d'application" , largement basés
sur l'intégration d'approche de type Java/CORBA avec des technologies
transactionnelles et des technologies de serveurs Web (cf. par exemple
offre M3 de BEA, offre serveur d'applications d'Oracle, de Sun Microsystems,
offre Websphere d'IBM, etc.). Les deux ensembles de spécifications
ouvertes disponibles pour la constitution d'une offre de plate-forme répartie
sont les spécifications CORBA de l'OMG et les spécifications
Java de Sun. Les spécifications CORBA de l'OMG sont développées
de manière ouverte et couvrent d'ores et déjà une
bonne partie des fonctions requises d'une plate-forme répartie moderne.
Cependant, elles ne répondent pas vraiment aux exigences de l'industrie
des télécommunications en termes d'adaptabilité à
des contextes d'exécution différents (set-top box, routeur,...),
de temps-réel, de sûreté de fonctionnement, même
si des travaux sur ces thèmes sont en cours à l'OMG. Les
spécifications Java de Sun sont dans la même situation.
Le projet Parol
ne vise pas à construire seul une infrastructure répartie
à objets adaptée aux télécommunications, mais
à doter la communauté scientifique française d'un
outil pour la réaliser. Deux verrous majeurs sont à lever
:
-
définir
une architecture de plate-forme suffisamment ouverte, flexible et modulaire
pour s'adapter à la fois à des expérimentations et
aux besoins des systèmes de télécommunications ;
-
faire accepter
cette architecture par la communauté académique et par l'industrie.
Pour ce faire,
le projet Parol propose de constituer une communauté "logiciel libre"
ayant pour vocation le développement d'un DPE flexible, robuste
et pérenne pour le domaine des télécommunications.
Les motivations pour la constitution d'une communauté "logiciel
libre" pour développer cette architecture sont nombreuses.
Le logiciel
libre, avec l'arrivée sur le devant de la scène de Linux
et l'intérêt que lui portent notamment des grands noms de
l'informatique et des télécommunications, acquiert peu à
peu une légitimité industrielle. En dehors peut-être
de Microsoft, la plupart des grandes sociétés informatiques
adoptent des stratégies de mise à disposition de leurs produits
logiciels ou de développement de code directement inspirées
du logiciel libre. En témoignent par exemple le passage en logiciel
libre du navigateur de Netscape
,
la mise en place de la Community Source License
de Sun Microsystems, le passage en logiciel libre d'une partie du système
d'exploitation MacOS X d' Apple
.
Pourtant, le
domaine du "middleware" reste pour l'instant peu fourni en logiciels libres.
Surtout, aucun des développements en cours n'a pour l'instant atteint
une "masse critique" , que ce soit en terme de développeurs, de
fonctions disponibles ou de pérennité. Or il s'agit d'un
domaine qui semble se prêter parfaitement au développement
d'une offre de logiciel libre viable et pérenne. L'exemple d' Apache
,
logiciel libre bien connu dans le domaine connexe des serveurs Web, suffit,
de notre point de vue, à le démontrer. En même temps,
compte tenu du caractère "intermédiaire" ou "système"
du logiciel considéré, ce marché a sans doute vocation
à se transformer rapidement en un marché de "commodities"
. Dans une telle situation une offre libre prend tout son sens, puisqu'elle
autorise en particulier le développement d'une offre différenciée
dans les couches logicielles supérieures, liées aux processus
d'entreprise ( "objets métier" ) et aux fonctions applicatives avancées.
Il existe bien
des implantations sous licences libres d'ORB conformes aux spécifications
CORBA (par ex. Mico , OmniORB
,
JacORB ,
TAO
, JavaORB
) mais ces
développements restent limités, n'offrent qu'un nombre de
fonctions limité, restent pour l'instant de pérennité
incertaine (avec un risque important d'obsolescence rapide), et surtout
ne sont pas fondés sur une architecture suffisamment flexible et
modulaire pour pouvoir réellement servir de plate-forme d'expérimentation
et être adaptées au domaine des télécommunications.
Les spécifications Java de Sun Microsystems, quant à elles,
font l'objet d'une implantation de référence par Sun mais
le développement de ces spécifications reste un processus
sous fort contrôle de Sun et la mise à disposition du code
source de l'implantation de référence de Sun (environnements
Java et Jini) ne satisfait pas, tant s'en faut, aux exigences du logiciel
libre.
Pour ces raisons,
le projet Parol propose de constituer et d'animer une communauté
"logiciel libre" dont l'objectif est le développement d'une plate-forme
à objets répartis adaptée aux exigences de l'industrie
des télécommunications, et pouvant servir de plate-forme
d'expérimentation.
Pour ce faire,
le projet comporte les actions suivantes :
-
mise en place base
de code initiale : le projet propose comme base de départ le DPE
flexible Jonathan
,
développé au Cnet, et dont l'architecture interne offre de
bonnes garanties d'ouverture et d'extensibilité. Le projet procédera
à la consolidation de Jonathan en une base de code utilisable par
l'ensemble de la communauté.
-
mise en place d'un
comité d'architectes : le projet propose une structure collégiale,
inspirée de celle mise en place dans le cadre du projet Apache
,
pour présider aux choix d'architecture et aux directions de développement
de la plate-forme.
-
mise en place d'outils
de développement comunautaires : en s'inspirant d' Apache
et
de Mozilla , le projet vise à
mettre en place une structure souple pour la gestion de la base de code
de la communauté (gestion de version, de documentation, de bogues,
etc).
-
mise en place d'outils
et d'actions de soutien à l'amorçage de la communauté
: site Web dédié à la communauté, séminaires
et conférences, actions de communication, etc.
Verrous :
Le projet a
une durée de 18 mois. La conception de logiciels pour les télécommunications
se heurte aujourd'hui à une barrière de complexité
difficilement gérable. De nombreuses technologies sont proposées
et doivent cohabiter au sein d'un même système. Cela pose
donc un double problème d'efficacité de la conception et
du développement d'une part, et d'interopérabilité
des infrastructures d'exécution d'autre part. L'approche du projet
Parol, fondée sur une base de code commune et extensible, est de
nature à favoriser la modularité et la réutilisabilité
du code. Par ailleurs, le fait que cette base de code s'appuie sur un noyau
d'ORB générique devrait également faciliter la résolution
des problèmes d'interopérabilité.
Organisation
du projet :
Le projet est
organisé en 4 sous-projets, correspondant aux différentes
actions indiquées ci-dessus:
-
sous-projet 1 Base
: ce sous-projet a pour objectif la consolidation d'une base de code initiale.
-
sous-projet 2 Architecture
: ce sous-projet a pour objectifs la mise en place du copmité d'architectes
et le développement des spécifications initiales d'architecture
de la plate-forme.
-
sous-projet 3 Outils
: ce sous-projet a pour objectif la mise en place d'outils pour la gestion
de la base de code commune.
-
sous-projet 4 Réseau
: ce sous-projet a pour objectif la mise en place du réseau de contributeurs,
des outils et des actions associées (site Web, séminaires
et conférences, relations avec l'industrie, etc.)
Retombées
du projet :
Les bénéfices
attendus pour les communautés industrielles et universitaires françaises
et européennes sont nombreux. Pour les universitaires et laboratoires
de recherche publics, un ORB libre constitue une plate-forme d'expérimentation
et un matériel pédagogique idéal. Qui plus est, une
participation active au développement d'une plate-forme libre de
référence, offrirait aux universitaires et aux laboratoires
de recherche publics intéressés un excellent levier d'influence
auprès d'organismes de normalisation tels l'OMG. Enfin, le développement
de services directement dans une plate-forme de qualité industrielle
permet de valider et valoriser beaucoup plus rapidement les recherches
menées. Pour les industriels, outre les avantages liés au
logiciel libre en général (maîtrise des développements
et des adaptations, indépendance vis-à-vis des fournisseurs,
etc.) un ORB libre avec une bonne couverture fonctionnelle et jouant le
rôle de plate-forme de référence de fait, peut servir
de plate-forme étalon pour la conduite de leurs développements
propres, de leurs négociations commerciales, ou de leurs activités
normatives. Au-delà, et en cas de succès de l'entreprise
ici décrite (développement d'un ORB libre robuste, à
large couverture fonctionnelle, assuré par une communauté
nombreuse et pérenne), toute une activité industrielle de
services et de développement logiciel peut se mettre en place, comme
en témoigne le phénomène Linux. |