Recherches et Développements autour des middlewares

Dimension: px
Commencer à balayer dès la page:

Download "Recherches et Développements autour des middlewares"

Transcription

1 Recherches et Développements autour des middlewares Michel RIVEILL, Université de Nice Projet RAINBOW, Laboratoire I3S (CNRS UNSA) ESSI 930 route des Colles - BP Sophia Antipolis CEDEX 1 Middleware bus logiciel : mode d'emploi Logiciels d'application Développement Administration Langages méthodes et outils de développement Bus logiciel - middleware (CORBA, J2EE,.Net, etc.) Logiciel de base (système, télécommucation, SGBD, etc.) 2 Michel RIVEILL, Université de Nice 1

2 Quelques problèmes «chauds» Plan Méthodes et outils de développement quels outils pour quels développeurs? Logiciel de base : infrastructures pour applications réparties impact de l'internet et du Web informatique nomadique (mobile computing) informatique individuelle omniprésente (ubiquitous computing) Comparaison (très rapide/partielle/partiale) de bus logiciels di sponibles et quelques travaux en cours Modes de développement des middlewares Quelle place pour le logiciel libre? 3 Programmation : mode d'emploi Quel langage pour quel usage? Nb. de personnes (échelle log.) Programmeurs occasionnels 100 M entreprises utilisant l'informatique 10M 1M entreprises d'informatique Aujourd'hui 2010 Temps département d'informatique 4 Michel RIVEILL, Université de Nice 2

3 langages de programmation : la querelle des anciens et des modernes Langages à objet vertus et limites... des objets... aux composants Langages de script Programmation occasionnelle programmation à gros grain («programming in the large») intégration de composants logiciels Quel langage pour quel usage? Occasionnel ou fréquent Programmation de modules Assemblage de composants, description de configuration Mise en œuvre d une application répartie à grande échelle 5 De la programmation usuelle A la programmation par composition «programming in the small» construire l application mais tout est à la charge du programmeur construction des différents modules définition des instances interconnexions des modules structure de l application peu visible ensemble des fichiers de codes nécessaire installation / évolution / modification difficile changement du mode de communication évolution, ajout, suppression de fonctionnalités modification du placement --> construction des briques de base «programming in the large» réutiliser du logiciel intégration de modules logiciels existants construction de l'application par assemblage de modules description de l'architecture de l'application spécification des briques de base : interfaces, implémentation attributs de spécialisation, spécification comportementale description des interactions entre composants (connecteurs) description de variables d'environnement (placement, regroupement, sécurité, etc.) à l'aide d'un langage déclaratif ou d un langage de script --> assemblage de briques existantes 6 Michel RIVEILL, Université de Nice 3

4 Programmation orientée-objet Les "avantages" reconnus encapsulation, typage fort, héritage, polymorphisme avantages du typage "fort" détection des erreurs et optimisations à la compilation réduction du temps de développement OO favorise la réutilisation un seul langage pour : contrôle, accès aux données, IHM, communi cations, etc. (exemple : Java) Quelques limitations/interrogations l'héritage de classes pose des problèmes d'évolution le typage fort n'a pas que des avantages Le gain en temps de développement est-il réel (20-30%?) quid de la réutilisation? granularité des objets trop faible? 7 Programmation par composants Composant : objet (ou groupe d'objets) qui exporte différents attributs, propriétés ou méthodes, capable de s auto-décrire, qui peut être configuré et assemblé avec d'autres composants capable de réagir à des conditions de son environnement d'exécution Objectif briques de base configurables et adaptables pour permettre la construction d une application par composition Différents points de vue Programmation d un composant : langage à objets? Description de l assemblage : A.D.L, langage de script, interaction Mais aussi Configuration / adaptabilité des composants : A.O.P, méta-protocole, Exemples COM / DCOM / COM+ /.Net Java Beans Enterprise Java Beans Composants CORBA 8 Michel RIVEILL, Université de Nice 4

5 Structure d'un composant Comment (co-)opère un composant interface fonctionnelle dépendances mode de communication des ports E/S (synchrone, asynchrone, flots) description du comportement Propriétés configurables du composant interface d'introspection Propriétés non-fonctionnelles cycle de vie persistance, sécurité, transactions contraintes environnementales comportement (QoS, etc.) Interfaces fonctionnelles Fournit s y n c a s y n c f l U x Interface d'introspection Propriétés configurables Code fonctionnel Code et propriétés non-fonctionnelles Interface d'administration Dépendances s y n c a s y n c f l U x Utilise 9 Plate-forme à composants Composant = unité de réutilisation Assemblage de composants = unité d administration comportement comportement comportement Serveur de composants Création/destruction persistance, transactions réplication, migration, Serveur de composants Serveur de composants Bus logiciel A Bus logiciel B Système d'exploitation Système d'exploitation Système d'exploitation 10 Michel RIVEILL, Université de Nice 5

6 Vie (et mort) des applications Pourquoi les applications ne fonctionnent pas correctement? Développeurs ne tiennent pas compte du cycle de vie complet Équipes sont mal équipées pour gérer la complexité Incapacité de déployer en réparti, de manière simple, ce qui a été développé Le prototype fonctionne mais l application échoue lors de la montée en charge La fiabilité ou la performance requise n est pas au Rendez-vous Nécessité d administrer les applications Loi de l entropie Chaque système tend vers un état de désordre et requiert une certaine énergie pour le stopper Appliquez-la à une société... À une manifestation lors du sommet de Nice Grand nombre d objets personnes Maintenant pensez à un réseau d ordinateurs... Le coût de gestion d une application répartie dépasse très largement le coût initial de son développement. L administration doit être pris en compte dès la conception Afin de permettre l évolution, la reconfiguration de l applicati on Résistance aux pannes, évolution du nombre d utilisateurs, évolution des besoins 11 Modéliser la Complexité MODELISE Décrire et comprendre la complexité de l application distribuée 12 Michel RIVEILL, Université de Nice 6

7 Surveiller pour Contrôler Modéliser la Complexité décrire l architecture MODELISE SURVEILLE Garantir : - les niveaux de service en accord avec les utilisateurs - les besoins des composants - l état du système 13 Administrer pour Changer MODELISE Modéliser la Complexité Surveiller pour Contrôler SURVEILLE Assurer que les services demandés sont maintenues alors que les applications évoluent (nouveaux utilisateurs, nouveaux besoins) ADMINISTRE 14 Michel RIVEILL, Université de Nice 7

8 Bénéfices attendu d un outils d administration MODELISE Gestion et surveillance des applications objets distribuées Tolérance de panne et recouvrement Surveillance des performances Définition des dépendances et ordre de démarrage des objets Démarrage et arrêt des objets individuels ou en groupe Intégration avec les environnements opérationnels Exécution d actions basées sur des événements Mécanisme hiérarchique de filtres d événements Interface graphique intuitive, simple à utiliser Possibilité de ligne de commande (langage de script) Connaître le fonctionnement de l application - tunning Statistiques détaillées - jusqu au niveau méthode Statistiques combinables pour affichage optimum Instrumentation à travers les intercepteurs SURVEILLE ADMINISTRE 15 Programmation par assemblage ADL client.lookup(clé, , pays) => coll.lookup(clé, ) where pays == coll.pays using randsynccall; coll coll : : collection collection [0..N] [0..N] of of of Annuaire Annuaire; Client Client Lance Admin Admin Recherche (in string clé, out string , in string pays) LanceAnnuaire (in CODE pays) Recherche (in string clé, out string ) Initialise (in CODE pays) Annuaire pays pays = = CH CH Annuaire pays pays = = FR FR Annuaire pays pays = = UK UK admin.lanceannuaire(code) => coll.init(code) using createincollection(); 16 Michel RIVEILL, Université de Nice 8

