Download - Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne
Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet
C.R.I.- Université Paris 1 - Sorbonne
90, rue de Tolbiac, 75013 Paris, France
Approche méthodologique
orientée but pour le développement de
systèmes à base de services
Contexte de la présentation
Introduction du serveur BizTalk 2004 dans les
enseignements relatifs à «l’ingénierie des systèmes à base
de services» au niveau M2 d’un Master recherche et
professionnel à l’université Paris1:
• En formation initiale classique
• En formation initiale par la voie de l’apprentissage
• En formation à distance
Contexte de la présentation
Objectif du cours:
• Aider à comprendre l’orientation services dès
l’acquisition des besoins
• Guider pas à pas l’opérationalisation et le
développement du système via une approche
méthodologique.
Motivation
Réutiliser des services accessibles par Internet en les
composant afin d’en développer d’autres, avec une valeur
ajoutée, est l’une des perspectives les plus prometteuses
La définition d’un processus coopératif inter-organisations
s’impose
La composition des e-services supporte ces deux
processus:
• Réutilisation des ‘legacy systems’
• Utilisation de services existants
Problèmes
Le développement de ces services composites est “ad-hoc”
Pose deux types de problèmes:
• Composition: quels sont les services à composer afin de réaliser le but du processus coopératif?
• Orchestration: comment spécifier la coordination entre services?
Une approche qui permet de comprendre les besoins du processus coopératif et de concevoir l’assemblage et l’orchestration des e-services est absente. Il est nécessaire de définir une approche méthodologique pour répondre à ces besoins
Objectif de la présentation
Proposer une approche orientée but qui permet de:
identifier les besoins fonctionnels d’un processus
coopératif inter-organisations identifier les services fournis par chaque organisation concevoir la coordination entre ces services afin de
réaliser le but du processus coopératif
Plan
Coopération entre un ensemble d’administrations
gouvernementales afin de fournir une aide à une personne:
l’application virtuelle E-Pension (E-Pension VE)
Modélisation des besoins de l’application E-Pension en
utilisant le modèle de la carte
Identification des services ainsi que leur coordination
Conclusion
L’organisation virtuelle E-Pension
Organisation virtuelle E-Pension
Un programme de e-Gouvernement
Le programme e-Gouvernement nécessite la mise en place d’un processus coopératif faisant intervenir les personnes handicapées, la mairie, la préfecture et l’entité médicale (LHA)
LHA
Personne handicapée
Mairie
Préfecture
Plan
Coopération entre un ensemble d’administrations
gouvernementales pour fournir une aide à une personne:
l’application virtuelle E-Pension (E-Pension VE)
Modélisation des besoins de l’application E-Pension en
utilisant le modèle de la carte
Identification des services ainsi que leur coordination
Conclusion
Modèle de la carte: introduction
IntentionUn but à atteindre
StratégieUne manière de réaliser
l’intention
Section un triplet <Intention Ii, Intention Ij,
Stratégie Sij>
sk
sjk
ss
sjisi
ski
sij1
sij2
Ij
Start
Ik
Ii
Stop
La carte est un modèle de processus qui contient un ensemble
d’intentions et de stratégies
Ii
Modèle de la carte: introduction
IntentionUn but à atteindre
StratégieUne manière de réaliser
l’intention
Section un triplet <Intention Ii, Intention Ij,
Stratégie Sij>
sk
sjk
ss
sjisi
ski
sij1
sij2
Ij
Start
Ik
Ii
Stop
La carte est un modèle de processus qui contient un ensemble
d’intentions et de stratégies
sij2
Modèle de la carte: introduction
IntentionUn but à atteindre
StratégieUne manière de réaliser
l’intention
Section un triplet <Intention Ii, Intention Ij,
Stratégie Sij>
sk
sjk
ss
sjisi
ski
sij1
sij2
Ij
Start
Ik
Ii
Stop
La carte est un modèle de processus qui contient un ensemble
d’intentions et de stratégies
sij2Ii Ij
La carte E-Pension
Start
By residence certification
BY LHA appointment
By citizen authentication
By information capture
Get request
Stop
Decide on request
By physical examination
By physical authorized examination
By prefecture decision
By LHA pre-decision
By prefecturemonitoring
By citizen requestwithdrawal
By requestrejection
By transfer to prefecturePension service
Modèle de la carte: introduction
By citizen authentication
By information
capture
By physical examination
Decide on request
Get request
Start
topologieMulti-segment
Start
Decide on request
Get request
Start
topologie Multi-chemin
Get request
Decide on request
By information
capture
By citizen authentication
By physical examination
By physical examination
Plan
Coopération entre un ensemble d’administrations
gouvernementales pour fournir une aide à une personne:
l’application virtuelle E-Pension (E-Pension VE)
Modélisation des besoins de l’application E-Pension en
utilisant le modèle de la carte
Identification et coordination des services
Conclusion
Identification et coordination des services
Étape1: Identification des services à partir de la carte,
Étape2: Identification de le structure organisationnelle
Étape3: Identification des e-services,
Étape4: Distribution des services sur les acteurs,
Étape5: Orchestration des e-services avec BizTalk.
Étape1: Identification des services à partir de la carte
Le formalisme de la carte fournit un moyen de combiner dans
un même modèle le point de vue business et le point de vue
système
Afin d’établir un couplage direct entre les buts et les
fonctionnalités du système: chaque section de la carte est
associée à une fonctionnalité du système
Chaque section est associée à un service
Étape1: Identification des services à partir de la carte E-Pension
Code Service
S1 Service d’authentification
S2 Service de capture d’informations
S3 Service d’attestation de domiciliation
S4 Service d’allocation de rendez-vous médicaux
Start
By residence certification
BY LHA appointment
By citizen authentication
By information capture
Get request
S1
S3
S2S4
Étape2: Identification de la structure organisationnelle
C’est quoi une structure organisationnelle? Une structure qui comprend deux disciplines: le théorie des organisations et les alliances stratégiques
Rapport avec le modèle de la carte? La structure organisationnelle est associée au modèle de la carte i.e. chaque section
A quoi sert-elle? Utilisée pour analyser, modéliser et concevoir l’architecture d’un système d’information orienté agent
Formalisme utilisé? Concepts intentionnels et sociaux de i* [Yu95] à savoir les buts, acteurs, dépendances: Actor Dependency Model
[Yu95] E. Yu. Modelling strategic Relationships fro Process Reengineering, Ph.D. thesis, departement of computer Science, university of Toronto, Canada, 1995
Étape2: Identification de la structure organisationnelle de E-Pension
Identification de la structure organisationnelle de E-Pension
3- Application
de la structure
organisationnelle
1- Choix de la
structure
organisationnelle
2- Identification
des acteurs
Étape2.1: Choix de la structure organisationnelle
Modèle coopératif
Modèle centralisé
Interactions directes entre l’ensemble des participantsLa responsabilité de coordination du processus est
distribuée sur l’ensemble des participantsVE gère l’ensemble des données partagées entre les
partenaires
Aucune interaction n’est autorisée entre les participants
sauf via l’acteur VEDélégation totale du contrôle et de la gestion du processus
à l’acteur VE
Étape2.2: Identification des acteurs
Associer à chaque section de la carte l’ensemble des acteurs participant à
la réalisation du but de la section
BY LHA appointment
Get request
S4 L’initiateur du service: le citoyen VE: E-Pension VE Le fournisseur du service: LHA
L’initiateur du service VE Le fournisseur du service
Étape2.3: application de la structure organisationnelle
sk
sjk
ss
sjisi
ski
sij1
sij2
Ij
Start
Ik
Ii
Stop
Initiator Provider
VE
Knowledge sharing
Knowledge sharing
Provideservice
Forward service
Accept/Refuseservice
Accept/Refuseservice
Realize service
Provide service
Étape2: identification de la structure organisationnelle de E-Pension
BY LHA appointment
Get request
S4
Citizen LHA
VERequest
appointment
Accept/Refuseappointment
Accept/Refuseappointment
Provide appointment
Étape3: Identification des e-services
Examiner chaque section de la carte et déterminer quel
service peut-on obtenir en réutilisant le legacy system
Utiliser une approche guidée par les interactions afin de
refléter qui (who) demande quoi (what)
Étape3: Identification des e-services de E-Pension
E-Pension VECitizen Application LHA WS
Appointment request
DB Citizen Info Request
Appointment request
Retrieve possible appAppointment listAppointment list
If (appointment=OK)Send selected appointment
Store selected appointment
Send Appointment decisionUpdate LHA DB
Else Send decision LHA rollbackRelease LHA DB
Endif
Iext Icoop
Service call
LHA appointment request legacy e-service
Étape4: Distribution des services sur les acteurs
Les services sous le contrôle d’un même acteur
(initiateur/VE/fournisseur) sont groupés dans un seul service
composite formant un d-service
Chaque d-service est modélisé suivant une carte, d-carte
qui est une sous carte de la carte globale
Étape4: Distribution des services de E-Pension sur les acteurs
Start
Get request
Stop
Decide on request
Get request Get request Get request
Citoyen E-Pension VE Mairie
Get request
Étape5: Orchestration des e-services avec BizTalk
Niveau analyse des
besoins
Niveau conceptuel
Règ
les de
transfo
rmatio
n
Règles de transformation:
• Utilisées pour passer d’une spécification basée sur le modèle de la carte à une architecture logicielle un compromis entre les deux mondes
• Permettent de faciliter la mise en œuvre des applications pour les architectes logiciels (IT architects), les chefs de projet, les développeurs…
Règles de transformation
sk
sjk
ss
sjisi
ski
sij1
sij2
Ij
Start
Ik
Ii
Stop
E-Pension VECitizen Application
LHA WS
Classes Architecturales : Processus
Services
Messages
???
Architecture logicielle
Règles de transformation: Services
E-Pension VECitizen Application
LHA WS
Appointment request
DB Citizen Info Request
Appointment request
Retrieve possible appAppointment listAppointment list
Règle1: Chaque SI participant à la coopération fournit des fonctionnalités qui vont être encapsulées dans un e-service
E-services
Règles de transformation: Messages
E-Pension VECitizen Application
LHA WS
Appointment request
DB Citizen Info Request
Appointment request
Retrieve possible appAppointment listAppointment list
Règle2: Chaque interaction entre deux SI différents devient un message entre ces deux derniers
Messages
Règles de transformation: Processus
Règle3: à chaque déclenchement d’un événement asynchrone, il y a naissance d’une nouvelle orchestration au niveau de la VE
E-Pension VECitizen Application
LHA WS
Appointment request
DB Citizen Info Request
Appointment request
Retrieve possible appAppointment listAppointment list
If (appointment=OK)Send selected appointment
Send Appointment decision
Endif
Processus de prise d’un rendez vous
Processus de prise de décision
Bprocess Engine
Appointement Process
Appointement Decision Process
Citizen Portal
Web Service
Web Service
http post
VE Data
System
LHA System
Web Service
Web Service
Architecture de la solution
Classes Architecturales :
Architecture distribuée assurant la coopération entre plusieurs systèmes hétérogènes (Systèmes, SI, ERP,…)
Architecture orientée service :
Chaque couche logicielle est encapsulée dans un service
Les services coopèrent entre eux en se basant sur la communication orientée messages
Le système de messagerie utilise les Standards des Web Services (SOAP/XML)
Les processus sont utilisés afin d’assurer la coopération sémantique entre des services hétérogènes
Processus
Services
Messages
Couches Logicielles
Architecture de la solution: caractéristiques
Microsoft .NET Framework
Langage de programmation C#
Microsoft Biztalk
XML Schemas , Orchestration (Business Process), Schemas Mapping
Biztalk Messaging, Biztalk Server
Microsoft SQL Server
Data Access Components ADO.NET
ASP.NET Web Services
VS.NET Web Proxy
Version utilisée: Microsoft Visual Studio Architect EditionMicrosoft Visual Studio Architect Edition
Présentation de l’environnement de développement
Data AccessComponent
VE Data Service
VE Shared Database
VE Data System APWS I
ADPWS I
LHA Data AccessComponent
LHA Data Service
LHA Database
LHA System
BP Runtime
Appointement Process
Appointement Decision Process
Business Citizen Layer
Citizen Portal Citizen
PagesWeb
APWSI = Appointement Process Web Service InvoquerADPWSI = Appointement Decision Web Service Invoquer
Architecture détaillée
Data Access Component
VE Data Service
VE Shared Database
VE Data System
Implémentation du service VE Data System
Data Access Component
VE Data Service
Data AccessComponent
VE Data Service
VE Shared Database
VE Data System APWS I
ADPWS I
LHA Data AccessComponent
LHA Data Service
LHA Database
LHA System
BP Runtime
Appointement Process
Appointement Decision Process
Business Citizen Layer
Citizen Portal Citizen
PagesWeb
APWSI = Appointement Process Web Service InvoquerADPWSI = Appointement Decision Web Service Invoquer
Architecture détaillée
BP Runtime
Appointement Process
Appointement Decision Process
Biztalk Server
Biztalk Server:Biztalk Server: Déploiement et exécution des processus d’orchestration
Biztalk Orchestration Biztalk Orchestration DesignerDesigner: : Orchestrations, portType , Messages, XML Schemas , Mapping
Implémentation des processus
Appointment process
Appointment Decision Process
Conclusion
L’approche proposée permet de:
• Capturer les besoins fonctionnels du processus coopératif
• Identifier les services de chaque organisation
• Orchestrer les différents e-services composant l’application
Perspectives
Introduire le mécanisme d’affinement: obtenir une hiérarchie
de cartes à partir d’une seule carte
Fournir un guidage au concepteur
Valider l’approche