Emploi Start-up Evénements 01 Avis d'expert Vidéos Indicateurs Distribution Telecharger Pro Livres blancs

Penser l'architecture à partir des besoins

La mise en place d'une architecture de service débute par la définition progressive des invariants du système d'information, et leur référencement.
envoyer
par mail
imprimer
l'article
partager sur Viadeo
partager sur Facebook
partager sur LinkedIn
partager sur Scoopeo
partager sur Technorati
partager sur Digg
partager sur Delicious
partager sur Google
partager sur Myspace
partager sur Yahoo!

Les applications traditionnelles de nos systèmes d'information sont en train d'être remodelées en vue de s'insérer dans une architecture modulaire, souple, et adaptable. L'objectif des architectes est de favoriser l'émergence des notions de service et de composition au sein d'un système par nature hétérogène, et soumis à une évolution perpétuelle.

Une approche par services préconise l'assemblage en cassant le couplage fort traditionnel pour miser sur des liaisons asynchrones. La plupart des environnements de développement autorisent désormais la publication du code sous forme de services Web, supportant tous les standards associés – Soap pour les accès et l'invocation, et WSDL et UDDI pour le référencement. Mais la logique est à la réutilisation de l'existant.

“ C'est le besoin qui doit guider, recommande Yves Guéry, responsable des services professionnels pour Seagull Software en France. On ne passe pas son temps à créer ou ajouter des services. Souvent, les projets relèvent de la synthèse, du regroupement. Les informations sont éparpillées dans le système, et l'on cherche à les organiser, à centraliser. ” Mais, isoler au sein des applications les blocs fonctionnels candidats au statut de services est une tâche souvent ardue.

Identifier les bons candidats

Il ne s'agit pas de tout modifier dans l'architecture existante. Une vision claire et précise du système d'origine est néanmoins nécessaire. En fonction de son âge, celui-ci ne fournira pas le même niveau de documentation. “ SOA s'inscrit dans une définition d'architecture et une logique de réutilisation, comme toutes les approches précédentes des systèmes distribués, explique Grégory Tanneau, architecte Java pour la SSII Onepoint. Il faut d'abord découper le système d'information, en identifier les grands concepts, et avancer progressivement. ”

L'objectif est de réutiliser certaines fonctions susceptibles d'être réparties dans de multiples programmes : prise de commandes, tarification, stocks, saisie de commandes, etc. Exemple : une compagnie d'assurances automobile dispose d'une application centrale pour établir ses devis. Elle souhaite la déployer sur Internet et l'utiliser dans d'autres configurations. La compagnie doit alors créer l'infrastructure permettant à plusieurs applications de l'exploiter. “ Nous ne voulons pas réécrire le code, explique Yves Guéry. C'est pourquoi ces invariants doivent être identifiés avec précision. ”

Ainsi, une fonction de recherche dans une base ne retournant que des données spécifiques pour une application n'est qu'un piètre candidat en raison des lourdeurs qu'elle impose pour un bénéfice nul. A l'inverse, une fonction interrogeant plusieurs bases dont les données rapatriées servent plusieurs applications a des chances de devenir un excellent service, dans la mesure où elle mutualise une fonction au sein d'une ressource le plus largement accessible. Dans le cas où plusieurs fonctions proches sont éligibles et concurrentes, il faut choisir une fonction maîtresse et l'enrichir.

La cartographie du patrimoine applicatif est une donc une phase obligatoire et assez longue. “ Parfois, quand le code est très ancien, on ne dispose pas de la documentation, décrit Grégory Tanneau. On procède alors à une évaluation fonctionnelle à partir de la rétro-ingénierie du schéma de la base de données. Or, la plupart du temps, celui-ci a été modifié. ”

Regarder la technique avec une vue métier

Quoi qu'il en soit, les services doivent être conçus avec l'idée de les intégrer à un processus métier. Leur définition et leur granularité dépendent donc du ou des processus auxquels ils participeront. “ Cela implique l'existence d'un vocabulaire commun, permettant de regarder la technique avec une vue métier, détaille Sylvain Cailliau, directeur technique de Serena Software France. Le bon niveau de granularité pour un service, c'est bien souvent la règle de gestion. ”