9 Programmation par assemblage ADL Caractéristiques Peu, pas de «succes story» Qui connaît Darwin, OCL, Polilyth, Bonne vision de l architecture de l application Description des aspects essentiellement statique, régulier Description configurable Peu servir de tableau de bord pour «visualiser» le fonctionnement de l application Aide à l observation Outils pour la reconfiguration dynamique Usage Description d une version «d installation» de l application Support pour faire de la validation, de la preuve 17 Langages de scripts Caractéristiques Exemples : shell Unix, Perl, Tcl, Python,... langages non typés représentation des informations banalisée (ex. "string") sémantique déterminée par l'usage expressivité rapidité de développement langages interprétés perte d'efficacité intégration des concepts OO (Python, Perl 5.0) Usages utilisation moins efficace des machines mais plus efficace des programmeurs intérêt pour : la programmation occasionnelle les tâches d'intégration 18 Michel RIVEILL, Université de Nice 9

10 Typage Nb. d'instructions "machines" / instruction du langage Tcl / Perl Visual Basic ADL 1 aucun assembleur Niveau de typage C Java / C# C++ fort 19 Différents outils pour différentes tâches Complémentarité construction de composants avec les langages OO assemblage de composants avec les langages de script Exemples : Plate-forme langage langage programmation de script OS/360 BAL,PL/1 JCL Unix C, C++ sh, csh, Perl, Tcl PC C++ Visual Basic Internet Java / C# CorbaScript? Quels critères de choix Plate-forme, langage de programmation, langage d assemblage, etc. 20 Michel RIVEILL, Université de Nice 10

11 Choisir un langage Si Manipulation d'algorithmes et de structures de données complexes manipulation de grands volumes de données applications "stabilisées Alors choisir un langage de programmation "classique" Sinon Si manipulation de données de nature très différente gestion d'interfaces homme-machine manipulation de chaînes de caractères interconnexion de composants logiciels application évolutive Alors choisir un langage de script Sinon?? 21 Quelques problèmes «chauds» Plan Méthodes et outils de développement Logiciel de base : infrastructures pour applications réparties impact de l'internet et du Web informatique nomadique (mobile computing) informatique individuelle omniprésente (ubiquitous computing) Comparaison (très rapide/partielle/partiale) de bus logiciels di sponibles et quelques travaux en cours Modes de développement du middleware Quelle place pour le logiciel libre? 22 Michel RIVEILL, Université de Nice 11

12 Infrastructures pour applications réparties "à grande échelle" L'Internet comme environnement d'exécution d'applications réparties le Web : un middleware à grande échelle L'Informatique nomade (mobile computing) L'Informatique personnelle omniprésente (ubiquitous computing) Passage à l'échelle nb. d'utilisateurs et de sites hétérogénéité des réseaux et des stations hétérogénéité des systèmes Hétérogénéité des langages 23 WWW : un support pour l accès à l information (1) un protocole client-serveur (mis en œuvre sur TCP/IP) : HTTP un système de désignation universelle : URL une représentation de documents hypertextes : HTML des navigateurs ( browser ) évolués Station browser browser Client HTTP Http requête HTTP pages HTML Serveur HTTP Serveur page HTML URL (id. documents) environnement de développement de documents HTML documents HTML 24 Michel RIVEILL, Université de Nice 12

13 WWW : un support pour l accès à l information (2) Accès à des serveurs externes utilisation de l interface CGI (Common Gateway Interface) et/ou de "servlets" et/ou ASP requêtes à un serveur de données transformation des résultats en pages HTML Station browser page HTML Client HTTP requête HTTP pages HTML (construites dynamiquement) Serveur HTTP Serveur CGI ASP / Servlets Serveur de données URL base de données 25 WWW : un support d applications client serveur (1) Utilisation du protocole HTTP pour le dialogue client-serveur Station Serveur Browser client universel Application partie -cliente (GET, POST) Client HTTP requêtes HTTP Données (html / autres formats) Serveur HTTP CGI Servlets / ASP Application partie-serveur + avantages : support universel de communication (http) simplicité de la mise en œuvre mise en œuvre aisée depuis n importe quelle station cliente - inconvénients : primitives élémentaires (GET, POST,...) serveur HTTP non adapté difficulté de gérer des sessions 26 Michel RIVEILL, Université de Nice 13

14 WWW : un support d applications client serveur (2) Utilisation du protocole SOAP (ou XML-RPC) pour le dialogue clientserveur SOAP = HTTP + XML Station Serveur Browser client universel Application partie -cliente Client HTTP requêtes SOAP (XML) Réponses SOAP (XML) Serveur HTTP ASP ISAPI CGI Servlets Application partie-serveur + avantages : + support universel de communication + simplicité de la mise en œuvre + requêtes et réponses lisible + serveur + sophistiqué (état) + réponse adaptée selon le poste client - inconvénients : - peu efficace (par rapport à RPC) 27 WWW : des documents actifs Séquences exécutables ("applets", "contrôles") dans les pages HTML Station Serveur interprète browser Client HTTP requête HTTP pages HTML "applet" Serveur HTTP page HTML URL (id. documents) documents HTML "actifs" "applet sécurité : contrôle des actions exécutées par le code importé 28 Michel RIVEILL, Université de Nice 14

15 Applications réparties sur l'internet Deux visions architecturales opposées/complémentaires Le Web sémantique Web : espace (illimité?) d'informations structurées partagées bus logiciel : Http+ et URL intégration par les données : XML, RDF, DOM,... L'Internet comme environnement d'exécution d'applications réparties 29 Le Web sémantique Web : espace (illimité?) d'informations structurées partagées bus logiciel : Http+ et URL intégration par les données : XML, RDF, DOM,... Browser html/xml Client http Application A Serveur http Document XML Application B Serveur http 30 Michel RIVEILL, Université de Nice 15

16 L'Internet : environnement d'exécution d'applications réparties Le Web : système d'exploitation réparti (à objets) une désignation uniforme via les URLs des objets persistants via les démons HTTP et leurs systèmes de fichiers hôtes un méta -protocole d invocation via HTTP et les opérations de base (GET, POST, ) ou SOAP l extensibilité via le protocole CGI, les servlets et le code mobile (applets) Deux approches Environnements Java sur le web un langage à objet ("pour tout faire") une machine virtuelle universelle (JVM) une désignation uniforme via les URLs un protocole d'invocation via RMI passerelles vers des environnements Corba et Com/Dcom/.Net Framework.Net Tout composant peut être accéder par le Web ASP : programmation de «servlet» dans différents langages ADO : accès aux données 31 Informatique nomadique/mobile mobile computing utilisateurs nomades et équipements portables réseaux sans fil connectivité à l'internet Wireless WAN (GSM, CDPD, UMTS...) Wired or Wireless LAN (WaveLAN, HiperLAN,..) Picocellular MAN home 32 Michel RIVEILL, Université de Nice 16

