Présentation

Article

1 - DES OBJETS AUX COMPOSANTS

2 - ÉTUDE DE QUELQUES MODÈLES DE COMPOSANTS

3 - LANGAGES DE DESCRIPTION D’ARCHITECTURE

4 - CONCLUSION

Article de référence | Réf : H2759 v1

Langages de description d’architecture
Programmation par composants

Auteur(s) : Michel RIVEILL, Philippe MERLE

Date de publication : 10 nov. 2000

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

Présentation

Version en anglais En anglais

Auteur(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’article

INTRODUCTION

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).

Cet article est réservé aux abonnés.
Il vous reste 93% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h2759


Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 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

ABONNEZ-VOUS

Lecture en cours
Présentation
Version en anglais En anglais

3. Langages de description d’architecture

Un langage de description d’architecture logicielle permet l’expression, dans un mode déclaratif, de la configuration d’une application en termes de composition d’unités logicielles élémentaires et les éventuelles contraintes de déploiement sur les environnements d’exécution. À ce langage sont associés des outils pour la vérification de la validité de l’assemblage, pour la génération du code binaire de l’application distribuée, des scripts pour automatiser le déploiement et des services systèmes pour supporter le processus de déploiement, de monitoring et de reconfiguration de l’application. Pour illustrer cette démarche, nous utiliserons les travaux réalisés par l’équipe SIRAC autour du langage de description d’architecture OLAN [8]*.

Ces langages [13] permettent de clairement séparer l’étape de programmation de chacun des composants de la phase de configuration qui permet de produire la description de l’application en termes de composants. Cette seconde phase permet l’assemblage et l’interconnexion de composants selon différents schémas. Les éléments centraux d’une description sont les composants et les connecteurs. Une application est décrite comme une hiérarchie de composants interconnectés, les feuilles de cette hiérarchie sont des unités logicielles élémentaires qui encapsulent un morceau de code dans des composants appelés « primitifs ». Les nœuds de cette hiérarchie sont des composants complexes (aussi appelés « composites ») qui sont construits à l’aide de composants (primitifs ou composites) interconnectés. Les objets qui réalisent et mettent en œuvre les interconnexions sont appelés connecteurs [14]CorbaScript, CorbaWeb . Leur rôle est d’implémenter la communication et la synchronisation entre deux composants...

Cet article est réservé aux abonnés.
Il vous reste 92% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 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

ABONNEZ-VOUS

Lecture en cours
Langages de description d’architecture
Sommaire
Sommaire

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)...

1 Thèses

* - http://www.sudoc.abes.fr

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

2 Sites Internet

###

* - 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 est réservé aux abonnés.
Il vous reste 94% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 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

ABONNEZ-VOUS