Nicolas Pastorelly.

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

Download "Nicolas Pastorelly. Nicolas.pastorelly@unice.fr"

Transcription

1 Nicolas Pastorelly

2 Objectif du cours Applications N-tiers Reconnaître les différents types d architectures Connaître les critères de choix lors de la création d une application Comparaison : Visions : Sun ONE &.NET Comparaison couche à couche des infrastructures

3

4 Les différentes architectures Les types d architectures dépendent du type et du nombres de serveurs impliqués Les diverts types d architectures ont différents avantages et désavantages Généralement sont distinguées les architectures 2-tiers 3-tiers n-tiers Ce qui compte (/ aux objectifs) La rapidité Facilité de mise en place / administration

5 Les architectures 2 tiers Type le plus ancien d applications réseau avec la plus part du temps : Un serveur De multiples clients Les fonctionnalités sous souvent hébergées par le serveur Le client est un client léger Relation maître - esclave Traitements 1 Données 2

6 Les architectures 2 tiers & clients lourds Le prix de la ressource informatique diminuant, le client put assumer un partie du traitement client lourd PB : installation & maintenance du client Traitements 1 Données 2 Traitements

7 Evolution des architectures Les ordinateurs se répondant dans les bureaux, les demandes d applications augmentèrent rapidement Besoin de nombreux serveurs & sources de données Les «applications d entreprise» virent le jour Résultat : de nombreux domaines adressés s & une complexité croissante qui rendirent nécessaire n la division des applications en couches ou tiers Legacy App Centralized Mainframe/Mini SNA Channel Attach Terminals Pas de Client/serveur monolithique Distributed PC LAN/WAN TCP/IP, Ethernet GUIs Client Lourd/serveur - Client Léger/serveur

8 Architecture 2 tiers & WEB Avec l arrivée d Internet le modèle client/serveur prit son envol Client lourd = mail, newsgroups, P2P Client léger = client browsers 1 ère génération d architecture Serveur Web Simple Affichage HTML (Browser Web) Serveur Web 1 2 Problèmes & limitations : Bon pour du simple affichage Données non dynamiques HTTP Pages HTML

9 Les architectures 3 tiers classiques Un serveur d application est entre le client & la source de donnée 3 processus exécutés sur des plateformes différentes Tiers Client Tiers du milieu Tiers de données Protocole propriétaire ou standard Interface client (Traitements)? héberge les processus de traitement fonctionnels (Génère des données d affichage)? Appelé application serveur RDBMS ou autres

10 Les architectures WEB 3 tiers classiques Affichage HTML (Browser Web) Applet, ActiveX Clients lourds Applet, ActiveX 1 2 Serveur Web Problèmes & limitations : CGI scaling Gestion de différents types de clients Gestion de la cession HTTP Sécurité Module Pages HTML Corba/RMI, COM CGI, Pages serveur Tiers de données 3 RDBMS Directory, mail serveur, SMTP Applications d entreprises Autres

11 Rappel : Common Gateway Interface (CGI) Certains fichiers sont interprétés s comme programmes en fonction de leur extensions ou emplacement Les programmes invoqués s génèrent g en entête MIME est du contenu HTML sur stdout 2 Web-Server 1 HTTP-Request Load File File-System HTML-File HTML HTML? File Output Program? Executer le Programme Tiers de données I/O, Network, DB 3

12 Les architectures 3 tiers Avantages Facile rapide à mettre en place Facile à administrer Utile pour des applications simples Désavantages Tolérance à la faute (un seul point critique) Montée e en charge difficile Pb de maintenance / évolution Pas réellement r flexible (logiques de présentation et de connexion mélangm langées)

13 Les architectures N tiers N tiers = Un nombre de tiers supérieur à 3 N tiers =Utiliser une combinaison de serveurs & couches logicielles pour créer un collection modulaire de services informationnels Concevoir l application en utilisant autant de «tiers» que nécessaire Compatible avec les techniques de conception OO Pouvoir mettre les composants créés dans les serveurs choisis

