Yahya SLIMANI. Dept Informatique Faculté des Sciences de Tunis Systèmes et Réseaux 1

Documents pareils
Les Architectures Orientées Services (SOA)

Introduction aux «Services Web»

Urbanisme du Système d Information et EAI

Le cadre des Web Services Partie 1 : Introduction

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Messagerie asynchrone et Services Web

Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat)

Patrons de Conception (Design Patterns)

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

La démarche SOA et l interopérabilité applicative

Java - RMI Remote Method Invocation. Java - RMI

Systèmes d'informations historique et mutations

Programmation Web Avancée Introduction aux services Web

GRIDKIT: Pluggable Overlay Networks for Grid Computing

Business Process Execution Language

Analyse des techniques et des standards pour l interopérabilité entre plateformes

Les Services Web. Jean-Pierre BORG EFORT

BES WEBDEVELOPER ACTIVITÉ RÔLE

Description de la formation

Sommaire. Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

Le modèle client-serveur

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Urbanisation des SI Conduite du changement IT 20/03/09. Patrick CHAMBET

Mise en œuvre des serveurs d application

NFP111 Systèmes et Applications Réparties

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

Remote Method Invocation en Java (RMI)

Architectures n-tiers Intergiciels à objets et services web

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

Projet Active Object

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Intégration de systèmes

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. A308, Université de Paris 13

Fiche de l'awt Intégration des applications

Software Engineering and Middleware A Roadmap

From supply chain to demand chain

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Appui SIE :Développement de services web ADES/SIE

Nouvelles technologies pour l intégration : les ESB

BPEL Orchestration de Web Services

Classeur de suivi de l auditeur. Architecture et Ingénierie des Systèmes et des Logiciels

La sécurité des processus métiers et des transactions. Stéphane Marcassin Bull Services Sécurité

Sécurité des Web Services (SOAP vs REST)

Evaluation Idéopass Cahier d analyse technique

Plateforme Applicative Zend PHP Cloud

Architecture SOA Un Système d'information agile au service des entreprises et administrations

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

Diagrammes de Package, de déploiement et de composants UML

Urbanisation des Systèmes d'information

UE 8 Systèmes d information de gestion Le programme

DESCRIPTION DU COMPOSANT

e-business, EAI et Business Intelligence Le triptyque gagnant profondément les structures des organisations et par conséquence

2 Chapitre 1 Introduction

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Environnement collaboratif à base de GRID pour la construction interactive d'ontologies partagées

CORBA. (Common Request Broker Architecture)

Groupe Eyrolles, 2004, ISBN :

Prise en compte des ressources dans les composants logiciels parallèles

Web Application Models

Master Informatique et Systèmes. Architecture des Systèmes d Information. 03 Architecture Logicielle et Technique

Business Process Modeling (BPM)

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Bases de données. Chapitre 1. Introduction

Conception, architecture et urbanisation des systèmes d information

UCOPIA EXPRESS SOLUTION

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Architectures d'intégration de données

Bases de données et environnements distribués Chapitre I : Architecture logicielle technologies de developpement en environnement

Gestion des Identités : 5 règles d'or. Patrice Kiotsekian Directeur Evidian France

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

RTDS G3. Emmanuel Gaudin

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

République Algérienne Démocratique et Populaire Université Abou Bakr Belkaid Tlemcen Faculté des Sciences Département d Informatique

CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)

Intergiciel - concepts de base

Automatisation de l administration système

Firewall IDS Architecture. Assurer le contrôle des connexions au. Sécurité 1

Solutions d accès sécurisées pour opérer une Market Place Saas multitenante

Les nouvelles architectures des SI : Etat de l Art

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

des besoins de contenu des besoins de forme !"#$%&'($)$*"+,$-.*"#$*"$/.0#12+/13.0#

Introduction aux intergiciels

NSY102. Conception de logiciels Intranet Introduction

Environnements de Développement

Cours Bases de données

OS Réseaux et Programmation Système - C5

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Architecture distribuée

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

Introduction au Déploiement