17 Informatique personnelle omniprésente Ubiquitous computing Fournisseur de service Fournisseur d infrastructure logicielle 33 Évolution de la capacité de calcul Ventes par an Mainframe (N personnes, 1 calculateur) PC (1 personne, 1 calculateur) Ubiquitous computing (1 personne, N calculateurs) Michel RIVEILL, Université de Nice 17

18 Quelques problèmes «chauds» Plan Méthodes et outils de développement Logiciel de base : infrastructures pour applications réparties Comparaison (très rapide/partielle/partiale) de bus logiciels disponibles et quelques travaux en cours EJB, CORBA,.Net Adaptabilité, Interaction Modes de développement du middleware Quelle place pour le logiciel libre? 35 Principaux apports du modèle EJB Mise en évidence de plusieurs catégories de «programmeurs» Fournisseur d EB Assembleur d application Enterprise Bean (EB) Application Développement de l application L installateur Déploiement et exécution Fournisseur de conteneur EJB Fournisseur de serveur EJB Produit Utilise Conteneur Serveur Développement du serveur EJB 36 Michel RIVEILL, Université de Nice 18

19 Principaux apports du modèle EJB Préciser plusieurs niveaux d interfaces Fournir un modèle de développement uniforme pour les applications qui utilisent les composants EB Contrat coté client fournir une vue uniforme du bean au client. En particulier cette vue est indépendante de la plate-forme de déploiement Contrat coté conteneur permettre la portabilité des beans sur différents serveurs EJB Contrat coté packaging (ejb-jar file) fournir un format de fichier standard pour packager les beans. Ce format doit être supporter par tous les outils liés aux EJB client Contrat client EBJ conteneur EJB serveur Enterprise Bean Contrat conteneur Contrat parckaging Fichier ejb-jar 37 Principaux apports du modèle EJB Spécifier les propriétés du composants de manière externe Persistance JDBC Call back : ejbcreate, ejbstore, ejbload, ejbfind Bean managed ou container managed Transaction Modèle XA (transactions plates) de l X/OPEN Définition d attributs dans le descripteur du bean : TX_NOT_SUPPORTED, TX_REQUIRED, TX_SUPPORTS,TX_REQUIRES_NEW, TX_MANDATORY, TX_BEAN_MANAGED Sécurité Basé sur l API sécurité de Java (javax.security) Délégué au conteneur (javax.ejb.ejbcontextinterface) Utilisation d attributs de sécurité défini dans le descripteur du bean utilisé lors de la phase de déploiement runasmode, RunAsIdentity 38 Michel RIVEILL, Université de Nice 19

20 Principaux apports du modèle EJB Mise en place d un mécanisme d interposition Create(...) newinstance() Account Home setentitycontext() Client Account Ref setbalance() ejbcreate(...) Begin Account Bean Base De Données Relationelles Account EJB Object setbalance() commit JDBC / XA 39 Principaux apports du modèle EJB Mécanisme d interposition Basé sur un descripteur de déploiement Account Deployment Descriptor Home interface Remote interface Enterprise Bean BeanHomeName ControlDescriptors Env. properties AccountHome Account AccountBean AccountHome1 TX_SUPPORTS DataSource name... ContainerManagedFields accno, customer, balance 40 Michel RIVEILL, Université de Nice 20

21 Principaux apports du modèle J2EE Une architecture complète pour «programmer» Web Conteneur Web Conteneur EJB Sevlet JSP EJB Services transactions messages mail connecteurs Java 2 SDK édition standard RMI JDBC JNDI CORBA Plate-forme : J2EE 41 Principaux apports du modèle J2EE Une architecture complète pour «programmer» Web Client-side Presentation Navigateur Server-side Presentation Serveur Web Server-side Business Logic Conteneur EJB Enterprise Information System HTML JSP EJB Java applet JSP EJB Station Application Java Java Servlet EJB Autres terminaux Client J2EE J2EE plate-forme J2EE plate-forme 42 Michel RIVEILL, Université de Nice 21

22 Principaux apports du modèle J2EE Une multitude d acteurs réelle interopérabilité Navigateur Serveur Web Serveur métier Connecteurs Ressources SGBD Fichier Legacy system Navigateur Applet Java Application Java PDA Téléphones WAP HTML statique HTML dynamique JSP Serveur de script WML, XHTML, WML, Servlet BEA Weblogic IBM WebSphere Sun iplanet EJBs Workflow Engine JDBC OBDC CICS Gateway JNDI Corba Base de données S.G.F E.R.P 43 Principaux apports des composants CORBA Une extension au modèle EJB Un modèle de composants interopérant avec EJB On n ignore pas/plus le passé Modèle proche qui étend le modèle EJB La structure d accueil et les conteneurs gèrent les composants et leurs propriétés non fonctionnelles Description des services fournis, mais aussi de ceux utilisés (synchrones, asynchrones, ) Utilisation de différents langages, choix plus large de services Décrire le déploiement, la configuration et la composition Description d un assemblage de composants (architecture logicielle) Prise en charge IMPLICITE par description des propriétés non fonctionnelles Les composants et assemblages sont déployés sur une architecture physique Technologie de packaging pour déployer des binaires issus de différents langages de différents fournisseurs Propriétés recherchées interopérabilité entre les produits portabilité des composants 44 Michel RIVEILL, Université de Nice 22

23 Distributeur de boisson Référence de base Composant Distributeur Réceptable Client Prise de courant FOURNIT Facettes Fournisseur Dépanneur Implantation Prise d eau * Source d événements UTILISE Plus de monnaie Température Puit d événements Attribut on/off Vide * 45 Evaluation du modèle de composants Capturer ce qui est fourni : propriétés configurables (attributs) facettes (modularité) puits d événements (asynchrone) opérations (synchrone) Capturer ce qui est utilisé : réceptacles simples ou multiples (synchrone) sources d événements (asynchrone) Introspection fonctionnelle (IFR) structurelle (API de navigation) Co-localisation de toutes les ports d un composant facettes, puits, sources d événements Pas d agrégation pas de «design pattern» contenant - contenu un composant peut référencer des objets / composants distants mais alors ils ne font pas parties du composant Faible expression de la cardinalité des ports plusieurs instances pour une facette (ex. 1 par client) réceptacles multiples => fixé à l exécution Les ports sont décrits statiquement! impossible d en ajouter dynamiquement Sûrement d autres critiques? 46 Michel RIVEILL, Université de Nice 23

