Bientôt sur nos écrans : l’architecture orientée services
S'il faut croire périodiques et sites Web, l'architecture orientée services (SOA – Services Oriented Architecture) est surtout affaire de produits. Courtiers d'intégration, engins de processus, connecteurs spécialisés, les éditeurs ne cessent de proposer de nouveaux produits. Pourtant, la SOA constitue avant tout une approche, une manière de découper des fonctionnalités d'affaires en services, et c'est pourquoi la SOA se retrouvera bientôt dans le domaine des interfaces utilisateurs et dans celui de l'architecture organique.
En d'autres termes, l'architecture orientée services s'apprête à envahir nos écrans! Ce phénomène semble tout naturel, puisque l'objectif premier d'une SOA est d'accroître l'agilité d'une organisation, et que cette agilité est nécessaire pour faire face à la complexité grandissante des besoins d'affaires.
L'ordinateur au service des besoins d'affaires
Historiquement, l'accroissement de la productivité des organisations s'est traduit par une augmentation marquée de la complexité de leurs besoins d'affaires. La tenue de livres manuelle ne suffit plus aux grandes organisations qui désirent contrôler leurs coûts d'exploitation; elles ont dû avoir recours à la technologie et sont maintenant dépendantes de l'ordinateur.
Devenu aujourd'hui omniprésent au même titre que le téléphone ou l'automobile, l'ordinateur a donné naissance à des industries entières – le divertissement digital notamment lui doit son existence. Or, cette omniprésence a un prix : on doit se doter d'infrastructures matérielles et logicielles pour soutenir la complexité grandissante. Et c'est là le principal problème que les spécialistes des technologies de l'information (TI) doivent résoudre au quotidien.
Le SOA à la rescousse
Dans le domaine des TI, la complexité se présente sous deux aspects : celui des processus, conséquence d'une offre de produits et services plus riche de la part des organisations, et celui des infrastructures. Quelle est la solution à cette complexité? La SOA. Parce qu'elle repose sur une modélisation adéquate des processus, elle permet de les alléger, et parce qu'elle uniformise les échanges intersystèmes, elle simplifie les infrastructures. Toutefois, la SOA n'atteindra son plein potentiel d'agilité que dans la mesure où les interfaces utilisateurs seront conçues de manière à ce qu'on puisse les adapter (customization) et les personnaliser (personalization) selon les besoins d'affaires.
C'est en ce sens que la SOA s'apprête à envahir nos écrans, comme en témoignent de nouveaux produits tels que Microsoft Office SharePoint Server 2007 et Oracle WebCenter 11g. À la fois cadres applicatifs (frameworks) et ensembles de services, ils permettent la construction de systèmes composés de pages dynamiques bâties à l'aide de composants réutilisables. Autonomes, ces composants appelés « WebParts » chez Microsoft ou « Taskflows » chez Oracle représentent l'expression visuelle d'un service logiciel déterminé. Ils sont en quelque sorte l'interface graphique correspondant à la logique d'affaires. Et c'est justement dans leur autonomie que réside le potentiel d'agilité pour une organisation.
Du code spaghetti au modèle ravioli
Je crois que le passage des SOA dans le domaine des interfaces graphiques illustre la maturation croissante des méthodes et techniques des systèmes d'information. Du fameux « code spaghetti » caractéristique des langages procéduraux, nous étions parvenus à l'architecture « lasagne » grâce à l'apparition d'approches telles que Modèle-Vue-Contrôleur. L'heure est maintenant venue de passer à des systèmes découpés de manière plus formelle et cohérente, comme le propose le modèle « ravioli », qui a selon moi de beaux jours devant lui.
Frédéric Desbiens, MBA
Architecte organique
Centre d'expertise et de solutions Oracle