SlideShare uma empresa Scribd logo
1 de 118
Baixar para ler offline
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                           quot;Faire du nouveau
     globaux entre blocs                              réutilisation à l’intérieur                    avec de l'ancienquot;
          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 quot;abstraitquot;
   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
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x
01 Soa  25  Nov 2008 Wia 1er  Oxia  V 1.0.0x

Mais conteúdo relacionado

Destaque

40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...
40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...
40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...Daniels Training Services
 
Removal of chromium
Removal of chromiumRemoval of chromium
Removal of chromiumAmr Elshikh
 
Corrosion Sl Part One
Corrosion Sl Part OneCorrosion Sl Part One
Corrosion Sl Part OneSteve1954
 
10 major industrial applications of sulfuric acid
10 major industrial applications of sulfuric acid10 major industrial applications of sulfuric acid
10 major industrial applications of sulfuric acidrita martin
 
A SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESS
A SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESSA SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESS
A SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESSJournal For Research
 
Chromium problems
Chromium problemsChromium problems
Chromium problemscrazyaxe
 
Aluminum Anodizing
Aluminum AnodizingAluminum Anodizing
Aluminum AnodizingAACOA.com
 
TALAT Lecture 5203: Anodizing of Aluminium
TALAT Lecture 5203: Anodizing of AluminiumTALAT Lecture 5203: Anodizing of Aluminium
TALAT Lecture 5203: Anodizing of AluminiumCORE-Materials
 
Lecture on Lead Acid Battery
Lecture on Lead Acid BatteryLecture on Lead Acid Battery
Lecture on Lead Acid BatteryAniket Singh
 
Methods for removal of chromium
Methods for removal of chromiumMethods for removal of chromium
Methods for removal of chromiumArvind Gupta
 
Le rôle des identifiants dans l'environnement numérique
Le rôle des identifiants dans l'environnement numériqueLe rôle des identifiants dans l'environnement numérique
Le rôle des identifiants dans l'environnement numériqueABES
 
introduction à l'architecture de l'information - 2011
introduction à l'architecture de l'information - 2011introduction à l'architecture de l'information - 2011
introduction à l'architecture de l'information - 2011Christophe Cotin Valois
 

Destaque (19)

Cathodic and anodic protection
Cathodic and anodic protectionCathodic and anodic protection
Cathodic and anodic protection
 
Corrosion
CorrosionCorrosion
Corrosion
 
final report.edit
final report.editfinal report.edit
final report.edit
 
40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...
40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...
40 cfr 261.4(b)(6) The RCRA Exclusion From Hazardous Waste for Trivalent Chro...
 
Removal of chromium
Removal of chromiumRemoval of chromium
Removal of chromium
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
 
Corrosion Sl Part One
Corrosion Sl Part OneCorrosion Sl Part One
Corrosion Sl Part One
 
10 major industrial applications of sulfuric acid
10 major industrial applications of sulfuric acid10 major industrial applications of sulfuric acid
10 major industrial applications of sulfuric acid
 
Principles of corrosion
Principles of corrosionPrinciples of corrosion
Principles of corrosion
 
A SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESS
A SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESSA SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESS
A SHORT REVIEW ON ALUMINIUM ANODIZING: AN ECO-FRIENDLY METAL FINISHING PROCESS
 
Chromium problems
Chromium problemsChromium problems
Chromium problems
 
Aluminum Anodizing
Aluminum AnodizingAluminum Anodizing
Aluminum Anodizing
 
CORROSIVE DAMAGE IN METALS AND ITS PREVENTION
CORROSIVE DAMAGE IN METALS AND ITS PREVENTIONCORROSIVE DAMAGE IN METALS AND ITS PREVENTION
CORROSIVE DAMAGE IN METALS AND ITS PREVENTION
 
TALAT Lecture 5203: Anodizing of Aluminium
TALAT Lecture 5203: Anodizing of AluminiumTALAT Lecture 5203: Anodizing of Aluminium
TALAT Lecture 5203: Anodizing of Aluminium
 
Lecture on Lead Acid Battery
Lecture on Lead Acid BatteryLecture on Lead Acid Battery
Lecture on Lead Acid Battery
 
Methods for removal of chromium
Methods for removal of chromiumMethods for removal of chromium
Methods for removal of chromium
 
Le rôle des identifiants dans l'environnement numérique
Le rôle des identifiants dans l'environnement numériqueLe rôle des identifiants dans l'environnement numérique
Le rôle des identifiants dans l'environnement numérique
 
Modern Catalyst
Modern  CatalystModern  Catalyst
Modern Catalyst
 
introduction à l'architecture de l'information - 2011
introduction à l'architecture de l'information - 2011introduction à l'architecture de l'information - 2011
introduction à l'architecture de l'information - 2011
 