14 Les architectures N tiers Avantages Application plus puissantes De nombreux services pour de nombreux clients Gestion de la sécurité, disponibilité, évolution (scalability( scalability) Désavantages Plus compliqué à concevoir Risques de performances Robustesse difficile à garantir Les Attributs de qualité : Robustesse : difficile avec une application + complexe Sécurité : les tiers sont autant de barrières Disponibilité : découpage en tiers permets la redondances Evolution : couche = facile d ajouter de nouveaux services Maintenance : difficile avec une application + complexe

15 Les architectures N tiers Une architecture N tiers peut être évaluée suivant l axe Logique Couches, composants métiers créés Physique Installation sur différents serveurs des différentes couches logiques Architecture classique : 4 tiers Tiers de données Tiers Client 1 Serveurs de Application présentation serveurs 2 3 BD réplication 4 Serveur mail

16 De la modularité des architectures N tiers 1 Tiers Client 2 BD Tiers de données (Intranet) 4 Navigateur Tiers de présentation (Web serveurs) Fct Du client Équivalent 3 tiers 3 Application serveurs réplication Serveur mail Web service proxy Client Lourd Services WEB externes Autres couches logiques et physiques

17 Tiers Client Application avec laquelle l utilisateur interagit Contient les mécanismes de présentation Code responsable d afficher les données Code responsable de la communication avec les serveurs Un client léger ne contient pas de logique applicative Navigateur WEB : HTTP ou HTTPS + DHTLM, HTML, XML, WML, any-ml Un client lourd contient du code applicatif Application, Applet, ActiveX - IIOP / RMI, CORBA, Com etc. Application + WS - HTTP ou HTTPS + SOAP, XML, ebxml Tiers Client Navigateur Web service proxy Client Lourd

18 Tiers de présentation Permet la présentation des informations Dynamiques (après avoir contacté les autres tiers applicatifs) en fonction du type de client émettant une requête HTTP Dans le cas des clients de type navigateur WEB, les technologies utilisées sont par exemple : CGI (Programme( exécutables en Perl, C, C++ etc.) Pages interprétées - ASP (Active Server Pages) MSFT IIS - Java Servlets,, JSP (Java Server Pages) serveur WEB + Java container Autres (PHP etc.) Serveur Web Requête HTTP Contenu Documents statiques WEB container Modules d extension Autres tiers Scriptes CGI

19 Le tiers de Workflow Le tiers de workflow est une couche logique qui décrit que faire avec les données/informations fournies par l utilisateur La couche de workflow définit les règles qui régissent la saisie & d autres processus client Le tiers métier Cette couche contient les processus métiers (business logic) Les règles métier doivent maintenir l intégrité des données

20 Le tiers de données Contient les données nécessaires à l application fournies par des systèmes d information d entreprises qui peuvent être : Des bases de données - SQL2,SQL3 - Conception et administration = important! Des ERPs (entreprise ressource planing) Des legacy applications (système anciens sous IBM AS400 etc.) Le tiers d accès aux données Contient la logique et les mécanismes d accès aux données Ajouter, détruire, recherche, mettre à jour une donnée JDO, SQL/J, JDBC, ADO.NET,, Connecteur & protocoles propriétaires

21 Quelles sont les autres couches Il peut il y avoir autant de couches logiques que désiré en fonction des besoins Implantation physique? Performances? Importance grandissante de la phase d analyse et conception en fonction des besoins de l application Pourquoi créer des couches? Favoriser la réutilisation Gérer finement la sécurité Plus de tolérance aux fautes (+load balancing) Applications + scalables

22 Pour et contre des architectures en couches Architectures 1 tiers Simple Hautes performances Tout en 1 Pour contre Pas d accès distant Code spaghetti 2 tiers Conception claire & modulaire - de trafic réseau Séparation UI Business Logic Données et logique mélangées gestion du stockage 3 tiers N tiers Séparation UI Business Logic Stockage Stockage sûr & réplicable Accès conçurent aux données possible (transactions) Accès performant aux données Répartition de charges supporter différentes interfaces applications est + simple Réutilisation des composents : utiliser des protocoles/api communs Répartition de charges Mécanismes de réplications Sécurité rendre possible l achat de composent Besoin d un RDBMS DBA Apprendre SQL Correspondance objet difficile Coût - performant? Apprendre/choisir des API (Corba, COM etc.) Produits chers + complexe, + de fautes? Mise en place difficile Besoin de compétences techniques Complexe à gérer

23 Les architecture n tiers : couches logiques & couches physiques Logique de présentation Logique métier (règles métiers) Logique de connexion aux sources de données (accès aux données) Sources de données (Fichiers, BD, etc.)

24 Les architecture n tiers : couches logiques & couches physiques Client léger Serveur Portabilité, Maintenance, intégration d une nouvelle application (procédures stockées)? 1000 utilisateurs 1000 connexions 1000 processus 500 MB de RAM fichiers ouverts L OS est mort! Client lourd Serveur Serveur

25 Les architecture n tiers : couches logiques & couches physiques 1000 utilisateurs Tiers du milieu 50 connexions partagées 50 processus 25 MB de RAM 500 fichiers ouverts Cool! Tiers Client Tiers du milieu Tiers de données RDBMS ou autres Pb : différentes logiques dans un même code non séparation de la logique métier pb de maintenance Stopper le serveur pour Ajouter un nouveau type de client Ajouter une nouvelle source de donnée Tier du milieu = serveur WEB

26 Les architecture n tiers : couches logiques & couches physiques Zone démilitarisée (DMZ) Zone de confiance (trusted zone) Tiers Client HTTP port 80 Tiers du milieu HTTP port fixe Tiers de données Protocole propriétaire RDBMS ou autres La logique métier est exposée!

27 Les architecture n tiers : couches logiques & couches physiques Zone démilitarisée (DMZ) HTTP port 80 HTTP port aléatoire Zone de confiance (trusted zone) Tiers Client pres SRV App SRV Protocole propriétaire Tiers de données RDBMS ou autres

28 couches logiques HomePage.aspx Customer Presentation Layer GetCustomerInfos Customer DACustomer Business Logic Layer Nom, prénom DACustomer Data Layer Connexion SQL Address Book Contacts

29 couches logiques : ex dans le projet finance Data Business Logic Web Services Presentation Samic ADO.Net Integration Server SOAP COM Interop Internet Windows CE application (evb) Market Watch Server.Net Framework

30 couches logiques : ex dans le projet finance SQL Server 2000 Samic DB C# Components Samic Adapter.Net Framework Data BAMI Profile DB Data Bami Profile Access Adapter Misys Back Office Market Watch Server FIST activex Samic Component Business Bami Profile Logic Market Watch Web BankWS Services embedded Visual Basic Client W3F2 Embedded Application

31 couches logiques Internet Clients Presentation Web Servers Systèmes externes Mobile Devices HTTP SOAP Presentation Logic Application Servers Web Services Servers RMI/IIOP.NET/COM+ Remoting Interface Logic Routing Logic Business Logic Data Access Logic ADO.NET OLEDB JDBC Ressources Database MQ Directory

32 N tiers = architecture distribuée Répartir la logique sur plusieurs programmes, processus ou processeurs. Pourquoi la programmation distribuée? Utilisation de composants Parallélisme Ressource Loan Account Services du tiers du milieu = composants Manager Ledger Officer

33 architecture distribuées : historique Sockets X/Open Transport Interface RPC - Remote Procedure Calls DCE - Distributed Computing Environment COM/DCOM CORBA - Common Object Request Broker Architecture EJB Enterprise Java Beans ;.net remoting

34 Evolution des architectures N-tiers Coût de développement & de maintenance Architecture 2-Tier Architecture N-Tier Complexité de l application & durée de vie

35 Evolution des architectures N-tiers Besoin d un serveur applicatif = serveur WEB Supporter différentes BDs Supporter d anciennes application (legacy( apps) Code réutilisable = composants Connectivité Client Sécurité Management Gestion des Transactions Gestion de composants métiers Connectivité aux Sources de données Tiers Client Serveur d application Tiers de données Composants

36 Le tiers du milieu : rôle Gestion de composants fourni tous les services et outils pour gérer les composants du système et l implémentation de la «business logic»» comme - management de session - synchrone et asynchrone notification Tolérance de fautes, haute disponibilité Capacité de l application de résister à une possible panne sans point unique de panne. Définie les polices de récupération Passage à l'échelle Capacité pour le système d'accroître ses ressources matérielles pour supporter un nombre accru d utilisateur avec un temps de réponse constant Balance de charge Capacité d envoyer une requête a différents serveurs en fonction de la disponibilité des serveurs

37 Le tiers du milieu : rôle Ressources pooling Protège le tiers ressource en utilisant des groupes de connections partagées entre tous les clients Transaction Management Une transaction est une unité indivisible de travail comprenant plusieurs opérations, dont toutes ou aucune doivent être effectuées pour protéger l intégrité des données Assure les propriétés ACID des transactions (atomicité, consistance, isolation & durabilité) Console de management Unique point de management permettant de contrôle l ensemble du système incluant tous les serveurs Sécurité Authentification Autorisation

38 Type de serveurs : Serveurs d applications Serveur d applications - Environnement complet de développement coté serveur - Comprends toujours un serveur de composants - Serveurs avec états - Supporte «business logic»» décrite à l aide d objets, de règles et de composants - Exemples > Microsoft.net Enterprise Servers > J2EE Serveurs : IBM WebSphere,, BEA WebLogic, JBoss > ORB Corba Servers : Borland VisiBroker,, IONA ORBacus > Notez que les serveurs d applications Corba complet intègrent J2EE.

39 Architectures N-tiers Tiers de Présentation GUI Système du client (HTML, formulaire Windows) sur la machine cliente Tiers de Présentation logique WEB Logique serveur HTTP Ex : (WebForms+C # ou VB) ou (Servlets, JSPs : Java) pour produire : XML,HTML,WML Côté serveur Logique distribuée Connexion au serveur pour échange d information Tiers proxy ( soap, CORBA, RMI, COM+) Côté Client Interface cliente Application cliente développée Tiers métier (business tier) Règles & objets métier Manipulation des données pour les transformer en information (+ maintenance de l état) Tiers d accès aux données Interface avec les unités de stockage Interface BDs, Fichiers qui gère les I/O (généralement sans état maintenu) Tiers de données Stockage Langage interrogation, optimisation,ws

40 HTML, WML, XML, Soap Architectures N-tiers JDBC, SQL/J Vs ADO.Net, ADO,ODBC Autres Couches logiques Presentation tier MiddleWare services Business logic tier Data Access tier Data Access Déployé sur 1 ou N serveurs SQL2/ SQL3 Or ODMG «Component» approach (tight coupling) (CORBA,RMI ) vs (COM,DCOM ) «WebServices» approach (loose copling) SOAP/UDDI/WSDL SOAP, UDDI, WSDL Data source

41 Les serveurs d applicationd (vue logique) Eléments d un serveur d application WEB Web Service User/Provider Mainframe Backend Server Integration Layer Micro/Macro Services Virtual Machine Frontend Layer (Web Server) Legacy Workflow Engine Core Services (Calendar, Preferences, Transactions,...) Service Context (Who, Where, When, Why,...) Service Description (WSDL) Service Description, Discovery, Integration (UDDI) Web-based & -related Protocols (HTTP, SMTP,...) Clients

42

43 J2EE &.net : un niveau différent J2EE : un standard J2EE est une spécification avec de multipes implémentations J2EE = Ensemble de spécifications différents éditeurs logiciels, développeurs et vendeurs hardware (JCP - (Java Community Process) Basé sur le language Java - JRE interprète du bytecode Compatibility Test Suite, Blueprints Design Guidelines etc..net est un mélange de produits et de spécifications architecture de développement langage(s)/runtime

44 .NET.NET Foundation Services (Hailstorm) Passport, Calendar, Directory & Search, Notification & Messaging, Personalization, Web-Store/XML, Dynamic Delivery of Software & Services.NET Framework & Tools ASP.NET (Web Services, Web Forms, ASP.NET Application Services) Windows Forms (Controls, Drawing, Windows Application Services) Base Classes (ADO.NET, XML, Threading, IO,...) Common Language Runtime (Memory Management, Common Type System, Lifecycle Monitor).NET Servers SQL Server, Biztalk, Commerce, Exchange, Mobile Information, Host Integration, Application Center.NET Devices TabletPC, PocketPC,...

45 J2EE

46 J2EE = SQL pour Infrastructure applicative Distributed components & Web services Enterprise JavaBeans 2.0 & 1.1 (EJB) Java Messaging Service (JMS) Transparent Web service bindings to EJB and JMS Remote Method Invocation (RMI/IIOP) Java Transaction API (JTA) Java Naming & Directory Inter. 1.2 (JNDI) Java Interface Definition Language (Java IDL) Web, HTML, and XML Servlets 2.2 & 2.3 Java Server Pages (JSP) 1.1 & 1.2 Database/legacy access Java Database Connection 2.0 (JDBC) Connector Architecture (J2EE CA) EJB Entity Beans

47 J2EE Conteneur web Conteneur EJB Servlet Java Page JSP EJB Les API : JDBC, JAVA MAIL, RMI etc.. Les API: JDBC, JAVA MAIL, RMI etc.. Serveur d applications J2EE Clients applicatifs DB

48

49 .NET Runtime Common Language Runtime (CLR) Tout langage compilé en MSIL +ieurs langages supportés Support de langages non OO C# VB.NET C++ Compiler MSIL + Metadata Loader/ Verifier JIT Perl Garbage Collection, Security, Multithreading,... Execution Managed Code

50 .NET Framework Code Source (C#, C++, VB.NET, J++, Cobol, Smalltalk, Eiffel, etc.) CLS/CTS «Managed Code» (MSIL).NET Framework Libraries.NET Compact Framework Libraries.NET CLR.NET CLR.NET CLR.NET CLR.NET CLR.NET CLR Windows 98/Me NT/2000/XP Linux Autre

51 Java Virtual Machine JVM interprète Java Byte Code. D autres langages peuvent être compilés en Java bytecode (e.g. Ada) Just-in in-time existe pour différents OSs Java Compiler CLASS- Files Classloader/ Verifier JIT Garbage Collection, Security Manager Call-in+Call-out, Multithreading,... Interpreter Hotspot Native Code

52 Modèle Java

53 J2SE 1.0: 212 classes 1.1: 504 classes 1.2: 1781 classes 1.3: 2130 classes 1.4: 2738 classes J2SE 1.4

54

55 (.NET) Tout est objet Types Value Types Reference Types Pointers Interfaces System Value Types User Value Types Self-describing Types Enumerations Classes Arrays Delegates Boxed Values User-Defined

56 System.Object Mère de toutes les classes public class Object { public virtual int GetHashCode(); public virtual bool Equals(); public virtual String ToString(); public static bool Equals(object a, object b); public static bool ReferenceEquals(object a, object b); public Type GetType(); protected object MemberWiseClone(); protected virtual Finalize() ; }

57 Object Model (Java) Types primitifs et objets Pas de boxing/unboxing automatique Types Primitive Types Reference Types Arrays Interfaces Classes

58 java.lang.object La mère de toutes les classes public class Object { public Object(); public boolean equals(object obj); public final Class getclass(); public int hashcode(); public final void notify(); public final void notifyall(); public String tostring(); public final void wait() throws InterruptedException; public final void wait(long timeout) throws InterruptedException; public final void wait(long timeout, int nanos) throws InterruptedException; protected Object clone() throws CloneNotSupportedException; protected void finalize() throws Throwable; }

59 en C# & Java: Hello World Example using System; namespace MyNameSpace { public class MyClass { public static void Main(String [] args) { Console.WriteLine( Hello, C#! ); } } } package MyPackage; public class MyClass { public static void main(string [] args) { System.out.println( Hello, Java! ); } }

60 Java // HelloWorld.java public class HelloWorld{ public static void main(string[] args){ for(int i= 1; i<= 100; i++) System.out.println("Hello!"); } }

61 C# Nom fichier peut être? nom classe Peut être omis si pas de paramètres // NAWAK.cs public class HelloWorld{ public static void Main(string[] args){ for(int i= 1; i<= 100; i++) System.Console.WriteLine("Hello!"); } } N classes publiques dans le même fichier int peut être traité comme un objet Main peut retourner le type int ou void

62 C# & Java Java C# import java.util.vector; public static int sum(vector v) { int sum = 0; for (int( j = 0; j < v.size(); j++) { Integer i = (Integer)v.elementAt(j( Integer)v.elementAt(j); ); sum = sum + i.intvalue(); } return sum; } using System.Collections; static int SumList(ArrayList thelist) ) { int sum = 0; foreach (int j in thelist) ) { sum = sum + j; } return sum; }

63 C# & Java Java C# try { throw new SampleException(); } catch (SampleException( ex) { } finally { } try { throw new SampleException(); } catch (SampleException( ex) { } finally { } catch est optionnel Pas de mot clé throws try { throw new SampleException(); } catch {} finally { }

64 Statements Exceptions en Java Les Exceptions doivent être déclarées dans la clause throws public int insert(int i) throws OverLimitException; { } Exceptions en.net Exceptions ne sont pas déclarées // Je mets un commentaire pour dire qu il y a une exception + loin public int insert(int i) { }

65 Modèle Objet Les types de bases ne peuvent pas être utilisés comme des objets en Java Integer i_ref = new Integer(7); List l =... l.add( i_ref ); i_ref.intvalue(); C# : boxing & unboxing i 123 int i = 123; object o = i; int j = (int)o( int)o; Heap o j System.Int32 Stack

66 Données dynamiques en C int *pint; Func1(int intarg) { } int IntLocal; IntLocal = IntArg; main() { } pint = malloc(sizeof(int)); Func1(1); // global pointer var // functions lifetime // lives until free() Memory Stack (Fragments During Execution) Heap Static Data Code FFFF 0000

67 Données dynamiques en C# Class Class1 { } public static int IntStatic = 1; public int IntInstance; public Method1(int intarg) { } int IntLocal; intlocal = intarg; Class1 NewClass1 = new Class1; // create object Class1.Method1(1); // global var // object s lifetime // method s lifetime JIT Cache GC Pools Metadata Map Memory Stack Heap Static Data Code FFFF 0000

68 /*** JAVA ***/ class A {} interface I {} interface J {} Implémentation & Héritage class B extends A implements I, J {} /*** C# ***/ class A {} interface I {} interface J {} class B : A, I, J {}

69 .NET-TypesTypes non disponibles en Java Delegates & Events: JeRéagis QQchoseSePasse JEnvoieUnEvt QQchoseSePasse class JEnvoieUnEvt{ JEcouteEtRéagisAuxEvts... public event FctADeclancherQuandQQchoseSePasse QQchoseSePasse; public delegate void FctADeclancherQuandQQchoseSePasse (int param);... } } Je m abonne (+=) class JEcouteEtRéagisAuxEvts{... JEnvoieUnEvt Sender; // + création etc.... Sender. QQchoseSePasse += new FctADeclancherQuandQQchoseSePasse (this.jeréagis); Public void JeRéagis (int x){.} }

70 .NET-TypesTypes non disponibles en Java Enumerations (value type): enum Color : byte { RED = 1, BLUE = 2, GREEN = 3 }; Jagged & unjagged Arrays: Structs (value types): Structs = sealed Pas d héritage struct Point { int x, y;... } Point p = new Point(10, 20); int[ ]array1=new int[ ]{1,2,3}; int[ ][ ]array3=new int[3][ ]; array3[0]=new int[ ]{1,2,3,4}; array3[1]=new int[ ]{5,6,7,8,9}; array3[2]=new int[ ]{10,11}; point point 10

71 C# : gestion des caractères spéciaux Eviter la protection ('\n \t \\'' ) via : string texte01 = "c'est pas toujours très\nlisible nlisible\t\tdestdes textes formatés\ncomme ça"; string texte02 pas toujours très lisible. des textes formatés comme ça";

72 Les mots clés C# using Main Console.WriteLine Console.Write string System.Object is public private internal* sealed static this base unobjet as UneClasse ToString()... Java import main System.out.println System.out.print String java.lang.object instanceof public private protected* final static this super (UneClasse)unObjet cast tostring()...

73 Points en commun & Differences points en commun : Interfaces = «abstract classes» Classe = héritage simple Interface = héritage multiple Variables initialisées par défaut Concept des Namespaces (Java-Package &.NET. NET- Namespace) Même visibilité des attributs (public, private,,...) Différences.NET : pas de différence entre types primitifs & classes. Multiple langages supportés en.net Java : toute méthode = implicitement virtuel..net : explicite (virtual( virtual, override,, new). Java : packages = répertoire, pas.net

74 Metainformation Java &.NET ont des APIs réflection Lire & instancier des classes.net permet l annotation du code (classes, members, operations) ) avec la notion d Attributes

75 Using an Attribute [AuthorIs( Michael )] class MyClass {... }.NET Exemples Il y a des attibuts par défaut (WebService( WebService, WebMethod,...) Définir un Attribut : [AttributeUsage(AttributeTargets.All)] public class AuthorIsAttribute : Attribute { private string m_name; public AuthorIsAttribute(string name) { m_name = name;} }

76 .NET Exemples Utiliser l information de type using System; using System.Reflection; namespace ComponentClient { class Client { static void Main(string[] args) { Assembly a = Assembly.LoadFrom("Component.dll"); Type [] alltypes = a.gettypes(); Type t = alltypes[0]; object o = Activator.CreateInstance(t); MethodInfo mi = t.getmethod("algorithm"); double d = (double) mi.invoke(o, new object[]{21.0}); } } }

77 Java Example Utiliser l information de type : Note : packages <> assemblies!! import java.lang.reflect.*; try { Class c = Class.forName( MyPrintComponent ); Object o = c.newinstance(); Method m = c.getmethod( print, new Class[]{ String.class }); m.invoke(o, new Object[]{ Hallo, Java! }); } catch (Exception e) { }

78 Points en commun & Différences Points en commun : Les APIs se ressemblent Différences:.NET : meta information avec les attributes La réflection en Java est parfois + compliquée (à cause des classes et types primitifs).net permet la création de nouvelle classe «at runtime» & de les instancier à l intérieur d un assembly.

79 Statements Les 2 PFs ont les mêmes instructions de programmation (statements( statements) Différences: string name = address.name; switch (name) { case Maier : Console.WriteLine( Nice to meet you, Hans! ); break; case Mueller, case Huber : Console.WriteLine( You owe me some money! ); break; default: Console.WriteLine( I don t know you ); break; }

80 Statements Différences: Iterators en.net: foreach (Elemi en MyContainer) { Console.WriteLine(i); }... class MyContainer : IEnumerable, IEnumerator { public IEnumerator GetEnumerator() { return (IEnumerator)this; } public void Reset() {... } public bool MoveNext() {... } public object Current { get {... } } }

81 Différences: Iterators en Java: Statements for (Iterator i = MyContainer.iterator(); i.hasnext();) dosomething(i.next());... class MyContainer implements Iterator { public boolean hasnext() { } public Object next() {...} public void remove() {...} public Iterator iterator() { return this; } }

82 Statements Différences: Propriétés en.net où Java utilisent des conventions de codage Class MyClass {... public double x { set { if (value < 0) throw new ArgumentException ( < 0 ); m_x = value; } get { return m_x; } }... // User: MyClass m = new MyClass(); m.x = 22;

83 Statements Différences:.NET supporte des Indexers,, pas Java object[17] = 22; // en class: Int [] m_a; public double this[int pos] { get { return m_a[pos]; } set { m_a[pos] = value; } } Les Indexers marchent aussi avec les non entiers comme les Strings

84 Statements Différences:.NET supports la surcharge des opérateurs public static Point operator+(point op1, Point op2) { return new Point(op1.x+op2.x,op1.y+op2.y); }... Point p = new Point(1,2) + new Point(2,3);

85 Statements Différences:.NET permet le passage par référence des arguments de méthodes class Test { public void Print(int i) { Console.WriteLine(i); } public void Inc(ref int i) { i++; } public int SetInitial(out int i) { i = 42; }... } Test t =...; int i; t.setinitial(out i); t.inc(ref i); t.print();

86 Pas de grandes différences Classes de bases.net Java GUI Windows.Forms Web.Forms SWING, AWT Communication System.Net: Connection, HttpWebRequest,... Java.net: Sockets, URL,... Container System.Collections: ArrayList, BitArray, Maps, Queue, List, Stack java.util: Lists, Maps, Sets, Trees, Vectors

87

88 Les threads C# void P() {... thread actions... } Thread t = new Thread(new ThreadStart(P)); Java class MyThread extends Thread { public void run() {... thread actions... } } Thread t = new MyThread();

89 Synchronisation de méthodes C# Java public void WithdrawAmount(int num) { lock(this) { } } if(num < this.amount) this.amount -= num; public void withdrawamount(int num) { synchronized(this) { } } if(num < this.amount) this.amount -= num;

90 points en commun & Différences points en commun : Threading quasi similaire Les 2 ont la notion de gestion & synchronisation Différences: Synchronisation Java mieux intégrée dans le langage Java = meilleure synchronisation & communication inter-thread thread (wait, notify,,...).

91

92 Packaging Java Fichier.class pour chaque classe. Regroupement de ces fichiers (.jar)..class et.jar doivent être dans le «classpath»..net Regroupement en Assemblies (.EXE,.DLL) Gestion des versions - Le CLR s occupe de «loader» le bon assembly en fonction de la version. - Un même processus peut même utiliser deux versions différentes d un même assembly,, en même temps - Élimine les problèmes de compatibilité entre différentes versions d une même DLL. GAC: Global Assembly Cache - Endroit où sont stockés les assemblies. - Géré par le framework.

93 Assemblies en.net Assembly = ensembles de types name version Custom Attributes Sharedname Hash Manifest Files Referenced Assemblies Product Information Types Security Type 1 IL-Code Type 2 IL-Code Type 3 IL-Code Module 1 Metadata Resources

94 Assemblies en.net «Private Assemblies» pour un seul programme «Shared Assemblies» tockées dans un cache commun & utilisable par plusieurs applications. Signées par une clé Versionnées!!

95 Java JAR files.jar files sont l équivalent des.net s assemblies «shared» ou «private» Peuvent être signées Ils contiennent des types ressources (metadata dans un fichier manifest)?. Pas de notion de versioning!

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

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

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

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

DotNet. Plan. Les outils de développement

DotNet. Plan. Les outils de développement DotNet Les outils de développement Version 1.03 du 16/10/2006 par Jacky Renno Plan La machine virtuelle Le kit de développement Le kit de langage Le Visual Studio.NET Le serveur web IIS 6.0 Le modeleur

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

Vulgarisation Java EE Java EE, c est quoi?

Vulgarisation Java EE Java EE, c est quoi? Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards

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

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 et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. Programmer avec Java EE. Besoins des développeurs. Prérequis / Objectifs

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. Programmer avec Java EE. Besoins des développeurs. Prérequis / Objectifs Plan du cours 2 Introduction générale EJB : les fondamentaux Programmer avec Java EE Introduction générale Michel Buffa (buffa@unice.fr), UNSA 2011, modifié par Richard Grin (version 1.0), avec emprunts

Plus en détail

Introduction à.net. C'est quoi.net? C'est quoi.net? .NET 1, 2, 3. .net 1.0. La réponse de Microsoft à J2EE. .net 2

Introduction à.net. C'est quoi.net? C'est quoi.net? .NET 1, 2, 3. .net 1.0. La réponse de Microsoft à J2EE. .net 2 C'est quoi.net? Introduction à.net ".NET is the Microsoft Web services strategy to connect information, people, systems, and devices through software." http://www.microsoft.com/net/basics.mspx Clémentine

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

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

Urbanisation et architecture des systèmes d information

Urbanisation et architecture des systèmes d information Urbanisation et architecture des systèmes d information Plate forme pour le composant logiciel 2/2 JAVA, JEE et les EJB David Eudeline eudeline.david@free.fr JAVA Qu'est ce que JAVA? Un langage très jeune

Plus en détail

Plan. La plate-forme J2EE. Plan J2SE. Standard Edition. Master Informatique 2ème année. Olivier Flauzac. olivier.flauzac@univ-reims.

Plan. La plate-forme J2EE. Plan J2SE. Standard Edition. Master Informatique 2ème année. Olivier Flauzac. olivier.flauzac@univ-reims. Plan La plate-forme J2EE Master Informatique 2ème année Olivier Flauzac olivier.flauzac@univ-reims.fr Olivier Flauzac (URCA) La plate-forme J2EE olivier.flauzac@univ-reims.fr 1 / 64 Olivier Flauzac (URCA)

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

J2EE : Services Web. Stéphane Croisier, Directeur Serge Huber, Directeur Technique. 13 Juin 2002. 2002 Jahia Ltd. All rights reserved.

J2EE : Services Web. Stéphane Croisier, Directeur Serge Huber, Directeur Technique. 13 Juin 2002. 2002 Jahia Ltd. All rights reserved. J2EE : Services Web Stéphane Croisier, Directeur Serge Huber, Directeur Technique 13 Juin 2002 Aperçu Interopérabilité en XML/HTTP SOAP ebxml Outils d EAI JXTA Normes d interopérabilité XML SOAP/UDDI Inventé

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

Auto-évaluation Aperçu de l architecture Java EE

Auto-évaluation Aperçu de l architecture Java EE Auto-évaluation Aperçu de l architecture Java EE Document: f1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION APERÇU

Plus en détail

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Webographie The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Les slides de cette présentation

Plus en détail

JEE - Cours et TP. Mickaël Montassier. 15 février 2007. Institut Universitaire de Technologie Département Informatique

JEE - Cours et TP. Mickaël Montassier. 15 février 2007. Institut Universitaire de Technologie Département Informatique et TP Institut Universitaire de Technologie Département Informatique 15 février 2007 J2EE? J2EE : Java 2 Enterprise Edition Norme prosposée par SUN visant à définir un standard de développement d applications

Plus en détail

Familiarisation avec Eclipse / Netbeans

Familiarisation avec Eclipse / Netbeans Institut Galilée LEE Année 011-01 Master T.P. 0 Familiarisation avec Eclipse / Netbeans Lien important contenant le pdf du cours et du TP, et ensuite des sources : http://www-lipn.univ-paris13.fr/~fouquere/mpls

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

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

Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux

Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux Avant-propos 1. À qui s adresse ce livre? 11 2. Les pré-requis 12 Préambule 1. Rappel sur les architectures Internet/Intranet/Extranet 13 1.1 Le protocole HTTP 14 1.1.1 Les méthodes HTTP 16 1.1.2 Les codes

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

Présentation générale des Web Services

Présentation générale des Web Services Présentation générale des Web Services Vue Globale Type d'architecture reposant sur les standards de l'internet Alternative aux architectures classiques : Client/serveur n/tiers Orientée services permettant

Plus en détail

Comparaison des architectures J2EE et.net

Comparaison des architectures J2EE et.net Comparaison des architectures J2EE et.net Jean-Philippe FORESTIER jpf@osyx.fr Copyright OSYX 2003 Présentation Ce document après un rappel de différents types d architectures logicielles, présente une

Plus en détail

Introduction à ADO.NET

Introduction à ADO.NET 1 Introduction à ADO.NET Introduction à ADO.NET Sommaire Introduction à ADO.NET... 1 1 Introduction... 2 1.1 Qu est ce que l ADO.NET?... 2 1.2 Les nouveautés d ADO.NET... 2 1.3 Les avantages d ADO.NET...

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

Framework.NET SUPINFO DOT NET TRAINING COURSE

Framework.NET SUPINFO DOT NET TRAINING COURSE Framework.NET SUPINFO DOT NET TRAINING COURSE Auteur : Nicolescu Matthieu Version 1.1 4 septembre 2003 Nombre de pages : 22 Ecole Supérieure d Informatique de Paris 23. rue Château Landon 75010 PARIS www.supinfo.com

Plus en détail

Conservatoire Nationale des Arts et Métiers. J2EE vs NET

Conservatoire Nationale des Arts et Métiers. J2EE vs NET Conservatoire Nationale des Arts et Métiers Centre d enseignements de Grenoble Année Universitaire: 2008-2009 J2EE vs NET Cours : NFE107 Urbanisation & Architecture des Systèmes d Information Auditeurs

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

Java et les bases de données

Java et les bases de données Michel Bonjour http://cuiwww.unige.ch/~bonjour CENTRE UNIVERSITAIRE D INFORMATIQUE UNIVERSITE DE GENEVE Plan Introduction JDBC: API SQL pour Java - JDBC, Java, ODBC, SQL - Architecture, interfaces, exemples

Plus en détail

Servlets, beans, base de données

Servlets, beans, base de données Institut Galilée E-services Année 2014-2015 Master 2 T.P. 2 Servlets, beans, base de données L objectif de ce TP est de mettre en place un site web pour l administration et la commande de pizzas : une

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

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

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

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/

Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Cedric Dumoulin (C) The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Webographie The Java EE 7 Tutorial http://docs.oracle.com/javaee/7/tutorial/doc/ Les slides de cette présentation

Plus en détail

http://www.sigl.epita.net Struts Struts Romain Couturier Aurélia Fermé Frédéric Lung Tung Matthieu Nicolas 17/06/2002 17/06/2002 ACO slide 1

http://www.sigl.epita.net Struts Struts Romain Couturier Aurélia Fermé Frédéric Lung Tung Matthieu Nicolas 17/06/2002 17/06/2002 ACO slide 1 http://www.sigl.epita.net Romain Couturier Aurélia Fermé Frédéric Lung Tung Matthieu Nicolas slide 1 Plan Rappels Servlet JSP JavaBean MVC (1 & 2) Présentation Vue Contrôleur Modèle Exemple d application

Plus en détail

Urbanisation et architecture des systèmes d information

Urbanisation et architecture des systèmes d information Urbanisation et architecture des systèmes d information Serveurs d applications et plateformes d applications distribuées Généralités David Eudeline eudeline.david@free.fr Plan du cours Introduction Concepts

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

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

Plan. Department of Informatics

Plan. Department of Informatics Plan 1. Application Servers 2. Servlets, JSP, JDBC 3. J2EE: Vue d ensemble 4. Distributed Programming 5. Enterprise JavaBeans 6. Enterprise JavaBeans: Special Topics 7. Prise de recul critique Enterprise

Plus en détail

Framework. NET & Windows Presentation Foundation

Framework. NET & Windows Presentation Foundation Framework. NET & Windows Presentation Foundation UE Informatique ambiant Module Informatique graphique Morgan DIOT M Buta Kabengele 5 ème année EO Option Vision Embarquée PROGAMME DE LA SEANCE I. Partie

Plus en détail

JOnAS 5. Serveur d application d

JOnAS 5. Serveur d application d JOnAS 5 Serveur d application d dynamique Agenda En quelques mots Caractéristiques essentielles Zoom sur le versioning 2 Bull, 2008 Serveur d application dynamique JOnAS - Serveur d application Open Source

Plus en détail

Programmation objet. www.ziggourat.com - Tél : 01 44 61 96 00 N enregistrement formation : 11752861675

Programmation objet. www.ziggourat.com - Tél : 01 44 61 96 00 N enregistrement formation : 11752861675 Programmation objet www.ziggourat.com - Tél : 01 44 61 96 00 enregistrement formation : 11752861675 Modélisation L essentiel du monde Objet... 3 UML et processus méthodologique... 4 Expression du besoin

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

Groupe Eyrolles, 2003, ISBN : 2-212-11200-9

Groupe Eyrolles, 2003, ISBN : 2-212-11200-9 Groupe Eyrolles, 2003, ISBN : 2-212-11200-9 Table des matières Avant-propos................................................ XXXI PARTIE I Les fondements.................................................

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 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

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

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

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

Sensibilisation à RMI (Remote Method Invocation)

Sensibilisation à RMI (Remote Method Invocation) Jini Sensibilisation à RMI (Remote Method Invocation) Le rêve de tout système distribué L idéal serait d avoir un système distribué utilisant la technologie objet et permettant : 1) d invoquer une méthode

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

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

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

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Sommaire 1. Objectifs et intérêts... 2 2. Intégrer le driver SQL Server dans SJSAS 9... 2 2.1. Télécharger

Plus en détail

Le.NET Compact Framework Windows Mobile

Le.NET Compact Framework Windows Mobile Le.NET Compact Framework Windows Mobile HEROGUEL Quentin 2 Le.NET Compact Framework Windows Mobile Sommaire 1 Le.NET Compact Framework... 3 1.1 Vue d ensemble rapide de l architecture du.net Compact Framework...

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

Web Tier : déploiement de servlets

Web Tier : déploiement de servlets Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation

Plus en détail

Introduction à LINQ. Chapitre 1. Qu est-ce que LINQ?

Introduction à LINQ. Chapitre 1. Qu est-ce que LINQ? Chapitre 1 Introduction à LINQ En surfant sur le Web, vous trouverez différentes descriptions de LINQ (Language Integrated Query), et parmi elles : LINQ est un modèle de programmation uniforme de n importe

Plus en détail

Programmation Web Avancée Introduction aux services Web

Programmation Web Avancée Introduction aux services Web 1/21 Programmation Web Avancée Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017

Plus en détail

Middleware pour Software Radio

Middleware pour Software Radio Middleware pour Software Radio 1 Middleware pour Software Radio systèmes d'exploitation spécifiques aux fournisseurs d équippement standards : Symbian Windows Pocket PC 2 Middleware pour Software Radio

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

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

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

Web Services. Introduction à l aide d un exemple. Urs Richle

Web Services. Introduction à l aide d un exemple. Urs Richle Web Services Introduction à l aide d un exemple Urs Richle 7/12/2005 Problématique Requête Windows Mac Linux HTML XHTM CSS XML SVG XTM... ASP PHP Java Applet JSP Servlet... IIS Apache Tomcat... Data Oracle

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

Résumé Introduction Programmation Java

Résumé Introduction Programmation Java Résumé Introduction Programmation Java Concepts Un programme : séquence, test conditionnel, boucles. Objets : Les objets Java modélisent les objets d un problème donné Classe : Les objets sont crées à

Plus en détail

Implémentée sous forme de JavaBean ou EJB, c est dans cette couche que l on retrouve l ensemble des traitements d une application.

Implémentée sous forme de JavaBean ou EJB, c est dans cette couche que l on retrouve l ensemble des traitements d une application. Introduction Nous allons parler, dans ce document consacré aux architectures multi-tiers en environnement J2EE, de 3 des cinq couches les plus représentatives. Faisons tout d'abord un petit rappel sur

Plus en détail

Présentation J2EE. Stéphane Croisier, Directeur Serge Huber, Directeur Technique. 13 Juin 2002. 2002 Jahia Ltd. All rights reserved.

Présentation J2EE. Stéphane Croisier, Directeur Serge Huber, Directeur Technique. 13 Juin 2002. 2002 Jahia Ltd. All rights reserved. Présentation J2EE Stéphane Croisier, Directeur Serge Huber, Directeur Technique 13 Juin 2002 Table des Matières Qui sommes-nous? Introduction J2EE Architecture J2EE Avantages / Désavantages Le Projet Jahia

Plus en détail

ARCHITECTURE REST & WEB SERVICES. Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014

ARCHITECTURE REST & WEB SERVICES. Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014 ARCHITECTURE REST & WEB SERVICES Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014 1 Introduction Présentation de Rest Serveur Java JAX-RS Démonstration 2 Introduction Présentation de Rest

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

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand Centrale Réseaux

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un

Plus en détail

Introduction ASP.NET

Introduction ASP.NET 1 Sommaire Introduction... 1 1 Framework... 2 1.1 Général (.NET)... 2 1.2 ASP.NET... 2 2 Prérequis... 2 3 Présentation des bases d un projet ASP.NET... 3 3.1 Création d un projet... 3 3.2 Site Web : Les

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

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

Architectures n tiers Intergiciels à objets et services web

Architectures n tiers Intergiciels à objets et services web UMIN406 : thèmes abordés Architectures n tiers Intergiciels à objets et services web Clémentine Nebut LIRMM / Université de Montpellier 2 LIRMM Clementine.nebut@lirmm.fr 1 Distribution d objets Java RMI,.net

Plus en détail

Module.NET 2 Le.NET Framework

Module.NET 2 Le.NET Framework Module.NET Chapitre 2 Le.NET Framework 2011/2012 Page 1 sur 9 Contenu Cours... 3 2.1 - Définition de l ECMA, ses acteurs, son rôle... 3 2.2 - La CLI et ses implémentations... 4 2.2.1 - La Common Language

Plus en détail

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe

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

Oracle 8i sous Linux

Oracle 8i sous Linux Oracle 8i sous Linux Gilles Briard Éditions Eyrolles ISBN : 2-212-09135-4 2000 16 Pilotes JDBC et SQLJ Dans ce chapitre nous allons aborder les points suivants : le standard JDBC, les pilotes JDBC d Oracle,

Plus en détail

Systèmes répartis. Systèmes répartis

Systèmes répartis. Systèmes répartis Systèmes répartis Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis p.1/49 Systèmes répartis Définition très large : un système réparti est système informatique

Plus en détail

J2EE. A.-E. Ben Salem. 09 Octobre 2011. LRDE and LIP6 1 / 15

J2EE. A.-E. Ben Salem. 09 Octobre 2011. LRDE and LIP6 1 / 15 J2EE A.-E. Ben Salem LRDE and LIP6 09 Octobre 2011 1 / 15 Plan 1 J2EE 2 Architecture Client/Serveur HTTP 3 Différence entre Web Statique et Web Dynamique 4 Web Dynamique avec un Serveur d applications

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

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

La terminologie informatique: autoévaluation

La terminologie informatique: autoévaluation La terminologie informatique: autoévaluation Document: f0947test.fm 01/07/2015 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION Ce test est une auto-évaluation

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Objectifs. Comprendre l architecture typique d une application web Exemple: Expérimenter avec:

Objectifs. Comprendre l architecture typique d une application web Exemple: Expérimenter avec: Cedric Dumoulin Objectifs Comprendre l architecture typique d une application web Exemple: Application permettant de lister un catalogue d articles, et de créer des articles Expérimenter avec: EJB, JPA

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

Java DataBaseConnectivity

Java DataBaseConnectivity Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage

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

Architecture.NET JAVA/J2EE comparaison

Architecture.NET JAVA/J2EE comparaison Architecture.NET JAVA/J2EE comparaison Page 1 JAVA/J2EE Page 2 1 ARCHITECTURE SUN Pages HTML Java Server Pages réponse de Sun à Microsoft ASP Servlets Page 3 Une page.jsp Une page JSP est un document texte

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

Software Engineering and Middleware A Roadmap

Software Engineering and Middleware A Roadmap Software Engineering and Middleware A Roadmap Ecrit par: Dr. Wolfgang Emmerich Présenté par : Mustapha Boushaba Cours : IFT6251 Wolfgang Emmerich Enseignant à University College London: Distributed Systems

Plus en détail

Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform

Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform IBM Software Group Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform Thierry Bourrier, Techical Consultant thierry.bourrier@fr.ibm.com L Architecture

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail