Classification des Services
La notion de Service est vue comme Logique. Il ne s'agit pas uniquement d'une vision SOA.
Ce Service porte un objectif fonctionnel et peut être sollicité de différentes façons:
- par appel direct: un Service WSDL ou REST
- par un appel indirect: via un message (data ou événement).
Classes de services
Cette classification permet d'organiser les services et leurs dépendances.
Niveau | Classe | Périmètre |
---|---|---|
Entreprise | Fonctionnel | Service qui possède une définition Fonctionnelle. |
Référentiel | Service qui expose une donnée de référence du métier. | |
Technique | Service support au métier tel que de transcodification. | |
Domaine | Domaine | Service spécifique à 1 domaine. Partagé entre N applications du même domaine. |
Applicatif | Applicatif | Spécifique à 1 application. |
Services d'entreprise
Un service d'entreprise suit les contraintes dictées par l'entreprise.
Il respecte les contraintes de QoS imposées par le métier:
- Disponibilité
- Temps de réponse
- Droits d’accès
- Priorité
- Facturation
Il respecte les contraintes de qualité imposées par le Système d'Information:
- Protocole
- Modèle pivot
- Sécurité
- Restriction des ressources
Le respect de ces contraintes correspond en grande partie au coût de la réutilisation au sein du Système d'Information.
3 classes de Services sont définis:
- Fonctionnel
- Référentiel
- Technique
Service Fonctionnel
Ce service possède une définition fonctionnelle. Il propose une ou plusieurs opérations ayant un sens métier.
Il véhicule en entrée et en sortie une partie du modèle pivot d'entreprise.
Enfin, il peut être transactionnel afin d'agréger d'autres Services Fonctionnels entre eux.
Service Référentiel
Ce service Référentiel expose une donnée de référence du métier.
Ces données sont en majorité des listes de valeurs très stables. Ils exposent comme les services Fonctionnels des données au format Pivot.
Par conséquence, leurs usages sont orientés lecture ou rarement écriture.
Pour un service Référentiel, seule l'opération en écriture est transactionnel.
Service Technique
Ce service ne propose pas un objectif fonctionnel mais permet de supporter les médiations au sein du middleware (ESB, MOM, Streaming, etc).
Exemples:
- Service de caches,
- Service de routage technique,
- Service d’annuaire,
- Service de management,
- etc.
Ceux-ci ne véhiculent pas uniquement des données métier. Leur formalisme est libre.
Les Services Techniques d'Entreprise n'ont pas vocation à être exposés par le Middleware.
Service de domaine
Un service de domaine répond à une problématique d’un domaine fonctionnel (paie, vente, etc.)
Ils sont consommés par les applications de ce même domaine.
Ils ne sont pas (obligatoirement) :
- exposés par le Bus.
- consommés par le Bus,
- au format Pivot.
Exemple: Recherche, R/W de ressources, etc.
Ces services sont mis à disposition des Services Applicatifs des IHM dans l'objectif de factoriser du comportement entre applications. Leurs changements impactent donc les applications de ce même périmètre.
Service applicatif
Un service applicatif répond à une problématique IHM.
C'est-à-dire:
- il transporte les données nécessaires et suffisantes à l'IHM
- il est sollicité dans un contexte de parcours et de workflow
Celui-ci est souvent mis en jeu avec un Contrôleur.
Ces services sont utilisés dans un périmètre réduit. Ils demandent une agilité forte conduite par les demandes de changement des IHM.
Middleware Solutions https://www.middleware-solutions.fr