1 séminaire novembre 2001 – plb – j.m. vanel 1 - architecture internet n introduction n les...
TRANSCRIPT
1 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel
1 - Architecture Internet1 - 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 Les composants
2 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel1
En guise d ’introductionEn guise d ’introduction
Préoccupation ‘ architecture ’
Objets
CORBAJAVA
. NET EJB
Architecture WEB
UML
Intranet - Extranet
composantscomposantsQuelques points de repères ?
XML
3 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel1
Les préoccupations ...Les préoccupations ... Nouveau business - model :
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 ’
4 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel1
Modèles d’architectureModèles d’architecture
Du Client/Serveur au ...
... modèle N/Tiers
5 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel1
Historique ,Historique ,le C/S mais c’est très simple ... le C/S mais c’est très simple ...
Main Frame
Main Frame
Terminal passif
Informatique Personnelle
Main Frame
Réseaux
PC non connectés
PC connectés Poste Client
Main Frame
Réseaux
Serveurs
?
6 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel1
2001 ...2001 ...Un modèle multi serveurs - multi terminalUn modèle multi serveurs - multi terminal
Client UNIVERSEL
Main Frame
Réseaux de l’E. Réseaux Externes
Serveurs applications
Serveurs ...
Serveurs de publication
7 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel
Les modèles N-TiersLes modèles N-Tiers
Intégration
Présentation
Logique Métier
WEB serveur
ServeursApplications
8 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel1
ObjectifsObjectifs
Poste client universel 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
9 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel
Le fonctionnementLe fonctionnement
Serveur Serveur
Legacy
Scripts
Pages Accès SGBD
Accès Annuaire
Annuaire
Donnéesentreprise
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)
10 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel
Rôle des diverses couchesRô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.
11 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel
Rôle des diverses couchesRôle des diverses couches : :Le serveur d ’Applications (SA)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
12 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel
Fonctionnement des couchesFonctionnement 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 HTMLPour cela, le serveur Web peut : Renvoyer un fichier tout préparé (« pages statiques ») Générer par programme une page réponse (« pages
dynamiques »)
13 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel
Exemple page Web dynamiqueExemple 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
14 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel
Les serveurs d ’applicationsLes serveurs d ’applications
Quel modèle? Définition et fonctionnement Modèle J2EE
15 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel
Point de vue de SIEVERS en 2000
2000 ?
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 des modèles- Web services, XML - Microsoft .Net
Corba :- complexité de mise en oeuvre- interopérabilité vers J2EE (ex : offreurs type Iona)
Quel modèle Corba/COM/EJB ?Quel modèle Corba/COM/EJB ?
16 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel
EvolutionEvolution
Une longue évolution : 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)
17 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel
DéfinitionDé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
18 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel
Le modèle J2EELe 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)
19 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel
ExemplesExemples
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.
20 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel
J2EE et SécuritéJ2EE et Sécurité
Rôle
Rôle: Administrateur
Méthode Assuré.créerMéthode Assuré.créerMéthode Assuré.enleverMéthode Assuré.enlever
Méthode Assuré.facturerMéthode Assuré.facturer
Agent DuboisAgent Dubois
Agent DurandAgent Durand
Rôle: agent
Méthode Dossier.traiterMéthode Dossier.traiter
21 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel1
N-Tiers
Serveurs ApplicationsArchitecture
J2EE CORBACOM/DCOM
DNA
Websphere
WebLogic
Gemstone
SGBDOO
Mapping SGBD
Scripting
JSP ASP
Silverstream
HahtSite
Java : Orion
JaguarClient léger
Applet Dhtml Citrix
Serveur
EJB servlet
Com others
cgi perl
iPlanet
Arbre de connaissance N-Tiers
Les offresLes offres
22 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel1
Exemple de solution IBMExemple de solution IBM
Serveur UNIX ou OS/390
Java
SGBDR(DB2)
ServiceApplicatif
JavaBean(interface)
CICS ...WebSphere
Page JSPservlet
CobolJava
Visual Age for Java Cobol/370
23 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel1
Exemple de solution mixtesExemple de solution mixtesJ2EE - CorbaJ2EE - Corba
Serveur Unix
Java
ComposantsCorba
EJB
IonaSA - WebLogic
Page JSPservlet
Java
Compilateur CAtelier Java
C++
Connecteurs(OTM)
24 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel1
Et la solution MicroSoftEt la solution MicroSoft.. bientôt .NET.. bientôt .NET
Serveurs NT
Composanttechnique
Page HTMLScript clientApplet tech.
ApplicationWin32
HTML/CSSJavaScript
JavaActive X (?)
dll
COM / DCOM COM+(?)
Visual Interdev
Visual J++
.NET ? C#
InternetExplorer
MTS (?)
Visual C++
25 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel1
Les composantsLes composantsfonctionnement et standardsfonctionnement et standards
Serveur WEB Serveur application
Données & existant
ScriptingJSP
Serveur de pages Servlet et EJB
socletechnique
référentiel
Donnéesentreprise
applications
Http / httpsObject
(RMI/IIOP)
SQL et JDBC... LDAP ...
..XML...XML.
26 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel1
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)
Futur :XML et XHTML
Deux solutions à investiguer : HTML pur / applet javaune alternative : DHTML (Javascript)
27 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel1
2 - Le serveur WEB
Objectifs
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é ...)
28 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel1
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
29 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel1
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
30 Séminaire Novembre 2001 – PLB – J.M. VanelSéminaire Novembre 2001 – PLB – J.M. Vanel1
Serveur
Base dedonnées
ComposantEJB
Serveur d’Applications
Page JSP,servlet
Java
Poste client
Browser
Page HTMLScriptApplet
SQL
SGBDR
HTML/CSSJavaScript
Java
le schémarelationnel
Générerles squelettes
de classes
Java
Persistance
Exemple : Exemple : de la conception à l ’implémentationde la conception à l ’implémentation