La directive INSPIRE en Wallonie: le géoportail et l infrastructure de diffusion des géodonnées en Région wallonne (InfraSIG(

Rapport de veille technologique

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

Information utiles. webpage : Google+ : digiusto/

Introduction à la conception de systèmes d information

Transcription:

Cours de Système et Réseaux Maîtrise Informatique 4 ème année Partie II : Programmation d Applications Réparties Yahya SLIMANI Dept Informatique Faculté des Sciences de Tunis Yahya.slimani@fst.rnu.tn Y. SLIMANI, FST Tunis 1

Introduction (1) Motivations du réparti Evolution technologique Machines Intégration d une plus grande puissance Réseaux Accessibles financièrement Bonnes performances Débit, QoS Y. SLIMANI, FST Tunis 2

Introduction (2) Applications modernes Intégration d applications Faible pourcentage de développement proprement dit Adaptation d applications existantes Composition d applications Y. SLIMANI, FST Tunis 3

Source: M. Quinson (ESIAL) Y. SLIMANI, FST Tunis 4

Introduction (3) Application répartie Ensemble d applicatifs Fonctionnement collaboratif Communication + Synchronisation Aspects d une application répartie Traitement Stockage Echange avec l extérieur Y. SLIMANI, FST Tunis 5

Applications (1) Composant de base Procédure Elément d exécution et d échange Encapsulation du fonctionnement interne Accessible par son interface Plate-forme Locale Distante Y. SLIMANI, FST Tunis 6

Applications (2) Utilisation Appel de procédure Local Distant Modèle RPC (Remote Procedure Call) Y. SLIMANI, FST Tunis 7

Modèles d exécution Plusieurs modèles Client/Serveur Communication par messages Communication par événements Objet Composant Services Services Web (Web services) Y. SLIMANI, FST Tunis 8

Modèle Client/Serveur Fonctionnalités Client Envoi de requêtes Demande de service Exécution synchrone Serveur Fournit un ou plusieurs services Exemples Serveur de fichiers, de BD, de noms, Y. SLIMANI, FST Tunis 9

Plate-forme d exécution (1) Centralisée Client et Serveur sur la même machine Appel de procédure classique Invocation de méthode (objet) Partage de ressources Communication par ressources partagées Signaux, Tubes (pipes) Y. SLIMANI, FST Tunis 10

Plate-forme d exécution (2) Répartie Client et Serveur sur deux machines distantes Pas de partage Communication par messages Hétérogénéité ou homogénéité Modèle de fonctionnement RPC (Remote Procedure Call) Appel de procédure à distance Y. SLIMANI, FST Tunis 11

Modèle RPC (1) Y. SLIMANI, FST Tunis 12

Modèle RPC (2) Avantages Unification entre local et distant Même forme d appel Même scénario d exécution Modèle abstrait Transparence de la distribution N apparaît pas en programmation Indépendance vis-à-vis des protocoles de communication Y. SLIMANI, FST Tunis 13

Modèle RPC (3) Caractéristiques Modèle défini en 1984 par Birel et Nelson Implémenté par SUN en 1988 Utilisé à large échelle Exemple: Protocole NFS Y. SLIMANI, FST Tunis 14

Modèle RPC (5) Source: Martin Quinson (ESIAL) Y. SLIMANI, FST Tunis 15

Modèle RPC (6) Source: Austran 99 Y. SLIMANI, FST Tunis 16

Modèle RPC (7) Mise en œuvre Gère l hétérogénéité des environnements d exécution Assure une certaine sécurité Authentification Confidentialité des échanges Gère les problèmes de défaillances Client, Serveur, Réseau Y. SLIMANI, FST Tunis 17

Conception (1) Découpage d une application Déterminer les procédures qui la composent Découpage fin (granularité fine) Augmentation du nombre d appels Peu de calcul interne Augmentation de la charge réseau Effet sur le temps de traitement Y. SLIMANI, FST Tunis 18

Conception (2) Augmenter le grain Trouver un équilibre entre calcul et communication Améliorer le ratio Coût/Communication Structuration applicative Découpage au sens entreprise L application correspond à une activité de l entreprise Y. SLIMANI, FST Tunis 19

Conception (3) 3 niveaux Présentation Interfaces essentiellement graphiques Logique applicative Traitements Applications métiers Données Gestion (stockage, accès, ) Y. SLIMANI, FST Tunis 20

Modèle à 1 niveau Source: S. Krakowiak Y. SLIMANI, FST Tunis 21

Modèle à 2 niveaux Source: S. Krakowiak Y. SLIMANI, FST Tunis 22

Modèle à 3 niveaux Source: S. Krakowiak Y. SLIMANI, FST Tunis 23

Modèle à 3 niveaux ( (Suite Suite) Source: S. Krakowiak Y. SLIMANI, FST Tunis 24

Modèle à 4 niveaux Source: S. Krakowiak Y. SLIMANI, FST Tunis 25

Schémas de conception (1) Conception et programmation d applications réparties Architecture de l application Définir les éléments de l application Relations entre ces éléments Désignation et liaison Comment nommer et découvrir Machines, Services, Y. SLIMANI, FST Tunis 26

Schémas de conception (2) Sécurité Différents niveaux Applicatif, OS, Données, etc. Gestion des erreurs Gestion des pannes Réseau, Client, Serveur Qualité de services (QoS) Gestion des transactions Transfert, exécution, erreurs, etc. Y. SLIMANI, FST Tunis 27

Application répartie Conception et mise en œuvre 3 concepts fondamentaux Encapsulation Séparation entre l interface et la partie programmation interne Abstraction Etre le plus indépendant possible Décomposition en niveaux Schémas de conception Patterns Y. SLIMANI, FST Tunis 28

Schéma Pattern (1) Design Patterns (Patrons de conception) Définition de règles qui tiennent compte de deux aspects Classe de besoins précise Environnement de mise en œuvre Caractéristiques Basés sur le passé (expériences) Solutions réutilisables Schéma de conception réutilisable Y. SLIMANI, FST Tunis 29

Schéma Pattern (2) Principes de conception Ne font aucune référence à l implémentation Solution à un problème récurrent Ne décrit pas toute la solution Dépendance vis-à-vis de l environnement Y. SLIMANI, FST Tunis 30

Schéma Pattern (3) Qu est ce qui n est pas pattern Brique de base Dépend de l environnement Une règle Ne s applique pas mécaniquement Une méthode Ne dit pas comment prendre une décision Le pattern est la solution Y. SLIMANI, FST Tunis 31

Schéma Pattern (4) Exemple MVC Modèle (Données) Vue (Représentation des données) Contrôle (Traitement sur les données) Motifs Adapter, Factory Y. SLIMANI, FST Tunis 32

Schéma Proxy Présentation Appelé aussi Schéma mandataire Eléments de l application Objets répartis Accessibles à distance par des clients Transparence totale pour le client Localisation Réseaux Protocoles, Routages, etc Y. SLIMANI, FST Tunis 33

Y. SLIMANI, FST Tunis 34

Schéma Factory (1) Schéma Fabrique Application Ensemble d objets distants Problèmes Créer dynamiquement plusieurs instances d une même classe Pas d espace partagé Paramétrer les instances Instances évolutives Pas de codage en dur Y. SLIMANI, FST Tunis 35

Schéma Factory (2) Solution Définition d une interface et d une organisation pour créer des objets Distinguer entre création fictive et création réelle Création réelle Déléguée à une fabrique qui implémente les méthodes de création Objectif d une factory Renvoyer des objets concrets qui implémentent une interface commune Y. SLIMANI, FST Tunis 36

Schéma Factory (3) Exemple Application où les utilisateurs doivent pouvoir exporter les données de plusieurs types d'objets (Personne, Société, Voiture, ) dans un format spécifique Ces objets ne doivent pas savoir qu'ils peuvent être exportés Contiennent juste des variables d'instance, des getters et setters mais jamais de méthode export() ou équivalent public static ExportObject createexportable(object source) Y. SLIMANI, FST Tunis 37

Schémas Wrapper (1) Schéma Adapter Fournisseurs délivrent des services Services accessibles par les clients Services définis par des interfaces Possibilité de modifier l interface d un serveur Convertir l interface d une classe vers une autre «interface» que le client connaît Y. SLIMANI, FST Tunis 38

Schémas Wrapper (2) Motivations Création de classes pour être réutilisées Contexte d utilisation de l objet n est pas dans le même domaine d utilisation que l application Exemple : Utiliser un objet Cercle dans un contexte d objets carrés Utilisation du code applicatif mais pas son interface Y. SLIMANI, FST Tunis 39

Schémas Wrapper (3) Principe Utilisation de l héritage multiple Créer un objet tiers (troisième objet) qui réunira deux objets de domaines différents Y. SLIMANI, FST Tunis 40

Schémas Interceptor (1) Schéma Intercepteur Basé sur la notion de service Contextes C/S, P2P, Synchrone, Asynchrone, Problèmes liés au service Modification, Mobilité, Y. SLIMANI, FST Tunis 41

Schémas Interceptor (2) Objectif Transformer un service sans modifier les clients et les serveurs Solution Créer des objets d interposition Interceptent les appels (retours) et insèrent des traitements spécifiques Y. SLIMANI, FST Tunis 42

Applications Web (1) Définition Manière standard d'invoquer une application distante et récupérer les résultats de son exécution à travers le web Web Support d exécution des applications Support de communication Indépendant de tout langage et de plate-forme Y. SLIMANI, FST Tunis 43

Applications Web (2) Motivations Intégration d applications Qu est ce que l on intègre? Service Spécialisation d une tâche Service courrier Problématiques Applications indépendantes Applications hétérogènes Y. SLIMANI, FST Tunis 44

Applications Web (3) Objectifs Interopérabilité entre applications Couplage faible Coopération à travers des interfaces Outil de base XML Y. SLIMANI, FST Tunis 45

Applications Web (4) Propriétés d un service Auto-descriptif Repérable ou identifiable à partir d une description Eléments d un service web WSDL Web Services Description Language Langage de description d une interface Y. SLIMANI, FST Tunis 46

Applications Web (5) Accès à un service Web SOAP Simple Object Access Protocol Protocole Internet pour la communication Annuaire des Services UDDI Universal Description, Discovery and Integration Protocole pour l enregistrement et la découverte de services Y. SLIMANI, FST Tunis 47

Mise en oeuvre Source: S. Krakowiak Y. SLIMANI, FST Tunis 48

WSDL Y. SLIMANI, FST Tunis 49

SOAP Présentation Mécanisme d échange d informations typées et structurées Description à l aide d XML Y. SLIMANI, FST Tunis 50

Source: S. Krakowiak Y. SLIMANI, FST Tunis 51

Source: S. Krakowiak Y. SLIMANI, FST Tunis 52

UDDI Présentation Annuaire de description des services Assure plusieurs fonctions Pages jaunes Fournisseurs de services (catégorie) Pages blanches Fournisseurs de services (nom) Pages vertes Définition des Services fournis Y. SLIMANI, FST Tunis 53