L'approche SOA est une démarche pragmatique, où l'on capitalise sur l'existant. Pour bien identifier le besoin, le référentiel de services s'impose de plus en plus. De nombreuses implémentations initiales ont pu en faire l'économie en raison du nombre maîtrisable de services exposés. Aujourd'hui, la nécessité d'un tel référentiel devient plus évidente. Les grands éditeurs ont d'ailleurs mis cette année les bouchées doubles pour doter leurs plates-formes de ces outils. En les développant ou en acquérant de petits éditeurs spécialisés.

Les solutions de type annuaire, utilisées en exécution, fournissent les références des services appelés. Celles de type référentiel, elles, incorporent le service proprement dit, et assurent la gestion de son cycle de vie.

Le marché des référentiels de services se concentre

Il y a peu, les référentiels de services, qui permettent leur identification et la gestion de leur cycle de vie, étaient encore le fait de petits éditeurs spécialisés. Depuis un an, ils sont l'objet de toutes les attentions de la part des grands éditeurs, comme le note un rapport de Forrester.

- HP, en rachetant Mercury, récupère le référentiel Systinet, que Mercury avait lui-même acquis en début d'année. HP dispose désormais d'une couverture très complète.
- BEA rachète Flashline, et inclut le référentiel de ce dernier dans sa plate-forme Aqualogic.
- Webmethods acquiert Infravio.
- Software AG et Fujitsu collaborent pour produire le référentiel Centrasite, utilisé par l'éditeur allemand dans le cadre de son offre Crossvision.
- IBM étend sa plate-forme SOA avec Websphere Service Repository.
- Oracle propose eBusiness Suite Integration Repository, qui expose tous les points d'accès et les interfaces vers les services de son progiciel.

Comment identifier les services

agrandir la photo

Une méthode de définition des services consiste à réaliser parallèlement deux analyses, l'une “ top down ”, à partir des besoins métier, sans considérer l'existant, et l'autre, “ bottom-up ”, en ne considérant que lui.

réponses d'expert : L'expertise de Philippe Ravix (directeur technique et responsable de l'offre SOA pour la SSII Sogeti)

Quelles bonnes pratiques s'imposent dans les projets SOA ?
“ La démarche SOA est une réponse aux enjeux métier avec une approche technique. Or, le service doit être métier, et non technique. Il est nécessaire de partir de la description des processus métier pour identifier les invariants – processus et données – qui, à terme, formeront les services. Il faut d'abord obtenir une vision globale macroscopique, puis définir des projets circonscrits et maîtrisables, avec des délais cohérents. De même, il est important de gérer le cycle de vie des services. Un service peut être utilisé dans 20 ou 30 applications, par exemple. Il faut analyser l'impact d'une nouvelle version, tester… ”

Quels sont les principaux problèmes rencontrés sur ces projets ?
“ On ne part jamais d'une feuille blanche. Dans de nombreux cas, cependant, les applications anciennes n'ont pas de documentation. Ce qui nécessite de créer un langage commun métier-technique. Avec le risque d'une mauvaise définition des services métier. Mais il est toujours possible de rectifier le tir par la suite. Plus généralement, les problèmes rencontrés sont d'ordre organisationnel : il faut apprendre à penser en termes de services réutilisables plutôt que d'applications, promouvoir la réutilisation, etc. Les entreprises ne sont pas toujours prêtes. Et cela a, entre autre, de grandes répercussions sur le plan budgétaire. ”

publicité
à lire aussi
SUR LES MÊMES THÈMES
Les entreprises pourront créer leur propre Second Life
JDA se relance à l’assaut d’i2
Yahoo! place son serveur web en open source
Solr 1.4 accepte plus que le XML
Glassfish est-il soluble dans Weblogic ?
IBM fédère l’archivage de documents et de données
Red Hat débarque sur le marché des SGBDR
Amazon propulse MySQL dans les nuages et baisse ses prix
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Tous droits réservés © 1999 - 2009 Internext - 01net.