Présentation
EnglishAuteur(s)
-
Michel RIVEILL : Professeur à l’université de Nice-Sophia-Antipolis
-
Philippe MERLE : Maître de conférences à l’université des sciences et technologies de Lille - Laboratoire d’informatique fondamentale de Lille (LIFL)
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleINTRODUCTION
Parmi les principaux phénomènes qui révolutionnent l’industrie du logiciel, nous constatons que les applications deviennent de plus en plus grosses et de plus en plus complexes et que les technologies orientées objets font une percée irréversible sur le marché, introduisant dans les méthodes de développement logiciel une flexibilité nouvelle. Ainsi , les technologies de développement du logiciel ont un poids de plus en plus important dans l’économie. Face à la difficulté de maîtriser le développement du logiciel, le succès de nombreux projets repose sur le respect d’un petit nombre de règles clés :
-
gérer les besoins : les besoins métiers changent tous les jours et leur gestion formelle est une activité indispensable qui permet de s’assurer que le système final répond bien à ce que les utilisateurs en attendent. Cette gestion doit recouvrir la formalisation, la documentation, l’organisation et le suivi des changements des besoins ;
-
employer des architectures à base de composants : une des évolutions technologiques majeures en matière de développement logiciel est l’avènement des composants. Les architectures à base de composants constituent la seule réponse à l’évolutivité nécessaire et permanente des systèmes d’information ;
-
modéliser visuellement l’architecture : il est impossible d’appréhender la complexité et de communiquer efficacement à tous les membres d’une équipe les aspects d’architecture et de comportement d’un système sans une modélisation visuelle et graphique. L’avènement d’un standard tel que UML représente une avancée majeure dans ce domaine ;
-
développer de manière itérative : étant donnée la sophistication des systèmes actuels, il n’est plus possible de se contenter de mettre en série les activités de définition, de conception, de développement et de test. Les nombreux échecs enregistrés récemment dans de grands programmes en sont une preuve évidente. Une approche itérative fournit une plus grande flexibilité car elle permet de prendre en compte rapidement de nouveaux besoins ou des changements tactiques, et d’identifier et de résoudre les risques au plus tôt ;
-
vérifier la qualité : du fait du rôle fondamental des systèmes dans la vie de l’entreprise, leur qualité doit être irréprochable. Celle-ci n’est pas l’affaire de personnes extérieures, mais résulte de l’activité quotidienne de tous les membres de l’équipe de développement. La vérification permanente de la qualité (adéquation, fiabilité, performance) est essentielle. Elle repose sur trois principes fondamentaux : tester tôt, tester souvent, tester automatiquement ;
-
gérer les changements : le succès du développement itératif et du développement parallèle repose sur la capacité à gérer les évolutions et les changements qui surviendront inévitablement pendant le développement, et à maîtriser les activités quotidiennes du développement liées à la multiplicité des intervenants.
Ces principes doivent constituer la base de toute démarche de développement moderne qui repose, en outre, sur l’automatisation des activités. Celle-ci permet d’augmenter la productivité des équipes de développement, de garantir le respect des procédures et de minimiser les risques d’erreurs.
Parmi les nouveaux concepts logiciels, l’approche composant doit permettre de trouver une structure globale, manipulable par des gens dont le métier est de composer des structures plutôt que d’inventer des éléments permettant de construire des structures. Un système fabriqué avec des objets, par exemple une comptabilité, une messagerie, peut comporter de 400 à 1 000 classes, alors qu’en le structurant en composants, on peut ramener à 10 ou 20 le nombre de briques manipulées. L’objet, au sens traditionnel du terme, évolue vers une structure à base de composants et cette problématique se retrouve dans la fabrication des logiciels, les middlewares, les systèmes de gestion de base de données (SGBD), etc.
Si construire une application est un processus complexe, il n’est pas possible de trouver un qualificatif pour l’ingénierie des applications distribuées. Différentes technologies sont aujourd’hui proposées pour permettre l’accès à des données distantes ou l’exécution à distance de programmes. Ces technologies reposent sur l’ajout à un système d’exploitation existant d’une couche logicielle appelée « middleware », comme par exemple les courtiers d’objets (ORB) ou les bus de messages. Les applications sont construites comme une collection de composants logiciels indépendants, interconnectés à l’aide de ces « middlewares ». Pour mettre en évidence la structure des applications, ces assemblages peuvent être décrits à l’aide d’ADL (Architecture Description Language) qui permettent la mise en œuvre des différents composants de l’application par des langages de programmation différents, et l’intégration de ceux-ci à travers différents modèles d’exécution ou de communication reposant sur un ou plusieurs middlewares (interaction client/serveur pour les ORB ou modèle événement/réaction dans le cas des bus de messages).
Cet article présente les principaux éléments de la technologie composant, tels qu’ils se discutent dans les différents consortiums industriels, c’est-à-dire les Java Beans, les Enterprise Java Beans (EJB), les composants OMG (Object Management Group) et la vision Microsoft. Finalement, nous discutons des langages de description d’architectures (ADL) à travers une présentation synthétique du projet Olan mené par l’équipe SIRAC (Systèmes informatiques répartis pour applications coopératives) de l’Institut national de la recherche en informatique et automatique (INRIA).
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
2. Étude de quelques modèles de composants
Ce paragraphe présente quelques modèles de composants utilisés aujourd’hui dans l’industrie pour construire des applications. Nous avons fait le choix de présenter les modèles de composants suivants :
-
Java Beans 2.1 en insistant sur les aspects liés à l’introspection et à la persistance ;
-
Enterprise Java Beans 2.2 en insistant sur le modèle de composant et la programmation déclarative des propriétés non fonctionnelles (persistance, transaction et sécurité) ;
-
composants CORBA 2.3 en insistant sur le format du fichier contenant la description des composants à déployer ;
-
composants Microsoft 2.4 en insistant sur les concepts généraux et les visions architecturales proposées.
Cette présentation n’est pas exhaustive : elle omet de nombreux autres modèles de composants. Cependant, elle offre un large tour d’horizon des fonctionnalités qui sont ou devraient être offertes par tout modèle de composants.
2.1 Java Beans
Les Java Beans sont des composants Java persistants construits selon un gabarit de construction spécifique afin de garantir des propriétés de persistance, d’introspection, de configuration et d’assemblage pour construire une application ou une partie d’application Java.
Les Java Beans peuvent être utilisés dans n’importe quel environnement Java (par exemple, Symantec's Visual Cafe, IBM's Visual Age, SunSoft's Java Workshop ou Borland's Jbuilder). Ces environnements permettent la construction d’applications par drag and drop (copier-coller) de composants à partir d’une palette que l’on relie graphiquement. Un éditeur de propriétés permet de spécialiser chacun des composants.
...Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Étude de quelques modèles de composants
BIBLIOGRAPHIE
-
(1) - MEYER (B.) - Conception et programmation par objets. - 1990, InterEditions, Paris, France.
-
(2) - CHAUVET (J.-M.) - Comprendre l’architecture des serveurs d’applications. - 1999, Eyrolles.
-
(3) - BRETHES (T.), HISQUIN (F.), PEZZIARDI (P.) - Serveurs d’applications. - 2000, Eyrolles.
-
(4) - Livre blanc sur l’Entreprise Application Integration (EAI). - 1999, Octo Technology. www.octo.fr
-
(5) - ROGERSON (D.) - Inside COM. - 1997, Microsoft Press, Redmond WA, États-Unis.
-
(6) - EDDON (G.), EDDON (H.) - Au cœur de Distributed COM. - 1998, Microsoft press, les Ulis.
-
(7)...
ANNEXES
FABRESSE (L.) - Proposition d'un langage de programmation à base de composants logiciels interfaçables et application à la génération semi-automatisée d'IHM. - Université des sciences et techniques du Languedoc (2003).
COURBIS (C.) - Contribution à la programmation générative : application dans le générateur SmartTools, technologies XML, programmation par aspects et composants. - Université de Nice-Sophia Antipolis (2002).
SY (O.) - Spécification comportementale de composants CORBA. - Université des sciences sociales (Toulouse) (2001).
CHORFI (H.) - Développement d'un composant java permettant de tracer des courbes. - Université Montpellier II Sciences et Techniques du Languedoc (2000).
HAUT DE PAGE
###
* - SIRAC http://sardes.inrialpes.fr/sirac/
* - ExperShop http://www.experlog.com/
* - Microsoft Internet Information Server http://www.microsoft.com/France/iis
Composants Java
* - http://java.sun.com/products/javabeans/
QUINN (A.) - JavaBeans : Components for the Java Platform. - http://java.sun.com/docs/books/tutorial/javabeans/index.html
DESOTO (A.) - Using the Beans Development Kit - a tutorial. - Novembre 1997. http://java.sun.com/beans/docs/Tutorial-Nov97.pdf
PELEGRI-LLOPART...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive