Posts Tagged 'ESB'

Fuse Day

Jeudi 14 Octobre se tenait la  journée de la Communauté Fuse sur le site de La Défense, dans les locaux de Progress Software, l’occasion de revenir sur les projets en incubation ou maintenus par cette population dynamique dont nous avons eu certains des représentants les plus actifs.

Lire la suite ‘Fuse Day’

L’intégration Java "à la légère"

L’avènement des ESB sur le marché ces dernières années a permis aux entreprises de rationaliser leur SI en s’appuyant sur la notion de services applicatifs ou en structurant/normalisant leurs échanges inter-applications. Cependant, quelque soit la solution choisie, la mise en place d’une couche de médiation de ce type ne se fait pas sans une approche réfléchie globale au système d’information et impactante tant au niveau de l’architecture technique ou applicative que de l’organisation ou de la gouvernance. Elle peut donc être particulièrement lourde et coûteuse, même si à terme le retour sur investissement est indéniable et la maitrise du risque opérationnel améliorée. Lire la suite ‘L’intégration Java "à la légère"’

SOA ne s'achète pas, SOA se construit

Voici le contenu d’une interview que j’ai donnée au site Silicon.fr sur SOA.

Dans quels contextes SOA incarne-t-elle une démarche pertinente ?

Globalement, je citerai trois raisons qui présentent un intérêt évident pour une approche SOA. En dehors de ces trois situations, l’entreprise peut se passer de la démarche SOA.

  • Première motivation : apporter de l’agilité aux processus métier. Dans certains secteurs (finance, services…), ces processus évoluent fortement. Or, s’ils sont “codés en dur” dans les programmes, la rigidité freine fortement l’agilité du système d’information qui ne peut s’adapter souplement pour répondre aux besoins évolutifs de l’entreprise. Avec une architecture SOA, les processus sont décomposés en briques élémentaires appelées services. Cela favorise les évolutions sans remettre en cause l’ensemble du schéma applicatif. Par exemple, une banque propose des services bancaires en marque blanche à d’autres acteurs. Or, chacun souhaite disposer de sa propre variante de processus tels que la souscription de crédit (traitement spécifique en cas de refus, limiter les étapes de validation…). En mode SOA, soit le processus présente une souplesse suffisante, soit la banque peut mettre en place des variantes d’un même processus pour un coût très raisonnable.
  • Seconde situation favorable dans laquelle le SOA apporte une solution efficace : l’interopérabilité. Une caractéristique critique pour une entreprise nécessitant de forts échanges entre les briques de son système information, entre ses applications décloisonnées, ou pour communiquer avec les applications de ses partenaires, fournisseuse ou clients. C’est ce que j’appelle la “SOA de surface” : on ne sait pas forcément ce qui se trouve dans l’application, mais on déploie les interfaces nécessaires à la communication (e.g. Services Web). Ainsi, un groupe de transport dont les processus restent identiques doit pourtant se conformer à de nouvelles règlementations. Il ne modifie pas les processus applicatifs, mais uniquement l’interface des échanges.
  • Troisième cas, moins fréquent que les deux autres : la rationalisation du SI. L’objectif consiste à réduire les occurrences multiples d’informations et d’applications ou fonctions. Il s’agit alors de travailler sur la qualité des données et des services applicatifs (MDM et autres outils de ce type). Si ce travail permet de réduire les coûts à moyen terme, on ne vise pas le retour sur investissement rapide, mais plutôt la cohérence du SI.

Quels éléments ou infrastructures favorisent l’élaboration d’une approche SOA ?

L’infrastructure ou les logiciels ne sont pas l’essentiel de la démarche, et les questions à leur sujet ne devraient pas se poser au départ. SOA est une philosophie de construction du SI sous forme de briques élémentaires et réutilisables. Or, cette notion de réutilisabilité provient de la qualité de l’interface et passe forcément par des formats pivots (description par message d’un processus métier, qui sera véhiculé lors des appels de services). L’intérêt consiste à mettre sur pied un vocabulaire commun à toute l’entreprise et à détecter les différences. Par exemple, la notion de “client” est différente selon les services, mais certains attributs sont communs. Alors, autant utiliser ce “plus petit dénominateur commun” de façon unique et le stocker dans un référentiel. Ainsi, en cas de modification et d’évolution, l’impact sera moindre et la maintenance des données largement simplifiée. Au final, une meilleure cohérence du SI et une productivité en hausse des informaticiens. On comprend alors pourquoi le référentiel est propre à chaque entreprise, à sa culture et ses métiers, et peut difficilement être vendu “prêt à l’emploi”.

En quoi l’architecture SOA diffère-t-elle de l’architecture applicative classique ?

Dans une architecture traditionnelle, on distingue trois couches : la couche utilisateur (avec le poste de travail et les interfaces homme-machine), les traitements et les données. Avec SOA, les traitements métiers sont séparés en Services élémentaires et en Services d’orchestration. Les premiers sont les briques de base que les seconds viennent compléter pour permettre la communication et les échanges.

