Architectures Orientées Services Module 2 Architecture d’application et urbanisation de Système d’information Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Un plan pour deux modules L’urbanisation du SI (rappel) (3h) Explications sur des métaphores Démarche analytique Décompositions selon des fonctions Back-office, Front-office, SI de Gestion, SI technique, SI industriel, SI commercial, SI financier… Préoccupations d’intégration Le rôle du DSI Tenue à jour nécessaire de la cartographie du système, en plan et en coupe Maîtrise du fonctionnement et de la sécurité du système Architecture des SI (, ERP etc.) Les EAI, l’EDI ou les A2A et B2B etc. Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Notions d’urbanisme de SI Des métaphores : A l’instar d’une maison d’un bâtiment ou d’un ouvrage d’art, une application informatique se compose d’éléments fonctionnels et de composants concrets ; Décrire cet assemblage pour le construire est un travail d’architecte. À l’instar d’une ville ou d’un territoire, un système d’information nécessite l’organisation des relations entre les entités qui le composent et des services qu’ils nécessitent : voies de communication, services communs, règles d’usage et de compatibilité mutuelle; Décrire cette organisation pour en maîtriser l’évolution est un travail d’urbaniste. Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Au commencement… 1623 Shickard 1467 B.de Koeke 1694 Leibnitz 1642 Pascal 1820 T de Colmar 1943 A.Türing 1725 Basile Bouchon 1823 Ch. Babbage 1946 Eniac Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod 1970 IBM
Histoire de l’informatisation des activités Les premières architectures pour une application logicielle : Une Procédure, appelant un ou… Des Programmes exécutables indépendants produits par … « compilation » séparée d’un programme source principal et de librairies de « subroutines » avec intégration par une « édition de lien » dans un exécutable monolithique, appelant… Des Ressources, fichiers séquentiels ou indexés, l’ensemble géré par… Un système d’exploitation. Le résultat : Une décision intangible ou un document imprimé tangible. Des notions, pour caractériser une application : Largeur d’une application : nombre de commandes indépendantes possibles, Profondeur d’une application: quantité d’opérations exécutées pour une commande Un code de calcul est une application profonde et étroite Un éditeur de texte est une application large et mince… On peut imaginer de mutualiser les ressources compilées sans les recopier, via des mécanismes d’édition de lien dynamique Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Histoire de l’informatisation des activités L’approche objet démocratise le développement logiciel Réseaux d’instances idéalement représentant des réalités tangibles se comportant selon les méthodes de leur catégorie et héritant des types de caractéristiques de leur catégorie On peut imaginer de mutualiser les ressources sans les recopier, Ceci implique des mécanismes de distribution d’objets, …ce qui nécessite de mutualiser leurs modèles Airbus immatriculé 314 Vol 359 De Roissy pour Sydney Pilote Macheprot Place 29 Air France Passager Dupont Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Histoire de l’informatisation des activités Des nécessités apparues avec la deuxième application : La mutualisation de ressources : Ressources de données pour la cohérence des métiers Ressources logicielles pour la cohérence des systèmes Les librairies dynamiques Librairies d’interface d’appel (API) Application Programming Interface Les Bases de données autonomes Logiciels indépendants au service des autres. Un fonctionnement assuré par le système commun d’exploitation Contexte local d’adresses des ressources Le partage implicite de la signification des ressources mutualisées Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Histoire de l’informatisation des activités Nécessités apparaissant avec le deuxième ordinateur : Un logiciel de communication de ressources La notion d’adresses de ressources Le synchronisme ou l’asynchronisme des partages de ressources… La sécurité des informations partagées, Écueils des diversités et incompatibilités De systèmes d’exploitation De langages de programmation D’encodage des données De langages d’expression de données Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Histoire de l’informatisation des activités Recentralisation logique Mutualisation des informations sur des serveurs de données, Mutualisation des applications sur des serveurs d’application, Retour au concept de terminal, aussi « intelligent » soit-il, Architectures applicatives client-serveur Standardisation des postes, Volonté de réduction des coûts de licence des logiciels à déployer Volonté de réduction des coûts d’administration des postes Convergence des interfaces utilisateurs « fenêtres », « icones », « bureaux » et « presse papier » « couper, copier coller» (un niveau élémentaire d’interopérabilité) Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Histoire de l’informatisation des préoccupations La première préoccupation est militaire : application scientifique du calcul automatisé au service de l’armement nucléaire La première préoccupation privée est comptable traiter la paye ! gérer les achats d’approvisionnement, les stocks, la facturation. plus tard vient la gestion de la production (puis de la maintenance) Les préoccupations techniques sont traitées séparément d’abord le calcul plus tard vient la conception la préoccupation d’interopérabilité commence là Les préoccupations documentaires sont isolées pools de secrétariat bureautique personnelle Les préoccupations commerciales commencent à être traitées avec le Web commerce électronique Les préoccupations de partage d’« Objets Métiers » interviennent tard en conception et en calcul en production et maintenance en commercialisation Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Histoire : prolifération de l’informatisation Nécessités apparaissant avec le remplacement des terminaux par des ordinateurs locaux… Rationalisation des applications et des échanges Gestion des états des réplications d’informations Prolifération des systèmes et logiciels installés Prolifération des informatisations des métiers toute préoccupation devient éligible pour une application. Écueils d’une décentralisation non maîtrisée Prolifération des documents Hausse des coûts et baisse de qualité des informations Productivité médiocre des investissements matériels Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Apparition d’un concept commercialement séduisant Réduire la complexité, de n(n-1)/2 à 2n interfaces Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
La boîte de Pandore… …se déverse dans une base de données « centrale » Avec des progrès obtenus par: réduction de n(n-1)/2 à n interfaces à développer commencement de modèles de données échangées commun Avec des difficultés liées aux: problématiques difficiles à maîtriser des cahier des charges et spécifications du ou des modèles de données communs ; tentation de la juxtaposition des modèles. charges de travail de développements et de maintenance d’interfaces sui generis fonctions redondantes avec des progiciels applicatifs qualités douteuse des données persistant dans ce qui est utilisé comme un « presse-papier » tentations de développements propriétaires d’applications décisionnelles Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Diagnostic Les retour des premières expériences d’intégration sont décevants : Défaut de maîtrise de la nature des informations échangées : La vie des données et des documents n’est pas corrélée La base commune tend à implémenter l’union des expressions de données des applications qui s’y déversent, Défaut de cohérence Réplications non maîtrisées des données entre base centrale et applications Redondances d’Informations incohérentes entre elles Incidences non maîtrisées des Itérations d’études Défauts de coopération entre métiers Problématiques humaines de collaboration Coûts de qualité élevée Procédures de vérification manuelles Une nouvelle préoccupation : traiter ces défauts Une nouvelle application à définir Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Quelle application pour cette nouvelle préoccupation ? Une démarche d’analyse fonctionnelle : Expérience des pratiques antérieures Fonctionnalités des gestions manuelles de documents Démarches Qualité Identification et séparation de rôles Les faits et les gestes L’intangible et le tangible ? Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Formalisation de fondamentaux Les anciennes notions de la gestion de données technique préfigurent celles des nouvelles démarches d’urbanisation : Les Espaces éditoriaux et leurs acteurs de travail, de validation, de publication Les Cycles de vie des données et des documents Les Configurations de version et de variantes de données et documents Les Applicabilités d’ensembles d’informations et documents à un objectif donné Les Processus d’élaboration et de circulation des données et documents Les représentations explicites de Classes, d’Instances et d’Occurrences L’expression d’informations en "intention" et en "extension" Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Les faits : Cycles de Vie des données et des documents Finalité de cycles de vie formalisés : Tracé les étapes d’itération de l’élaboration d’informations Association de niveaux de qualité correspondant à des exploitations spécifiques par les processus de l’organisation requis intégré spécifié testé développé Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Les faits : Configurations de versions et de variantes Identification d’ensembles gérés composites Moniteur base Application configuration link entity management representation revision R entity application version 27 entity reference version 314 entity view version 27 not managed entity change order request 1 n Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Les Faits : Configurations de versions et de variantes La Gestion de versions et configurations consiste à Tracer les évolutions des valeurs d’informations et de documents Tracer les héritages des élaborations découplées, concurrentes, des informations et documents, Associer les documents et informations pertinentes à une Applicabilité Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Les faits : les Applicabilités Identification hiérarchisée d’objectifs Auxquels des documents et des informations sont applicables Affectation d’ensembles d’informations et documents à chaque objectif donné Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
La notion d’espace est à la base de processus éditoriaux de qualité Les gestes : les acteurs, humains et automates notions de réservation et d’espaces, d’écrivain et de lecteurs La notion de droits d’écriture et devoirs de lecture de valeurs de caractéristiques est à la base de l’intégration des acteurs d’une organisation Dans un processus opérationnel le droit de lecture devient un devoir Ce qui n’est pas nécessaire à la tâche d’un métier ne doit pas l’encombrer, ce qui ne doit pas y être lu ne doit pas y être accessible La notion d’espace est à la base de processus éditoriaux de qualité projet Espace applicatif privé applicatif de validation publié « check In » check out Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Les gestes : les Processus Élaboration et circulation des données et documents Identification des dépendances entre les gestes et leurs productions Décomposition des activités par emboîtement jusqu’aux tâches élémentaires Identification des séquences et parallélismes possibles Récursivité : L’identification de processus est un processus source d’information préalable au processus de planification faire ? À partir de quoi Produire quoi Avec quoi qui ? quoi ? Par quelle activité Pour quelle Avec quel moyen de validation Quel responsable? Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
L’intangible et le tangible des « Objets Métiers » Les Catégories de classement, les catalogues et les matériels exploités introduisent les notions de Classes, Instances et Occurrences Les arborescences de spécialisation abstraites identifient des Classes (sortes) d’objets métier formaliser les caractéristiques dont chaque niveau fige la valeur formaliser les caractéristiques que chaque niveau introduit Les caractéristiques d’objets métier concrétisables, identifient des instances dénombrables dans un catalogue formaliser les valeurs de caractéristiques de détermination de leur choix Les représentations d’objets réels permettent de tracer les occurrences d’objets exploités enregistrer les valeurs de caractéristiques observées identifier les caractéristiques contextuelles temporelles Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
L’intangible et le tangible des liens caractéristiques Philosophique : un « concept » ne s’identifie que par ses liens à d’autres « concepts » Cf. notion de thesaurus, de définition dans un dictionnaire un objet est un concept lié par des « caractéristiques » Pragmatique Les valeurs de caractéristiques de classification identifient les classes : Types, sous-type etc. exemple : pompe centrifuge verticale Les valeurs de caractéristiques d’instances les identifient, et concrétisent la possibilité d’existence d’une occurrence Exemple : Vérin X23-200x600, de diamètre 200mm et de course 600mm Les valeurs de caractéristiques d’occurrence tracent l’histoire d’une occurrence. Exemple : valeur de déformation, cotes d’usure Les valeurs de caractéristiques temporelles ou contextuelles identifient les états possibles temporellement réversibles d’une occurrence Exemple : état ouvert ou fermé d’un commutateur. Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Redoutable question d’identification d’objets L’intangible et le tangible : descriptions en "extension" et en "intention" Redoutable question d’identification d’objets Comment nommer, référencer, par un nom ou un code unique les objets d’un catalogue ? Redoutable question de philosophie d’élaboration Est-il vraiment nécessaire de les référencer individuellement dans le catalogue ? Une description en extension affecte une référence unique à tout instance dans un catalogue Exemple : le catalogue de la Redoute, d’Ikéa etc. Une description en intention affecte une règle de définition à des ensembles possibles d’instances à partir de valeurs de caractéristiques de construction Exemple : représentation d’un objet tridimensionnel par composition de primitives géométriques par opposition à sa représentation par ses contours Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Balbutiements de notions d’urbanisation Bonnes pratiques architecturales : Séparer les faits et les gestes Référentiel d’informations partagées Base de données, « DataWareHouse » Moniteur de gestion des activités Processus, (Workflow) et Cycles de vies Séparer le tangible de l’intangible Référentiels séparés : Base des données d’occurrences Spécifiques à un projet en cours, interne à l’organisation Référentiel des Catalogues Informations réutilisables, d’origine externe aux projets Référencer l’intangible par l’intangible, Pour mettre en facteur sans recopier les informations communes les faits par les gestes Pour tracer la qualité des informations manipulées Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Diversité des modalités d’expression des applications Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Nécessité d’un langage commun Un périmètre d’expression à identifier : Le plus petit commun multiple des plus grands communs dénominateurs des informations partagées par les applications deux à deux Un langage commun à spécifier Des interprètes à insérer Des modélisations nécessaires De l’expression commune Des expressions de chaque applicatifs Des coûts de développements spécifiques Des charges de maintenances Utilité des standards Mutualisation de spécification de langage commun Interopérabilité possible pour des projets partagés par plusieurs organisations Inconvénients des standards Lourdeur, Renoncement à des avantages compétitifs ? Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Nécessité de gérer les modalités d’expression Les standards, issus des métiers : Un ensemble parfois disparate de modèles d’expression emboîtés, en partie redondants, avec des lacunes Des choix d’adoption difficile Des implémentations de transformateurs de qualité variable Une Préoccupation émergente D’adapter les modèles standards et d’intégrer les modèles internes de l’organisation, notamment pour les processus De maîtriser les évolutions souhaitées des modèles internes de l’organisation, en particulier les processus Une Application nécessaire De gestion de répertoires de modèles D’ingénierie de génération automatisées d’interfaces Une récursion à traiter Un modèle a toute les caractéristiques d’un objet métier et donc être géré comme tel : processus éditorial, cycle de vie, configuration… Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Architecture : Suivi d’activité Espace Collaboratif Base d’échange Des données partagées Moniteur : Gestion des activités et tracé des données check in check in Public application Validation Private area out Travail Gestion des activités avec Séparation des espaces : Répartition du travail dans des espaces collaboratifs privés partagés, pour la conception et la validation; Espace commun de publication. Base d’échange de données partagées entre applications Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Architecture : Modèle d’Activité Moniteur Gestion des activités Tracé les données using what tool What to do ? from what things getting what things (& change orders) (& change requests) Tâches who ? required integrated specified tested developped Cycles de vie Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Architecture : Modèle de gestion de Configuration Moniteur reference data base Application configuration link entity management representation revision R entity application version 27 entity reference version 314 entity view version 27 not managed entity change order request 1 n Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Architecture : conduite des échanges Base d’échange Des données partagées Moniteur : Gestion des activités et tracé des données Application 1 2 3 4 5 projet catalogue Unification des échanges de données et des transformations dans le système d’information Verification d’intégrité et de validité 2n plutôt que n(n-1) interfaces d’échanges Utilisation des standards XML Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Architecture : Librairies de composants Fournisseurs de composants Librairie commune des Composants Réutilisables Moniteur Gestion d’activité tracé des données Application 1 2 3 4 catalogs Pour chaque composant: 1 Modèles général N Modéles fonctrionnels dédiés à chacun des N métiers catalogue Unification de l’acquisition des donnés de composants Intégration des données fournisseurs. - suppression des travaux redondants, - maîtrise de la qualité. Initialisation et tenue à jour de catalogues cohérents Version XML des standards ISO STEP 13584 Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Architecture : Répertoire de modèles application application application application application CIM ISO10303 AP221 ISO10303 AP212 ISO10303 AP227 connecteur connecteur connecteur connecteur connecteur ? ISO10303 AP... Système Qualité Administration des modèles d’informations et de données Librairie de Composants connecteur model model connecteur connecteur Règles d’entreprise Moniteur Gestion d’activités Tracé des données Base d’échanges Des données partagées model model Rigueur de l’administration des données, Unification des modalités d’expression Intégration des connaissances imposé par construction la compatibilité des données ; validation Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Interopérabilité : extension du domaine de la lutte… Les Fournisseurs : exploitent et produisent en concurrence des modalités d’expression diverses. Les Acquéreurs : souhaitent unifier les modalités d’expression des objets métiers qu’ils traitent souhaitent adapter leurs objets métiers aux évolutions de leurs stratégies La frontière fluctue entre les domaines des expressions propriétaires de Fournisseurs, des expressions propriétaires des Acquéreurs, et des expressions Standardisées par des consortiums…. …au grand profit des intégrateurs Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Le métier du Directeur de Système Informatique (DSI) Adapter le système d’information à la stratégie de l’entreprise. Mots clés : flexibilité, agilité, souplesse, alignement Modifier et étendre les services rendus par le système d’information S’adapter en temps voulu à la stratégie souhaitée par l’organisation, aussi fluctuante soit elle Établir tous les moyens de constituer et apporter les informations utiles par l’interopération des applications du système informatique. Des préoccupations : acheter ou développer quels composants informatiques ? acheter ou développer quelles compétences ? suivre ou se distinguer, par quoi comme élément de compétitivité ? obtenir et maintenir la qualité de service nécessaire. gérer le cycle de vie des composants informatiques logiciels et matériels. optimiser les coûts. Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Notion de « Système d’Information » Le Système d’information inclût un Système Informatique mais ne s’y réduit pas intègre la circulation des informations au travers des humains, utilisant des applications informatiques est la représentation opérationnelle du fonctionnement de l’organisation qu’il sert. est tributaire de la capacité de son système informatique à s’aligner sur le fonctionnement de l’organisation. évolue identiquement avec l’organisation qu’il sert. exemple : il y a une correspondance forte entre la modernisation de l’État et la modernisation de son système d’information Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Notions d’urbanisme de SI Notions de Front Office / Back Office Les termes de Front Office et de Back Office (« boutique » et « arrière-boutique ») sont utilisés pour distinguer d’une part les processus internes de l'entreprise d’autre part la relation directe avec le client. Le Front-Office (parfois Front line) désigne la partie visible par la clientèle et en contact direct avec elle, telles que la vente en ligne, le marketing, le support ou de service après-vente. Le Back Office à l'inverse désigne l'ensemble des parties du système d’information auxquelles les personnes n’appartenant pas à l’entreprise ne sont pas censées avoir accès. Il s'agit donc de tous les processus internes à l'entreprise (Recherche, développement, production, logistique, stocks, comptabilité, ressources humaines, etc.) Avantages et Inconvénients La sécurité des systèmes pousse à la séparation L’intégrité des systèmes d’information, la dynamique d’entreprise pousse à l’intégration Les exigences de qualité poussent à l’intégration Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
L’urbanisation de Système d’Information Une démarche d’introspection de l’entreprise Qui diffère de l’architecture d’application Qui partage des langages de spécification que l’architecture d’application (UML) Qui est fondée sur l’analyse et la formalisation des activités de l’organisation servie Qui décompose les activités en emboîtements de processus. Qui a pour objet d’asservir les usages des applications aux processus élémentaires identifiés, assistés ou automatisés Qui tend à normaliser, sinon à unifier les modèles de l’entreprise, Qui définit les stratégies de changement et de migration, logiciel et matériel Une démarche de haut en bas Que satisfait une approche de décomposition en services Que perturbe une approche d’objets en réseaux Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
L’urbanisation de Système d’Information Le rêve du DSI : un monde fort libéral L’interchangeabilité des composants est une clé L’idéal est d’en éviter les coûts de possession, donc de gestion XML est un esperanto commun, dont les moteurs de transformation sont libres. Un service logiciel est comme une boutique, exposant des articles. Pourquoi donc acheter une boulangerie si on a simplement besoin de pain ? Le métier revient à organiser la façon dont on organise l’ordre de ses courses… en fonction de ses recettes de cuisine. Et à assurer la gestion de la fraîcheur des produits dans ses réserves La difficulté : Transformer les applications existantes en composants de qualité Ni trop gros, ni trop petits… Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Le modèle OSI (source wikipedia) La couche « application » est le point d'accès aux services réseaux, elle n'a pas de service propre spécifique et entrant dans la portée de la norme. La couche « présentation » effectue le codage des données applicatives, précisément de la conversion entre données manipulées au niveau applicatif et chaînes d'octets effectivement transmises. La couche « session » gère la synchronisation des échanges et les «transactions», permet l'ouverture et la fermeture de session. La couche « transport » gère les communications de bout en bout entre processus (programmes en cours d'exécution). La couche « réseau » gère les communications de bout en bout, généralement entre machines : routage et adressage des paquets. La couche « liaison de données » gère les communications entre machines adjacentes, directement reliées entre elles par un support physique. La couche « physique » : transmission effective des signaux entre les machines via un support physique. émission et réception d'un train de bits continu Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
méthode d’interopérabilité : point à point L’urbanisme sauvage des interfaces point à point Le marché des ETL (Extract-Transform-Load) Potentiellement n(n-1)/2 interfaces dans la pratique beaucoup moins… mais coûteuses à développer et difficiles à maintenir tendent à « geler » les évolutions des applications Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
méthode d’interopérabilité : bases communes Partage de base de données Modèles de données et modalités d’expression d’information communs par construction Concurrence d’accès gérée par le système de gestion de la base API ODBC (JDBC pour Sun, ADO.NET pour Microsoft) L’architecture tient lieu d’urbanisme : une application avec de multiples modules Dilemme: L’introuvable progiciel s’adaptant à toutes les préoccupations des métiers ou la réduction des préoccupations traitées au domaine d’un progiciel Le courage (ou l’inconscience ?) du développement propriétaire homogène de l’ensemble de ses processus métier Base de Données Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
méthode d’interopérabilité : les ETL et EAI La connexion via des Intergiciels Typiquement le traitement des couches 5, 6 et 7 du modèle OSI « session », « présentation », « application » Concept d’EAI (Enterprise Application Integrator) Deux architectures L'architecture « Hub and spoke » Seebeyond, Sun (iPlanet) et Tibco L’architecture « Network Centric » Web-Methods, Sybase-NEON, BEA, Vitra et Mercator 4 fonctions routage (d’une application à l’autre), transformation (des données), connecteurs (aux applications), transport physique (des informations). Applications EAI Règles Applications Règles Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
méthode d’interopérabilité : les objets distribués Couplage fort, Object Request Broker, les objets distribués L’appel de procédures et l’invocation d’objets à distance exécute une fonction d’un autre exécutable pouvant être sur une machine distante. Il permet à des objets distribués de communiquer par appel de méthodes. une procédure s’exécute sur machine distante comme si elle était locale. Dans l’offre Microsoft .NET, Net Remoting est un mécanisme de communication et de transfert de données pour des applications distribuées .Net ouvert à des applications autres via des « ponts », vers des objets écrits en Java par exemple Dans l’offre libre Java de Sun, RMI (Remote Method Invocation) est une technique permettant de manipuler des objets distants (instanciés sur une autre machine virtuelle, éventuellement sur une autre machine du réseau) de manière transparente pour l'utilisateur, c'est-à-dire de la même façon que si l'objet était sur la machine virtuelle (JVM) de la machine locale. Les connexions et les transferts de données dans RMI sont effectués par Java sur TCP/IP grâce à un protocole propriétaire (JRMP, Java Remote Method Protocol) sur le port 1099. À partir de Java 2, version 1.3, les communications entre client et serveur s'effectuent grâce au protocole RMI-IIOP (Internet Inter-Orb Protocol), un protocole normalisé par l'OMG (Object Management Group) et utilisé aussi dans l'architecture CORBA. Comme pour les solutions de partage de bases de données, le couplage fort nécessite des descriptions partagées a priori (modèles) des objets invoqués Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
méthode d’interopérabilité : Les Web Services Une technologie Web autorisant le découpage des applications et leur répartition sur le système d’information et ses infrastructures L’appel (d’offres?) de subroutines disponibles sur tout réseau accessible Une édition de lien effectivement distendue par un couplage faible La fiabilisation par la concurrence des ressources de services disponibles Le déplacement des limites contractuelles de fournitures de services La facturation à l’usage, en remplacement des licences complètes imposant La désynchronisation du fonctionnement des applications Des performances réduites par la charge de transformations et de communication via le Web Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Point d’orgue : Orientation Objet ou Orientation Services L’orientation Objet : Programmation déclarative fondée sur une description d’entités d’un monde réel, et de leur comportement mutuel attendu Les objets sont distribués via des architectures de courtage L’orientation Service : Programmation procédurale fondée sur des appels paramétrés de services programmes externes dont seul le résultat écrit dans un message importe, dont l’architecture peut être orientée objet, sans bénéfice d’utilisation l’expérience montre qu’il est préférable de séparer données et traitements, quitte à découper les objets. Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Parenthèse : l’architecture des jeux sur le Web ? Comment est optimisée l’architecture de communication pour obtenir les meilleures performances d’un jeu tridimensionnel? Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Ontologie des Web Services Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
État de l’art des Web Services Trois Spécifications initiales SOAP pour la structure des messages effectivement échangés WSDL pour la description d’un service UDDI pour la découverte (dans un annuaire) des services accessibles À l'heure actuelle, seule la couche de transport SOAP et WSDL est réellement normalisée et ne souffre pas de contestation. Dans les autres couches, il se développe de nombreux projets plus ou moins concurrentiels : Des lacunes à combler par d’autres conventions pour La Découverte de services La Sécurité des services La Fiabilité des services La Synchronisation et l’ordonnancement des services par des « profils » supplémentaires WS-* standardisés par le Web Services Interoperability Organization (WS-I) Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Initiatives WS-* Découverte Dialogue bidirectionnel WS- Inspection : agrégation des pointeurs vers les services Web qu'une entreprise souhaite exposer. À la différence d'UDDI, il ne permet pas de rechercher des services dont on ne connaîtrait pas les coordonnées; XRI : (Extensible Resource Identifier) repose sur le standard URI (Uni-form Resource Identifier) vise à proposer une solution équivalente à celle des noms de domaines (URL) pour retrouver un service Web. Projet soutenu par Microsoft, Sun et IBM. Dialogue bidirectionnel WS-Addressing :, pour véhiculer des messages SOAP de manière bi-directionnelle, que ce soit en mode synchrone ou asynchrone, le tout indépendamment de la couche de transport. Intégrité des messages WS-Reliability : pour garantir la réception des messages transmis (par le biais d'accusés de réception notamment). Projet initié par Sonic Software et Sun; WS-Acknowledgment : avancée par BEA System, l'objectif de cette proposition semble comparable à celle de WS-Reliability; WS-ReliableMessaging : très proche de WS-Acknowledgment (y compris en termes de vocabulaire), WS-ReliableMessaging a été défini conjointement par IBM, Microsoft, BEA et TIBCO. Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Initiatives WS-* Intégrité des transactions Sécurité : WS-Transaction : reposant sur WS-Coordination (IBM), vise à garantir l'intégrité de transactions exécutées via les services Web BTP : (Business Transaction Protocol) gère l'intégrité des transactions longues et complexes. comme WS-Transaction; WSCL : Services Conversation Language (WSCL) règles d'invocation d'un service Web. Sécurité : SAML : authentifications et d'habilitations des transactions SOAP. XACML : Access Control Markup Language définit un schéma pour décrire les politiques de droits d'accès à des objets XML. WS-Security : authentification, gestion d'intégrité et cryptage des échanges. description des droits et conditions d'utilisation associés à un service Web. Il se décline en sous-spécifications : WS-Trust, WS-Secure, WS-Policy, WS-Privacy, WS-Federation WS-Authorization; XrML : eXtensible rights Markup Language aborde les conditions d'utilisation (ou droits numériques) associées au contenu d'un service Web. Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
L’espoir d’interopérabilité via les web services Rationalisation des architectures d’échanges Sérialisation des flux en messages en langage (esperanto?) XML Remplacement des adaptateurs propriétaires par des transformations XSL et ou XQuery Validation structurelle (possible) des messages transmis Standardisation des fonctionnalités attendues Hétérogénéité possible des solutions logicielles et matérielles. Réduction des différences entre technologies d’architecture d’application et d’urbanisme de systèmes d’information Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
Un exemple significatif : l’enjeu de la modernisation de l’État Les relations entre administrations d’un État et ultérieurement de celles-ci avec des entreprises forment une sorte particulière de « B to B » Initiatives de la DGME au ministère des finances méthodologies UN/CEFACT UML-XML Core component types Projet PRESTO de profil WS-I Sécurité de l’envoi WS-Security Envoi de tout type de document MTOM/XOP Expéditeur Destinataire WS-ReliableMessaging WS-Addressing Qualité de service (garantie de livraison) Adressage du document Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
méthode d’interopérabilité Une vision des Architectures Orientées Services (SOA) : Assimilation des technologies de services web par les Intergiciels Évolution des EAI Intégration de « Enterprise Service Bus » (ESB) Ajout de connecteurs WS, Migration des précédentes technologies ? Difficultés définition de la dimension adéquate d’un « service » nécessité de maîtrise intégrée des modèles d’information, de données, d’activités… Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod
À suivre dans un prochain cours… L’initiative SCA À suivre dans un prochain cours… Cours 2007-2008 MIAGE M2 « architectures orientées services » Henry Boccon-Gibod