Mais de Khaled Ben Driss

Extrait article technica_khaled ben_driss_p24_dec_2011_586_entier_bat2.page01
Extrait article technica_khaled ben_driss_p24_dec_2011_586_entier_bat2.page01Extrait article technica_khaled ben_driss_p24_dec_2011_586_entier_bat2.page01
Extrait article technica_khaled ben_driss_p24_dec_2011_586_entier_bat2.page01Khaled Ben Driss
 
Formation devops par la pratique
Formation devops par la pratiqueFormation devops par la pratique
Formation devops par la pratiqueKhaled Ben Driss
 
Workshop blockchain for logistic list &amp;wevioo 07 11-2017 tunis
Workshop blockchain for logistic list &amp;wevioo 07 11-2017 tunisWorkshop blockchain for logistic list &amp;wevioo 07 11-2017 tunis
Workshop blockchain for logistic list &amp;wevioo 07 11-2017 tunisKhaled Ben Driss
 
T-Vioo : Le Logiciel Rh Intégré Par Wevioo
T-Vioo : Le Logiciel Rh Intégré Par WeviooT-Vioo : Le Logiciel Rh Intégré Par Wevioo
T-Vioo : Le Logiciel Rh Intégré Par WeviooKhaled Ben Driss
 
BLOCKCHAIN: A GAME-CHANGING TECHNOLOGY
BLOCKCHAIN: A GAME-CHANGING TECHNOLOGY BLOCKCHAIN: A GAME-CHANGING TECHNOLOGY
BLOCKCHAIN: A GAME-CHANGING TECHNOLOGY Khaled Ben Driss
 
Smart industrie 23 24 mai 2017 tunisie flyer-smart-industrie
Smart industrie 23 24 mai 2017 tunisie flyer-smart-industrieSmart industrie 23 24 mai 2017 tunisie flyer-smart-industrie
Smart industrie 23 24 mai 2017 tunisie flyer-smart-industrieKhaled Ben Driss
 
"Performance Analysis of In-Network Caching in Content-Centric Advanced Meter...
"Performance Analysis of In-Network Caching in Content-Centric Advanced Meter..."Performance Analysis of In-Network Caching in Content-Centric Advanced Meter...
"Performance Analysis of In-Network Caching in Content-Centric Advanced Meter...Khaled Ben Driss
 
Wevioo brochure embedded systems & IOT web
Wevioo brochure embedded systems & IOT webWevioo brochure embedded systems & IOT web
Wevioo brochure embedded systems & IOT webKhaled Ben Driss
 
Formation LA BLOCKCHAIN PAR LA PRATIQUE
Formation LA BLOCKCHAIN PAR LA PRATIQUE  Formation LA BLOCKCHAIN PAR LA PRATIQUE
Formation LA BLOCKCHAIN PAR LA PRATIQUE Khaled Ben Driss
 
Le siège de wevioo : un lieu humanisé à la pointe de la technologie, convivia...
Le siège de wevioo : un lieu humanisé à la pointe de la technologie, convivia...Le siège de wevioo : un lieu humanisé à la pointe de la technologie, convivia...
Le siège de wevioo : un lieu humanisé à la pointe de la technologie, convivia...Khaled Ben Driss
 
Le siège de wevioo : un lieu humanisé a la pointe de la technologie
Le siège de wevioo : un lieu humanisé a la pointe de la technologieLe siège de wevioo : un lieu humanisé a la pointe de la technologie
Le siège de wevioo : un lieu humanisé a la pointe de la technologieKhaled Ben Driss
 
Evaluating content-centric communication over power line communication infras...
Evaluating content-centric communication over power line communication infras...Evaluating content-centric communication over power line communication infras...
Evaluating content-centric communication over power line communication infras...Khaled Ben Driss
 
Khaled B E N D R I S S Www Journaldunet Com Solutions Expert 37999 Appel A ...
Khaled  B E N  D R I S S Www Journaldunet Com Solutions Expert 37999 Appel A ...Khaled  B E N  D R I S S Www Journaldunet Com Solutions Expert 37999 Appel A ...
Khaled B E N D R I S S Www Journaldunet Com Solutions Expert 37999 Appel A ...Khaled Ben Driss
 
Khaled B E N D R I S S Www Journaldunet Com Solutions 1oul3kih
Khaled  B E N  D R I S S Www Journaldunet Com Solutions 1oul3kihKhaled  B E N  D R I S S Www Journaldunet Com Solutions 1oul3kih
Khaled B E N D R I S S Www Journaldunet Com Solutions 1oul3kihKhaled Ben Driss
 