24 Principaux apports du CCM Déploiement Le langage OSD = Open Software Description introduit au W3C par Marimba et Microsoft une DTD XML Étendu par l OMG pour prendre en compte les besoins pour les composants CORBA Utilisé pour les descripteurs, 4 DTD XML pour le Software Package Descriptor le CORBA Component Descriptor le Component Assembly Descriptor le Property File Descriptor Un assemblage de composants est déployé par un outil de déploiement fourni par les vendeurs L outil de déploiement interagit avec l utilisateur pour choisir les machines et les processus L application de déploiement interagit avec des structures d accueil sur chacune des machines Installation, AssemblyFactory, Assembly, ServerActivator, ComponentServer, Container 47 descripteur de package logiciel Décrit un package de manière globale Inclut des informations générales sur le composant et des spécifiques sur les implantations <softpkg> avec name et version, <pkgtype> général : <title>, <author>, <description>, <license> interface : <idl> propriétés : <propertyfile> dépendances : <dependency> implantation : <implementation>, <os>, <processor>, <compiler>, <code>,... informations spécifiques au composant <descriptor> 48 Michel RIVEILL, Université de Nice 24

25 Le descripteur de composant En grande partie généré à partir du CIDL informations techniques sur la structure de l implantation Complété par l utilisateur pour fixer : <persistentstoreinfo> <transaction> <eventpolicy> <threading> <configurationcomplete> <poapolicy> 49 Le descripteur d assemblage Décrit la configuration initiale (mais virtuelle) des maisons, des instances de composants et des connexions Incluant des sections pour décrire : la liste des archives de composants le partitionnement des instances de composants les connexions entre ces instances uses et provides emits / publishes et consumes 50 Michel RIVEILL, Université de Nice 25

26 Évaluation du modèle de déploiement Les points forts : format de diffusion de packages logiciels plusieurs implantations d un même composant description des connecteurs (architecture) configuration des propriétés non fonctionnelles Les points faibles : un assemblage ne peut pas être un composant! pas de notion de connecteurs d adaptation pour gérer l impédance entre des composants non compatibles peu d API pour l interopérabilité entre outils de déploiement et structures d accueil le même fournisseur pour tous les outils! -) 51 Apport du dernier né la plate-forme.net Open Internet Protocols Web Service Rendre accessible depuis l Internet tous les composants Interrogation/Recherche des services Web disponibles sur ce site Chaque service est défini par son interface exprimée en XML N importe quel client peut appeler le service (utilisation du protocole SOAP) Seul les protocoles de l Internet sont utilisés SOAP Discovery SOAP Contract Language SOAP XML, XSD HTTP, SMTP 52 Michel RIVEILL, Université de Nice 26

27 Apport du petit dernier.net Programmer un composant avec plusieurs langages système de type commun C# VB C++ C# JScript Base Class Library Support Common Language Specification Web Services Data and XML User Interface Base Class Library Common Language Runtime Visual Studio.NET Thread Support Type Checker Security Engine IL to Native Compilers Code Manager Class Loader COM Marshaler Exception Manager Debug Engine Garbage Collector 53 L évolution (révolution) dans le monde Microsoft Avec.Net, tous les composants sont construits sur le même substrat Il n est pas nécessaire de leur ajouter quelque chose pour les rendre interopérable COM / DCOM.Net 54 Michel RIVEILL, Université de Nice 27

28 Apport du petit dernier.net Simplifier le déploiement et l administration Assemblages Unité de déploiement, de gestion de version et de sécurité Proche d une DLLs, mais auto-descriptible (manifeste) Installation sans «effet de bord» Applications et composants peuvent être partagés ou privés Exécution Side-by-side Plusieurs versions du même composants peuvent co-exister, éventuellement dans le même processus 55 Apport du petit dernier.net ASP+ Applications : Accès depuis un navigateur Web Control = formulaires / ASP = servlet / ADO = base de données HTTP IIS ASP+ Application Web Controls ADO+ app.aspx <HTML> <script> <<langage << au << choix </script> </HTML> Common Language Runtime Windows DBMS 56 Michel RIVEILL, Université de Nice 28

29 Apport du petit dernier.net ASP+ Applications : utilisation d un service Web SOAP IIS ASP+ Application ADO+ app.asmx class X { [WebMethod] public int } Method1() { } Common Language Runtime Windows DBMS 57 Apport du petit dernier.net ADO+ : accès aux systèmes d information Une interface pour accéder aux services de persistances Implémentation fournie par Microsoft ou par les fournisseurs de base de données Classes de base dans ADO+ Connection, Command, DataSet.NET Application ADO+ Managed Provider Common Language Runtime DBMS 58 Michel RIVEILL, Université de Nice 29

30 Un point de vue personnel Je suis à la bourre Chaque plate-forme apporte son lot «d innovation» en particulier sur l interopérabilité E.J.B : mono-langage multi-plate-forme MV CCM : multi-langage multi-plate-forme intégration au niveau IDL.Net : multi-langage (mono)-plate-forme intégration par un système de type commun + MV pour ce système de type Mais c est plus une évolution qu une véritable révolution On aura du mal à concurrencer les grosses machines On == les équipes de recherche universitaires Impossibilité d évaluer en permanence des plates-formes qui évoluent nécessité d un véritable partenariat avec des industriels Pour comprendre les problèmes et les enjeux Trouver les fondements et préparer nos enseignements Difficulté de retrouver le «signal» à l intérieur du «bruit» Difficulté de surfer sur la vague Mais il reste de très nombreuses niches Comment étendre le middleware et les composants qui s exécutent? Comment faire interagir des composants? Comment décrire le comportement d un composant, d un assemblage, on peut en trouver de nombreux autres mais celles -ci concernent les activités de RAINBOW 59 Objectifs Construire simplement des Applications Réparties dans de nombreux domaines d'application de l'informatique répartie, on constate une évolution de plus en plus rapide des besoins et des conditions d'utilisation. Les applications et le système qui supportent son exécution doivent être adaptable : Par rapport aux besoins exprimés par les différents acteurs (concepteurs, intégrateurs, utilisateurs finals, administrateurs), tant en ce qui concerne les fonctions de l'applications que ses propriétés non-fonctionnelles (sécurité, disponibilité, qualité de service, persistance des données, etc.). Par rapport à l'environnement de l'application (disponibilité de ressources, qualité des connexions et des transmissions, etc.). L'adaptation peut prendre différentes formes (changement de structure, de contenu, de localisation des programmes ou des données, etc.), et peut être statique ou dynamique. L adaptation peut concerner : les composants, les interactions, le middleware, Des exigences de réactivité imposent souvent une adaptation dynamique. 60 Michel RIVEILL, Université de Nice 30

