ARCHITECTURES INTERNET

publicité
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.
Téléchargement