La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Programmation Approche composants Ing5 SI. 2 Plan du module Approche composants et interopérabilité des SI sur.net. Approche composants et interopérabilité

Présentations similaires


Présentation au sujet: "1 Programmation Approche composants Ing5 SI. 2 Plan du module Approche composants et interopérabilité des SI sur.net. Approche composants et interopérabilité"— Transcription de la présentation:

1 1 Programmation Approche composants Ing5 SI

2 2 Plan du module Approche composants et interopérabilité des SI sur.net. Approche composants et interopérabilité des SI sur.net. Approche composants et interopérabilité des SI sur Java. Approche composants et interopérabilité des SI sur Java. TP approche composants TP approche composants Création d application ASP.NET Création d application ASP.NET Création de web services. Création de web services. Consommation de web services (sur différents type de clients) Consommation de web services (sur différents type de clients) interopérabilité dans.net interopérabilité dans.net

3 3 Organisation du module Approche composants.Net4*3H Approche composants.Net4*3H Examen DS Examen DS Approche composant Java4*3H Approche composant Java4*3H Examen DS Examen DS TP4*4H TP4*4H ?? ??

4 4 Plan du cours Rappels des notions techniques abordées. Rappels des notions techniques abordées. Approche composants. Approche composants. Évolution de la programmation composant. Évolution de la programmation composant. Modèle en couches. Modèle en couches. Programmation distribuée. Programmation distribuée. Présentations des technologies. Présentations des technologies. Les solutions Microsoft. Les solutions Microsoft..NetRemoting..NetRemoting. ASP.NET. ASP.NET. Les Web services. Les Web services. Interopérabilité API/COM dans.Net. Interopérabilité API/COM dans.Net.

5 5 Rappels

6 6 Rappel de notions techniques Classes abstraites. Classes abstraites. Interfaces. Interfaces. Les fabriques. Les fabriques. ADO Net. ADO Net.

7 7 Classe Abstraite Sert de base à une hiérarchie d'objets partageant des méthodes communes mais dont l'implémentation réelle peut varier. Sert de base à une hiérarchie d'objets partageant des méthodes communes mais dont l'implémentation réelle peut varier. Une classe est dite abstraite si elle ne fournit pas d'implémentation pour au moins lune de ses méthodes. Une classe est dite abstraite si elle ne fournit pas d'implémentation pour au moins lune de ses méthodes. Une classe abstraite ne peut être instanciée Une classe abstraite ne peut être instanciée

8 8 Code source

9 9 Interface Une interface peut être vue comme une classe abstraite "pure", c'est à dire une classe dont tous les attributs sont abstraits. Une interface peut être vue comme une classe abstraite "pure", c'est à dire une classe dont tous les attributs sont abstraits. Une interface n'est pas instanciable. Une interface n'est pas instanciable. Une interface est en fait un contrat qu'une classe s'engage à respecter. Une interface est en fait un contrat qu'une classe s'engage à respecter. Une interface ne peut contenir aucun code. Une interface ne peut contenir aucun code. Une classe n'hérite pas d'une interface, elle l'implémente. Une classe n'hérite pas d'une interface, elle l'implémente. Une classe peut implémenter plusieurs interfaces. Une classe peut implémenter plusieurs interfaces.

10 10 Code source

11 11 Les fabriques de classes Les classes fabriques sont utiliser pour simuler un constructeur dun objet Interface. Les classes fabriques sont utiliser pour simuler un constructeur dun objet Interface. Sa mission est de créer un objet spécifique en fonction d'un paramètre et de retourner une interface au client. Sa mission est de créer un objet spécifique en fonction d'un paramètre et de retourner une interface au client.

12 12 Code source

13 13 ADO.net DataSet DataSet DataTable DataTable DataAdaptater DataAdaptater DbConnexion DbConnexion DbCommande DbCommande DbParameters DbParameters DataTableMapping DataTableMapping DbProviderFactory DbProviderFactory DbProviderFactories DbProviderFactories DbProviderInvariantName DbProviderInvariantName

14 14 Code Source

15 15 Approche composant

16 16 Approche Mainframe AVANTAGES AVANTAGES Modèle de conception simple. Modèle de conception simple. Pas de dépendance avec dautre code. Pas de dépendance avec dautre code. Facilité de distribution. Facilité de distribution.INCONVENIANT Code difficile à maintenir. Code difficile à maintenir. Difficulté de travail coopératif. Difficulté de travail coopératif. Pas de réutilisation du code. Pas de réutilisation du code. Ces approches sont adaptées à de petit projet ne demandant pas une grande évolution dans le temps.

