L'architecture SOA et les ERP : un changement plus culturel que technique

L'architecture SOA s'impose pour remettre à plat les applications existantes, et les adapter en fonction des évolutions des besoins métiers. Si le concept de SOA correspond à une réalité tangible, cette démarche ne constitue pas pour autant une recette magique.

Service, ouverture, souplesse : une exigence des utilisateurs qui bouleverse la conception des applications d'entreprise, en particulier les ERP. Conçus à l'origine pour un nombre limité d'utilisateurs autour d'un socle apparemment inamovible, ceux-ci s'enrichissent aujourd'hui de fonctions destinées aux utilisateurs les plus variés.

Ils vivent une révolution qui ébranle même les mieux implantés. L'architecture SOA s'impose pour remettre à plat les applications existantes et les adapter à ces nouvelles exigences.

Quant aux applications les plus récentes, la SOA est dans leurs gènes, et elles en poussent très loin les avantages. Si le concept de la SOA correspond à une réalité tangible, la démarche ne constitue pas pour autant une recette magique. Elle se veut une réponse à des enjeux de réactivité, d'efficacité et de compétitivité des entreprises. Mais pour la mettre en place, un certain nombre de conditions sont nécessaires.

Des besoins et des usages qui se transforment vite


Les utilisateurs cherchent à mieux tirer partir des applications informatiques. Mais les directions métiers et la direction informatique suivent souvent des chemins distincts qui ont parfois du mal à se rencontrer. Pour se retrouver, elles doivent conclure entre elles un vrai partenariat, d'autant plus que le métier des entreprises évolue très vite.

En effet, leur développement entraîne la mise en place de nouvelles applications qui doivent échanger des données avec les applications existantes. Certaines entreprises étendent leurs activités voire changent de métier et les frontières entre métiers s'estompent : les chaînes de magasins ou les pétroliers émettent des cartes bancaires, les grandes surfaces vendent des voyages...

Pour faire face à ces évolutions rapides, il faut une architecture informatique solide, souple et réactive, capable de répondre rapidement, efficacement et de manière sûre aux demandes d'évolution. La SOA, architecture orientée services, est une voie de plus en plus utilisée. Mais elle peut prendre plusieurs formes. Et elle ne s'applique pas nécessairement à toutes les activités de l'entreprise.

En effet, autant celle-ci modifie en permanence ses Processus critiques, autant ses processus de commodité font preuve d'une grande stabilité.

Des technologies variées, obligatoirement ouvertes


Qui dit architecture dit mise en cause des applications existantes. Ou plus exactement des applications monolithiques conçues pour une catégorie unique d'utilisateurs. Il y a longtemps que la bataille contre les silos, isolés les uns des autres, a commencé.

La mise en place de processus transversaux a été l'une des premières réponses à la nécessité de faire communiquer les applications entre elles. Mais pour aboutir à une réelle souplesse et à un bon niveau de réutilisation des modules applicatifs, il faut appliquer une Granularité plus faible. L'objectif est d'obtenir des services publiés, accessibles et sécurisés, mis en œuvre au sein d'une architecture SOA.
 


Plus la structure d'une application est modulaire, plus l'adoption d'une architecture SOA est aisée
. Ainsi, l'éditeur IFS a-t-il abordé cette problématique dans une position avantageuse grâce à l'architecture de son progiciel basé depuis l'origine sur des composants : il publie un certain nombre de composants sous forme de services depuis 2004.

Le chantier a été d'une toute autre ampleur pour SAP, qui a investi des sommes considérables dans sa plate-forme NetWeaver. Mais le résultat est là : SAP annonce la disponibilité de 2 300 services.

Une fois mise en place, l'architecture SOA permet d'intégrer de nouveaux services dans le patrimoine applicatif. Cette intégration sera d'autant plus facile que le système d'information de l'entreprise est découpé en couches bien distinctes permettant de séparer les aspects techniques des aspects métiers, la partie transactionnelle de l'utilisation.

Modules, couches et applications doivent s'échanger des informations de manière industrialisée et se combiner en processus. L'approche SOA est donc indissociable de l'approche BPM pour la gestion des processus.

Des plates-formes d'intégration prennent en charge tous ces aspects. L'investissement initial de mise en place d'une plate-forme comme AIA (Applications Integration Architecture) d'Oracle est largement compensé par la facilité et la rapidité d'intégration de nouvelles applications.

En particulier, AIA comporte des processus d'intégration packagés. Ce type d'outil peut prendre en charge à la fois des applications internes et des applications externes. Or elles sont souvent conçues pour fonctionner de manière indépendante. C'est tout l'intérêt des solutions de bus applicatifs, comme celle de Tibco.

Certaines applications peuvent même être des applications hébergées, fournies comme services à la demande en mode SaaS. En fait, l'essor du SaaS est lié à la mise en place d'une architecture SOA.

Développer pour réutiliser, développer en réutilisant

La mise en place d'une architecture SOA dans une entreprise modifie complètement la stratégie de développement des projets. Les chefs de projets ne pourront plus se réfugier derrière l'urgence de leur mission.

La communication à l'intérieur de l'entreprise devient essentielle : le premier réflexe doit être d'aller voir si des briques, des services n'existent pas en interne. L'idée est d'encourager les gens à développer des applications réutilisables. Mais pour que cette approche soit viable, les services doivent figurer au sein d'un référentiel des services capable de les recenser avec un bon niveau de spécification.

Airbus a entrepris une démarche SOA pour l'ensemble de ses applications et de ses nouveaux projets, ce qui a amené l'entreprise à modifier radicalement aussi bien le mode de travail des ses équipes internes que ses relations avec ses contractants.

SOA : évolution ou révolution ?

La démarche SOA s'est imposée pour la modernisation des systèmes d'information existants. Mais elle prend une toute autre dimension quand elle est mise en œuvre pour la construction de nouveaux systèmes. Il pourrait bien s'agir d'une révolution permettant de concevoir un SI totalement ouvert et communiquant, d'une nature bien différente des systèmes existants.

C'est un concept sur lequel le monde des logiciels libres a eu une grande influence. Dans cet esprit, il s'agit pour chaque entreprise de maîtriser totalement ses applications, sans dépendre de tiers. C'est ce que fait depuis ses origines en 2000 la société b-pack en s'appuyant sur la SOA. Et pour rendre ses composants encore plus ouverts et tirer parti d'AJAX dans une perspective Web 2.0, cet éditeur d'une suite logicielle d'e-procurement a déjà réécrit ses applications.

Un métier s'appuie souvent sur plusieurs applications, qu'il devient donc nécessaire d'intégrer. La communication entre tiers amène à ouvrir les applications vers l'extérieur. La SOA permet de définir des interfaces machine-machine qui ont les mêmes possibilités que les interfaces homme-machine en termes de souplesse et de personnalisation.

Aux éditeurs d'explorer ces nouvelles possibilités pour rendre un meilleur service à leurs clients.

Auteur : René Beretz

Source : ERP-Infos - Newsletter gratuite