01 Soa 25 Nov 2008 Wia 1er Oxia V 1.0.0x - Presentation Transcript
SOA : pour une interopérabilité
intrinsèque du Système d’Information
Khaled BEN DRISS
Khaled.bendriss@oxiasoft.com
Tozeur le 25 novembre 2008
Ingénieur de l'Ecole Centrale de Lyon (ECL’1991)
Docteur de l'Université Paris 6 ( P&MC ‘ 1994)
Ancien Maître Assistant à l'Ecole Polytechnique de Tunisie
Directeur Technique OXIA
Consultant Senior : Architecte de Système d'Information
SOA– OXIA – 2008
www.oxiasoft.com
1 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Objectif de la séquence
SOA– OXIA – 2008
2 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Plan
Plan de la présentation
Evolution des architectures informatiques : applications & Système d’information
SI : Problématique de l’intégration en entreprise et intra-entreprises
Interopérabilité : différents points de vue
Présentation du concept SOA
La notion de service (au sens SOA)
Cycle de vie d’un service
Approches d’identification des services
Services Web : les spécifications XML de base
SOAP
WSDL
UDDI
BPEL
Web service pas forcément interopérable : WS-I et Basic Profiles
SOA– OXIA – 2008
SOA : quelles infrastructures?
Notion de SLA et les besoins non fonctionnels
Best Practices : SOA & interopérabilité
3 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Technologie
Réseaux
globaux
Ordinateur
1990 personnel
Terminal
1980
Mainframe
1970
SOA– OXIA – 2008
4 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Activités
Travail
coopératif
Informatique
1990 personnelle
Transactionnel
1980
Batchs
1970
SOA– OXIA – 2008
5 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Services offerts
Information
à la place de travail
1990
Industrialisation
1980
Gestion intégrée
1970
SOA– OXIA – 2008
Automatisation des
processus administratifs
6 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Enjeux
1990
Vivant
Objectif
1980 Réactif
Mécanique
Cahier des charges
Prévisible
1970
SOA– OXIA – 2008
7 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Besoin d’automatisation
1990
1980
1970
SOA– OXIA – 2008
8 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Contexte économique
• Mondialisation
Marché • Actionnaires
• Fusion/acquisition
• Publicité
Business Model
S.I. • Open source
• Compétition
• Compétition
Eco-système • Compétition
SOA– OXIA – 2008
• Compétition
9 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Environnement d’aujourd’hui
Résolument Hétérogène
Client/Server
Mainframe
réseaux
Net-Progress
Internet
OXIA
SOA– OXIA – 2008
et Web
10 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Architectures informatiques
Types et contraintes
Serveur
Internet
Web
Client-Serveur
Distribuée
Partage de
fichiers
SOA– OXIA – 2008
11 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Evolution de l'architecture des applications :
De la centralisation vers la centralisation
Client-serveur Client-serveur
Centralisé deux niveaux trois niveaux
kkwkj aaaawwwww
kkwkj aaaawwwww
kkwkj aaaawwwww
kkwkj aaaawwwww
kkwkj aaaawwwww
kkwkj aaaawwwww
kkwkj aaaawwwww
Interface utilisateur
Interface utilisateur
Services d'entreprise
Services
d'entreprise
Services d'entreprise
SOA– OXIA – 2008
Interface utilisateur
Services d'entreprise
Services de données Services de données
Services de données
12 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Contexte
architectures informatiques
SOA– OXIA – 2008
13 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Plan
Plan de la présentation
Evolution des architectures informatiques : applications & Système d’information
S.I. : Problématiques de l’intégration en entreprise et intra-entreprises
Interopérabilité : différents points de vue
Présentation du concept SOA
La notion de service (au sens SOA)
Cycle de vie d’un service
Approches d’identification des services
Services Web : les spécifications XML de base
SOAP
WSDL
UDDI
BPEL
Web service pas forcément interopérable : WS-I et Basic Profiles
SOA– OXIA – 2008
SOA : quelles infrastructures?
Notion de SLA et les besoins non fonctionnels
Best Practices : SOA & interopérabilité
14 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Objectifs des S.I.
récapitulatif.
SOA– OXIA – 2008
15
Introduction SOA pour une interopérabilité intrinsèque du SI Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA:
Problématique de l’intégration en entreprise
Entreprises découpées en départements fonctionnels y compris le
système d'information (SI)
Processus métiers des entreprises de + en + multi-
départementaux
Des Silos sans communication
L’information ou les données sont
difficiles à trouver et à relier
Division B Division C
Division A
• Problèmes au moment de l’échange des
données
Résultat : l’information et les
données coûtent cher
SOA– OXIA – 2008
L’Intégration doit être le mot
d’ordre!
CRM ERP
DB
16 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Problématique de l’intégration en entreprise
Entreprises découpées en départements fonctionnels y compris le système
d'information (SI)
Processus métiers des entreprises de + en + multi-départementaux
SOA– OXIA – 2008
Coûts considérables dans la gestion des flux entre départements et dans l’intégration
de leurs SI
17 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Problématique de l’intégration inter-entreprises
Application web
Tozeur)
Agence de voyages Client
Réservation (plateforme technique2) (plateforme technique6)
Compagnie aérienne
(plateforme technique1)
Réservation
Réservation, Tarifs Tarifs, promotion
Location de voitures
(plateforme technique3)
SOA– OXIA – 2008
Chaîne hôtelière Assurance voyage
(plateforme technique4) (plateforme technique5)
D’après : J-M Chauvet
18 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Applications distribuées
& l’Interopérabilité
SOA– OXIA – 2008
19 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Définition générale de l’Interopérabilité
L'interopérabilité connecte
Les personnes : cet aspect de l'interopérabilité concerne les workflows et la
collaboration qui ont lieu au sein et entre les entreprises au niveau des
personnes. C'est l'aspect social du travail qui est ici concerné.
Les données : il s'agit là de répondre au besoin d'accéder à différentes sources de
données, d'optimiser les flux d'informations et d'intégrer des données
structurées (des bases de données par exemple) et des données non-structurées
(des fichiers par exemple).
Les systèmes variés : ce point concerne les processus techniques et les processus
d'exploitation au sein et entre les entreprises. Les besoins allant d'une simple
SOA– OXIA – 2008
connectivité entre des systèmes internes à des cadres de travail de l’industrie qui
facilitent la mise en oeuvre de workflows de création de chaîne de valeur.
20 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Architectures d’interopérabilité
Intégration et
communication entre Mise en œuvre systématique dans
Deux modes de
composants un cadre d’urbanisation
communication
applicatifs
Sans connexion Formats d’échange : XML
avec (asynchrone, (eXtended Markup
middleware Language)
couplage faible)
Avec connexion Intégration de systèmes
sans (synchrone, complexes: EAI (Enterprise
middleware) Application Integration)
couplage fort)
SOA– OXIA – 2008
Modèle d’architecture cible:
SOA ( Service Oriented
Architecture)
21 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Les types de middleware classiques
SOA– OXIA – 2008
22 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
La réalité dans les SI:
SOA (Spaghettis Orientée Service)
Interconnexions
Développements redondantes
coûteux (point à point)
Grande Maintenance
complexité difficile
SOA– OXIA – 2008
23 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Plan
Plan de la présentation
Evolution des architectures informatiques : applications & Système d’information
SI : Problématique de l’intégration en entreprise et intra-entreprises
Interopérabilité : différents points de vue
Présentation du concept SOA
La notion de service (au sens SOA)
Cycle de vie d’un service
Approches d’identification des services
Services Web : les spécifications XML de base
SOAP
WSDL
UDDI
BPEL
Web service pas forcément interopérable : WS-I et Basic Profiles
SOA– OXIA – 2008
SOA : quelles infrastructures?
Notion de SLA et les besoins non fonctionnels
Best Practices : SOA & interopérabilité
24 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Interopérabilité : différents points de vue
SOA– OXIA – 2008
25 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Interopérabilité : différents points de vue
Indépendance ,
intégration
métier
Responsable IT
Architecte
virtualization des
Services, visibilité,
sécurité
#$%! , java
C#,
bugs…I…
SOA– OXIA – 2008
Ingénieur Système
Développeur
26 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Intégration & interopérabilité , différents points de vue :
le « nécessaire changement » de paradigme
on ne peut résoudre, définitivement, un
problème en utilisant le mode de pensée
à l’origine de ce problème.
On a besoin d’une
nouvelle approche !
SOA– OXIA – 2008
27 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Plan
Plan de la présentation
Evolution des architectures informatiques : applications & Système d’information
SI : Problématique de l’intégration en entreprise et intra-entreprises
Interopérabilité : différents points de vue
Présentation du concept SOA
La notion de service (au sens SOA)
Cycle de vie d’un service
Approches d’identification des services
Services Web : les spécifications XML de base
SOAP
WSDL
UDDI
BPEL
Web service pas forcément interopérable : WS-I et Basic Profiles
SOA– OXIA – 2008
SOA : quelles infrastructures?
Notion de SLA et les besoins non fonctionnels
Best Practices : SOA & interopérabilité
28 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Service Oriented Architecture
SOA, qu’est-ce? (1/3)
SOA est un paradigme
abstrait, base de
l’architecture distribuée
sans aucune référence
à une implémentation
technique
SOA– OXIA – 2008
Une nouvelle plate-forme architecturale pour
le développement de solutions distribuées
29 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Service Oriented Architecture
SOA, qu’est-ce ? (2/3)
SOA– OXIA – 2008
30 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Service Oriented Architecture
SOA, qu’est-ce ? (3/3)
SOA est une évolution
des plateformes passées,
tout en préservant les
caractéristiques réussies
des architectures
traditionnelles, tout en y
ajoutant quelques
SOA– OXIA – 2008
principes nouveaux.
31 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Une définition de la SOA
La SOA c’est structurer en services contractualisés
Voire tout le S.I.
une application un bloc applicatif
Afin d’adresser les enjeux de
Politique d’interopérabilité Pérennité des applications
Politique de réutilisation
SOA– OXIA – 2008
mise en œuvre de services recherche de la \"Faire du nouveau
globaux entre blocs réutilisation à l’intérieur avec de l'ancien\"
applicatifs d’un bloc applicatif
32 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Les Composants
SOA– OXIA – 2008
33 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Service Oriented Architecture :
une architecture Consommateur/Fournisseur
Consommateurs
Fournisseurs
de Services De Service
Courtier de
Services
Monitoring
Transformation Sécurité SLA
Annuaire
SOA– OXIA – 2008
34 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Plan
Plan de la présentation
Evolution des architectures informatiques : applications & Système d’information
SI : Problématique de l’intégration en entreprise et intra-entreprises
Interopérabilité : différents points de vue
Présentation du concept SOA
La notion de service (au sens SOA)
Cycle de vie d’un service
Approches d’identification des services
Services Web : les spécifications XML de base
SOAP
WSDL
UDDI
BPEL
Web service pas forcément interopérable : WS-I et Basic Profiles
SOA– OXIA – 2008
SOA : quelles infrastructures?
Notion de SLA et les besoins non fonctionnels
Best Practices : SOA & interopérabilité
35 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Dans SOA il y a Service ?
SOA est une Avant tout : un Exemple
histoire de service doit
conception pas de être \"abstrait\"
technologie Service d'enregistrement
d'un abonnée
Un service n’est
penser
pas lié à une Service de réservation d'un
Architecture &
implémentation. train
Service.
Service de diffusion
d'information
SOA– OXIA – 2008
Service de demande de l'état
d'une commande
36 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Qu’est ce qu’un Service (au sens SOA) ?
Partage la caractéristique suivante d’un objet
• Modulaire (ensemble de fonctionnalités qui font sens)
Partage les caractéristiques d’un composant
• Boite noire (séparation interface/implémentation)
• Indépendant de la localisation
• Neutralité vis-à-vis des protocoles de transport
Correspond à un périmètre fonctionnel exposé à des
consommateurs (une granularité plus forte qu’un composant)
SOA– OXIA – 2008
• Expose un petit nombre d’opérations offrant un traitement de bout en bout
• Est faiblement couplé
• Sans état
37 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Avant l’approche service:
couplage fort - Gestion de prêts
Entités
AgentDeCrédit ApprobationCrédit Compte Crédit SMSGateway
calculerRisque
vérifierCrédit
creerCrédit
EnvoyerConfirmation
AgentDeCrédit est lié à ApprobationCrédit et Crédit
SOA– OXIA – 2008
ApprobationCrédit est lié à Compte
Crédit est lié à SMSGateway
38 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Après l’approche service :
Gestion de prêts en couplage faible
Notifier
ProcessusCrédit Calculer
VérifierBalanceCpt créerCrédit
ViaSMS
RisqueCérdit
SOA– OXIA – 2008
ProcessusCrédit Un processus métier !
Il permet d’orchestrer les services => couplage lâche
39 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Zoom sur la phase de spécification
Les services identifiés
Challenge : Un service peut être
ne doivent pas être
tous publiés :
Chaque service trouver les
a un coût et un “bons” services synchrone
risque à exposer
Il faut éviter la
prolifération Asynchrone
SOA– OXIA – 2008
des services
40 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
4 propriétés du service à retenir
Un Service est Autonome Un Service expose un Contrat
Conditions Générales de Vente
Règlement Intérieur
in Vos droits/Vos devoirs
out
Les Frontières entre services sont Les services communiquent par
Explicites messages
SOA– OXIA – 2008
41 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
4 propriétés : conséquences
Le consommateur
SOA véhicule (client) est
découplé de
des Messages l’architecture
et non des technique du
objets service qu’il
invoque
Le consommateur
Importance de
et le fournisseur
l'Architecture
n'ont pas
forcément les Importance des
mêmes
SOA– OXIA – 2008
standards
technologies
42 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
4 propriétés : conséquences
SOA– OXIA – 2008
43 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Plan
Plan de la présentation
Evolution des architectures informatiques : applications & Système d’information
SI : Problématique de l’intégration en entreprise et intra-entreprises
Interopérabilité : différents points de vue
Présentation du concept SOA
La notion de service (au sens SOA)
Cycle de vie d’un service
Approches d’identification des services
Services Web : les spécifications XML de base
SOAP
WSDL
UDDI
BPEL
Web service pas forcément interopérable : WS-I et Basic Profiles
SOA– OXIA – 2008
SOA : quelles infrastructures?
Notion de SLA et les besoins non fonctionnels
Best Practices : SOA & interopérabilité
44 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Cycle de vie d’un service
1 aspect transversal : la
4 grandes phases :
gouvernance
Les architectures orientées service
Identification
impliquent une vision globale
La gouvernance permet de casser
Spécification
les silos de l’entreprise
Développement
SOA– OXIA – 2008
Gestion
(versionning, …)
45 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Un service n’est pas un composant
Évolution naturelle et certaine
• Fonction Composant Service
Service
Les services gèrent messages,
données et composants
• Les données privées sont totalement
encapsulées par le service
• Les messages sont le seul moyen d’échanges Données
entre services privées
Les services permettent des
relations faiblement couplées;
SOA– OXIA – 2008
Composants
les composants des relations
fortement couplées
Fonctions
46 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
exemples de services
en fonction de la granularité
Granularité Exemple
Service métier applicatif Très forte Génération bulletins de paie
Service métier fonctionnel Moyenne Transaction bancaire
Service métier CRUD Faible Enregistrement nouvel inscrit
Service technique Moyenne/forte Archivage
SOA– OXIA – 2008
47 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Plan
Plan de la présentation
Evolution des architectures informatiques : applications & Système d’information
SI : Problématique de l’intégration en entreprise et intra-entreprises
Interopérabilité : différents points de vue
Présentation du concept SOA
La notion de service (au sens SOA)
Cycle de vie d’un service
Approches d’identification des services
Services Web : les spécifications XML de base
SOAP
WSDL
UDDI
BPEL
Web service pas forcément interopérable : WS-I et Basic Profiles
SOA– OXIA – 2008
SOA : quelles infrastructures?
Notion de SLA et les besoins non fonctionnels
Best Practices : SOA & interopérabilité
48 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Deux approches d’identification des services
Approche Bottom-up
Approche Top-down
Pour réutiliser l’existant
Pour démarrer un
(non SOA)
nouveau projet
On part des morceaux, on
Dans le cadre d’une
rassemble les bouts
vision globale très claire
SOA– OXIA – 2008
Quelques méthodologies (nouvelles): Praxeme, SOMA (IBM) …
49 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
On utilise rarement une unique approche :Approche “Meet in the
Middle”
Dans la pratique
Faire l’analyse Top-down sans se préoccuper de l’existant
Faire l’analyse Buttom-up en ne considérant que l’existant
Comparer les services “remontés” avec ceux déduits des Uses case
Penser réutilisation
Penser métier
SOA– OXIA – 2008
Penser interopérabilité & standards
50 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Plan
Plan de la présentation
Evolution des architectures informatiques : applications & Système d’information
SI : Problématique de l’intégration en entreprise et intra-entreprises
Interopérabilité : différents points de vue
Présentation du concept SOA
La notion de service (au sens SOA)
Cycle de vie d’un service
Approches d’identification des services
Services Web : les spécifications XML de base
SOAP
WSDL
UDDI
BPEL
Web service pas forcément interopérable : WS-I et Basic Profiles
SOA– OXIA – 2008
SOA : quelles infrastructures?
Notion de SLA et les besoins non fonctionnels
Best Practices : SOA & interopérabilité
51 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Implémentations des Services
Maximiser l’interopérabilité par
l’usage systématique des
standards?
SOA– OXIA – 2008
52 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
SOA et web services
Attention à ne pas confondre SOA et Les WS constituent une
web services bonne solution
standardisée disponible
SOA est un ensemble de Les WS sont de l’ordre de la
concepts : technologie :
Un service métier = un
webservice
SOA est un paradigme On peut utiliser les Web
abstrait, base de Services sans faire de
l’architecture distribuée SOA (architecture point à
sans aucune référence à point sans réutilisation)
une implémentation
technique
Les Web Services offrent
SOA– OXIA – 2008
une implémentation
Une SOA peut se mettre
possible mais pas
en œuvre sans Web
nécessaire
Services
53 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Points clés de l’architecture
1.a rechrcehr un service
Repository
Consommateur
1.b Returner le contract
Service
2.a Creer une intsance du processus
Mediation layer/Service bus
2.c determiner le point de
2.d enjoyer la requêtte contact du service
2.b Executer
processus
SOA– OXIA – 2008
Fournisseur
Service Registry
Description “Business
process”
54 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Services Web ~ quatre spécifications XML
SOAP : pour le
transport des WSDL : pour la
données et description des
l’infrastructure de services offerts
communication
XML
UDDI : annuaire
pour le
référencement des
BPEL : décrit le
services par les
SOA– OXIA – 2008
processus métier
fournisseurs et leur
découverte par les
utilisateurs.
55 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Standards de l’architecture WS
Les standards sont un élément clé d’une SOA, ils assurent
l’interopérabilité
SOAP WSDL UDDI BPEL
Simple Object Web Services Universal Description Business Process
Access Protocol Description Language Discovery and Integration Execution Language
W3C
W3C Microsoft, IBM, HP, …
Décrit le contrat
Transporte Décrit les processus
Spec pour
SOA– OXIA – 2008
métier
Repository/Registry
Les trois piliers des Services Web Lien avec BPMN
56 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Plan
Plan de la présentation
Evolution des architectures informatiques : applications & Système d’information
SI : Problématique de l’intégration en entreprise et intra-entreprises
Interopérabilité : différents points de vue
Présentation du concept SOA
La notion de service (au sens SOA)
Cycle de vie d’un service
Approches d’identification des services
Services Web : les spécifications XML de base
SOAP
WSDL
UDDI
BPEL
Web service pas forcément interopérable : WS-I et Basic Profiles
SOA– OXIA – 2008
SOA : quelles infrastructures?
Notion de SLA et les besoins non fonctionnels
Best Practices : SOA & interopérabilité
57 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Qu'est ce qu'un Web Service ?
Définition [W3C] Exposition Activation
Un Web service est un système logiciel
Langage WSDL (Web
identifié par une URI, dont les interfaces Protocole Web au-
Service Description
publiques et les liens sont définis et décrits dessus de HTTP (RPC
Language) utilisé pour
en XML. XML, SOAP)
décrire le service
Sa définition peut être découverte par
Similaire à IDL mais Autres protocoles
d'autres systèmes logiciels.
basé sur XML possibles …
Ces systèmes peuvent interagir avec le
service Web d'une manière prescrite par sa
SOA– OXIA – 2008
définition, en utilisant des messages XML
portés par les protocoles Internet.
58 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Contents
Plan du workshop
Quels sont les éléments clé d’une architecture orientée services ?
Services Web : les spécifications XML de base
SOAP
WSDL
UDDI
BPEL
Besoins d'interopérabilités : WS-I et Basic Profiles
SOA : quelles infrastructures?
ESB : un bus au service de SOA
Notion de SLA et les besoins non fonctionnels
Le besoin de supervision dans une architecture SOA
De nouvelles notions s'ajoutent à SOA:
le BAM
Le MDM
La notion de maturité SOA
La relation entre SOA & EDA
SOA– OXIA – 2008
Les 8 péchés capitaux de la SOA (anti-patterns SOA)
SOA : 7 bonnes pratiques
59 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
SOAP : Simple Object Access Protocol
Intégration de XML au- • Pour accéder services, objets et serveurs
dessus de HTTP : • Indépendant de toute plate-forme
Port de connexion (URL)
Pare-feu Pare-feu
Messages
Procuration Appel Translateur
SOAP
d'interface
SOAP
Application
HTTP
Cliente
RPC
local
Réponse
Parseur
Parseur
Application
SOA– OXIA – 2008
XML
XML
Serveur
60 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Structure d'un message
Protocol Headers Entête de protocoles (HTTP, SMTP, …)
<Envelope>
SOAP Envelope
<Header>
SOAP Header
<Body>
SOAP Body
SOA– OXIA – 2008
61
XML-RPC et SOAP une interopérabilité intrinsèque du SI Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour
SOAP : implémentation
.Net Web Services
Axis 1.x & Axis2
Xfire 1.2.2
SpringWS
WebSphere ...
SOA– OXIA – 2008
62 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Plan
Plan de la présentation
Evolution des architectures informatiques : applications & Système d’information
SI : Problématique de l’intégration en entreprise et intra-entreprises
Interopérabilité : différents points de vue
Présentation du concept SOA
La notion de service (au sens SOA)
Cycle de vie d’un service
Approches d’identification des services
Services Web : les spécifications XML de base
SOAP
WSDL
UDDI
BPEL
Web service pas forcément interopérable : WS-I et Basic Profiles
SOA– OXIA – 2008
SOA : quelles infrastructures?
Notion de SLA et les besoins non fonctionnels
Best Practices : SOA & interopérabilité
63 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
WSDL
Web Service Description Language
- Proposition jointe IBM, Microsoft, Ariba - septembre 2000.
- Permet de décrire le service Web, en précisant :
• Les méthodes qu'il rend disponible;
• Les paramètres d'entrée et de sortie;
• et comment y accéder.
- Grammaire XML (schéma XML ) : Modulaire
- Offre une interface qui est le point d’entrée du service.
SOA– OXIA – 2008
64 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
WSDL
Éléments d’une définition
<types>
• Contient les définitions de types utilisant un système de typage (comme XSD).
<message>
• Décrit les noms et types d’un ensemble de champs à transmettre
• Paramètres d’une invocation, valeur du retour, …
<porttype>
• Décrit un ensemble d’opérations. Chaque opération a zéro ou un message en entrée, zéro ou
plusieurs messages de sortie ou de fautes
<binding>
• Spécifie une liaison d’un <porttype> à un protocole concret (SOAP1.1, HTTP1.1, MIME, …). Un
<porttype> peut avoir plusieurs liaisons !
<port>
• Spécifie un point d’entrée (endpoint) comme la combinaison d’un <binding> et d’une adresse réseau.
SOA– OXIA – 2008
<service>
• Une collection de points d’entrée (endpoint) relatifs.
65 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Contrat dans les web services :
Contract -First pour une meilleure interopérabilité
Web Service deux approches
Contract-Last Contract-First :
créer les types de données,
SOA– OXIA – 2008
créer le code source
le messages envoyés puis
(classes java ou c#) puis
associer le code source
définir (ou générer) le web
service, wsdl, les types …
66 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Contrat dans les web services
Privilégier l'approche
contract-first
et Définir vos schéma XML (et gérer
vos XSD )
Les clients se
Définir les interfaces Anticipe les problèmes
concentrent sur le
XML des messages d'interopérabilités
message XML
SOA– OXIA – 2008
Commencer par les types (XSD) et
WSDL
67 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Plan
Plan de la présentation
Evolution des architectures informatiques : applications & Système d’information
SI : Problématique de l’intégration en entreprise et intra-entreprises
Interopérabilité : différents points de vue
Présentation du concept SOA
La notion de service (au sens SOA)
Cycle de vie d’un service
Approches d’identification des services
Services Web : les spécifications XML de base
SOAP
WSDL
UDDI
BPEL
Web service pas forcément interopérable : WS-I et Basic Profiles
SOA– OXIA – 2008
SOA : quelles infrastructures?
Notion de SLA et les besoins non fonctionnels
Best Practices : SOA & interopérabilité
68 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
UDDI : Annuaire des services
Universal Description, Discovery and Integration
Fonctions
Annuaire des services
Annuaire
Annuaire
UDDI
UDDI
Enregistrer
décrit par un
votre société
document
Enregistrer des
WSDL, autre … services Gérant de
requêtes
Enregistrer des
Accessible en
opérations
SOAP
Enveloppe
SOA– OXIA – 2008
Découvrir des +
Document
Service
services
Programme
69 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
UDDI : utilité d’un annuaire de service
SOA– OXIA – 2008
Scénario classique d'utilisation d'UDDI
70 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
UDDI : implémentation
Microsoft, IBM, Oracle ( et aussi BEA )…
open source : jUDDI
SOA– OXIA – 2008
71 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Plan
Plan de la présentation
Evolution des architectures informatiques : applications & Système d’information
SI : Problématique de l’intégration en entreprise et intra-entreprises
Interopérabilité : différents points de vue
Présentation du concept SOA
La notion de service (au sens SOA)
Cycle de vie d’un service
Approches d’identification des services
Services Web : les spécifications XML de base
SOAP
WSDL
UDDI
BPEL
Web service pas forcément interopérable : WS-I et Basic Profiles
SOA– OXIA – 2008
SOA : quelles infrastructures?
Notion de SLA et les besoins non fonctionnels
Best Practices : SOA & interopérabilité
72 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Le langage BPEL
Business Process Execution Language
Standard de l’OASIS (10+ ans de recherche Microsoft (XLANG) et IBM (WSFL, FDML) )
Norme permettant de décrire des processus en XML
Propose les fonctions basiques d’un langage de programmation:
• sequence, flow, loop, switch…
Identification des Instances de Process
Gestion des transactions longue durée (scope, compensation)
Gestion des erreurs
Gartner believes that BPEL will emerge as the BPEL is the future of the integration space in my view…Why?
leading industry standard for Web service Because the value is so much higher when you provide not only
SOA– OXIA – 2008
orchestration and coordination of business a way to integrate applications, but also a way to create services
processes. from them and put them into business processes
- John Rymer, Vice President, Forrester Research, Inc.
- David Smith, Research Vice President and fellow, Gartner
73
XML-RPC et SOAP une interopérabilité intrinsèque du SI Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour
BPEL le chef d’orchestre :
créer de nouveaux services par composition de services existants
Web Service
PORTAL
Java Service
Biztalk, .Net
?
J2EE ERP
SAP, Oracle, etc.
BPEL
SOA– OXIA – 2008
User Tasks
Biztalk
74 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Plan
Plan de la présentation
Evolution des architectures informatiques : applications & Système d’information
SI : Problématique de l’intégration en entreprise et intra-entreprises
Interopérabilité : différents points de vue
Présentation du concept SOA
La notion de service (au sens SOA)
Cycle de vie d’un service
Approches d’identification des services
Services Web : les spécifications XML de base
SOAP
WSDL
UDDI
BPEL
Web service pas forcément interopérable : WS-I et Basic Profiles
SOA– OXIA – 2008
SOA : quelles infrastructures?
Notion de SLA et les besoins non fonctionnels
Best Practices : SOA & interopérabilité
75 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Se conformer aux standards WS-I BP :
Privilégier le couplage faible
Consommateur du Service : Client Fournisseur du Service : Serveur
SOA– OXIA – 2008
76 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Profiles WS-I
Ensemble de spécifications ou standards à des niveaux de versions
spécifiques
Directives et conventions pour pouvoir connecter ces spécifications ensemble
Web Services-Interoperability Organization Group (www.ws-i.org)
Profiles: Basic, Attachments et Basic Security
SOAP 1.1
WSDL 1.1
Basic
UDDI 2.0
=
• Restrictions,
+ Profile 1.1
• Integration Guidance
XML Schema
SOA– OXIA – 2008
• Best Practices
XML 1.0 (Second Edition)
HTTP 1.1
SSL 3.0
77 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
WS-I Basic Profile
La WS-I Organisation a été créée pour promouvoir des schémas d’utilisation
interopérable des WS
Plus de 200 problèmes d'interopérabilité résolus avec WS-I Basic Profile 1.0
Conventions autour du messaging, description et découverte (discovery)
Exemple de conditions pour la conformité WS-Basic:
• “Un message doit être arrangé en série avec UTF-8 ou UTF-16”
• “Un message doit être envoyé avec HTTP/1.1 ou HTTP/1.0”
• “Un message ne doit pas contenir d'élément enfant de soap:Envelope après l'élément soap:Body”
SOA– OXIA – 2008
• “Le service doit utiliser le code HTTP “500 Internal Server Error” si la réponse est un message
SOAP fault”
• “Une description [WSDL] peux utiliser tous les composants de XML Schema 1.0”
78 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Profiles WS-I
WS-I Profiles
• WS-ReliableMessaging1.1
• WS-S 1.1
• WS-SecureConv
• SAML
WS-Addressing
SOAP 1.1
Reliable
WSDL 1.1
Secure
UDDI 2.0
79
Basic Profile 1.0
XML Schema
XML 1.0
Security
HTTP 1.1
Profile 1.1 SSL 3.0
Basic Profile 1.1, 1.2
SOA– OXIA – 2008
79 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
WS-I et Basic Profiles
SOA– OXIA – 2008
80 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
WSDL et format des messages
Styles s'applique au mécanisme
de traduction d'un binding WSDL Deux styles
lors de la construction d'un d’encodage :
message SOAP
Format RPC Format Document
SOA– OXIA – 2008
Structure imposée (nom Structure libre (n’importe
de méthode contenant quel arbre est transporté
les paramètres) dans l’enveloppe)
81 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
WSDL et format des messages
Deux styles
Avantages et inconvénients :
d’encodage :
Format Format
RPC Document (celui que je recommande
RPC Document
Facile à valider :
Plus difficile à valider (schéma non
respecte le schéma
Structure vérifiable un niveau SOAP)
imposé par SOAP
Structure libre
imposée (nom de (n’importe quel
méthode arbre est
contenant les transporté dans
Optimisations possibles (évite de passer
paramètres) Uniquement appel de
l’enveloppe)
la nom de la méthode par exp)
méthode (nom de
méthode +
paramètres)
Passage de messages purs (un arbre)
SOA– OXIA – 2008
Bien sûr utilisable pour faire de l’appel
de méthode!!!!
82 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Modes des Services Web
Un message SOAP contient des données typées (paramètres des services)
Il faut définir un moyen d’encoder et de décoder ces données
Vocabulaire SOAP :
Value (valeur d’une donnée)
Simple value (primtifs : string, integers, etc..)
Compound value (composées à partir des primitifs : array, struct, …)
• Type (d’une value) (Simple Type/Compond type)
Encodage : représentation de valeurs sous forme XML.
Décodage : construction de valeurs à partir d’XML
L’arbre XML représentant des valeurs a une structure qui dépend du type des
valeurs…
SOA– OXIA – 2008
83 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Modes des Services Web
Deux façon d’encoder Avantages et
les données inconvénients
Les types sont placés Les types sont définis
Literal (celui que je
dans le message par un schéma via wsdl Encoding :
recommande) :
(encoding) (literal)
Messages courts Messages longs
SOA– OXIA – 2008
Client et serveur Client ou serveur n’ont
doivent posséder le pas besoin de connaître
schéma pour valider le le schéma i.e. messages
message auto-validants
84 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Modes des Services Web
Style : RPC vs. Document
Encodage : Encoded vs. Literal
SOA– OXIA – 2008
85 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Modes des Services Web
Style : RPC vs. Document
Encodage : Encoded vs. Literal
SOA– OXIA – 2008
86 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
SOAP Fault
La balise Fault contient les balises
Balise suivantes
permettant
de signaler faultcode : un code permettant d’identifier le type
d’erreur
des cas • Client, Server, VersionMismatch, MustUnderstand
d’erreur.
faultstring : une explication en langage naturel
faultactor : une information identifiant l’initiateur de
l’erreur
SOA– OXIA – 2008
detail : définition précise de l’erreur.
87 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Conseil pour une meilleur interopérabilité
Utiliser les Schémas XML
Utiliser l’approche Contract-First
• garantit une interopérabilité dès la conception
Toujours utiliser des schémas XML
• Obligatoire pour les WS Document/Literal
Tout type de message défini dans le WSDL devrait être défini dans un Schéma
• – Messages In/Out des opérations
• – Fautes
Découple la sémantique de la signature des WS
• – Les opérations peuvent être stables au cours du temps
• – Seuls les schémas évoluent
Créer votre grammaire propre via XML Schema (s'inspirer de GS1, ebXML, …), fixer les
SOA– OXIA – 2008
espaces de nomages
Possibilité d'utiliser les framework de mapping objet/XML (JAXB, …)
88 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Penser à concevoir des services web asynchrones
Selon les uses cases, identifier les besoins aux
web service asynchrone
• Les WS asynchrones sont adaptés aux processus longs et
coûteux
Les meilleurs résultats sont obtenus en les
couplant avec des MOM (JMS en Java EE)
Penser à mettre en place un mécanisme de
notification
SOA– OXIA – 2008
89 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Plan
Plan de la présentation
Evolution des architectures informatiques : applications & Système d’information
SI : Problématique de l’intégration en entreprise et intra-entreprises
Interopérabilité : différents points de vue
Présentation du concept SOA
La notion de service (au sens SOA)
Cycle de vie d’un service
Approches d’identification des services
Services Web : les spécifications XML de base
SOAP
WSDL
UDDI
BPEL
Web service pas forcément interopérable : WS-I et Basic Profiles
SOA– OXIA – 2008
SOA : quelles infrastructures?
Notion de SLA et les besoins non fonctionnels
Best Practices : SOA & interopérabilité
91 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Besoin d'infrastructure ?
SOA– OXIA – 2008
92 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Standards Importants pour SOA
ERP/
Legacy Apps
Portal
Security
Custom Apps
Web Application Reliability & Services
Logging
Process Flow
Monitoring Failover
Logic
Optimization Dynamic Routing
WS
API Web services
GATEWAY
ORCHESTRATE BUSINESS
INTERACT/ACCESS
MONITOR &
SERVICES
OPTIMIZE
SOA– OXIA – 2008
PORTAL JSR-168 WS-Security XML/XML Schema
BAM BPEL WS-Policy, SAML
Struts/JSF
JMX WSDL/WSIF
XSLT/XQuery
Web Services Mgmt SOAP JCA JMS
SCA
93 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Besoin d'infrastructure ?
Enterprise
IDE BAM BI
Manager
MANAGEMENT
&
Eclipse System
Business
ROUTING & ORCHESTRATION GOVERNANCE
Events Analytics
MONITORING
V.S. Monitoring
Monitoring
Rules
BPEL Process
Framework Web Services
Manager
Human Business
BPEL
Workflow Rules
Engine
Management
DATA SERVICESBus (ESB)
Enterprise Service & CONNECTIVITY
App Dev
Framework Multi XSLT
Routing Security
Protocol Transform
B2B B2B Registry
DI
Adapters
Discovery
Apps DB ETL Partners Partners
Policies
SOA– OXIA – 2008
MOM
Application Server
ActiveMQ,
Mqseries,
J2EE / Windows .Net
MSMQ
94 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Contents
Plan du workshop
Quels sont les éléments clé d’une architecture orientée services ?
Services Web : les spécifications XML de base
SOAP
WSDL
UDDI
BPEL
Besoins d'interopérabilités : WS-I et Basic Profiles
SOA : quelles infrastructures?
ESB : un bus au service de SOA
Notion de SLA et les besoins non fonctionnels
Le besoin de supervision dans une architecture SOA
De nouvelles notions s'ajoutent à SOA:
le BAM
Le MDM
La notion de maturité SOA
SOA– OXIA – 2008
La relation entre SOA & EDA
Les 8 péchés capitaux de la SOA (anti-patterns SOA)
SOA : 7 bonnes pratiques
95 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
ESB (Enterprise Service Bus)
infrastructure SOA au service de l’interopérabilité
Middleware d’intégration fournissant des fonctionnalités comme
l’acheminement
le routage des messages,
la connexion des applications/progiciels (via des adaptateurs
dédiés ou des technologies standards – services web,..),
la transformation des données,
SOA– OXIA – 2008
et au-delà l’ensemble des médiations nécessaires aux échanges
dynamiques entre consommateurs et fournisseurs de services
96 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
L'ESB (bus de service d’entreprise) :
composant d’infrastructure central d’une SOA
Le but d’un ESB est de permettre de communiquer de manière simple et standardisée entre des
applications hétérogènes
Services de médiation
• Acheminement
• Transformation
Services d’événement
• Publier et abonner
Services de transport
• Synchrone / asynchrone
• Constant / non constant
• Couplage lâche / couplage étroit
SOA– OXIA – 2008
Axé sur les normes
• HTTP/HTTPS avec possibilité de messagerie fiable SW
C’est le point d’entrée vers un
• MOM, JMS, JAX-RPC, SOAP
• Sécurité Web, politique Web, adressage Web service
97 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
ESB
une maturité croissante de l’offre
Infrastructure qui optimise les échanges entre consommateurs et fournisseurs de services
ESB
Plate-forme d’intégration
Standards
Microsoft Biztalk
IBM Websphere Process Server
Microsoft Biztalk IBM Websphere ESB
Mule
BEA Weblogic Acqualogic
Sonic ESB
Oracle fusion
Petals de ObjectWeb
SAP “Netweaver”
SOA– OXIA – 2008
OpenESB (Sun)
serviceMix
98 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Plan
Plan de la présentation
Evolution des architectures informatiques : applications & Système d’information
SI : Problématique de l’intégration en entreprise et intra-entreprises
Interopérabilité : différents points de vue
Présentation du concept SOA
La notion de service (au sens SOA)
Cycle de vie d’un service
Approches d’identification des services
Services Web : les spécifications XML de base
SOAP
WSDL
UDDI
BPEL
Web service pas forcément interopérable : WS-I et Basic Profiles
SOA– OXIA – 2008
SOA : quelles infrastructures?
Notion de SLA et les besoins non fonctionnels
Best Practices : SOA & interopérabilité
99 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
SLA : Service Level Agreement
Une architecture orientée service (SOA) repose sur la définition et la publication de services
Définit de manière explicite l’interface du service sans préjuger de la technologie utilisée par le
consommateur ni de l’implémentation de ce service par le fournisseur
Imposer l’interopérabilité dans le SLA
SOA– OXIA – 2008
100 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Les contrats de services définissent les exigences opérationnelles
d’exploitation des services exposés
Producteurs et consommateurs définissent de objectifs de niveaux de services (SLO)
• Par exemple:
• Temps de réponse <2s
• Disponibilité de 99,9%
• Trafic maximum de 100 requêtes/h
Un engagement de services (SLA) est défini par
• Le ou les consommateurs pour lesquels il s’applique
• Le ou les services sur lesquels il s’applique
• Un ensemble de SLO
• La période de temps sur laquelle il s’applique
Des indicateurs de performances (KPI) seront utilisés pour gérer la qualité du service rendu
• Ils sont associé à un services
• Ils correspondent à un critère de finalité ou de performance du service
SOA– OXIA – 2008
• Ils peuvent être mesurés de façon quantitative ou qualitative, afin d’être comparés au résultat attendu.
• Leur étude doit permettre l’optimisation de la qualité de service.
101 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Plan
Plan de la présentation
Evolution des architectures informatiques : applications & Système d’information
SI : Problématique de l’intégration en entreprise et intra-entreprises
Interopérabilité : différents points de vue
Présentation du concept SOA
La notion de service (au sens SOA)
Cycle de vie d’un service
Approches d’identification des services
Services Web : les spécifications XML de base
SOAP
WSDL
UDDI
BPEL
Web service pas forcément interopérable : WS-I et Basic Profiles
SOA– OXIA – 2008
SOA : quelles infrastructures?
Notion de SLA et les besoins non fonctionnels
Best Practices : SOA & interopérabilité
102 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Inter-opérabilité & SOA
Services
Services métier
d'infrastructure
technologiques
réutilisables
Méta-information
Services métier
réutilisables
Services métier
Architecture
Interopérabilité
orientée services Modélisation
métier
Bon niveau
d'isolation vis-à-
Protocole de
vis des API
communication à
faible couplage
SOA– OXIA – 2008
Gestion des
versions
103 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Best Practices : SOA & interopérabilité
Gestion du
portefeuille de
service
Modèle de maturité : Cadre Commun
Benchmarking d’interopérabilité
Orchestration de
montée en charge à Processus,
la demande Workflow et Règles
métiers
SOA– OXIA – 2008
Sécurité et gestion l'Industrialisation du
développement des
logiciels
104 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
gérer le portefeuille de services
Bonnes pratiques
Contract- First & Interface-First
Documents à gros Grain
Interactions Asynchrones
Opérations d'annulation (Undo/Cancel)
Versioning
WS-I, Wrapped Document Style
SOA– OXIA – 2008
Penser à SCA
105 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Cadre Commun d’interopérabilité :
Connectivité et Message
SOA– OXIA – 2008
106 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Orchestrer les processus
Bonnes pratiques
BPEL & BPMN
XSLT Transformation
Service Workflow humain
Service Moteur de règles
Service de Notification
Service de gestion des Erreurs
Lien vers l'ESB
Trace et débogage
SOA– OXIA – 2008
Développement Itératif
Test Unitaire
107 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Etablir une politique de sécurité
Bonnes pratiques
WS-Policy, WS-Security
Capacité à changer la politique de sécurité sans
changer les services
SOA– OXIA – 2008
Intégration avec un ESB (Multi-binding
Support)
108 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Industrialiser
Avant l'Industrialisation du développement des logiciels
Activité du développeur
Concevoir le contrat & service
Coder l’interface du contrat
Coder le contrat des classes
Coder le « Endpoint » du service
Coder la configuration
SOA– OXIA – 2008
109
109 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Industrialiser
Après l'Industrialisation du développement des logiciels
Cadre commun
d’interopérabilité
Encadrement
Cadres
Usine logicielle en
architecturaux
contexte
Générer le contrat & service
Générer l’interface du contrat
Développement selon un
Générer le contrat des classes modèle
Générer le « Endpoint » du service
SOA– OXIA – 2008
Générer la configuration
110
110 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
montée en charge à la demande
Bonnes pratiques
Prévoir des Interactions Asynchrones
Traiter judicieusement le cas des documents XML de grande taille
“Stateless Architecture”
JCA and Java Binding
Prévoir le mode Batch (API batch)
SOA– OXIA – 2008
Réaliser des “POC performance” pour valider tous les choix techniques
111 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Pourquoi un modèle de maturité:
Benchmarking
Pour se positionner Pour planifier les
dans le chemin étapes à suivre pour
Définir une vision SOA
d'adoption d'une améliorer la maturité
démarche SOA de la pratique SOA
Where do you Ressources
Objectifs
want to go? requises
Gains
Pratiques obtenus
SOA– OXIA – 2008
(ROI)
112 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
The Hartford’s SOA Maturity Model
Standards Technology Organization Process
SOA
BP Modeling Bus. Process Continuous
Organizational
5 Standards Modeling Tools Improvement
Structure
BAM Tool Business Capacity
BAM, SCA
4 EPM Standard Service Planning,
WS-* Standards
Dashboard Depts Ent. Ref. Arch.
BPEL, BPMN SOA Best
Automated Tools
BPEL Engine, Enterprise
3 WS-Security, Practices,
Portal/Portlets SOA Education
JSR 168 Int. Ref. Arch
SOM, UDDI
WSDL, EA Dept., Governance,
2
Maturity
Registry, Rules,
UDDI Standards Tech. Service Dept. Operational Model
Message Bus
JMS
ROI
SOA– OXIA – 2008
1 Architect’s App. Ref.
SOAP, XML Web Services
Collective Architecture
Question : Where we are ?
113 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Modèle de référence de SOA de l’OASIS :
des sujets de recherche, toujours d’actualité
SOA– OXIA – 2008
Source : Norme du modèle de référence de SOA de l’OASIS, 12 octobre 2006
114 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
La suite …
SaaS
(Software
as a Service
SOA– OXIA – 2008
115 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
Khaled BEN DRISS
Directeur Technique 11 rue Claude Bernard
Tel : +216 71 28 27 00 1002 Le Belvédère
Tunis, Tunisia
Mob.: +216 25 23 45 30 Tél : +216 71 28 27 00
Fax : +216 71 28 27 05
khaled.bendriss@oxiasoft.com
www.oxiasoft.com
L’organisation du SI en couches & Urbanisation
une couche service à inventer
Métier
Description du métier compréhensible
par les acteurs du métier
Description et structuration Fonctionnelle
fonctionnelle du système
d’information
Définition de services contractualisés Services métiers
(contrat de Services)
Applicative
Description et structuration du système
informatique en composants logiciels
(Implémentation des Services)
SOA– OXIA – 2008
Technique
Infrastructure de fonctionnement du
::
système d'information et des
::
::
composants logiciels et applicatifs
Exemple d’une représentation adaptée : source CIGREF
117 Tunisie -Tozeur – 25/11/2008 khaled.bendriss@oxiasoft.com
WIA: SOA pour une interopérabilité intrinsèque du SI
0 comments
Post a comment