1 - Architecture Internet

Slides:



Advertisements
Présentations similaires
Applications N-Tiers Rappels: architecture et méthodologie
Advertisements

Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
Cours 5 : XML et les architectures N-tier Janvier Version 1.0 -
Nos Partenaires Rencontres ASP.NET : Développement Rapide dApplications Web.
Agenda de la journée 10h00 : La place dASP.NET dans la plate-forme Microsoft 10h30 : Développement rapide dapplications Web en ASP.NET 12h00 : Construire.
Introduction aux environnements répartis
Première expérience d’utilisation des Web Services dans SmartTools Didier Parigot Projet OASIS INRIA Sophia www-sop.inria.fr/oasis/SmartTools Journée.
Le"cartable électronique"®
Projet extranet My.Eolas
Le developpement web  Préparé par : ASSAL Lamiae JAMALI Zakarya
Serveurs web pour JSP et Servlets
Architecture. Architecture Enjeux Les Enjeux Trouver une solution e-Business Accessible à partir d’un navigateur Web Accédant au système via un Portail.
Une solution personnalisable et extensible
L’architecture .net et ASP.net
Exposé de Système - Informatique et Réseau
Le développement d’applications sous Lotus Notes
TRANSFER Alger – Serveur Web Nicolas Larrousse Septembre Petit historique du Worl Wide Web Notion dHypertexte Extension à internet par Tim Berners.
Cours 6 : XML et les architectures N-tiers – Tier Applicatif
Cours 2 : Les Web Services Concepts Généraux
TP 3-4 BD21.

NFE 107 : Urbanisation et architecture des systèmes d'information
JOME, un Composant Logiciel pour le Télé-Enseignement des Mathématiques via le WEB, Compatible OpenMath et MathML Laurent DIRAT OVE / I3S-UNSA.
Programmer avec Java EE
Introduction aux services WEB
Le Client Léger Adrien MACHADO Fabien LOCUSSOL IR ème année
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Serveurs d’application
7 - EAI Les EAI : Enterprise Application Integration Marché
Développement Rapide dApplications Web avec.NET « Mon premier site »
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
Gestion des bases de données
Atelier « Créations de sites » : Les techniques de réalisation de sites EPN :...
1. 2 PLAN DE LA PRÉSENTATION - SECTION 1 : Code HTML - SECTION 2.1. : CSS (Méthode 1) - SECTION 2.2. : CSS (Méthode 2) - SECTION 3 : JavaScript - SECTION.
Clients riches RIA (Rich Internet Application) / RDA
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
Adaptée du cours de Richard Grin
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
‘‘Open Data base Connectivity‘‘
4 - Annuaires Les Annuaires d ’Entreprises Offres et solutions
Evolution de l’architecture Agora
Introduction.
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
Module I-C3 : Applications Web IUT R&T 2e année
Présentation de CORBA et de IIOP
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Java Enterprise Edition, anciennement J2EE
Outil de gestion des cartes grises
Présentation Session RPSI
E-Technology lab Plateformes, Technologies et Architectures pour les systèmes eGouvernement Par: Dr Mamadou Koné Université Laval, Québec, Canada et Houda.
Cours de programmation web
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
« Le plaisir du chercheur : retrousser les jupes de la nature » Jean Rostand Proposer une « Interface Homme Machine » en utilisant une technologie Client.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Architecture J2EE gfgfgfggf Khin Chhoung LAO, Cnam.
Conférence Technique Java 2 Frédéric Jacquet. Au programme  Présenter les différents outils  Découverte - Java coté serveur  Appréhender l ’existant.
S'initier au HTML et aux feuilles de style CSS Cours 5.
ATELIER GENIE LOGICIEL
Struts.
Introduction au socle MEAN
Les différents modèles d’architecture technique
Sites Web interactifs 2010 / 2011 / S1 Bernhard Rieder.
Séance /10/2005 CSS et Dreamweaver. CSS : principes Cascading Style Sheet = feuille de style en cascade Norme du W3C :
Séance /01/2006 Les technologies des sites dynamiques.
Architectures Logicielles Java GLG203 GLG204
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Applications distribuées Introduction Jean-Jacques LE COZ.
Transcription de la présentation:

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

