Nicolas Pastorelly.
|
|
|
- Martin St-Amour
- il y a 10 ans
- Total affichages :
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!
96 Points en commun & Différences points en commun : Assemblies & JAR = composants de déploiement Différences: Support de la version en.net (side( side-by-side exécution)
97
98 Composant serveurs en.net Notion de composants en EJB/COM+ Pour utiliser des services du serveur d application comme la synchronisation,les transactions, ou le pooling,, les services COM+ peuvent être utilisés COM+-Interop offrent ces fonctionnalités
99 Gestion des composants : managed / unmanaged.net propose le même ensemble de services sous l'appellation de ServicedComponent. Le conteneur utilisé dans le Framework est COM+ COM+ fonctionne dans un environnement non managé avec une gestion de type différente de celle de.net (Common Type System) Dans J2EE les transactions sont gérées en Java à l'aide des API JTA/JTS et l'ensemble des composants s'exécutent dans un seul et même environnement managé.
100 Java Component Models Client Components & Server Components JavaBeans = Components Clients classes Java normales suivant certaines conventions public class MyJavaBean { private int color; public void setcolor(int v) { color = v; } public int getcolor() { return color; } // a lot of more... } // BeanInfo class not shown here!
101 Server Components en Java Enterprise JavaBeans (EJBs)) résident toujours dans un Container qui offrent les fonctionnalités JNDI 1) lookup home Naming Service Deployment Descriptor 2) create bean 2 ) find bean Client Remote Bean Home Interface EJB Home new 4 EJB Context EJB Jar 4) remove 3) Use bean Remote Bean Interface EJB Object ejbcreate ejb... EnterpriseBean bean-methods Bean Instance EJB Run-time Application Server (Container)
102 Server Components en Java 4 Types de Beans Stateless Session-Beans (Service Components) Stateful Session Beans (Session Components) Entity-Beans (Entity Components) Message-Driven Beans (asynch.. Service Components) 1 bean est (théoriquement) portable de container à container (Application Servers) ) des différents éditeurs.
103 Points en commun & Différences points en commun : Les «Server Components» sont disponibles (Assemblies + COM+, EJB). Interopérabilité avec les anciens composants en.net en utilisant COM+, en Java en utilisant CORBA) Différences: Les EJBs sont + matures Des APIs existent pour la connexion aux legacy systems (Java Connector API)
104
105 Accès BD en.net : ADO.net Presentation Tier Windows Forms MyApp.Exe DataSet Web Forms IE DataSet XML Internet Intranet Business Tier Data Object (Class) DataSet Data Adapter Data Adapter Data Tier Business to Business (BizTalk, for example)
106 Accès BD en.net : ADO.net Controls, Designers, Code-gen gen,, etc XSL/T, X-Path, X etc DataSet Dual View XmlData- Document DataAdapter DataReader XmlReader Command Connection.NET Data Provider Travail sans conexion possible
107 Accès BD en.net : ADO.net DataSet DataTable DataColumn DataTable DataRow Relations XML Schema Constraints
108 Exemple.NET using System; using System.Data; using System.Data.SqlClient; string myconnection = server=myserver;uid=sa;pwd=;database=stocktickerdb ; string mycommand = SELECT * from StockTable ; SqlDataSetCommand datasetcommand = new SqlDataSetCommand (mycommand, myconnection); DataSet mydataset = new DataSet(); datasetcommand.filldataset(mydataset, StockTable ); DataTable mytable =ds.tables[ StockTable ]; foreach (DataRow row en mytable.rows) { Console.WriteLine( Value of {0} is {1}, row[ LongName ], row[ Value ]); }
109 ADO.NET ADO.NET est basé sur XML (XML Infoset) DataSet créé dynamiquement suivant «XML schema» pour stocker les données Les données relationnelle et les données XML sont traitée de la même façon! ADO.NET peut travailler offline une fois que les données sont chargées La MAJ est rendue automatique par les DataSets
110 L architecture JDBC Application JDBC Driver Le code Java appelle les libraries JDBC JDBC charge un driver Driver parle parle avec les différentes bases de données +ieurs drivers sont possibles -> > + d une BD Idéal : la BD peut être changée sans toucher au code!
111 Accès aux sources de données en Java
112 Accès aux sources de données en Java Java utilise JDBC pour accéder aux données relationnelles Application Statement Resultset Prepared Statement Connection Driver Manager Callable Statement JDBC/ ODBC Bridge ODBC Driver ODBC DB
113 Exemple Java import java.sql.*; // without error hadnling: Connection con=drivermanager.getconnection( jdbc:odbc:stocks,, ); Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery( SELECT * from stocks ); while (rs.next()) { } System.out.println(rs.getString( COMPANYNAME )); rs.close(); stmt.close(); con.close();
114 Accès BD en Java Il y a d autres APIs possibles : «Embedded SQL» dans les formulaires SQLJ (JDBC utilisé en interne) APIs ODBMS propriétaires API JDO pour offrir la persistance pour les objets Java XML est géré différemment «Java Connector API» offre l accès aux legacy systems «orientés connexion» (ex: SAP R3)
115 Points en commun & Différences points en commun : Découplage entre le modèle concret de données et le modèle de programmation (DataSets( & ResultSets) Différences: ADO.NET est basé sur XML, JDBC est + «relationnel» JDBC = orienté connexion, ADO.NET = connecté ou déconnecté.net DataSets In-Memory Memory-Database-Cache.
116
117 XML &.NET.NET = XML-centric Web Services (SOAP) Fichiers de Configuration Datasets pour les accès aux BD (ADO.NET) Note : de nombreuses caractéristiques de.net sont basées sur l XML infoset («XML semantics»)
118 XML &.NET The System.Xml Namespace = classes de gestion du XML DOM : XmlNode & fils XPath & XslTransform XmlTextReader & XmlTextWriter similaire à SAX en ce sens qu ils sont tous deux «stream-based»
119 +ieurs outils standards : DOM, SAX Xerces/Xalan, JDOM JAX{P,M,B,R,RPC} Castor XML & Java Mais les librairies Java s n ont pas été conçues avec XML comme base (Java est trop vieux ) JAXP (Java API 4 XML Parsing) ) supporte DOM & SAX. En cours de développement : JAXM (Java API pour le XML Messaging) JAXB (Java API pour le XML Data Binding) JAXR (Java API pour le XML Registries) JAX/RPC (Java API pour le XML based RPC)
120 XML & Java
121
122 Remoting en.net Application Domain A Application Domain B Client Serveur Transparent Proxy Real Proxy Envoy Sinks Channels Formatters Network Object Context Sinks Server Context Sinks Channels Formatters
123 Remoting en.net.net Remoting propose le formatage et le transport des appels distants actuellement TCP & HTTP transport Format binaire & SOAP Les Contextes sont automatiquement propagés Les options de «lifecycle management» sont très simples (comparé à EJB & CORBA) Singleton (1 objet pour tous les appels) SingleCall (1 nouvelle instance pour chaque appel)
124 Remoting en.net Les Objets peuvent être marshallés par valeur (Serialisés) Les invocations asynchrones sont facilement possibles sans toucher au serveur
125 Points en commun & Différences points en commun : Le concept Différences : Les appels asynchrones ne sont pas facilement possibles en Java
126 Remoting en Java +ieurs possibilités : RMI/CORBA RMI utilise JRMP ou IIOP comme protocole de transport Client Server Stub Stub/Skeleton-Layer Skeleton Remote Reference Manager Transport Layer
127
128 IIS & ISAPI ASP.NET request *.aspx *.asmx *.ashx HTTP Request ISAPI Extension Manager ASPNET_ISAPI.DLL ASP.NET ISAPI extension named pipes ASP.NET CLR Object INETINFO.EXE IIS worker process ASPNET_WP.EXE ASP.NET worker process aspnet_state.exe (ASP.NET session cprocess) COM+ runtime Win2k Server COM+ Context
129 ASP.net Presentation Layer Response Business Logic Layer.NET CLR 1. Request IIS & ASP.NET ASPX Code Behind Renders Self XML Request 9. Response ASPX Page 8. Returns WS SOAP Web Service ASMX Code 4. Execute Class Business Object Class VB.NET ASP.NET 2. Invokes Web Service Proxy 3. Calls Web Service ASP.NET CLR 5. Invokes Enterprise service 6. Proxy Calls COM+ Object INETINFO.EXE IIS worker process ASPNET_WP.EXE ASP.NET worker process COM+ runtime Win2k Server
130 ASP.net Button Button code... List Text List code... Text code... Browser ASP.NET Event handlers
131 A simple login screen: ASP.NET Example
132 ASP.NET Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="LoginPage.WebForm1" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <body> <form id="form1" method="post" runat="server"> <asp:label id="titlelabel" runat="server">please specify your name & password</asp:label> <br> <asp:label id="loginlabel" runat="server">login</asp:label> <br> <asp:textbox id="logintext" runat="server"></asp:textbox> <asp:requiredfieldvalidator id="requiredfieldvalidator" runat="server" ErrorMessage="You need to specify your name" ControlToValidate="LoginText"></asp:RequiredFieldValidator> <br> <asp:label id="passwordlabel" runat="server">password</asp:label> <br> <asp:textbox id="passwordtext" runat="server" TextMode="Password"></asp:TextBox> <br> <asp:button id="enterbutton" runat="server" Text="Open the entrance" ToolTip="Press this after you have specified login & password"></asp:button> <br> <asp:label id="messagetext" runat="server"></asp:label> </form> </body> </HTML>
133 namespace LoginPage { ASP.NET public class WebForm1 : System.Web.UI.Page { protected TextBox PasswordText, LoginText; protected Button EnterButton; protected Label MessageLabel; private void InitializeComponent() { this.enterbutton.click += new System.EventHandler(this.EnterButton_Click); this.load += new System.EventH&ler(this.Page_Load); } private void EnterButton_Click(object sender, System.EventArgs e) { if (!(LoginText.Text.Equals("aladdin") && PasswordText.Text.Equals("sesam"))) { MessageLabel.Text = " Wrong name or password!"; } else { Session["user"] = "aladdin"; Response.Redirect("UserArea.aspx"); } } } }
134 Java Server Pages & Servlets Java permet également le «server-side side scripting» Les JSPs sont basés sur les Servlets Client (1) get a.jsp (2) process (5) HTTP file Web Server JSP (3) gen. Servlet Servlet Impl. Other Components (4) result Servlet Database JVM
135 Exemple Java
136 Exemple Bean & JSP : Java Example // Datei MyPerson.java package MyPackage; import java.lang.*; public class MyPerson { public String getfirstname() { return "Michael"; } public String getlastname() { return "Stal"; } } // Datei MyTest.jsp: <HTML> <BODY> <jsp:usebean id="person" scope="session" class="mypackage.myperson"/> Your name is: <br> <jsp:getproperty name="person" property="firstname"/> <br> <jsp:getproperty name="person" property="lastname"/> </BODY> </HTML>
137 9iAS et J2EE internet WebCache Mod_file Mod_sql http listener (Apache) Mod_oc4j Mod_sso LDAP server AJP Static HTML Files< Dynamic HTML files Servlet Servlet Servlet EJB EJBEJB Stored Procedures OC4J OC4J
138 Web Services dans 9iAS Webservices Servlet Servlet Stored Proc. Servlet Java Class Stored Proc. Web service Http OC4J Integration Hub Adapter EJB Web Service EJB JMS Legacy Application 9iAS OC4J
139 Points en commun & Différences points en commun : Pages = près compilées pour accélérer l accès Même syntaxe & concepts ASP.NET propose de composant graphiques avec les Webcontrols,, Java a lestaglibs. Différences: Les différents langages de.net peuvent être utilisés pour le scripting ASP.NET Servlets/JSP sont disponibles sur un grand nombre de serveurs différents Beaucoup d implémentations et d outils en Java
140 Web Services en.net.net : manière intégrée de créer des WS namespace WebService1 { public class Service1 : System.Web.Services.WebService { // lot of stuff omitted [WebMethod] public double DM_to_Euro(double value) { return value / ; } } } [WebMethod] public double Euro_to_DM(double value) { return value * ; }
141 Web Services en.net Créer un WS est très simple : (l ex est simplifié ) localhost.service1 s1 = new localhost.service1(); double result = s1.euro_to_dm(200); Webservices = un moyen de faire du «remoting» Mais avec.net : Pas de compatibilité ebxml Seulement implémenté sur MS server
142 Web Services en Java Sun ONE fournit une API Web Service pour Java compatible ebxml +ieurs solutions propriétaires : SOAP toolkits: - Apache SOAP - IBM Web Services Toolkit - GLUE Intégrées aux serveurs d application - Silverstream - IONA - Weblogic -... Sun travaille à des APIs standards JAXM
143 Points en commun & Différences points en commun :.NET & Java essaient d être compatibles aux standards (SOAP, WSDL, UDDI). La gestion est similaire : générateurs de WSDL qui créaient des proxies Différences: Java a différentes solutions où.net n en a qu une Actuellement les standards sont interprétés différemment, ce qui rend l Interop Java-.NET limitée. Mais il y a des chances que cela change.
144
145 Enterprise APIs Naming: JNDI en Java (interface à CORBANaming,, LDAP,...) Active Directory en.net (Windows) Middleware orientés messages : JMS en Java JAXM à l horizon (XML based messaging).net peut utiliser MSMQ, & le remoting peut être utilisé de manière asynchrone
146 Legacy-Integration.NET utilise le Microsoft Host Integration Server. Java utilise la Connector API Java offre une solution + simple. Les Connectors sont rapidement implémentés...
147 De l Interopérabilité Java offre un accès à C/C++ via JNI (Java Native Interface). Solution complexe de call-in in, call-out out..net offre la primitive PInvoke: class PInvokeTest { [DllImport("user32.dll")] static extern int MessageBoxA(int hwnd, string m, string c, int t); static void Main(string[] args) { MessageBoxA(0, "Hello DLL", "My Window", 0); } }
148 COM /.net Common Language Runtime COM Server Reference Counted Runtime Callable Wrapper Object Client Traced Reference
149 De l Interopérabilité En.NET l interopérabilité est possibles entre COM & COM+ Services. Java offre une interopérabilité CORBA En.NET l interop entre les langages.net est automatique et facile Assemblies,, class libraries Certains langages doivent être un petit peu adaptés (ex Managed C++ n a pas d héritage multiple)
150
151 Des variantes de Java Offre Java J2SE (Java 2 Platform Standard Edition) J2EE (Java 2 Platform Enterprise Edition) J2ME (Java 2 Platform Micro Edition) JavaCard
152 J2ME 1. Foundation Profile 2 Profiles Configuration: Connected Device Configuration (CDC) API de base + Machine Virtuelle CVM. Ensemble d APIs supplémentaires. Cible: Télévision digitale, télé-avertisseurs, PDA, Cellulaires-Web. Ressource: 1024K minimum ROM, 512K minimum RAM, Connexion réseau, Pas de GUI. 2. Mobile Information Device Profile (MIDP) Configuration: Connected Limited Device Configuration (CLDC) Api de base + Machine virtuelle KVM. Ensemble d APIs supplémentaires. Cible: Cellulaires, PDA. Ressource: Aussi peut que 160K au total (RAM + ROM). + Le J2ME Wireless Toolkit pour développer et tester des applications J2ME.
153 Vision MSFT Today Client Application Embedded Visual Tools evb and evc++ Visual Studio &.NET Compact Framework Web Application Device-specific Active Server Pages Visual Studio & Mobile Internet Toolkit
154 Vision MSFT Visual Studio.NET + Smart Device Extensions Tool SDKs evc Pocket PC + PPC Phone Edition Microsoft Smartphone Other Windows CE Devices.NET Compact Framework.NET Framework Notebook PCs Tablet PCs SDKs OS Windows CE Windows XP OS
155 Smart Client Technology Choices Native ou Managed evc and evb evb native evc Managed.NET CF (VB.NET, C# etc.) evc Time
156 Vision MSFT : accès aux données Smart client Browse Mobile Browser.NET Compact Framework 4. ADO.NET Local Data SQL Server CE Windows CE WAP, HTML etc. 1. XML Web services 2. Synchronization (http) ASP.NET, Mobile Controls Presentation Layer XML Web Services 3. Direct SQL Server access SQL Server Windows Server
157
158 Projet W3H Presentation Layer Business Logic Layer Data Access Layer Remote Data Source Dynamic pages Web Services I/F Medasys data access Component Business object Vidal data access Component
159 .net Client Browser Presentation Layer Business Logic Layer Data Access Layer Remote Data Source HTTP COM+ SOAPWebService I/F (WebService Proxy) ASP.NET ASP.NET (WebServices) (MobileWebForm) SOAP ASMX class ASPX class Business Class DCOM HTML, WML, CHTML,... COM+ (ADO.NET) ADO OleDBcompatible DB
160 .net Data Presentation Layer Business Logic Layer Remote Data Source Access Layer Response.NET CLR.NET CLR & Enterprise Service.NET Server / DataBase Request IIS & ASP.NET 1. Request 9. Response 4. Execute Class ADO.NET DataAdapter Net8 Stored Proc ASPX Code Behind Renders Self ASPX Page WS SOAP WebServic es I/F Business Object WebServi ce Proxy TCP WS SOAP Web Service I/F XML 8. Returns ASMX Code Class VB.NET 7. Access Data 2. Invokes Web Service Proxy 3. Calls Web Service 5. Invokes Enterprise service Proxy 6. Calls COM+ Object Data Access object C# Class Extend ServiceComponent
161 Data Access Layer COM+ is deeply integrated into the CLR All COM+ services made available to CLR COM+ types defined within the EnterpriseServices namespace COM+ = COM (object-oriented oriented system) +MTS +Services (Queued MTS (Transaction Server) Component,COM+ + event).net CLR & Enterprise Service 7. Access Data Data Access Layer Data Access object C# Class Extend ServiceComponent ASP.NET CLR ASPNET_WP.EXE ASP.NET worker process COM+ runtime (DLLHost.EXE) Win2k Server ADO.NET DataAdapter WebService Proxy
162 Exemple.net : le pooling.net CLR Business Logic Layer WebServices I/F ASMX Code 4. Execute Class 5. Invokes Business Object Class VB.NET Client creates "new" instance Instance is served from pool.net CLR & Enterprise Service Data Access Layer 7. Access Data Data Access object C# Class Extend ServiceComponent ADO.NET DataAdapter WebServi ce Proxy Enterprise service Proxy 6. Calls COM+ Object COM+ manages x active instances COM+ runtime (DLLHost.EXE)
163 Vue globale INETINFO.EXE IIS worker process Presentation Layer 1. Request ASP.NET Renders Self ASPX Code Behind XML 2. Invokes Response Request 9. Response ASPX Page 8. Returns WS SOAP Web Service Proxy 3. Calls Web Service ASP.NET Business Logic Layer Web Services I/F ASMX Code.NET CLR 5. Invokes 4. Execute Class Business Object Class VB.NET Enterprise service Proxy 6. Calls COM+ Object Data Access Layer.NET CLR & Enterprise Service 7. Access Data Data Access object C# Class Extend ServiceComponent ADO.NET DataAdapter Web Service Proxy TCP Net8 WS SOAP Remote Data Source.NET Server / DataBase Stored Proc Web Service I/F CLR ASPNET_WP.EXE (ASP.NET worker process) COM+ runtime (DLLHost.EXE) Win2k Server
164 J2EE Client Browser Presentation Layer Business Logic Layer Data Access Layer Remote Data Source HTTP EJB SOAPWebService I/F (WebService Proxy) HTML, WML, CHTML,... Servlets Java Server Pages SOAP Web Services (Java Class) Business Class RMI / IIOP EJB (JDBC) Net8 JDBC compatible DB
165 J2EE Presentation Business Logic Data Access Remote Data Source Response OC4J OC4J Request Apache & OC4J 9. Response 4. Execute Class JDBC Net8 Stored Proc 1. Request 8. Forward JSP 2. Invoke JSP (Taglibs) 3. Calls Web Service WS SOAP Web Service I/F Java Class Business Object Java Class RMI 7. Access Data WebServi ce Proxy TCP WS SOAP WebS ervice I/F WebServi ce Proxy 5. Invokes EJB Home/Int erface 6. Calls EJB RMI EJB Data Access
166 Oracle 9ias OC4J Presentation Response OC4J Business Logic OC4J Data Access Remote Data Source.NET Server / DataBase 1. Request JSP 8. Forward 2. Invoke Request 9. Response JSP (Taglibs) 3. Calls Web Service WebService Proxy WS SOAP Web Service I/F Java Class 4. Execute Class 5. Invokes Business Object Java Class EJB Home/Interface 6. Calls EJB RMI RMI 7. Access Data EJB Data Access JDBC WebService Proxy TCP Net8 WS SOAP Stored Proc Web Service I/F 9IAS WE 9IAS Any OS
167 Interop Presentation Layer : DotNet Business Logic & Data Access : J2EE Response Web Service: String array serialized in XML WS Proxy : deserialized XML Stream on String Array Presentation Business Logic Data Access ASPX Code Behind DataSet Object String WebService Array Proxy Object WS SOAP String Array Web Service I/F
168 Interop Presentation Layer : J2EE Business Logic & Data Access : DotNet Response Web Service: DataSet serialized in XML WS Proxy : deserialized XML Stream on XmlElement Presentation Business Logic Data Access JSP Vector Object XmlElement Object WebService Proxy WS SOAP DataSet Serialize Web Service I/F
169
170 Résumé J# C# VB.NET Managed C++ Java MSIL Byte Codes CLR JRE / JVM BCL Windows OS.NET Core Lib Mac Win Unix Linux Java
171 Résumé Browser Device HTML, XML, SOAP HTTP IIS ADO.NET ASP.NET or ISAPI Web Service MSMQ DCOM Security Transactions Concurrency Managed Object Managed Object ADO.NET Data Context.NET Framework Windows Browser Device HTML, XML HTTP HTTP Server JDBC Servlet or JSP RMI/IIOP Security Transactions Concurrency HOME REMOTE Entity Bean Session Bean JDBC Data Containers JVM Context EJB Server App Server Any OS
172 Exemple d architectures J2EE with JSP/Servlets Servlets.NET with ASP.NET Presentation JSP/Servlets JavaBeans (Struts & Tomcat) Runs on most major web servers ASP.NET IIS Web Forms Server Controls Code-Behind Business Logic EJBs (JBoss) J2EE JDBC CLR C# Assembly ADO.NET Use COM+ via Serviced Components Data Hypersonic SQL Support for most databases via Type 4 drivers SQL Server 2000 Stored Procedures
173 Downhill Bikes J2EE Presentation Business Logic & Messaging Fabric Data Integration & Persistence Web Server & Servlet Engine 1. Request Response Action Servlet Request 11. Forward 13. Response 12. State? JSP (Taglibs) EJB Container 7. Execute Biz Method 8a. Read Data Business Service Façade (SLSB) 8b. CRUD Data RMI EJB Container 9b. Get/Set Remove Data Access Object 9a. Query <<uses>> Resources Directory Database <<uses>> JMS XML Action to Form & Forward Mappings 4. Dispatch 2. Fill State 3. Validate <<uses>> Action Object 5. Execute 10. Fill State Action Form <<uses>> <<creates>> Value Object Entity Bean Data Connection Factory Connection Pool Key Test Client Test Biz Methods Use Case Object 6. Execute Biz Method <<uses>> Value Object RMI M V C P Model Pattern View Pattern Controller Pattern Other Pattern
174 Downhill Bikes -.NET Presentation Business Logic & Messaging Fabric Data Integration & Persistence Response.NET & Windows ADO.NET Request IIS & ASP.NET 1. Request ASPX Code Behind 8. Response Renders Self ASPX Page WS SOAP Any Other Use Case Facade Business Service WS Facade 4. Execute Use Case Use Case ADO DataAdapter 5. Accesses Data <<uses>> TCP SQL DataProvider 6. Query MS SQL 2. Invokes XML DataSet WS Façade Proxy 7. Returns 3. Calls Web Service Use Cases Facades <<generates>> <<creates>> XML Schema.XSD SQL Connection App. Config. Web.config Key XML DataSet M Model Pattern V View Pattern C Controller Pattern P Other Pattern
175 Architecture.NET Presentation Eléments de programmation 1. User Interface (WEB PAGE) Exemple: OrderProcess.aspx Separation de la Presentation UI & Presentation Logic en 2 fichiers 2. WEB PAGE CODE ( Code Behind ) OrderProcess.aspx.cs Business Logic 3. BUSINESS CLASS (Order Object) Order.cs Data Tier 4. Stored Procedures upordersadd database ADO.NET
176 Architecture J2EE Eléments de programmation 1. User Interface (HTML with JSP code) Exemple: OrderProcess.jsp Separation du Code Presentation & Busines 2. User Interface Handling Tier (Servlet Code) OrderProcServlet.java 3. BUSINESS LOGIC OBJECT (EJB Session Bean) OrderSession.Java RMI-over -iiop EJB Application Server 4. BUSINESS DATA OBJECT (EJB ENTITY BEAN ) database OrderEntityEJB.java RMI-over -iiop JDBC/ ODBC
177 Architecture J2EE Presentation Logic Data Logic <<HTML>> <<HTML>> <<build>> <<JSP>> <<JSP>> <<Entity EJB>> <<Entity EJB>> <<link>> <<forward>> DB Server <<Servlet>> <<Servlet>> <<Session EJB>> <<Session EJB>> Business Logic
178 Modèle typique en.net Presentation Business Logic.Aspx.aspx.cs Business Object Classes Server 1 database Stored Procedures RDBMS Engine
179 Modèle typique en.net Load Balancer Presentation Business Logic Presentation Business Logic.NET Managed Components Server 1 Server 2 database State Server
180 Modèle typique en J2EE Server A Presentation JSP SERVLETS Server 1 Business Logic SESSION BEANS database ENTITY BEANS DATABASES
181 Modèle typique en J2EE NLB Presentation Presentation JSP SERVLETS Ejb Application Servers Server 1 Server 2 Business Logic Business Logic SESSION BEANS Database PROXY Database PROXY ENTITY BEANS database RDBMS Engine
182 .NET &/ou Java?.NET est un produit, J2EE est une spécification Tous les 2 sont fortement centrés sur le WEB Pour de gros systèmes transactionnels, J2EE est + mature, mieux adapté Les notions «Java est indépendant des PF» &.NET est «indépendant des langages» sont à prendre avec précaution: L ECMA travaille à la standardisation de C# et de certaines parties de.net D autres langages peuvent être compilés pour la JVM
183 .NET &/ou Java? L indépendance des langages.net n est pas gratuite et n est pas totalement transparente. #pragma once using namespace System; //.NET mit C++ namespace CPPBase { public gc class CPPBaseClass { public: virtual System::String gc* Echo(System::String gc *s); }; } System::String gc * CPPBase::CPPBaseClass::Echo(System::String gc *s) { return s; } Dans un projet mieux vaut utiliser un seul langage
184 .NET &/ou Java? Windows Applications.NET + que Java (IBMs( SWT à suivre?) Utiliser Java quand l indépendance de PF est nécessaire Java est plus mature (?) Il y a Java pour.net (J #) Mais la syntaxe n est pas le problème Web services :.NET est + simple, J2EE + scalable Les analystes prédisent les 50/50
185 Le test : version Microsoft Productivity: Performance: Scalability: One third the code 28 times faster 6 times more users
186 Performance J2EE &.NET (version MSFT) CPU 4 CPU 2 CPU Nile Application Benchmark Pages Served per Second WebSphere 3.5 JSP on Win 2000 Oracle 8i Microsoft ASP (VBScript) Oracle 8i Microsoft ASP.NET (C#) Oracle 8i Microsoft ASP.NET (C#) SQL Svr 2000
187 Résumé.NET Java Controller/Owner Microsoft Sun + partenaires Status Langages Produit C#, C++, Eiffel#, VB,... Spécifications et +ieurs implémentations Java + autres possibles Communication, middleware (RPC, Messaging, Web).NET Remoting, MSMQ, Web Services (no ebxml) RMI/CORBA, JMS, Web Services Composents Server COM+ Enterprise JavaBeans Support de XML oui En cours d intégration Server Pages ASP.NET JSP/Servlets
188 Résumé Accès BD.NET ADO.NET (ADO) Java JDBC / SQLJ & autres Librairies de base System.* java.* GUI-Libs Windows.Forms Web.Forms Swing/AWT Runtime.NET CLR Java JVM Interop (call-in/call-out) PInvoke JNI InteropMiddleware COM/COM+ (COM Interop) CORBA, JMS Legacy Integration Host Integration Server JCA
189 Résumé Area J2EE.NET Security Deployment Clustering JAAS API Deployment Descriptors EAR, WAR, JAR Container-Specific Container-Specific ASP.NET Form-based Web.config Web.config Machine.config Global.asax XCOPY Deployment Windows.NET DCS SQL Server
190 Historique JDBC JNDI JMS EJB JSP J2EE JAXP J2EE Microsoft Mar 1992 ASP MTS/COM+ MSMQ MSXML VS.NET ODBC ADSI WinDNA.NET
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é[email protected]
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
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
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
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
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
Comparaison des architectures J2EE et.net
Comparaison des architectures J2EE et.net Jean-Philippe FORESTIER [email protected] Copyright OSYX 2003 Présentation Ce document après un rappel de différents types d architectures logicielles, présente une
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
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
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
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 ([email protected]), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime
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
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 [email protected] Plan du cours Introduction Concepts
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
Module BD et sites WEB
Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet [email protected] 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD
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
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:...
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
Technologies DotNET. Vision de Microsoft
Technologies DotNET Buts : Vision et principes La plate forme Visual Studio CLR (CLS, CTS) L API de base Les processus de compilation Le MSIL Conclusion Vision de Microsoft Jim Miller Constats de base:
J2EE - Introduction. Développement web - Java. Plan du chapitre
Développement web - Java J2EE - Introduction Franck Denoël Master 2 ICA, UPMF Année académique 2007-2008 Franck Denoël Master 2 ICA, UPMF Année académique 2007-2008 Plan du chapitre J2EE Présentation J2EE
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
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
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
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
Jahia. Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3
Jahia Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3 Qu'est ce que c'est? Jahia est une solution de portail internet et de gestion de contenu destiné aux entreprises. (CMS and Enterprise
DotNet. Présentation de l'offre
DotNet Présentation de l'offre Version 1.06 du 26/09/2010 par Jacky Renno Plan Environnement d exécution Les bibliothèques standard Une solution de développement ASP.Net Windows.Net Server Exchange Server
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
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.
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
NFP111 Systèmes et Applications Réparties
NFP111 Systèmes et Applications Réparties 1 de 34 NFP111 Systèmes et Applications Réparties Cours 7 - CORBA/Partie 1 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon
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
Introduction à la plateforme J2EE
Introduction à la plateforme J2EE Auteur : Oussama Essefi Directeur technique Expert Consulting [email protected] Copyright 2010 Expert Consulting Page 1 1. Introduction 1.1. Pourquoi
Environnements de Développement
Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna [email protected] Développement des systèmes d Information Syllabus
Architectures n-tiers Intergiciels à objets et services web
Plan pour aujourd hui Architectures n-tiers Intergiciels à objets et services web Clémentine Nebut Nebut LIRMM / Université de Montpellier 2 [email protected] Introduction Architectures classiques
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 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
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
Introduction aux «Services Web»
Introduction aux «Services Web» Sana Sellami [email protected] 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 [email protected] 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 [email protected] 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
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
Java - la plateforme
Java - la plateforme Java la plateforme Java? VM GC JIT Java Aujourd'hui 3 environnements d'exécutions différents Java ME (Micro Edition) pour PDA, téléphone Android (Java SE moins certain paquetages)
Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i
Développement JEE 5 avec Eclipse Europa K a r i m D j a a f a r A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i Groupe Eyrolles, 2008, ISBN : 978-2-212-12061-5 5 Le projet WTP (Web
Ré-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP
Ré-architecture et migration d une application standalone vers un serveur applicatif multi-tiers dans un contexte JAVA-SAP Ionel Dembski Sous la direction de Peter Daehne, Professeur HES Département d
Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <[email protected]> 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
10. Base de données et Web. OlivierCuré [[email protected]]
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
Rafraichissement conditionné d'une page en.net
Rafraichissement conditionné d'une page en.net Test avec AJAX pour rafraichissement En utilisant AJAX, voici une possibilité de faire un rafraichissement conditionné. Nous verrons dans cet article une
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
Module.NET 3 Les Assemblys.NET
Module.NET Chapitre 3 Les Assemblys.NET 2011/2012 Page 1 sur 13 Contenu Cours... 3 3.1 - Définition d un assembly.net... 3 3.2 - Private assembly ou assembly privé.... 3 3.3 - Shared assembly ou assembly
Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle
2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle [email protected] http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation
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
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
as Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»
Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Sana Sellami [email protected] 2014-2015 Plan Partie 1: Introduction aux Services Web (SW) Partie 2: Vers une
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
La technologie Java Card TM
Présentation interne au CESTI La technologie Java Card TM [email protected] http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages
Virginie!SALAS Janvier!09! NFE107
Introduction!au!Serveurs!d d applications Définition Deux!architectures!:!Java!et!.Net BEA!Weblogic d Oracle WebSphere d IBM Inprise de!borland DNA!de!Microsoft Comparatif Un!serveur!d application!est!un!environnement!
2 Chapitre 1 Introduction
1 Introduction Ce livre présente les Enterprise JavaBeans 2.0 et 1.1 qui constituent la troisième et la deuxième version de la spécification des Enterprise JavaBeans. Tout comme la plate-forme Java a révolutionné
Serveur d'application Client HTML/JS. Apache Thrift Bootcamp
Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/
JOnAS Day 5.1. Clustering
JOnAS Day 5.1 Clustering Solution complète de clustering Répartition de charge & bascule sur échec Application Web avec mod_jk/mod_proxy Connecteur http pour md_proxy Application Ejb avec CMIv2 Réplication
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
Création d une application JEE
Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document
Initiation à JAVA et à la programmation objet. [email protected]
Initiation à JAVA et à la programmation objet [email protected] O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation
RMI le langage Java XII-1 JMF
Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine
INTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011
Apache Camel & Entreprise Integration Patterns Raphaël Delaporte BreizhJUG 07.11.2011 1 Speaker CTO Zenika Ouest Consultant et formateur Responsable comité technique Architecture d'entreprise Domaine ESB
Systèmes d'informations historique et mutations
Systèmes d'informations historique et mutations Christophe Turbout SAIC-CERTIC Université de Caen Basse-Normandie Systèmes d'informations : Historique et mutations - Christophe Turbout SAIC-CERTIC UCBN
Apache Tomcat 6. Guide d'administration du serveur Java EE sous Windows et Linux. Résumé. Étienne LANGLET
Apache Tomcat 6 Guide d'administration du serveur Java EE sous Windows et Linux Étienne LANGLET Résumé Ce livre sur Apache Tomcat 6 s adresse à toute personne appelée à mettre en oeuvre ce serveur sous
Hébergement de sites Web
Hébergement de Solutions complètes et évolutives pour l hébergement de sites Web dynamiques et de services Web sécurisés. Fonctionnalités Serveur Web Apache hautes performances Apache 1. et.0 1 avec prise
4. SERVICES WEB REST 46
4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,
Urbanisation des Systèmes d'information
Urbanisation des Systèmes d'information Des composants technologiques disponibles Urbanisation des Systèmes d'information - Henry Boccon-Gibod 1 Plan de l'exposé Technologies à la mode disponibles. Bus
RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java
RN2-Programmation Orientée Objet - JAVA CH 1 à la POO et Java Licence Professionnelle 2006 Agnès Guerraz INRIA Rhône-Alpes [email protected] LP UPMF, Grenoble Septembre 2006 Ce cours reprend en grande
D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.
PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue
Projet. But: consultation en temps réel d événements (cours de bourse, trafic d envoi SMS ) sur des téléphones portables. Serveur de diffusion
Projet But: consultation en temps réel d événements (cours de bourse, trafic d envoi SMS ) sur des téléphones portables événements Serveur de diffusion 1 JMS Java Message Service PHAN Quang-Hai ISTR 04/05/2004
SOAP Concepts Application à Glassfish
SOAP Concepts Application à Glassfish LicencePro 2014 Olivier Perrin Université de Lorraine Évolution From server-side app to smart clients and services 2 Browser-based HTML Rendering (progressive enhancement)
Architecture Orientée Service, JSON et API REST
UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API
Evaluation Idéopass Cahier d analyse technique
Evaluation Idéopass Cahier d analyse technique Version 1 GMSIH 374, rue de Vaugirard 75015 Paris. Tel : 01 48 56 72 70. Fax : 01 48 56 07 70 Auteur(s) du document : Contrôle Qualité GMSIH Date : 17/03/2005
Notre Catalogue des Formations IT / 2015
Notre Catalogue des Formations IT / 2015 Id Intitulé Durée Gestion de projets et méthodes I1101 I1102 I1103 I1104 I1105 I1106 I1107 I1108 I1109 I1110 I1111 I1112 I1113 I1114 I1115 I1116 I1117 I1118 I1119
Jean-Philippe VIOLET Solutions Architect
Jean-Philippe VIOLET Solutions Architect IBM Cognos: L' Expertise de la Gestion de la Performance Acquis par IBM en Janvier 08 Rattaché au Brand Information Management Couverture Globale 23,000 clients
Le cadre des Web Services Partie 1 : Introduction
Sécurité en ingénierie du Logiciel Le cadre des Web Services Partie 1 : Introduction Alexandre Dulaunoy [email protected] Sécurité en ingénierie du Logiciel p.1/21 Agenda (partie 1) 1/2 Introduction Services
CAHIER DES CHARGES D IMPLANTATION
CAHIER DES CHARGES D IMPLANTATION Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP Version 6 Etabli par DCSI Vérifié par Validé par Destinataires Pour information Création
Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1
Urbanisation des SI Des composants technologiques disponibles Urbanisation des Systèmes d'information Henry Boccon Gibod 1 Plan de l'exposé Technologies à la mode disponibles. Bus de données, ETL et EAI
Les processus métiers : concepts, modèles et systèmes
Les processus métiers : concepts, modèles et systèmes Organisation du cours Concepts et notations Modélisation des processus Systèmes de gestion de processus Processus transactionnels Découverte de processus
Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Alfstore workflow framework Spécification technique
Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: [email protected] Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date
Olivier Deheurles Ingénieur conception et développement.net
Olivier Deheurles Ingénieur conception et développement.net MOTS CLES Maîtrise de la conception et du développement orientés Objet 6 ans d expérience sur les plateformes.net 1.1 et 2.0 (C# et VB.NET) MCAD
Java Enterprise Edition
Java Enterprise Edition Malik SAHEB [email protected], [email protected] Course Objectives Understanding the value propositions of Java EE Getting a big picture of Java EE architecture and platform Getting
Le modèle client-serveur
Le modèle client-serveur Olivier Aubert 1/24 Sources http://www.info.uqam.ca/~obaid/inf4481/a01/plan.htm 2/24 Historique architecture centralisée terminaux passifs (un seul OS, systèmes propriétaires)
Installer Enterprise Miner 5.1 en SAS9.1.3 - environnement Windows
Installer Enterprise Miner 5.1 en SAS9.1.3 - environnement Windows Introduction :... 3 1. Présentation de l architecture Enterprise Miner 5.1 :... 4 2. Installation d Enterprise Miner 5.1:... 5 3. Post-installation
Java Aspect Components (JAC) http://jac.objectweb.org
Java Aspect Components (JAC) JAC http://jac.objectweb.org 2 Lionel Seinturier [email protected] Université Pierre & Marie Curie 23/2/06 Un framework de programmation par aspect pour Java Projet
Oracle Maximum Availability Architecture
Oracle Maximum Availability Architecture Disponibilité des systèmes d informations Technologies et recommandations 1 Qu est-ce que Oracle Maximum Availability Architecture (MAA)? 1. Objectif : Disponibilité
L intégration d applications unifiée par les Services Web et XML Réconcilier J2EE.NET EIS et mainframes
L intégration d applications unifiée par les Services Web et XML Réconcilier J2EE.NET EIS et mainframes Page 1 Un système d information: vue de 10.000 mètres A C Système de communication AtoA (EAI) ou
Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java
1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit
<Insert Picture Here> Maintenir le cap avec Oracle WebLogic Server
Maintenir le cap avec Oracle WebLogic Server Alexandre Vasseur Principal Sales Consultant Oracle Fusion Middleware Application Grid: Défis et Enjeux Réduire les coûts Support des
Patrons de Conception (Design Patterns)
Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques
Application Web et J2EE
Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis
4. Utilisation d un SGBD : le langage SQL. 5. Normalisation
Base de données S. Lèbre [email protected] Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :
SOA Open Source Intégration des services et business process dans une architecture SOA Open Source. Bruno Georges JBoss, a Division of Red Hat
SOA Open Source Intégration des services et business process dans une architecture SOA Open Source Bruno Georges JBoss, a Division of Red Hat Agenda Cas d etude Contexte métier Les bénéfices Open Source
Machine virtuelle Java pour Palm TX
Machine virtuelle Java pour Palm TX Sommaire 1. Présentation de la machine virtuelle d IBM...1 2. Installation sur le Palm TX...2 2.1. Téléchargement...2 2.2. Installation...2 2.3. Application de test...2
Le serveur HTTPd WASD. Jean-François Piéronne
Le serveur HTTPd WASD Jean-François Piéronne Sommaire Caractéristiques Architecture générale Performances Intégration dans OpenVMS Caractéristiques Implémentation complète HTTP/1.0 Méthodes "GET", "HEAD",
BPEL Orchestration de Web Services
Orchestration de Web Services Grégory Le Bonniec [email protected] 26 novembre 2009 1 Zenika Conseil / Développement / Formation Localisation : Paris et Rennes Nos partenaires Mon expérience
