Dans un article du magazine en ligne
ITRManager.com daté du 27 Mai 2008, Bernard Ourghanlian (Directeur Technique de Microsoft France) présente la vision SOA de Microsoft. Il commence par proposer une définition
des SOA (Service-Oriented Architectures / Architectures orientées services), place les SOA dans le contexte actuel des entreprises et des acteurs du domaine, et présente enfin la stratégie «
Software + Services » de Microsoft, une vision qui tire parti des modèles SaaS (Software as a Service) et SOA pour fournir une réponse pragmatique aux besoins spécifiques de chaque entreprise.
Ci-dessous, j'ai réalisé une synthèse des éléments qu'il me semble important de retenir.
-
Une définition des SOA
Les SOA peuvent se définir comme «
une démarche de conception qui s'appuie sur les investissements existants pour créer de nouvelles applications flexibles et mieux alignées avec les besoins
métiers. »
Le but des SOA n'est en aucun cas de casser le système d'information en changeant toute ses applications. Une démarche SOA, c'est fondamentalement la définition d'une nouvelle
architecture
agile (= capacité à évoluer rapidement),
flexible (= capacité à supporter de larges besoins) et
ouverte (= capacité d'interconnexion relativement simple et rapide grâce aux
standards), qui prend en compte l'existant de l'entreprise. Par ailleurs, une démarche SOA n'est pas une vision purement technologique. C'est une démarche qui s'aligne sur les besoins métiers,
c'est-à-dire qui forme une certaine synergie avec les processus métiers de l'entreprise.
-
Les SOA constituent une réponse à la rigidité des systèmes d'information
Si l'organisation des entreprises en silos fonctionnels (Production, Ressources Humaines, Ventes, etc.) convenaient dans les années 1970 en raison d'un niveau de production limité, ces silos
rigidifient aujourd'hui les processus dans un contexte où les entreprises doivent nécessairement s'adapter rapidement au dynamisme de leur marché et bien connaître leurs clients.
-
SOA et Services Web
Une confusion courante : une démarche SOA ne se résume pas en la mise en place de Services Web. D'une part, le principe de SOA existait déjà avant l'émergence des Services Web, à travers des
technologies telles que l'EDI (
EDIFACT,
ASC X12,
HL7, etc.) ou CORBA. D'autre part, une démarche SOA intègre également la formalisation des processus métiers. La mise en place d'outils ou nouvelles
technologies ne servent en rien ce travail de modélisation indispensable à la rationalisation du SI.
-
Le terme SOA ne désigne pas une technologie
Une SOA est fondamentalement un style architectural dont l'objectif est de construire un système d'information flexible, agile et ouvert (voir le paragraphe précédent sur la définition des SOA).
Concrètement, cela signifie que toute application (.NET, Java, PHP, etc.) est susceptible de se retrouver dans un scénario SOA. Il en est de même pour les protocoles de transport des messages :
HTTP, SOAP, FTP, SMTP, IIOP (CORBA), RMI (Java),
DCOM (Microsoft), IMS (IBM), etc.
-
Une solution SOA clé en main ?
Compte tenu des nombreux paramètres qui caractérisent une entreprise et son contexte (existant applicatif, nature des flux de données, volume des échanges, processus métiers, maturité des
processus, modèle économique, etc.), il semble difficile de parler d'architecture SOA de référence. Si "de loin" plusieurs problématiques peuvent se ressembler, il est indispensable de mener d'une
part une analyse précise de l'existant et une analyse méticuleuse des besoins d'autre part. On ne fait jamais d'a priori sur une situation.
-
Microsoft se base sur une approche dite "middle out"
Classiquement, le marché se base essentiellement sur deux approches pour mener une démarche SOA : l'
approche top-down qui consiste à recueillir les besoins des utilisateurs pour ensuite les
implémenter et l'
approche bottom-up qui consiste à partir des couches techniques en intégrant les différents composants pour ensuite remonter jusqu'aux processus métiers. Le grand risque de
la première approche est de parvenir à une implémentation informatique qui n'est plus en accord avec les besoins exprimés plusieurs mois auparavant.
La seconde approche est à éviter absolument puisque ce n'est pas aux métiers de s'aligner avec l'informatique mais à celle-ci d'être en accord avec les objectifs de l'entreprise.
Microsoft privilégie une démarche pragmatique et itérative dite "
middle out". Celle-ci débute par la définition d'un objectif métier qui sera atteint à travers un processus itératif.
L'exposition des fonctions sous la forme de services constitue la base du travail. Ces services sont ensuite composés puis utilisés par les applications, processus métiers et autres systèmes
informatiques. Cette démarche par itérations permet de tirer profit de chaque phase et de se focaliser sur la satisfaction des utilisateurs.
En résumé, la méthode consiste à parti de "petit" pour ensuite "grandir" en étendant progressivement l'architecture SOA domaine fonctionnel par domaine fonctionnel.
-
SOA et SaaS : un continuum
Alors que les scénarios SOA classiques impliquent que les processus métiers ne s'étendent pas au-delà du pare-feu, le modèle SaaS (Software as a Service) permet d'externaliser certains
services.
-
Les fondamentaux des SOA Microsoft
Dans son approche des SOA, Microsoft se base sur cinq piliers fondamentaux (
Identité,
Donnée,
Interaction,
Message et
Workflow) reposant sur une gouvernance
intégrée et mis en oeuvre à travers des outils de développement et de modélisation intégrés.
Identité : ce pilier traite la notion de fédération d'identité et de la politique d'accès aux systèmes. Les briques technologiques correspondantes :
Web Single Sign-On.
Donnée : s'occupe de fournir des vues cohérentes aux utilisateurs, bien que les données puissent être dupliquées au travers de plusieurs systèmes. Les briques technologiques correspondantes :
Stratature (nouvelle solution de
Master Data
Management).
Interaction : prend en charge l'expérience utilisateur lorsqu'un service est consommé par un utilisateur (via une interface composite, par exemple). Les briques technologiques correspondantes :
Office Business Application (OBA),
ASP .NET,
Windows Forms,
Windows Presentation Foundation (WPF),
Silverlight, les
Smart
Clients, .
NET Compact Framework,
Live Meeting,
SharePoint,
Groove, etc.
Message : fournit le support nécessaire aux aspects sécurité, fiabilité et traitement des messages. Les briques technologiques correspondantes :
Windows Communication Foundation (WCF),
BizTalk Server,
Host Integration Server et
MSMQ.
Workflow : s'occupe des processus de workflow, de leur automatisation et de l'orchestration des processus métiers. Les briques technologiques correspondantes :
Windows Workflow Foundation (WWF),
BizTalk Server,
Office System.
Microsoft ne propose donc pas "une offre" SOA, mais de nombreuses briques permettant de mettre en place une telle architecture.
-
Le futur des SOA Microsoft
L'avenir des SOA chez Microsoft s'oriente autour d'un vaste ensemble d'investissements technologiques répondant au nom de code
Oslo. Cette initiative s'appliquera dans la prochaine génération de produits de la plateforme applicative Microsoft :
Visual Studio 10,
System Center 5,
BizTalk Server 6,
Biztalk Services 1 et
.NET Framework 4. L'objectif d'Oslo est de permettre une SOA applicable à la fois à l'intérieur de l'entreprise et
au-delà de ses frontières, et de donner un rôle essentiel à la modélisation. L'objectif en termes de modélisation est de proposer des modèles adaptés aux contextes métiers des utilisateurs à
travers un langage à usage général nommé
Domain Specific Language (DSL). Par ailleurs, les modèles ne
décriront plus une application mais seront l'application elle-même. Plus de détails sur Oslo seront fournis lors de l'événement
Professional
Developers Conference qui aura lieu du 27 au 30 Octobre 2008 à Los Angeles.
Pour en savoir plus sur les éléments abordés dans cet article et les SOA Microsoft en général :
-
Microsoft : SOA, la perception des entreprises françaises
-
Microsoft et le Cloud Computing, par Stève Sfartz.
-
Architecture orientée services réaliste grâce à la plateforme Microsoft
-
Service-Oriented Modeling for Connected Systems : Part 1
-
Service-Oriented Modeling for Connected Systems : Part 2
-
Software + Services (S+S)
-
Microsoft SaaS