Retour d expérience sur la spécification des services Olivier Dennery Certified IT Architect IBM Global Business Services
Agenda Rappels sur l identification des services et SOMA Le contexte SOA Les services de données Trajectoire de mise en œuvre des services
Agenda Rappels sur l identification des services et SOMA Le contexte SOA Les services de données Trajectoire de mise en œuvre des services
Les caractéristiques du service dans un système d information SOA Couplage technologique lâche entre producteur et consommateur : Mais aussi Aligné sur le métier Partagé entre différents consommateurs (canaux, processus, ) Réutilisé dans le temps au fur et à mesure de l apparition de nouveaux consommateurs Concept de Services Métier Réutilisables Service Interaction unitaire avec le SI, Interface définie exposée par un composant Métier : S exprime en langage métier, indépendamment des applications qui l hébergent Réutilisable Ré employable Composable Implémentable dans un «paysage» applicatif cible
Les dérives dans la recherche de services! CRUD Service optimisé pour un échange tactique Mauvais alignement métier Génération automatique Dépendance aux applications Service métier Réutilisable Les applications sont le métier
SOMA, approche méthodologique pour l identification et la spécification de services Identification of Candidate Services and Flows Quoi? Comment? Specification of Services, Components, and Flows Realization Decisions Domain Decomposition Goal-Service Modeling Existing Asset Analysis La première étape du processus SOMA identifie les services et les flots candidats La seconde étape sélectionne et spécifie les services qui seront exposés et les composants qui les exposeront La troisième étape capture les décisions de réalisation component flow information service allocation to components Subsystem Analysis Component Specification Service Specification Realization Decisions technical feasibility exploration service flow message & event component layering
Les caractéristiques d un service Alignement Métier Réutilisation - Composabilité Granularité Redondance Ininterruptible, sans interaction de l utilisateurl Encapsulation Pas de gestion d éd état Description externalisable, indépendante de la technologie Qualité de service
SOMA, méthode adaptable et flexible Industrie Type Contexte Objectif Automobile Application Configuration véhicule Rationalisation Téléphonie mobile Processus Rechargement du téléphone Uniformisation multi-canal Assurance Processus IHM Devis automobile Uniformisation multi-canal Distribution de fluides Applications Gestion des contrats et des investissements Rationalisation
Agenda Rappels sur l identification des services et SOMA Le contexte SOA Les services de données Trajectoire de mise en œuvre des services
Un projet SOA correspond la plupart du temps à un des modèles suivants Thème Type de Solution 1. Ouvrir de nouvelles opportunités en capitalisant sur l existant Utiliser des fonctions existantes et les exposer comme Services 2. Accroître la réactivité en optimisant la consommation des services Organiser la consommation des services par différents consommateurs potentiels 3. Unifier l accès aux services Fournir un accès à l information aux différents acteurs (employés, clients, partenaires) en fonction de leur rôle Service Orientation Service Oriented Integration Agrégation au niveau IHM 4. Optimiser les processus de l entreprise Automatiser l exécution des processus et faciliter leur évolution 5. Consolider les données clés de l entreprise Créer une source référence d informations entre clients, partenaires et utilisateurs internes Business Process Management Services d information
Nous devons réaliser ces tâches Acteur Le contexte SOA doit être précisé De quelles fonctions des Business Component ai-je besoin pour permettre aux acteurs de réaliser ses tâches? Consommateur Alignement Business Component App 1 App 2 Paysage Applicatif App Part 1 Use case ou processus métier Agrégation IHM, multicanal : Portails, canaux BPM : Orchestrateur Ouverture de legacy, services d informations: Applications consomatrices Business Component App 1
Vision du processus pour identifier les services : Cas BPM Business process Business architecture SOA service Global IS Business process = Focused IS Business process IS functional architecture IS Business objects Domain Goal-Service Existing Asset Decomposition Modeling Analysis component flow service flow Subsystem Analysis Service Specification information Component message SOMA & event Specification Realization Decisions service allocation to components technical feasibility exploration component layering Application dependant service Application integration process IT system architecture
Vision du processus pour identifier les services : Cas Portail / Intégration Business process Business architecture Global IS Business process IS functional architecture SOA service Focused IS Business process IS Business objects Domain Goal-Service Decomposition Modeling component flow Subsystem Analysis Service Specification information Component SOMA Specification Existing Asset Analysis service flow message & event Realization Decisions service allocation to components technical feasibility exploration component layering Application dependant service Application integration process IT system architecture
Exemple de résultat en contexte multicanal Processus orienté services Vérifier l égibilité pour l offre demandée Vérifier l égibilité du client Proposer la liste des services accessible s Vérifier la validité des infos de paiement Exécution de la transaction Informer le client Services métier réutilisables Récupérer informations client Vérifier l éligibilité du client Vérifier la validité d un code de paiement Procéder à la transaction Informer le client (Mail, SMS, )
Agenda Rappels sur l identification des services et SOMA Le contexte SOA Les services de données Trajectoire de mise en œuvre des services
Service de données Service le plus fréquemment mis en œuvre Les question principales Pertinence Encapsulation Mise à jour d un objet complexe
Pertinence Base Granularité de cohérence BI Service de statut des données Service de lecture Technique et/ou Métier PLM Objet Volatilité
Aide à la saisie de données de référence Problématique Certaines données en entrée doivent provenir d une liste prédéterminée dont l application productrice est propriétaire Approches Option Services fournissant les données à la demande Appels successifs Service fournissant l ensemble des données Construction d un référentiel local Transfert des données hors du canal services Construction d un référentiel local Performance - + + Configuration cible Consommateur extérieur à l entreprise Données volatiles Consommateur extérieur à l entreprise Données stables Volume limité Consommateur interne à l entreprise Données stables Grands volumes
Encapsulation : se méfier des lectures de données Ex : éligibilité d un client à une offre Lire Business Component Business Component Appliquer règle de gestion A qui appartient la règle de gestion? Demander le résultat d une règle de gestion
Mise à jour d un objet complexe Un candidat service de création d un objet complexe (contrat par exemple), il n est pas utilisable sans une IHM adaptée Business Component Règles de validation Envisager une démarche d asset réutilisable (type booking engine dans les système de réservation) Navigation Règles de validation Règles de validation Business Component Règles de validation Service de petite granularité, sans alignement métier, réservé à utilisation avec le composant
Agenda Rappels sur l identification des services et SOMA Le contexte SOA Les services de données Trajectoire de mise en œuvre des services
VALEUR Scénarios de réalisation Patrimoine Visible v1 Patrimoine Enterré Patrimoine Visible v2 Contrats v1 Contrats v2 Référentiel organisationnel Carto v1 Carto v2 Comptabilité Immobilisation service dispo reprise partielle à faire EFFORT PERIMETRES Référentiels PATRIMOINE et CONTRAT Référentiel organisationnel Comptabilité SCENARIOS Patrimoine enterré v1 / Appli P0 : interface avec le requêteur Patrimoine v2 / Appli P0 : interface avec une couche métier intermédiaire Patrimoine enterré / APIC : services unitaires Contrat v1 / Appli B: interface avec le requêteur Contrat v2 / Appli B: interface avec une couche métier Carto v1 / APIC: services unitaires Carto v2 / APIC : services composites Référentiel organisationnel Comptabilité / Appli SPC Immobilisation / Appli Appli SL