À quel moment et où les logiciels peuvent-ils faciliter la démarche ?

Dans les solutions des éditeurs, la couche la plus stratégique reste le transport avec des logiciels comme MQ Series d’IBM ou JMS Sonic MQ de Progress, entre autres. En outre, lorsque les services se multiplient et se comptent par centaines, des suites logicielles deviennent indispensables pour comprendre ce qui se passe et orchestrer l’ensemble. Elles permettent d’industrialiser les tâches. De même, l’entreprise devra en déployer une pour assurer une ouverture contrôlée de ses applications dans des flux B2B. Cependant, SOA ne s’achète pas, mais se construit ! Signer un chèque à un éditeur ne sert à rien au départ du projet. Bien qu’il faille planifier cet investissement pour la suite.

Cas d’utilisation d’un ESB

Dans la vision standard d’une architecture SOA, on retrouve toujours un certain nombre d’éléments communs : des services, des clients ou consommateurs de ces services, un annuaire/registre de services, et une infrastructure technique, l’ESB, utilisée comme couche de médiation entre les fournisseurs et les consommateurs de services.

Lors de nos missions chez SQLI Consulting, nous avons identifié quatre grands cas d’utilisation d’un ESB à différents niveaux de l’entreprise.

1) Usage intra applicatif

C’est un cas d’usage limité, presque toujours implémenté avec un ESB Open Source, léger et simple à mettre en œuvre.
On le retrouve dans des applications ayant un fort besoin d’agilité, qui justifie le surcoût en performance que provoque le passage par un ESB, ou dans des applications proposant une interface multi protocoles (pour des progiciels en marque blanche par exemple) ; le module consommateur de service se trouve alors dans une autre application / système.

2) Usage tactique

L’utilisation tactique correspond à un ESB utilisé au sein d’une entité / département afin de mettre à disposition pour l’ensemble de l’entité des services réutilisables.

Les services exposés peuvent être issus :

  • De nouvelles applications reposant une sur une architecture SOA interne (exposition des services via les standards actuels)
  • D’applications existantes dont une partie du code applicatif est réutilisé pour exposer des services (exposition des services via les standards actuels)
  • De systèmes légataires, tels que les mainframes ou AS400 (exposition de services grâce à des connecteurs spécifiques)

3) Usage stratégique

La vision stratégique correspond à l’utilisation de l’ESB pour établir une communication entre les silos, dans le but d’exposer des services utilisés par des processus métier transverses. Comme pour la vision tactique, les services peuvent être issus de diverses sources, voir même de l’ESB tactique qui peut exister dans chacun des silos.

4) Communication externe

Dans ce cas d’usage, l’ESB est destiné à exposer des services pour une utilisation externe à l’entreprise

Dans ce genre d’utilisation, les aspects de sécurité doivent être l’objet d’une attention particulière. Pour cette raison, il est d’usage de ne pas utiliser un ESB interne (tactique ou stratégique), mais de dédier un ESB pour les communications avec l’extérieur. Un ESB pour la communication externe sera généralement placé dans une DMZ.

Il est à noter que les échanges inter SI se font généralement par l’intermédiaire de web services (sécurisés), et que les besoins en connectivité sont donc souvent plus limités. Ces différents cas d’utilisation se combinent dans les entreprises au fil des implémentations SOA plus ou moins stratégiques à différents niveaux du système d’information.

Les ESB en entreprise, où en est-on actuellement ?
Au travers de nos missions, nous remarquons que les deux usages majoritaires des ESB sont :

  • l’ESB départemental afin de faire communiquer différentes applications appartenant à un ou deux ensemble fonctionnel
    Même si ces projets font parfois communiquer deux silos, il n’est pas possible de les considérer comme des projets d’ESB stratégique, qui est une réflexion globale sur la communication au sein de l’ensemble du SI, et dont l’objectif est l’implémentation de bout en bout des processus métiers de l’entreprise.
  • l’ESB pour l’extérieur afin d’offrir des services aux clients/partenaires de l’entreprise.

L’usage intra applicatif ne se justifie que dans de rares cas, lorsque l’agilité de l’application est considérée comme plus importante que ses performances.
Enfin le cas de l’ESB stratégique, transverse à l’entreprise reste encore limité, principalement par le fait que la plupart des systèmes d’information n’ont pas la maturité requise pour faire émerger des services dans l’ensemble de l’entreprise.

Je pense personnellement que l’un des principaux enjeux est maintenant l’interconnexion de ces différents ESB mis en place au cours de l’évolution du SI souvent sans se préoccuper de la vision globale du SI, nécessaire à l’alignement du SI sur le métier.


Mises à jour Twitter

Entrer votre adresse e-mail pour vous inscrire a ce blog et recevoir les notifications des nouveaux articles par e-mail.

Rejoignez 29 autres abonnés

Catégories

Statistiques

  • 64,074 hits