31 Observations... Ecrire efficacement des applications réparties est difficile Le «contour» de l application est mal défini Un domaine particulier nécessite un environnement approprié (OS+langage) La plupart des OS sont rigides et évoluent difficilement Evolution des besoins applicatifs Les environnements d'exécution existants sont peu appropriés aux applications modernes : travail coopératif, multimédia, mondes virtuels systèmes embarqués, cartes à puce, téléphonie mobile réseaux actifs etc Caractéristiques de ces applications : répartition géographique des utilisateurs et des ressources, nombres et localisations non connus a priori -non stables forte contrainte de sécurité (données sensibles, copyright, droits d'accès), modèles de données complexes configurations dynamiques de partenaires hétérogènes Evolution du «support matériel»... Les performances augmentent, les prix et la taille diminuent et les OS "classiques" n'ont pas le temps de suivre 61 Construction d'applications réparties Middleware extensible Extensible pour le spécialiser par domaine d applications, par type de matériels (stations, portables, PDA, téléphones, ) parce qu il est impossible de prévoir à l'avance tous les usages et les évolutions technologiques ex : utilisation du téléphone cellulaire pour surfer sur la toile, passer des commandes Extensible à la volée il est parfois impossible d arrêter un système pour le modifier : application de télécommunication, applications embarquées (satellites) Interopérabilité entre divers domaines/applications pour la réutilisation des logiciels existants pour l'échange de données entre applications pour permettre la mobilité (code et/ou donnée) sécurité, efficacité, panne Même ensemble d outils et de services au-dessus de systèmes existants ou pouvant exister sur des machines nues 62 Michel RIVEILL, Université de Nice 31

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 38 NFP111 Systèmes et Applications Réparties Cours 11 - Les Enterprise Java Beans (Introduction aux Enterprise Claude Duvallet Université du Havre UFR Sciences

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 16 NFP111 Systèmes et Applications Réparties Cours 10 - Les Enterprise Java Beans ( aux serveurs ) Claude Duvallet Université du Havre UFR Sciences et Techniques

Plus en détail

Les enterprises Java Beans

Les enterprises Java Beans Enterprise Java Beans http://java.sun.com/products/ejb/index.html Les enterprises Java Beans Michel RIVEILL riveill@unice.fr - http://rangiroa.essi.fr/riveill Laboratoire I3S Architecture permettant la

Plus en détail

Les architectures N-tiers

Les architectures N-tiers Les architectures N-tiers 1 SOMMAIRE DU COURS XML ET LES ARCHITECTURES N-TIER Introduction aux architectures N-tier Serveurs d applications Déploiement d applications J2EE Tiers applicatif : servlets Tiers

Plus en détail

Module BD et sites WEB

Module BD et sites WEB Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD

Plus en détail

Architectures web pour la gestion de données

Architectures web pour la gestion de données Architectures web pour la gestion de données Dan VODISLAV Université de Cergy-Pontoise Plan Le Web Intégration de données Architectures distribuées Page 2 Le Web Internet = réseau physique d'ordinateurs

Plus en détail

Technologies du Multimédia et du Web

Technologies du Multimédia et du Web 3 ème Année Licence appliquée Technologies du Multimédia et du Web MoezBEN HAJ HMIDA ISSAT Sousse 2009/2010 Plan Les systèmes e-services Évolution des architectures d applications Les architectures client/serveur

Plus en détail

Les serveurs d applications :une introduction

Les serveurs d applications :une introduction Les serveurs d applications : une introduction Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com Octobre 2006 Plan de la présentation

Plus en détail

Conception et développement d applications avec OpenCCM

Conception et développement d applications avec OpenCCM * CE * URE Conception et développement d applications avec OpenCCM RNRT * * Philippe.Merle@lifl.fr Equipe GOAL Laboratoire d Informatique Fondamentale de Lille Revue finale CESURE, Marseille, 18 décembre

Plus en détail

Créer une architecture distribuée.net

Créer une architecture distribuée.net Ingénieurs 2000 Exposé Système & Réseaux 2006/2007 Créer une architecture distribuée.net Concepts et exemples 1. Présentation du Framework.NET 2. Créer et utiliser des services Web 3. Comment créer des

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 46 NFP111 Systèmes et Applications Réparties Cours 2 - Les appels de procédure distants (Partie 1) Claude Duvallet Université du Havre UFR Sciences et Techniques

Plus en détail

Architectures web/bases de données

Architectures web/bases de données Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est

Plus en détail

Programmation d applications distribuées

Programmation d applications distribuées Programmation d applications distribuées François Charoy Université Henri Poincaré 8 octobre 2007 Première partie I Développement d applications distribuées Objectifs du cours Comprendre ce qu est une

Plus en détail

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz Master 2 SITW Les services Web Dr. Djamel Benmerzoug Email : djamel.benmerzoug@univ-constantine2.dz Maitre de Conférences A, Département TLSI Faculté des NTIC Université Constantine 2 Abdelhamid Mehri

Plus en détail

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

WWW - Intérêts du Web

WWW - Intérêts du Web WWW - Intérêts du Web client universel facilité d'emploi standards ouverts intégration des autres services Internet extensibilité du système faibles coûts logiciel et réseau utilisation au sein d'une entreprise

Plus en détail

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI JAVA, CORBA et RMI objectif : développer des applications client/serveur incluant des objets répartis Java / CORBA : client/serveur hétérogènes Java / RMI : client/serveur homogènes plan : l architecture

Plus en détail

Conception d Applications Réparties

Conception d Applications Réparties Jean-François Roos LIFL - équipe GOAL- bâtiment M3 Extension - bureau 206 -Jean-Francois.Roos@lifl.fr 1 Objectifs du Cours Appréhender la conception d applications réparties motivations et concepts architectures

Plus en détail

Java pour le Web. Cours Java - F. Michel

Java pour le Web. Cours Java - F. Michel Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications

Plus en détail

Objectifs. Maîtriser. Pratiquer

Objectifs. Maîtriser. Pratiquer 1 Bases de Données Objectifs Maîtriser les concepts d un SGBD relationnel Les modèles de représentations de données Les modèles de représentations de données La conception d une base de données Pratiquer

Plus en détail

Exécution des applications réparties

Exécution des applications réparties Exécution des applications réparties Programmation des Applications Réparties Olivier Flauzac URCA Master STIC-Informatique première année Olivier Flauzac (URCA) PAR : Exécution des applications réparties

Plus en détail

Programmation servlet

Programmation servlet Programmation servlet Olivier Aubert 1/23 Références http://developer.java.sun.com/developer/onlinetraining/servlets/fundamenta http://www.servlets.com http://java.sun.com/products/jsp/index.html http://www.servletcentral.com/

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42 Java et Objet Amélie Lambert 2014-2015 Amélie Lambert 2014-2015 1 / 42 Chapitre 8 Développement d applications Web Amélie Lambert 2014-2015 2 / 42 Plan du cours Typologie des applications Web Architecture

Plus en détail

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences

LANGAGES & DéVELOPPEMENT. Une équipe à vos côtés pour toutes vos montées en compétences LANGAGES & DéVELOPPEMENT Une équipe à vos côtés pour toutes vos montées en compétences ASP.NET OPTION VB.NET OU C# 5 jours Permettre aux participants de mieux appréhender ce qu est la programmation pour

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

Plus en détail

Architectures à composants

Architectures à composants Interaction requête/réponse Architectures à composants!communication par requête/réponse client requête réponse serveur Gaël Thomas gael.thomas@lip6.fr Université Pierre et Marie Curie Master Informatique

Plus en détail

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean. Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime

Plus en détail

Programmation Avancée pour le Web

Programmation Avancée pour le Web L3 Informatique Option : ISIL Programmation Avancée pour le Web RAMDANI Med U Bouira 1 Contenu du module Introduction aux applications Web Rappels sur les sites Web Conception d une application Web Notion

Plus en détail

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau) CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.

Plus en détail

Composants Logiciels. Le modèle de composant de CORBA. Plan