En guise d ’introduction UML Objets Préoccupation ‘ architecture ’ Architecture WEB Intranet - Extranet Quelques points de repères ? composants . NET JAVA CORBA XML EJB 1

Les préoccupations ... Nouveau business - model : Les points chauds : Accélération des traitements du Batch au WEB - transactionnel 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 maturité du concept et solutions ‘OBJET ’ 1

Modèles d’architecture Du Client/Serveur au ... ... modèle N/Tiers 1

Historique , le C/S mais c’est très simple ... Main Frame Main Frame Main Frame Main Frame Serveurs Réseaux Réseaux Informatique Personnelle ? Terminal passif PC non connectés PC connectés Poste Client 1

2001 ... Un modèle multi serveurs - multi terminal Main Frame Réseaux de l’E. Réseaux Externes Serveurs applications Serveurs ... Serveurs de publication Client UNIVERSEL 1

Les modèles N-Tiers WEB serveur Serveurs Applications Présentation Logique Métier Intégration

Objectifs Poste client universel Implantation de la logique métier Poste léger Pas de déploiement Multi support Implantation de la logique métier Développement composants Intégration avec l’existant Middleware / EAI / moniteur TP Connecteurs (ERP, CRM, SGBD,...) EVOLUTIVITE REUTILISABILITE PERFORMANCE & FIABILITE 1

Le fonctionnement Pourquoi faire ? ... du plus simple au plus complexe Serveur Legacy Scripts Pages Accès SGBD Accès Annuaire Annuaire Données entreprise Applications Pourquoi faire ? ... du plus simple au plus complexe navigateur + pages statiques, navigateur + pages dynamiques navigateur + pages dynamiques + SGBD navigateur + serveur d'applications (+ SGBD + annuaire)

Rôle des diverses couches Le navigateur : affiche du texte, des images, des formulaires, des boutons; il sait envoyer des requêtes HTTP. 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 (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.

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, mais sans écrire de code (procédural), en général de manière déclarative (fichier de déploiement). 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é : 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

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 ») On peut montrer ici des exemples des capacités d’affichage d’un browser: Affichage d’une arborescence cliquable et repliable Un jeu de voiture en 3D Le «  jeu » de la vie de Conway On verra plus loin un exemple de plus gestion avec un choix dans un catalogue.

Exemple page Web dynamique Le serveur utilise le mécanisme des cookies pour savoir à qui il a affaire. Ce sont des paires champs-valeurs qui sont écrites par le navigateur sur le disque et lues à la requête d’après. C’est une norme de fait, qui pallie au mode sans connexion de HTTP (limitation voulue); l’utilisateur peut déconnecter les cookies. Exemples de pages dynamiques, livrées avec Tomcat 4.0 : Caddie Calendrier

Les serveurs d ’applications Quel modèle? Définition et fonctionnement Modèle J2EE

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 ? Evolution des modèles - Web services, XML - Microsoft .Net Microsoft Com/Dcom - arrivé à maturité, - en attente de COM+ et DNA2000 Le modèle SUN /J2EE - engouement de l’année 2000, - modèle complet disponible pour l’implémentation

Evolution Une longue évolution : Puis Moniteurs transactionnels (Tuxedo) Moniteurs transactionnels OO, MTS Le modèle CORBA et les ORB (dialogue entre objets) Puis Standard Sun Java 2 Enterprise Edition (J2EE)

Définition Le SA est un conteneur d'applications Le SA manipule les objets métiers (EJB : Enterprise Java Beans) : Activation et désactivation Lancement des transactions Contrôle d'accès Le SA permet de déployer des objets métiers Le standard J2EE permet d’écrire ces objets (EJB), de les ‘emballer’ pour un déploiement facile et général Note: On ne va pas bouleverser la manière de déployer les applis Agora, il n’y a pas que des parties J2EE . Un SA évolué peut même propager le contexte transactionnel vers un autre SA. On peut montrer des métaphores : SA = carte mère d’ordinateur, application J2EE =carte d’extension SA = chef de bureau, application J2EE = employé de bureau

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) JNDI=Java Naming and directory interface IIOP est le protocole Corba de communication inter-objets sur Internet, repris par RMI qui est une couche Java par-dessus.

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.