17 17 La complexité des applications informatiques modernes atteint des proportions telles quil devient impossible de maîtriser les nouveaux développements si lon ne leur applique pas une structuration et une méthodologie rigoureuses. La complexité des applications informatiques modernes atteint des proportions telles quil devient impossible de maîtriser les nouveaux développements si lon ne leur applique pas une structuration et une méthodologie rigoureuses. Dans ce domaine, les approches « anciennes » de type mainframe, ou même lapproche « pur objet » ont montré un certain nombre de limites. Dans ce domaine, les approches « anciennes » de type mainframe, ou même lapproche « pur objet » ont montré un certain nombre de limites.

18 18 Évolution des modèles N/Tiers Séparation du code en plusieurs couches spécialisées. Séparation du code en plusieurs couches spécialisées. Indépendance entre les différentes couches Indépendance entre les différentes couches Répartition des charges sur différentes machines (client et serveur) Répartition des charges sur différentes machines (client et serveur)

19 19 Modèle à 1 couche Aucune séparation entre les données le code de lapplication et linterface utilisateur. Aucune séparation entre les données le code de lapplication et linterface utilisateur.

20 20 Inconvénient du modèle 1 couches Nécessite une connexion différente au serveur de BDD pour chaque utilisateur. Nécessite une connexion différente au serveur de BDD pour chaque utilisateur. Le client doit posséder les drivers des BDD auxquelles il désire accéder. Le client doit posséder les drivers des BDD auxquelles il désire accéder. Le code de linterface est mélange à la logique métier et à la gestion des connexions aux Bdd. Le code de linterface est mélange à la logique métier et à la gestion des connexions aux Bdd.

21 21 Difficulté de gestion à plusieurs utilisateurs ayant accès à plusieurs type de bases. Difficulté de gestion à plusieurs utilisateurs ayant accès à plusieurs type de bases.

22 22 Modèle à 2 couches Ajout dune couche daccès aux données. Ajout dune couche daccès aux données.

23 23 Avantages Indépendance entre le client et le type de données. Indépendance entre le client et le type de données. Possibilté de mutualiser les accès aux BDD. Possibilté de mutualiser les accès aux BDD. Le client na pas à connaître le type de BDD à laquelle il se connecte. Le client na pas à connaître le type de BDD à laquelle il se connecte.

24 24 Inconvénients Le code métier et le code de linterface sont mélangés. Le code métier et le code de linterface sont mélangés.

25 25 Avantage du modèle à 3 couches Centralisation de la logique métier. Centralisation de la logique métier. Mise a jour de la logique métier sans recompilation des applications clientes. Mise a jour de la logique métier sans recompilation des applications clientes. Lapplication cliente est indépendante du format des données de la BDD. Lapplication cliente est indépendante du format des données de la BDD. Possibilité de partager les couches métier entre plusieurs utilisateurs. Possibilité de partager les couches métier entre plusieurs utilisateurs. Les clients nont plus besoins des drivers de BDD. Les clients nont plus besoins des drivers de BDD.

26 26 Modèle adapté à la programmation Web Notion de clients légers. Notion de clients légers.

27 27 Définition du rôle de chaque couches

28 28 La couche représentation. Interface graphique, console de saisie ou autre (navigateur web). Interface graphique, console de saisie ou autre (navigateur web). Cest lintermédiaire entre lutilisateur et lapplication. Cest lintermédiaire entre lutilisateur et lapplication. Formatage des informations de saisie et des valeurs de retours. Formatage des informations de saisie et des valeurs de retours. Spécifique à chaque matériel daffichage, Applications Web, Windows form, Pocket PC... Spécifique à chaque matériel daffichage, Applications Web, Windows form, Pocket PC... Gestion des différents appareils de saisie, Clavier, souris, Tablet Pc,... Gestion des différents appareils de saisie, Clavier, souris, Tablet Pc,...

29 29 La couche logique. Formate les informations pour les communiquer aux BDD ou aux interfaces utilisateurs. Formate les informations pour les communiquer aux BDD ou aux interfaces utilisateurs. Peut dédier de façon transparente pour lutilisateur une partie de son traitement, via des composants distribués. Peut dédier de façon transparente pour lutilisateur une partie de son traitement, via des composants distribués. Masque au client linfrastructure sous jacente de lapplication. Masque au client linfrastructure sous jacente de lapplication. Développement de composants hyper spécialises plus facile à maintenir. Développement de composants hyper spécialises plus facile à maintenir. Effectue le traitement du processus métier de lapplication Effectue le traitement du processus métier de lapplication

