Éditorial, L'Expertise informatique, vol.4 no. 1, automne 1998


ÉDITORIAL

Problèmes (ré)partis ?

Nombre de gens s’entendent pour dire que l’informatique répartie n’a rien de bien nouveau. Depuis quelques décennies déjà, les données nécessaires au bon fonctionnement d’applications courantes sont réparties dans plusieurs bases de données situées à des endroits différents. Le traitement de ces données est tout aussi réparti sur divers ordinateurs. Les notions d’architectures client-serveur, de parallélisme, d’objets répartis, de composantes à interfaces bien définies, de normes ouvertes et de systèmes multiagents, quelques-uns des sujets traités dans ce numéro, ne datent pas d’hier. Plusieurs reconnaissent là des technologies permettant d’accroître la puissance et les performances des applications informatiques, et de partager les ressources matérielles et informationnelles, le tout dans un contexte où les architectures de systèmes dynamiques et évolutives sont de plus en plus omniprésentes.

Nos problèmes informatiques sont-ils tous réglés et partis pour autant ? Sûrement pas ! Ils sont plutôt remplacés par de nouveaux défis portant notamment sur la conception de systèmes, la visualisation, le débogage, la validation, la vérification et l’interopérabilité. Bran Selic, vice-président d’ObjecTime et coauteur de la méthodologie ROOM (Real-time Object-Oriented Modeling, maintenant UML-RT), illustrait avec humour, lors d’une conférence, la complexité du problème. Il y mentionnait que s’il est depuis fort longtemps possible de faire des programmes dits spaghetti avec les langages de programmation traditionnels, la venue de CORBA et des objets répartis mène tout droit vers du spaghetti avec boulettes (les objets) ! Bien qu’ils nous aident à résoudre certains problèmes de conception et de réalisation, ces objets, sur lesquels nous n’avons pas une totale maîtrise, qui sont créés et détruits à la volée et qui communiquent entre eux dans tous les sens, ajoutent de nouveaux défis d’une complexité sans précédent.

Il y a cependant une solution connue à ces nouveaux problèmes : encore et toujours l’information et surtout la formation. Les problèmes liés aux systèmes répartis sont souvent d’une subtilité telle que nous n’avons guère le choix de nous les faire présenter et expliquer pour bien les comprendre. Bien sûr, ces problèmes n’ont pas encore été entièrement résolus, et les solutions existantes sont souvent simplistes et loin d’offrir la flexibilité et l’efficacité souhaitables. La formation ne cherche pas à se substituer à la recherche et au développement, mais plutôt à en diffuser et à en enseigner les résultats et les leçons. Il ne faut donc pas hésiter à aller chercher de l’aide afin de maintenir ou d’acquérir des compétences dans ce domaine.

Place à l’ouverture

L’informatique répartie ouverte, où l’on assemble des composantes logicielles selon des principes architecturaux bien définis mais où l’interopérabilité des applications est difficile à réaliser, voilà un domaine d’actualité beaucoup plus prometteur. L’ouverture des systèmes et des normes est une tendance qui se maintiendra pour plusieurs années, et plus encore dans un contexte Internet/intranet/extranet. Peut-être cela se traduira-t-il par une réduction importante de solutions propriétaires. Le fait que Java se soit imposé rapidement comme langage de programmation et comme plate-forme de développement pour systèmes répartis (ainsi que pour d’autres types d’applications) en est un bon exemple.

L’ouverture des systèmes et des normes n’est pas gage d’interopérabilité. Encore trop souvent malheureusement, deux applications se conformant à la même norme auront des problèmes de compatibilité et ne pourront interagir correctement. Les systèmes « ouverts » fonctionnant aujourd’hui le sont souvent parce qu’ils partagent le même code. Au début des années 80, l’un des buts de l’OSI (« Open Systems Interconnection ») visait justement à promouvoir une ouverture basée sur le fait que tous devaient utiliser les mêmes concepts spécifiés formellement. OSI s’est malheureusement soldé par un échec, et nous avons donc dû nous rabattre sur des solutions plus simples.

Beaucoup d’efforts et de bonne volonté sont nécessaires à la définition de normes et de standards de qualité, ce qui est d’autant plus difficile à réaliser dans un contexte de compressions budgétaires et de pressions du marché où le temps alloué à la sortie d’un produit est de plus en plus réduit. Ceci pourrait avoir un effet dramatique à long terme. Il faut prendre dès maintenant le temps de bien faire les choses et d’établir formellement des architectures et des fondations solides qui sauront résister à l’usure du temps et qui simplifieront la création et l’évolution des systèmes et applications informatiques de demain.

Peut-être devrons-nous aussi, en tant que consommateurs de produits informatiques, faire la part des choses et nous assurer de la maturité de tels produits avant de nous précipiter pour les acheter et les utiliser... Le tout se joue déjà dans notre cour !
 

Au revoir...

M. Gilbert Babin, ift.a., me succédera à titre de rédacteur en chef dès le prochain numéro. Je lui souhaite de continuer à avoir des dizaines de collaborateurs aussi merveilleux que ceux avec qui j’ai pu travailler au cours des dernières années. Je vous incite d’ailleurs vivement à le contacter afin de lui offrir votre aide et votre expertise.

Sincères remerciements à toutes et à tous,
 

DanielAmyot, ift.a.
Rédacteur en chef
Daniel.Amyot@apiiq.qc.ca