J2EE et Sécurité Rôle Rôle: agent Rôle: Administrateur Méthode Dossier.traiter Rôle: Administrateur Méthode Assuré.créer Méthode Assuré.enlever Méthode Assuré.facturer C’est juste un exemple assez générique ; l’agent peut traiter un dossier standard , mais pas créditer directement un compte. On peut gérer les permissions au niveau de la méthode. Le code source n’a pas à être modifié. On peut aussi gérer programmatiquement la sécurité (par exemple fixer une limite au montant d’une transaction en fonction du rôle de sécurité). Agent Dubois Agent Durand

Les offres N-Tiers J2EE CORBA Architecture Websphere COM/DCOM DNA Arbre de connaissance N-Tiers N-Tiers Architecture Serveurs Applications Websphere J2EE COM/DCOM DNA CORBA Silverstream WebLogic HahtSite iPlanet Client léger Jaguar Gemstone Applet Dhtml Citrix Java : Orion Serveur Mapping SGBD EJB servlet Scripting SGBDOO Com others JSP ASP cgi perl 1

Exemple de solution IBM Visual Age for Java Cobol/370 Java Java Cobol Serveur UNIX ou OS/390 Page JSP servlet JavaBean (interface) Service Applicatif SGBDR (DB2) WebSphere CICS ... 1

Exemple de solution mixtes J2EE - Corba Atelier Java Compilateur C Java Java C++ Serveur Unix Page JSP servlet EJB Composants Corba Connecteurs (OTM) SA - WebLogic Iona 1

Et la solution MicroSoft .. bientôt .NET .NET ? C# Serveurs NT Visual Interdev MTS (?) Internet Explorer HTML/CSS JavaScript Page HTML Script client Applet tech. Application Win32 Composant technique Java COM / DCOM COM+(?) Active X (?) dll Visual J++ Visual C++ 1

Les composants fonctionnement et standards SQL et JDBC... LDAP ... Object (RMI/IIOP) Http / https Données & existant référentiel Serveur WEB Serveur application Données entreprise Serveur de pages Servlet et EJB Scripting JSP socle technique applications ..XML. 1

1 - Le poste client Objectifs Poste léger déploiement simple administration Communication http simplicité (proxy) sécurité (https) Ergonomie Solutions & questions utilisation d ’un browser ‘ standard ’ limite sur la compatibilité des browsers et sur les extensions (plug-in et version JVM java) utilisation des protocoles propriétaires (RMI, activeX) Deux solutions à investiguer : HTML pur / applet java une alternative : DHTML (Javascript) Futur : XML et XHTML 1

2 - Le serveur WEB Objectifs Solutions & questions Flux pages http scalabilité sécurité Services présentation et réalisation des pages gestion Session & fail over appel des composants des autres Tiers Solutions & questions marché dominé par IIS Apache sécurité https Firewall / proxy JVM méthodes de scripting JSP, XSP ASP .. Et perl, python, solutions de gestion session (cookies, html marqué ...) 1

3 - Le serveur d ’application Objectifs médiateur entre les 2 environnements : 1 - WEB et client lèger 2 - existant (‘ legacy ’) introduction de la notion de composants ‘ métier ’ indépendance du socle technique réutilisabilité montée en charge scalabilité load balancing et notion de Fail Over Solutions & questions 3 modèles (*) Corba / COM / EJB réutilisabilité et composants : mythe ou réalité ? Administration (*) Le marché aujourd’hui est dominé par J2EE ... ... Maturité des implémentations 1

4 - L’intégration avec l’existant Objectifs interopérabilité accès données accès applications gestion des transactions multi environnements et applications Solutions & questions 2 modèles middleware de type messages (vers EAI) connecteurs propriétaires persistance des objets mapping relationnel SGBOO Mapping XML ... Le marché des EAI arrive à maturité ... ... Format d’échanges propriétaires >> XML 1

Exemple : de la conception à l ’implémentation Générer les squelettes de classes le schéma relationnel Persistance HTML/CSS JavaScript Java Java Java SQL Poste client Serveur Page HTML Script Applet Page JSP, servlet Composant EJB Base de données Il y a des outils de génération dans les 2 sens entre schéma relationnel et classes Java. Browser SGBDR Serveur d’Applications 1