Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue...

46
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

Transcript of Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue...

Page 1: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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

Page 2: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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

Page 3: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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.

Page 4: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France 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

Page 5: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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

Page 6: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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

Page 7: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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

Page 8: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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

Page 9: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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

Page 10: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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

Page 11: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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

Page 12: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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

Page 13: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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

Page 14: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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

Page 15: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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

Page 16: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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.

Page 17: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

É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

Page 18: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

É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

Page 19: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

É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

Page 20: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

É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

Page 21: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

É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

Page 22: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

É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

Page 23: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

É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

Page 24: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

É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

Page 25: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

É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)

Page 26: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

É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

Page 27: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

É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

Page 28: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

É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

Page 29: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

É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…

Page 30: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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

Page 31: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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

Page 32: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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

Page 33: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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

Page 34: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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

Page 35: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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

Page 36: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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

Page 37: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

 

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

Page 38: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

Data Access Component

VE Data Service

VE Shared Database

VE Data System

Implémentation du service VE Data System

Page 39: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

Data Access Component

Page 40: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

VE Data Service

Page 41: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

 

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

Page 42: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

     

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

Page 43: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

Appointment process

Page 44: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

Appointment Decision Process

Page 45: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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

Page 46: Rim Samia Kaabi, Sofiane Bourenane, Carine Souveyet C.R.I.- Université Paris 1 - Sorbonne 90, rue de Tolbiac, 75013 Paris, France Approche méthodologique.

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