Khaled B E N D R I S S Www Journaldunet Com Developpeur Expert 37342 Si Ibm...
Khaled  B E N  D R I S S Www Journaldunet Com Developpeur Expert 37342 Si Ibm...Khaled  B E N  D R I S S Www Journaldunet Com Developpeur Expert 37342 Si Ibm...
Khaled B E N D R I S S Www Journaldunet Com Developpeur Expert 37342 Si Ibm...Khaled Ben Driss
 
Khaled B E N D R I S S Www Journaldunet Com Developpeur Tefdyntc
Khaled  B E N  D R I S S Www Journaldunet Com Developpeur TefdyntcKhaled  B E N  D R I S S Www Journaldunet Com Developpeur Tefdyntc
Khaled B E N D R I S S Www Journaldunet Com Developpeur TefdyntcKhaled Ben Driss
 
Portail Java EE Solutions Libres
Portail Java EE Solutions LibresPortail Java EE Solutions Libres
Portail Java EE Solutions LibresKhaled Ben Driss
 
Khaled Ben Driss 10 Juillet 2008 V1.0.6 [Mode De Compatibilité]
Khaled Ben Driss 10 Juillet 2008 V1.0.6 [Mode De Compatibilité]Khaled Ben Driss 10 Juillet 2008 V1.0.6 [Mode De Compatibilité]
Khaled Ben Driss 10 Juillet 2008 V1.0.6 [Mode De Compatibilité]Khaled Ben Driss
 
Certification De Java Enterprise Edition V1 0 1
Certification De Java Enterprise Edition V1 0 1Certification De Java Enterprise Edition V1 0 1
Certification De Java Enterprise Edition V1 0 1Khaled Ben Driss
 
Khaled Ben Driss 28 Fev 2007 V1.0.4
Khaled Ben Driss 28 Fev 2007 V1.0.4Khaled Ben Driss 28 Fev 2007 V1.0.4
Khaled Ben Driss 28 Fev 2007 V1.0.4Khaled Ben Driss
 

Mais de Khaled Ben Driss (20)

Extrait article technica_khaled ben_driss_p24_dec_2011_586_entier_bat2.page01
Extrait article technica_khaled ben_driss_p24_dec_2011_586_entier_bat2.page01Extrait article technica_khaled ben_driss_p24_dec_2011_586_entier_bat2.page01
Extrait article technica_khaled ben_driss_p24_dec_2011_586_entier_bat2.page01
 
Formation devops par la pratique
Formation devops par la pratiqueFormation devops par la pratique
Formation devops par la pratique
 
Workshop blockchain for logistic list &amp;wevioo 07 11-2017 tunis
Workshop blockchain for logistic list &amp;wevioo 07 11-2017 tunisWorkshop blockchain for logistic list &amp;wevioo 07 11-2017 tunis
Workshop blockchain for logistic list &amp;wevioo 07 11-2017 tunis
 
T-Vioo : Le Logiciel Rh Intégré Par Wevioo
T-Vioo : Le Logiciel Rh Intégré Par WeviooT-Vioo : Le Logiciel Rh Intégré Par Wevioo
T-Vioo : Le Logiciel Rh Intégré Par Wevioo
 
BLOCKCHAIN: A GAME-CHANGING TECHNOLOGY
BLOCKCHAIN: A GAME-CHANGING TECHNOLOGY BLOCKCHAIN: A GAME-CHANGING TECHNOLOGY
BLOCKCHAIN: A GAME-CHANGING TECHNOLOGY
 
Smart industrie 23 24 mai 2017 tunisie flyer-smart-industrie
Smart industrie 23 24 mai 2017 tunisie flyer-smart-industrieSmart industrie 23 24 mai 2017 tunisie flyer-smart-industrie
Smart industrie 23 24 mai 2017 tunisie flyer-smart-industrie
 
"Performance Analysis of In-Network Caching in Content-Centric Advanced Meter...
"Performance Analysis of In-Network Caching in Content-Centric Advanced Meter..."Performance Analysis of In-Network Caching in Content-Centric Advanced Meter...
"Performance Analysis of In-Network Caching in Content-Centric Advanced Meter...
 
Wevioo brochure embedded systems & IOT web
Wevioo brochure embedded systems & IOT webWevioo brochure embedded systems & IOT web
Wevioo brochure embedded systems & IOT web
 
Formation LA BLOCKCHAIN PAR LA PRATIQUE
Formation LA BLOCKCHAIN PAR LA PRATIQUE  Formation LA BLOCKCHAIN PAR LA PRATIQUE
Formation LA BLOCKCHAIN PAR LA PRATIQUE
 
Le siège de wevioo : un lieu humanisé à la pointe de la technologie, convivia...
Le siège de wevioo : un lieu humanisé à la pointe de la technologie, convivia...Le siège de wevioo : un lieu humanisé à la pointe de la technologie, convivia...
Le siège de wevioo : un lieu humanisé à la pointe de la technologie, convivia...
 
