1 - Architecture Internet Introduction Les concepts Modèles N-Tiers Les composants Rôle et Fonctionnement Les serveurs d ’applications Le modèle J2EE Intégration d’applications - EAI 1 Les offres Les composants Séminaire Novembre 2001 – PLB – J.M. Vanel En guise d ’introduction UML Préoccupation ‘ architecture ’ Quelques points de repères ? EJB 2 1 Vanel Séminaire Novembre 2001 – PLB – J.M. Les préoccupations ... Nouveau business - model : Accélération des traitements Multi-sources, multi destinations du Document au WEB/XML/WAP ... Les points chauds : Évolution du S.I. : multi-composants (ERP, CRM, ... Composant factory) évolution des échanges et modèles d’intégration (EAI / ETL) Évolution des Architectures Corba, COM, J2EE ... Déploiement des postes clients / Internet - Intranet - Extranet Évolution des modèles de conception 3 du Batch au WEB - transactionnel maturité du concept et solutions ‘OBJET ’ 1 Vanel Séminaire Novembre 2001 – PLB – J.M. Modèles d’architecture Du Client/Serveur au ... ... modèle N/Tiers 4 1 Vanel Séminaire Novembre 2001 – PLB – J.M. Historique , le C/S mais c’est très simple ... Main Frame Main Frame Main Frame Main Frame Serveurs Réseaux Informatique Personnelle Réseaux ? Terminal passif 5 PC non connectés PC connectés Poste Client 1 Vanel Séminaire Novembre 2001 – PLB – J.M. 2001 ... Un modèle multi serveurs - multi terminal Serveurs applications Serveurs de publication Main Frame Serveurs ... Réseaux de l’E. Réseaux Externes Client UNIVERSEL 6 1 Vanel Séminaire Novembre 2001 – PLB – J.M. Les modèles N-Tiers WEB serveur Serveurs Applications Présentation Logique Métier Intégration 7 Séminaire Novembre 2001 – PLB – J.M. Vanel Objectifs Poste client universel EVOLUTIVITE Poste léger Pas de déploiement Multi support Implantation de la logique métier REUTILISABILITE Développement composants Intégration avec l’existant Middleware / EAI / moniteur PERFORMANCE & FIABILITE TP Connecteurs (ERP, CRM, SGBD,...) 8 1 Vanel Séminaire Novembre 2001 – PLB – J.M. Le fonctionnement Legacy Annuaire Serveur Serveur Pages Accès SGBD Scripts Accès Annuaire Données entreprise Applications 9 Pourquoi faire ? ... du plus simple au plus complexe navigateur + pages statiques, navigateur + pages dynamiques navigateur + pages dynamiques + SGBD navigateur + serveur d'applications (+ SGBD + annuaire) Séminaire Novembre 2001 – PLB – J.M. Vanel Rôle des diverses couches Le navigateur : Le serveur Web : répond à des requêtes HTTP par des pages en language HTML (ou autre) que le navigateur affiche. Un SGBD gère des données structurées 10 affiche du texte, des images, des formulaires, des boutons; il sait envoyer des requêtes HTTP. (en général suivant le modèle relationnel) assure l'intégrité, la sécurité, la durabilité, les requêtes et les transactions (ACID). C'est un serveur de données. Séminaire Novembre 2001 – PLB – J.M. Vanel Rôle des diverses couches : Le serveur d ’Applications (SA) Entre le serveur Web et le SGBD. Il assure lui aussi la sécurité et les transactions, Il prend en charge les aspects performance: répartition des applications entre les différentes machines, la réutilisation de ressources : connections aux sources de données, mémoire, etc Ainsi le code métier se trouve simplifié : 11 mais sans écrire de code (procédural), en général de manière déclarative (fichier de déploiement). Pas de code à écrire pour la sécurité, les transactions, les accès partagés (multi-thread) le code est écrit comme si l'objet était tout seul sur une machine isolée Séminaire Novembre 2001 – PLB – J.M. Vanel Fonctionnement des couches Le navigateur, outre l'affichage statique, peut faire des calculs et des animations : DHTML + langage Javascript, ou Applets Java SMIL ou SVG Le serveur Web répond à des requêtes HTTP par des pages en langage HTML Pour cela, le serveur Web peut : Renvoyer un fichier tout préparé (« pages statiques ») Générer par programme une page réponse (« pages dynamiques ») 12 Séminaire Novembre 2001 – PLB – J.M. Vanel Exemple page Web dynamique You have the following items in your cart: 1. Beavis & Butt-head Video collection 2. Love life 3. Concert tickets Please enter item to add or remove: Add Item: Beavis & Butt-head Video collection add remove Exemples de pages dynamiques, livrées avec Tomcat 4.0 : Caddie Calendrier 13 Séminaire Novembre 2001 – PLB – J.M. Vanel Les serveurs d ’applications 14 Quel modèle? Définition et fonctionnement Modèle J2EE Séminaire Novembre 2001 – PLB – J.M. Vanel Quel modèle Corba/COM/EJB ? Point de vue de SIEVERS en 2000 Corba : - complexité de mise en oeuvre - interopérabilité vers J2EE (ex : offreurs type Iona) 2000 ? Microsoft Com/Dcom - arrivé à maturité, - en attente de COM+ et DNA2000 Evolution des modèles - Web services, XML - Microsoft .Net Le modèle SUN /J2EE - engouement de l’année 2000, - modèle complet disponible pour l’implémentation 15 Séminaire Novembre 2001 – PLB – J.M. Vanel Evolution Une longue évolution : Moniteurs transactionnels (Tuxedo) Moniteurs transactionnels OO, MTS Le modèle CORBA et les ORB (dialogue entre objets) Puis 16 Standard Sun Java 2 Enterprise Edition (J2EE) Séminaire Novembre 2001 – PLB – J.M. Vanel Définition Le SA est un conteneur d'applications Le SA manipule les objets métiers (EJB : Enterprise Java Beans) : Le SA permet de déployer des objets métiers 17 Activation et désactivation Lancement des transactions Contrôle d'accès Le standard J2EE permet d’écrire ces objets (EJB), de les ‘emballer’ pour un déploiement facile et général Séminaire Novembre 2001 – PLB – J.M. Vanel Le modèle J2EE Le standard J2EE : Construit sur JAVA Couvre toute l’informatique répartie et de gestion Une communication normalisée entre le Serveur d'EJB et les autres couches : Avec le serveur Web: Servlets, JSP Entre les composants (RMI / IIOP / Corba) Avec les SGDBR : JDBC Avec les annuaires (JNDI) 18 Séminaire Novembre 2001 – PLB – J.M. Vanel Exemples Exemple de pages dynamiques + SGBD un exemple simple du type gestionnaire de rendez-vous. Exemple d'utilisation de Serveur d'Application même exemple simple avec un serveur EJB. Il faut écrire un peu plus de code (standard EJB) pour la machinerie, mais ensuite on peut gérer les permissions sur l'agenda sans toucher au code. De même sans toucher au code, on peut déclarer la mise à jour d'un rendez-vous comme une transaction ACID, ou relacher plus ou moins cette contrainte pour une raison de performance. 19 Séminaire Novembre 2001 – PLB – J.M. Vanel J2EE et Sécurité Rôle Rôle: agent Méthode Dossier.traiter Rôle: Administrateur Méthode Assuré.créer Méthode Assuré.enlever Méthode Assuré.facturer Agent Dubois Agent Durand 20 Séminaire Novembre 2001 – PLB – J.M. Vanel Arbre de connaissance N-Tiers Les offres N-Tiers Serveurs Applications Architecture COM/DCOM DNA J2EE Websphere CORBA WebLogic Silverstream HahtSite iPlanet Client léger Jaguar Gemstone Applet Dhtml Citrix Java : Orion Serveur EJB Scripting Mapping SGBD servlet Com JSP 21 SGBDOO others ASP cgi perl 1 Vanel Séminaire Novembre 2001 – PLB – J.M. Exemple de solution IBM Visual Age for Java Java Java Cobol/370 Cobol Serveur UNIX ou OS/390 Page JSP servlet JavaBean (interface) WebSphere 22 Service Applicatif SGBDR (DB2) CICS ... 1 Vanel Séminaire Novembre 2001 – PLB – J.M. Exemple de solution mixtes J2EE - Corba Compilateur C Atelier Java Java C++ Java Serveur Unix Page JSP servlet EJB SA - WebLogic 23 Composants Corba Connecteurs (OTM) Iona 1 Vanel Séminaire Novembre 2001 – PLB – J.M. Et la solution MicroSoft .. bientôt .NET .NET ? C# Serveurs NT Visual Interdev Internet Explorer HTML/CSS JavaScript Page HTML Script client Applet tech. MTS (?) Composant technique Application Win32 Java COM / DCOM COM+(?) Active X (?) dll Visual J++ Visual C++ 24 1 Vanel Séminaire Novembre 2001 – PLB – J.M. Les composants fonctionnement et standards SQL et JDBC... Object (RMI/IIOP) Http / https LDAP ... Données & existant référentiel Serveur WEB Serveur application Serveur de pages Servlet et EJB Scripting JSP socle technique Données entreprise applications ..XML. 25 1 Vanel Séminaire Novembre 2001 – PLB – J.M. 1 - Le poste client Objectifs Poste léger déploiement simple administration Solutions & questions Communication http simplicité (proxy) sécurité (https) limite sur la compatibilité des browsers et sur les extensions (plug-in et version JVM java) utilisation des protocoles propriétaires (RMI, activeX) Ergonomie Deux solutions à investiguer : HTML pur / applet java une alternative : DHTML (Javascript) 26 utilisation d ’un browser ‘ standard ’ Futur : XML et XHTML 1 Vanel Séminaire Novembre 2001 – PLB – J.M. 2 - Le serveur WEB Objectifs Flux pages http Solutions & questions scalabilité IIS sécurité Apache Services sécurité https présentation et réalisation des pages Firewall / proxy gestion Session & fail over JVM appel des composants des autres Tiers 27 marché dominé par méthodes de scripting JSP, XSP ASP .. Et perl, python, solutions de gestion session (cookies, html marqué ...) 1 Vanel Séminaire Novembre 2001 – PLB – J.M. 3 - Le serveur d ’application 28 Objectifs médiateur entre les 2 environnements : 1 - WEB et client lèger 2 - existant (‘ legacy ’) Solutions & questions 3 modèles (*) réutilisabilité et composants : mythe ou réalité ? Administration introduction de la notion de composants ‘ métier ’ indépendance du socle technique réutilisabilité Corba / COM / EJB montée en charge scalabilité load balancing et notion de Fail Over (*) Le marché aujourd’hui est dominé par J2EE ... ... Maturité des implémentations 1 Vanel Séminaire Novembre 2001 – PLB – J.M. 4 - L’intégration avec l’existant Objectifs interopérabilité Solutions & questions accès données middleware de type messages (vers EAI) accès applications connecteurs propriétaires 2 modèles gestion des transactions persistance des objets multi environnements et applications mapping relationnel SGBOO Mapping XML ... Le marché des EAI arrive à maturité ... ... Format d’échanges propriétaires >> XML 29 1 Vanel Séminaire Novembre 2001 – PLB – J.M. Exemple : de la conception à l ’implémentation Générer les squelettes de classes HTML/CSS JavaScript Page HTML Script Applet Browser Poste client 30 le schéma relationnel Java Page JSP, servlet Persistance SQL Base de données Composant EJB Serveur d’Applications SGBDR Serveur 1 Vanel Séminaire Novembre 2001 – PLB – J.M.