Composants Logiciels. Le modèle de composant de CORBA. Plan Composants Logiciels Christian Pérez Le modèle de composant de CORBA Année 2010-11 1 Plan Un rapide tour d horizon de CORBA 2 Introduction au modèle de composant de CORBA Définition de composants CORBA

Plus en détail

Architectures et Web

Architectures et Web Architectures et Web Niveaux d'abstraction d'une application En règle générale, une application est découpée en 3 niveaux d'abstraction : La couche présentation ou IHM (Interface Homme/Machine) gère les

Plus en détail

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures Software propose une offre d intégration unique, qui apporte l équilibre parfait entre investissements et performances pour les entreprises qui doivent sans cesse améliorer leurs processus. Des caractéristiques

Plus en détail

Technologies distribuées

Technologies distribuées Technologies distribuées Java EE 5 Introduction! L entreprise et le Java EE Définition Les de type EJB Les de type services 1 2 Introduction! Compétences acquises " Compréhension " Interventions " Affranchir

Plus en détail

Java EE Cours 1. Présentation Générale. Cours de 2 e année ingénieur

Java EE Cours 1. Présentation Générale. Cours de 2 e année ingénieur Java EE Cours 1 Présentation Générale Cours de 2 e année ingénieur 1 Présentation du cours Objectifs Développement d applications Web robustes «Ne pas réinventer la roue» utilisation d un framework 1 Apprentissage

Plus en détail

Les serveurs applicatifs et les architectures Java

Les serveurs applicatifs et les architectures Java 03 Lucas Part 02 Page 179 Lundi, 20. août 2001 2:58 14 Chapitre 15 Les serveurs applicatifs et les architectures Java Nous avons vu jusqu ici, dans les chapitres précédents, que les utilisateurs accèdent

Plus en détail

Introduction aux systèmes répartis

Introduction aux systèmes répartis Introduction aux systèmes répartis Grappes de stations Applications réparties à grande échelle Systèmes multicalculateurs (1) Recherche de puissance par assemblage de calculateurs standard Liaison par

Plus en détail

SOA et Services Web. 23 octobre 2011. Evolution des Systèmes d Information

SOA et Services Web. 23 octobre 2011. Evolution des Systèmes d Information SOA et Services Web 23 octobre 2011 1 Evolution des Systèmes d Information 2 Qu est ce qu une application répartie? Il s agit d une application découpée en plusieurs unités Chaque unité peut être placée

Plus en détail

CORBA. (Common Request Broker Architecture)

CORBA. (Common Request Broker Architecture) CORBA (Common Request Broker Architecture) Projet MIAGe Toulouse Groupe 2 1 CORBA, introduction (1/4) Les systèmes répartis permettent de créer des applications basées sur des composants auto-gérables,

Plus en détail

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

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/5 Titre professionnel : Reconnu par l Etat de niveau III (Bac), inscrit au RNCP (arrêté du 12/10/07, J.O. n 246 du 23/10/07) (32 semaines) Unité 1 : Structurer une application 6 semaines Module

Plus en détail

Conteneurs Adaptable Dynamiquement pour la plateforme CORBA Component Model Model

Conteneurs Adaptable Dynamiquement pour la plateforme CORBA Component Model Model Conteneurs Adaptable Dynamiquement pour la plateforme CORBA Component Model Model Journée de l'action spécifique CNRS-GET Systèmes répartis et réseaux adaptatifs au contexte ( Context-Aware ) Laboratoire

Plus en détail

Java RMI. Programmation des applications réparties. Olivier Flauzac URCA. Master EEAMI-Informatique première année

Java RMI. Programmation des applications réparties. Olivier Flauzac URCA. Master EEAMI-Informatique première année Java RMI Programmation des applications réparties Olivier Flauzac URCA Master EEAMI-Informatique première année Olivier Flauzac (URCA) PAR : Java RMI MSTIC-INFO 1 1 / 30 1 RMI 2 Architecture 3 Développement

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet

Cahier de charges (Source : Java EE - Guide de développement d'applications web en Java par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module Site Web dynamique JSP / Servlet Sujet : betaboutique Soutenance le 04 / 01 /2013 &

Plus en détail

Architectures. 28/12/02 CPI 1A : WEB Présentation 1

Architectures. 28/12/02 CPI 1A : WEB Présentation 1 Architectures 28/12/02 CPI 1A : WEB Présentation 1 Modèle Maître Esclave Utilisation du poste client, un simple terminal passif Le serveur gère l'affichage sur le terminal en fonction. Terminaux spécifiques

Plus en détail

Introduction aux applications réparties

Introduction aux applications réparties Introduction aux applications réparties Noël De Palma Projet SARDES INRIA Rhône-Alpes http://sardes.inrialpes.fr/~depalma Noel.depalma@inrialpes.fr Applications réparties Def : Application s exécutant

Plus en détail

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs Jean-Pierre Meinadier Professeur du CNAM, meinadier@cnam.fr Révolution CS : l utilisateur

Plus en détail

CONDUITE & GESTION DE PROJET

CONDUITE & GESTION DE PROJET LES THEMES DU PROGRAMME PEDAGOGIQUE CONDUITE & GESTION DE PROJET Techniques de gestion de projets Connaître le rôle d un chef de projet dans la conduite de projet. Les méthodes, les techniques et les outils

Plus en détail

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Chapitre 3: UML pour la description et la documentation d une architecture logicielle Année universitaire 2013/2014 Semestre 1 Rappel L architecture d un programme ou d un système

Plus en détail

Architecture J2EE. Thierry Lecroq (merci à Alexandre Pauchet (INSA Rouen)) Université de Rouen FRANCE. Thierry Lecroq (Univ. Rouen) J2EE 1 / 16

Architecture J2EE. Thierry Lecroq (merci à Alexandre Pauchet (INSA Rouen)) Université de Rouen FRANCE. Thierry Lecroq (Univ. Rouen) J2EE 1 / 16 Architecture J2EE Thierry Lecroq (merci à Alexandre Pauchet (INSA Rouen)) Université de Rouen FRANCE Thierry Lecroq (Univ. Rouen) J2EE 1 / 16 Plan 1 Historique 2 Architecture J2EE 3 J2EE et applications

Plus en détail

Modèle client-serveur

Modèle client-serveur Modèle client-serveur Daniel Hagimont IRIT/ENSEEIHT 2 rue Charles Camichel - BP 7122 31071 TOULOUSE CEDEX 7 Daniel.Hagimont@enseeiht.fr http://hagimont.perso.enseeiht.fr 1 Plan Principes généraux Modèle

Plus en détail

Introduction à la plateforme J2EE

Introduction à la plateforme J2EE Introduction à la plateforme J2EE Auteur : Oussama Essefi Directeur technique Expert Consulting Oussama.essefi@expert-consulting.biz Copyright 2010 Expert Consulting Page 1 1. Introduction 1.1. Pourquoi

Plus en détail

ARCHITECTURE CLIENT / SERVEUR

ARCHITECTURE CLIENT / SERVEUR ARCHITECTURE CLIENT / SERVEUR ARCHITECTURE CLIENT/SERVEUR Définition : L'architecture client serveur s'appuie sur un poste central, le serveur, qui envoit des données aux machines clientes. Des programmes

Plus en détail

Modèle client-serveur

Modèle client-serveur Modèle client-serveur Daniel Hagimont IRIT/ENSEEIHT 2 rue Charles Camichel - BP 7122 31071 TOULOUSE CEDEX 7 Daniel.Hagimont@enseeiht.fr http://hagimont.perso.enseeiht.fr Remerciements Michel Riveill 1

Plus en détail

Urbanisme du Système d Information et EAI

Urbanisme du Système d Information et EAI Urbanisme du Système d Information et EAI 1 Sommaire Les besoins des entreprises Élément de solution : l urbanisme EAI : des outils au service de l urbanisme 2 Les besoins des entreprises 3 Le constat

Plus en détail

par Philippe Poulard Web services 0 Philippe.Poulard@sophia.inria.fr Philippe Poulard

par Philippe Poulard Web services 0 Philippe.Poulard@sophia.inria.fr Philippe Poulard 0 Philippe.Poulard@sophia.inria.fr Philippe Poulard Sommaire Qu est-ce? Middleware XML Web Services in situ Couches de services Architecture des Web Services avec Java JAX-RPC JAXR JAXM Outils 1 Présentation

Plus en détail

Nouvelles Plateformes Technologiques

Nouvelles Plateformes Technologiques Cycle de présentation du développement Nouvelles Plateformes Technologiques Observatoire Technologique, CTI Observatoire Technologique 4 mai 2004 p 1 Plan de la présentation 1. Historique du projet 2.

Plus en détail

Présentation de l architecture COM Compinent Object Model DCOM/ACTIVEX

Présentation de l architecture COM Compinent Object Model DCOM/ACTIVEX Présentation de l architecture COM Compinent Object Model DCOM/ACTIVEX Yves LALOUM Conseil Audit de Systèmes d information CISA ylaloum@advisehr.com 29/04/2003 1 1.Introduction Les services de composant

Plus en détail

Les nouvelles architectures des SI : Etat de l Art

Les nouvelles architectures des SI : Etat de l Art Les nouvelles architectures des SI : Etat de l Art Objectif Mesurer concrètement les apports des nouvelles applications SI. Être capable d'évaluer l'accroissement de la complexité des applications. Prendre

Plus en détail

Messagerie asynchrone et Services Web

Messagerie asynchrone et Services Web Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS

Plus en détail

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C#

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# CHAPITRE 1 Introduction aux web services Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# NetBeans JavaScript Eclipse Objective C Xcode PHP HTML Objectifs du chapitre : Ce

Plus en détail

Business & High Technology

Business & High Technology UNIVERSITE DE TUNIS INSTITUT SUPERIEUR DE GESTION DE TUNIS Département : Informatique Business & High Technology Chapitre 3 : Le web dans l entreprise Sommaire Introduction... 1 Intranet... 1 Extranet...

Plus en détail

1. Une approche innovante, basée sur «l objet document» 2. Le respect des chaînes éditoriales de l entreprise

1. Une approche innovante, basée sur «l objet document» 2. Le respect des chaînes éditoriales de l entreprise Lucid e-globalizer, solution globale de gestion de contenu multilingue. Ce document a pour objectif de vous présenter Lucid e-globalizer, la solution de gestion de contenu multilingue de Lucid i.t., ses

Plus en détail

Figure 1. Structure répartie

Figure 1. Structure répartie Chapitre I: Applications Réparties et Middleware 1. Définition d une application répartie Une application répartie est constituée d un ensemble de processus (d objets, d agents, d acteurs) s exécutant

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/8 Titre professionnel : Inscrit au RNCP de Niveau III (Bac + 2) (J.O. du 19/02/13) 24 semaines + 8 semaines de stage (uniquement en formation continue) Développer une application orientée objet

Plus en détail

IBM Lotus Domino Designer 6.5.1

IBM Lotus Domino Designer 6.5.1 Créez rapidement des applications multi-plateformes pour automatiser les processus métier et améliorer l efficacité de votre workflow IBM Lotus Domino Designer 6.5.1 Créez, testez et déployez rapidement

Plus en détail

Tour d horizon de Java EE 6

Tour d horizon de Java EE 6 1 Tour d horizon de Java EE 6 De nos jours, les entreprises évoluent dans une compétition à l échelle mondiale. Elles ont besoin pour résoudre leurs besoins métiers d applications qui deviennent de plus

Plus en détail

Unité de formation 1 : Structurer une application. Durée : 3 semaines

Unité de formation 1 : Structurer une application. Durée : 3 semaines PROGRAMME «DEVELOPPEUR LOGICIEL» Titre professionnel : «Développeur Logiciel» Inscrit au RNCP de niveau III (Bac+2) (JO du 23 Octobre 2007) (32 semaines) Unité de formation 1 : Structurer une application

Plus en détail

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million XML, PMML, SOAP Rapport EPITA SCIA Promo 2004 16 janvier 2003 Julien Lemoine Alexandre Thibault Nicolas Wiest-Million i TABLE DES MATIÈRES Table des matières 1 XML 1 1.1 Présentation de XML.................................

Plus en détail

Spécification du profil UML d assemblage cible EJB (version 1)

Spécification du profil UML d assemblage cible EJB (version 1) Spécification du profil UML d assemblage cible EJB (version 1) Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti) Référence : Livrable 2.2 Date : 31 mai 2002

Plus en détail

Création d un WebService. Tp WinDev Numéro 13

Création d un WebService. Tp WinDev Numéro 13 Tp WinDev Numéro 13 Objectifs : Création d un WebService Paramétrage d un serveur Web, Création du Service Web, Création du client consommateur, Approche XML, SOAP Outils : Un serveur d application Ce

Plus en détail

Objectifs du cours Modèles et Approches Formels de Systèmes Distribués

Objectifs du cours Modèles et Approches Formels de Systèmes Distribués Objectifs du cours Modèles et Approches Formels de Systèmes Distribués Mohamed Mosbah LaBRI ENSEIRB - Université Bordeaux 1 mosbah@labri.fr dept-info.labri.fr/~mosbah/mafsd.html Connaître les caractéristiques

Plus en détail

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

Prise en compte des ressources dans les composants logiciels parallèles Prise en compte des ressources dans les composants logiciels parallèles Aperçus de l action RASC et du projet Concerto F. Guidec Frederic.Guidec@univ-ubs.fr Action RASC Plan de cet exposé Contexte Motivations

Plus en détail

Telecommunication Services Engineering (TSE) Lab

Telecommunication Services Engineering (TSE) Lab Chapitre 3: La toile Roch Glitho, PhD Associate Professor and Canada Research Chair My URL - http://users.encs.concordia.ca/~glitho/ Application Couche Application Transport Réseau Liaison de données Support

Plus en détail

Modernisation des applications Mainframe. avec. WebSphere Host Access Transformation Services

Modernisation des applications Mainframe. avec. WebSphere Host Access Transformation Services Modernisation des applications Mainframe avec WebSphere Host Access Transformation Services Donald Calas dcalas@fr.ibm.com 2/25/2005 2005 IBM Corporation WebSphere Host Access Transformation Services (HATS)

Plus en détail

10. Base de données et Web. OlivierCuré [ocure@univ-mlv.fr]

10. Base de données et Web. OlivierCuré [ocure@univ-mlv.fr] 10. Base de données et Web 313 Evolution de l'information Ordre de grandeur : 314 1Mo : 1 gros roman 200Mo : ce que mémorise un être humain dans sa vie. 900Mo : information contenue dans le génome d'une

Plus en détail

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence É C O L E D I N G É N I E U R D E S T E C H N O L O G I E S D E L I N F O R M A T I O N E T D E L A C O M M U N I C A T I O N Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION Mentions

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

Le client/serveur repose sur une communication d égal à égal entre les applications.

Le client/serveur repose sur une communication d égal à égal entre les applications. Table des matières LES PRINCIPES DE BASE... 1 Présentation distribuée-revamping...2 Présentation distante...3 Traitements distribués...3 données distantes-rd...4 données distribuées-rda distribué...4 L'ARCHITECTURE

Plus en détail

Wireless Application Protocol Principes et Architecture

Wireless Application Protocol Principes et Architecture Wireless Application Protocol Principes et Architecture EFORT http://www.efort.com 1 Introduction L accès aux applications Internet par un terminal mobile requiert une attention particulière car il existe

Plus en détail

MC-II1 - Cours n o 1 Langages de programmation Introduction à la POO

MC-II1 - Cours n o 1 Langages de programmation Introduction à la POO MC-II1 - Cours n o 1 Langages de programmation Introduction à la POO Sebastien.Kramm@univ-rouen.fr IUT GEII Rouen 2012-2013 S. Kramm (IUT Rouen) MCII1 - Cours 1 2012-2013 1 / 36 Sommaire 1 Langages de

Plus en détail

Programmation du Web : Présentation du Web dynamique

Programmation du Web : Présentation du Web dynamique Programmation du Web : Présentation du Web dynamique Jean-Baptiste Vioix (Jean-Baptiste.Vioix@u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-8 Présentation Nécessité du web dynamique

Plus en détail

Systèmes d information documentaires distribués

Systèmes d information documentaires distribués Systèmes d information documentaires distribués Yannick Prié UFR Informatique Université Claude Bernard Lyon 004-005 Master SIB M UE 3 / Bloc 4 Cours 6-7 Systèmes d information documentaires distribués

Plus en détail

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base SOA et Services Web 23 octobre 2011 1 SOA: Concepts de base 2 Du client serveur à la SOA N est Nest pas une démarche entièrement nouvelle: années 1990 avec les solutions C/S Besoins d ouverture et d interopérabilité

Plus en détail

VisualAge Pacbase 3.0 et WebSphere

VisualAge Pacbase 3.0 et WebSphere VisualAge Pacbase 3.0 et WebSphere Conférence VisualAge Pacbase 13 décembre 2001 Fernand Bonaguidi Jean-François Lévi 1 La plateforme logicielle WebSphere Applications de s et de Partenaires Accélérateurs

Plus en détail

Introduction aux S.G.B.D.

Introduction aux S.G.B.D. NFE113 Administration et configuration des bases de données - 2010 Introduction aux S.G.B.D. Eric Boniface Sommaire L origine La gestion de fichiers Les S.G.B.D. : définition, principes et architecture

Plus en détail

Qu'est-ce qu'un Web Service?

Qu'est-ce qu'un Web Service? WEB SERVICES Qu'est-ce qu'un Web Service? Un Web Service est un composant implémenté dans n'importe quel langage, déployé sur n'importe quelle plate-forme et enveloppé dans une couche de standards dérivés

Plus en détail

Tout pour monter son site Web. IUFM de Bourgogne

Tout pour monter son site Web. IUFM de Bourgogne Tout pour monter son site Web IUFM de Bourgogne Pourquoi utiliser les technologies Web? Visible par toutes les plates-formes (PC, Mac, Unix ) Technologies simples et descriptives Contenu principalement

Plus en détail

Annuaires LDAP et méta-annuaires

Annuaires LDAP et méta-annuaires Annuaires LDAP et méta-annuaires Laurent Mynard Yphise 6 rue Beaubourg - 75004 PARIS yphise@yphise.com - http://yphise.fr T 01 44 59 93 00 F 01 44 59 93 09 LDAP020314-1 Agenda A propos d Yphise Les annuaires

Plus en détail

Java EE. Grégory Cuellar, Julien Goullon. 1 er octobre 2007. gregory.cuellar@bull.net. julien.goullon@9business.fr

Java EE. Grégory Cuellar, Julien Goullon. 1 er octobre 2007. gregory.cuellar@bull.net. julien.goullon@9business.fr Grégory Cuellar Julien Goullon gregory.cuellar@bull.net julien.goullon@9business.fr 1 er octobre 2007 1 Généralité 2 / 54 Pourquoi? Historique Les alternatives Les composants 2 Architecture n-tiers 3 JEE

Plus en détail

Intégration d'applications d'entreprise (INTA)

Intégration d'applications d'entreprise (INTA) Master 2 SITW - Recherche Intégration d'applications d'entreprise (INTA) Dr. Djamel Benmerzoug Email : djamel.benmerzoug@univ-constantine2.dz Maitre de Conférences A Département TLSI Faculté des NTIC Université

Plus en détail

Compte Rendu d intégration d application

Compte Rendu d intégration d application ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...

Plus en détail

Objectifs du cours. Master mention Informatique M1. Construction d Applications Réparties. Sommaire. Organisation.

Objectifs du cours. Master mention Informatique M1. Construction d Applications Réparties. Sommaire. Organisation. Master mention Informatique M1 Construction d s Réparties Lionel Seinturier USTL-LIFL Équipe GOAL/Projet INRIA Jacquard Lionel.Seinturier@lifl.fr 2006/2007 1 Objectifs du cours Appréhender la conception

Plus en détail

ETUDE COMPARATIVE DES SERVICES DE RECHERCHE SUR PROPRIETES

ETUDE COMPARATIVE DES SERVICES DE RECHERCHE SUR PROPRIETES ETUDE COMPARATIVE DES SERVICES DE RECHERCHE SUR PROPRIETES Dhouha Ayed, Chantal Taconet et Guy Bernard GET / INT, CNRS Samovar 9 rue Charles Fourier, 91011 Évry, France {Dhouha.Ayed, Chantal.Taconet, Guy.Bernard}@int-evry.fr

Plus en détail

ARCHITECTURES DES SYSTÈME DE BASE DE DONNÉES. Cours Administration des Bases de données M Salhi

ARCHITECTURES DES SYSTÈME DE BASE DE DONNÉES. Cours Administration des Bases de données M Salhi ARCHITECTURES DES SYSTÈME DE BASE DE DONNÉES Cours Administration des Bases de données M Salhi Architectures des Système de base de données Systèmes centralisés et client-serveur Server System Architectures

Plus en détail

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France Développement d applications Internet et réseaux avec LabVIEW Alexandre STANURSKI National Instruments France Quelles sont les possibilités? Publication de données Génération de rapports et de documents

Plus en détail