Programmation post-objets. Des langages d'aspects aux langages de composants
L'utilisation et la gestion des composants sont au coeur des nouvelles architectures logicielles. Pourtant les métiers sont toujours dans l'attente de composants génériques sur étagères, reconfigurables en fonction de l'application visée et de son environnement. Ces vingt dernières années ont certes vu la programmation par objets devenir le paradigme standard de développement des logiciels. Cependant cette approche de la programmation s'avère aujourd'hui trop limitée pour prendre en compte le changement de niveau conceptuel introduit par le passage à l'échelle des applications sur les réseaux. L'un des problèmes non résolus est de donner de la structure aux logiciels pour mieux en maîtriser la complexité et la maintenance et ce à un niveau de granularité suffisamment important. De ce point de vue, les objets apportent des réponses incomplètes à l'assemblage des composants logiciels et à la gestion de leur cycle de vie. Nous introduisons la période post-objets en discutant l'évolution des objets vers les composants d'une part et celle des objets vers les aspects d'autre part.
(Re)using and adapting components are two key issues in the field of software architecture. Yet, enterprises are still waiting for genuine off-the-shelf components. Since 20 years, object-oriented programming has become the de facto programming standard. Nevertheless objects have partially failed to address the scalability requirements introduced by the Internet. One of the unresolved challenges is the building of large software with the appropriate granularity. From this perspective, objects have given incomplete answers to the problem of component assembly and life-cycle management. We introduce the post-object age by discussing, on the one hand, the evolution from objects to components and by introducing, on the other hand, the evolution from objects to aspects.
P.COINTE, J.NOYÉ, R.DOUENCE, T.LEDOUX, J.MENAUD, G.MULLER, M.SÜDHOLT
objet, métaobjet, aspect, composant, programmation à grande échelle, séparation des préoccupations, architecture logicielle.
object, metaobject, aspect, component, scalability, separation of concerns, software architecture.
Français
|