30 30 La couche daccès aux données. Cette couche permet un accès uniforme aux données de la Bdd. Cette couche permet un accès uniforme aux données de la Bdd. Communiques aux couches supérieures les résultats de ses recherches. Communiques aux couches supérieures les résultats de ses recherches. La couche daccès peut se trouver sur le même serveur que la base, mais peut aussi gérer laccès à plusieurs types de BDD. La couche daccès peut se trouver sur le même serveur que la base, mais peut aussi gérer laccès à plusieurs types de BDD.

31 31 Évolution de la programmation par composants Introduction des bibliothèques (compilation séparée). Introduction des bibliothèques (compilation séparée). Programmation par objets (intégration des données et des services). Programmation par objets (intégration des données et des services). Bus logiciel réparti (accès à distance). Bus logiciel réparti (accès à distance). Modèle de composants faiblement couplés. Modèle de composants faiblement couplés.

32 32 Les composants distribués Partage dune ressource entre plusieurs utilisateurs. Partage dune ressource entre plusieurs utilisateurs. Facilité de mise à jours. Facilité de mise à jours. Homogénéisation des versions clientes. Homogénéisation des versions clientes. Répartition des charges sur plusieurs serveurs. Répartition des charges sur plusieurs serveurs. Support des architectures hétérogènes. Support des architectures hétérogènes.

33 33 Présentations des technologies de programmation distribuée Com / Dcom (Distributed Component Object Model). Com / Dcom (Distributed Component Object Model). Java RMI (Remode Method Invocation). Java RMI (Remode Method Invocation). CORBA (Common Object Resquest Broker Architecture). CORBA (Common Object Resquest Broker Architecture). Service Web. Service Web.

34 34 Com / Dcom Intégré à Windows depuis la version NT4. Intégré à Windows depuis la version NT4. Développement Com prit en charge par de nombreux outil (Visaul Studio 6). Développement Com prit en charge par de nombreux outil (Visaul Studio 6). Supporté par plusieurs langages. Supporté par plusieurs langages. Difficulté de configuration de Dcom. Difficulté de configuration de Dcom. Architecture étroitement liée aux systèmes Microsoft. Architecture étroitement liée aux systèmes Microsoft.

35 35 RMI Intégré au Java Developpement kit depuis la version 1.1. Intégré au Java Developpement kit depuis la version 1.1. LORB (Object Request Broker) RMI est natif dans la machine virtuelle Java. LORB (Object Request Broker) RMI est natif dans la machine virtuelle Java. Pas interface de description des données. Pas interface de description des données. Solution légère et peu gourmande. Solution légère et peu gourmande. Multi plateforme. Multi plateforme. Obligation dutiliser le langage JAVA. Obligation dutiliser le langage JAVA.

36 36 CORBA Norme de distribution dobjet définie par lOMG (Object Management Group), donc non propriétaire. Norme de distribution dobjet définie par lOMG (Object Management Group), donc non propriétaire. Indépandance de la plateforme dapplication. Indépandance de la plateforme dapplication. Support multi langage. Support multi langage. Nécessité de disposer dun langage intermédiaire définissant linterface des objets distribués, IDL (Interface Definition Langage). Nécessité de disposer dun langage intermédiaire définissant linterface des objets distribués, IDL (Interface Definition Langage). Le compilateur IDL, utilisé pour la création des proxy est spécifique à chaque langage. Le compilateur IDL, utilisé pour la création des proxy est spécifique à chaque langage.

37 37 Service Web Basé sur des protocoles standards. Basé sur des protocoles standards. Peut transiter par le protocole Http Peut transiter par le protocole Http Supporté par de nombreux langages. Supporté par de nombreux langages. Indépendant de la plate forme. Indépendant de la plate forme. Exploite des standards libres. Exploite des standards libres. Technologie lourde et gourmande en ressource machine. Technologie lourde et gourmande en ressource machine. Pas de format binaire utilisation de caractères ASCII. Pas de format binaire utilisation de caractères ASCII. Forte surcharge de la bande passante. Forte surcharge de la bande passante. Technologie récente et pas encore totalement standardisée, notamment pour la gestion de workFlow. Technologie récente et pas encore totalement standardisée, notamment pour la gestion de workFlow.


Télécharger ppt "1 Programmation Approche composants Ing5 SI. 2 Plan du module Approche composants et interopérabilité des SI sur.net. Approche composants et interopérabilité"

Présentations similaires


Annonces Google