Le siège de wevioo : un lieu humanisé a la pointe de la technologie
Le siège de wevioo : un lieu humanisé a la pointe de la technologieLe siège de wevioo : un lieu humanisé a la pointe de la technologie
Le siège de wevioo : un lieu humanisé a la pointe de la technologie
 
Evaluating content-centric communication over power line communication infras...
Evaluating content-centric communication over power line communication infras...Evaluating content-centric communication over power line communication infras...
Evaluating content-centric communication over power line communication infras...
 
Khaled B E N D R I S S Www Journaldunet Com Solutions Expert 37999 Appel A ...
Khaled  B E N  D R I S S Www Journaldunet Com Solutions Expert 37999 Appel A ...Khaled  B E N  D R I S S Www Journaldunet Com Solutions Expert 37999 Appel A ...
Khaled B E N D R I S S Www Journaldunet Com Solutions Expert 37999 Appel A ...
 
Khaled B E N D R I S S Www Journaldunet Com Solutions 1oul3kih
Khaled  B E N  D R I S S Www Journaldunet Com Solutions 1oul3kihKhaled  B E N  D R I S S Www Journaldunet Com Solutions 1oul3kih
Khaled B E N D R I S S Www Journaldunet Com Solutions 1oul3kih
 
Khaled B E N D R I S S Www Journaldunet Com Developpeur Expert 37342 Si Ibm...
Khaled  B E N  D R I S S Www Journaldunet Com Developpeur Expert 37342 Si Ibm...Khaled  B E N  D R I S S Www Journaldunet Com Developpeur Expert 37342 Si Ibm...
Khaled B E N D R I S S Www Journaldunet Com Developpeur Expert 37342 Si Ibm...
 
Khaled B E N D R I S S Www Journaldunet Com Developpeur Tefdyntc
Khaled  B E N  D R I S S Www Journaldunet Com Developpeur TefdyntcKhaled  B E N  D R I S S Www Journaldunet Com Developpeur Tefdyntc
Khaled B E N D R I S S Www Journaldunet Com Developpeur Tefdyntc
 
Portail Java EE Solutions Libres
Portail Java EE Solutions LibresPortail Java EE Solutions Libres
Portail Java EE Solutions Libres
 
Khaled Ben Driss 10 Juillet 2008 V1.0.6 [Mode De Compatibilité]
Khaled Ben Driss 10 Juillet 2008 V1.0.6 [Mode De Compatibilité]Khaled Ben Driss 10 Juillet 2008 V1.0.6 [Mode De Compatibilité]
Khaled Ben Driss 10 Juillet 2008 V1.0.6 [Mode De Compatibilité]
 
Certification De Java Enterprise Edition V1 0 1
Certification De Java Enterprise Edition V1 0 1Certification De Java Enterprise Edition V1 0 1
Certification De Java Enterprise Edition V1 0 1
 
Khaled Ben Driss 28 Fev 2007 V1.0.4
Khaled Ben Driss 28 Fev 2007 V1.0.4Khaled Ben Driss 28 Fev 2007 V1.0.4
Khaled Ben Driss 28 Fev 2007 V1.0.4
 

01 Soa 25 Nov 2008 Wia 1er Oxia V 1.0.0x

  • 1. SOA : pour une interopérabilité intrinsèque du Système d’Information Khaled BEN DRISS Khaled.bendriss@oxiasoft.com Tozeur le 25 novembre 2008
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 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:
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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 quot;Faire du nouveau globaux entre blocs réutilisation à l’intérieur avec de l'ancienquot; 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
  • 34. 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
  • 35. 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
  • 36. 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
  • 37. Dans SOA il y a Service ? SOA est une Avant tout : un Exemple histoire de service doit conception pas de être quot;abstraitquot; 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
  • 38. 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
  • 39. 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
  • 40. 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
  • 41. 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
  • 42. 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
  • 43. 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
  • 44. 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
  • 45. 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
  • 46. 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
  • 47. 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
  • 48. 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
  • 49. 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
  • 50. 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
  • 51. 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
  • 52. 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
  • 53. 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
  • 54. 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
  • 55. 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
  • 56. 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
  • 57. 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
  • 58. 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
  • 59. 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
  • 60. 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
  • 61. 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
  • 62. 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
  • 63. 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
  • 64. 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
  • 65. 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
  • 66. 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
  • 67. 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
  • 68. 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
  • 69. 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
  • 70. 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
  • 71. 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
  • 72. 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
  • 73. 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
  • 74. 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
  • 75. 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
  • 76. 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
  • 77. 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
  • 78. 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
  • 79. 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
  • 80. 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
  • 81. 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
  • 82. 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
  • 83. 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
  • 84. 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
  • 85. 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
  • 86. 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
  • 87. 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
  • 88. 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
  • 89. 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
  • 90. 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