PLATE-FORME J2EE

Tรฉlรฉcharger le fichier pdf d’un mรฉmoire de fin d’รฉtudes

Briques de l’architecture systรจme

Interface utilisateur

Aujourd’hui, les interfaces utilisateurs sont interactives, multimรฉdia, et de prรฉfรฉrence portables, c’est-ร -dire des interfaces graphiques pouvant fonctionner sur tous les systรจmes d’exploitation et conservent toujours le mรชme aspect.

Applications

Le choix en matiรจre de langage de dรฉveloppement estconsidรฉrable, et souvent de haut niveau, c’est ร  dire qu’il reste รฉloignรฉ des prรฉoccupationsau niveau des matรฉrielles, comme la gestion de la mรฉmoire ou la programmation rรฉseau ; Ces dรฉtailssont rรฉglรฉs automatiquement. Le dรฉveloppement peut donc se concentrer sur la logique de l’application, sur les langages de scripts (Perl. PHP, TCL, JavaScript, VBScript) et sur les langages objets (Java, C++, VB.Net, C#). Ces langages de scripts sont trรจs simples et permettent de dรฉvelopper rapidement des petites applications. Pour des projets de plus grandes envergures, il est nรฉcessaire d’avoir recours au langage objet de troisiรจme gรฉnรฉration. Dans la pratique, les applications d’entreprises mettent souvent en jeu des combinaisons de ces deux types de langage.
Cependant, le problรจme du dรฉveloppement informatique ne se limite pas au choix d’un langage.
La qualitรฉ d’une application informatique s’exprimeselon quatre axes :
โ€ข Facilitรฉ de dรฉveloppement (FAIRE)
โ€ข Facilitรฉ de dรฉploiement (INSTALLER)
โ€ข Facilitรฉ ร  รชtre maintenu ou maintenabilitรฉ (‘METTREA JOUR)
โ€ข Facilitรฉ de rรฉutilisation (RECYCLER)
Dans les architectures client/serveur, lโ€™optimum de qualitรฉ est atteint par le recours ร  la programmation objet ou ร  base de composant (ActiveX , DLL….) Ces briques logicielles qui servent ร  construire l’รฉdifice applicatif sont gรฉnรฉralement dรฉveloppรฉes dans des langages compilรฉs de troisiรจme gรฉnรฉration comme C++ ou Java. La gestion des interfaces graphiques de type HTML est par contre simplifiรฉe par l’utilisation de langage script cรดtรฉ serveur. Actuellement la multiplication des solutions offrent des combinaisons de scripts et de composants : le langage de scripts joue le rรดle d’intermรฉdiaire entre le serveur d’application et les composants qu’il hรฉberge (ASP/ActiveX, JSP/EJB, JavaScript/EJB).

Donnรฉes

La grande majoritรฉ des donnรฉes de gestion est encor ร  l’heure actuelle stockรฉe dans des bases de donnรฉes non relationnelles, dans des ยซ Mainframes ยป. Jusqu’ร  une รฉpoque trรจs rรฉcente, la plupart des รฉditeurs de sites intranet avaient purement etsimplement oubliรฉ ce fait. Les accรจs se limitaient aux donnรฉes relationnelles (Sybase, Oracle ร  travers SQL) souvent exclusivement au travers de l’interface ODBC (Open DataBase Connectivitรฉ) de Microsoft. Les Systรจmes de Gestion de Base de Donnรฉes Objet ne percent toujours pas. Leurs qualitรฉs sont pourtant indรฉniables lorsque l’on mรจne un projet objet :
โ€ข La persistance des donnรฉes objets est gรฉrรฉe presqueautomatiquement
โ€ข Il n’est pas nรฉcessaire de constituer une correspondance entre la reprรฉsentation des donnรฉes et leur reprรฉsentation sous forme relationnelle.
โ€ข Les performances sont aussi bonnes voire meilleures qu’avec le SGBDR
โ€ข L’administration de base de donnรฉes est souvent plus aisรฉe qu’avec le SGBDR

Middleware

Pour lier efficacement les diffรฉrentes composantes d’une application client/serveur, il est parfois nรฉcessaire d’avoir recours ร  des logiciels spรฉcifiques : ยซ les middlewares ยป Comme leur nom l’indique, ce sont des intermmรฉdiaires. Ils servent ร  simplifier le travail du dรฉveloppeur en se chargeant d’un point particulieer. Ils sont de plusieurs types, les principaux รฉtant
โ€ข Les middlewarees d’accรจs aux donnรฉes
Ils mettent en communication les applications avec les diffรฉrentes sources de donnรฉes de l’entreprise.
โ€ข Les ORB (Objeect Request Broker) :
Leur but premier est de rendre plus transparente la communication avec les applications situรฉes sur des machines distantes grรขce ร  ce qu’on appelle objets distribuรฉs (interopรฉrabilitรฉs). Citer comme exemple : CORBA, DCOM, RMI.
ยท Les moniteurs transactionnels :
Leur fonction est de coordonner les transactions distribuรฉes sur plusieeurs machines
ยท Les Messages Oriiented Middleware (MOM) :
Il s’agit de serveurs intermรฉdiaires dans la communication entre appliccation.

Typologie technique

Pour comparer les architecturres entre elles, le paragraphe qui suit s’attacche ร  dรฉterminer quelles sont les caractรฉristiques signiificatives d’une architecture client/serveur.
De quelle nature est l’information qui circule entre le client et le serveur ?
โ€ข S’agit-il d’une informattion de prรฉsentation (interfac HTML) auquel cas le client s’apparente ร  un terminal passif (il doit juste afficher ce qu’on lui envooie) ?
โ€ข Ou bien s’agit-il uniquem ent de donnรฉes extraites d’une base SQL,auquel cas le client a pour responsabilitรฉs de dรฉtermminer comment afficher cesdonnรฉes ?
โ€ข Ces donnรฉes reprรฉsentent-elles des appels de fonction ร  distance (avec le protocole CORBA-IIOP par exemple) ?
โ€ข Ou enfin, ces donnรฉes s on-elles des objets sรฉrialisรฉes, c’est ร  dire transformรฉes en une sรฉrie d’octets propre ร  รชtre trannsmise au travers d’un rรฉseau ?

Type de dialogue cliennt/serveur

La figure 1.05 reprรฉsente le tyype de dalogue client/serveur
Le HTTP est un protocole dรฉรฉconnectรฉ : on demande une page HTML, le serveur web la renvoie (avec les รฉventuels fichiers qui s’y rattachent comme les images, ou des applets Java), et la communication est coupรฉe. Comment obtenir un contexte transactionnel avvec un tel protocole ?
Par exemple : comment fairee en sorte qu’un utilisateur puisse acheter des produits en ligne au travers de page HTML, et que chaque nouvelle page qu’il visite se souvienne de ce qu’il avai achetรฉ lors des pages prรฉcรฉรฉdente A l’inverse, les protocoles tel que CORBA – IIOP – RMI – DCOM, ou plus simplemennt le protocole TCP sont dits connectรฉss. A la maniรจre d’une communication tรฉlรฉphoniquue, la lign reliant les interlocuteurs est dรฉรฉdiรฉe : le dialogueest interrompu explicitement soit par le client, soit par le serveur.

Architectures client/serrveur

Client/serveur ร  client passif (1/3)

Le terme client/serveur apppliquรฉ ร  ce type d’architecture prรฉsente des clients assifsp qui n’exรฉcutent rien. Le client ici se prรฉsente sous forme de terminal ou l’รฉm ulation de terminal. C’es le serveur qui hรฉberge les appplications
Dans ce type d’architecture, la logique applicative (mรฉtier) et les donnรฉees sont concentrรฉes en u seul point : ยซ le site central ยป. Le client (c’est ร  dire le terminal) ne sert quโ€™ร  la visualisation e t ร  l’insertion des donnรฉes.
Ce type de systรจme d’information a fait ces preuves. Sรปr, sรฉcurisรฉ, robuste,, il satisfait parfaitement
ร  la premiรจre loi de l’informatique d’entreprise : ยซ il faut que รงa fonctionne ยป. La programmation est simple puisque l’accรจs aux donnรฉes est gรฉnรฉralem nt trรจs bien intรฉgรฉ.En effet, lโ€™avantage est de pouvoir travailler dans la mรฉmoire d’un ordinateur puissant, particuliรจrement stable et qui est spรฉcialement conรงu pour le traitement de gestion : ยซ le mainframe ยป. Le flux rรฉseau entre le client et le serveur ne vรฉhicule que des informations de prรฉsentation : de tableaau de caractรจres ou maps 3270 par exemple.

Client/serveur de donnnรฉes (2/3

Ce type d’architecture est appparu avec la vague de PC du milieu des annรฉรฉes 80 La loi de Grosh stipule qu’ร  puissances รฉgales, plusieurs petites machines coรปtent moins cher qu’une grosse. Pragmatique, les entreprises ont donc adhรฉrรฉ au PCCependant. le mainfraame n’est pas mort pour autant car il contenait dรฉjร  touute la logique applicative et toutes les donnรฉees de l’entreprise. Opรฉre une migration intรฉgrale vers les PC n’รฉtait pas envisageable. Ainsi un nou veau type d’architecture s’est dรฉveloppรฉ autour du PCC : ยซe client/serveur de donnรฉes ยป.
Le PC รฉtant capable d’exรฉcuuter des traitements, pourquoi ne pas en profitter ? Par consรฉquent, le serveur perd ces prรฉrogatives,et nโ€™est dรฉsormais utilisรฉ quโ€™ร  la gestion des donnรฉes
C’est l’avรจnement des SGBDDR et desoutils L4G (SQL Windows. PowerBuilder) qui permettent rapidement de dรฉvelopper des applications pour un PC avec accรจs aux donnnรฉes d serveur.
Le client concentre ainsi l’ensemble de la logique applicative et communiique au serveur ร  lโ€™ aide d’un langage de requรชte standardisรฉ : ยซ SQL ยป. Grรขce au PC, les interfacees peuvent alors devenir beaucoup plus graphiques acccroissant la qualitรฉ d’information disponible dans un mรชme รฉcran e amรฉliorant les possibilitรฉs d e manipulation de donnรฉes. Les GUI peuvent augmenter notablement la productivitรฉ des utilisateurs
A peine dix ans plus tard le biilan est sans appel : le coรปt de maintenance de ce type d’architecture, dรฉmontrรฉ par la figure cidess-us, est prohibitif. Par ailleurs, les dรฉploiements ร  grande รฉchell sont complexes (en cas de mise ร  jour, il faut rรฉinstaller l’application sur les postes clients). Ainsi le mainframe est restรฉ indispenssable et il a survรฉcu ร la vague des PC.

Client/serveur distribuuรฉs (3/3

Les dรฉbuts industriels de ce type d’architecture marquent le dรฉbut des annรฉes 90. O commence ร  comprendre que la dรฉcentraliisation intรฉgrale des traitements vers les PC n’est pas forcรฉment une bonne chose. Quelques portioons de programme sous la forme de ยซ procรฉรฉdures stockรฉes seront transfรฉrรฉes progressivement sur le serveu.
Mais le problรจme de dรฉploie ment et de la maintenance de applications reste presque inchangรฉ. Certains รฉditeurs d’outils L4 G prennent la mesure du problรจme et proposeent la solution basรฉ sur des serveurs d’applications : N AT STAR, PowerBuilder, Forte, … Ces serveurs hรฉbergen des traitements appelรฉs par des prrotocoles RPC propriรฉtaires.
Le principe de cette architectuure est simple, il ne s’agit plus de disposer lee code ร  exรฉcuter sur le client, mais plutรดt sur un serveeur tiers (appelรฉ ยซ serveur d’application ยป, car il offre la possibilitรฉ d’exรฉcuter des portions d’appplication)Ainsi, il est au faveur du client de demander aux serveurs d’exรฉcuter telle ou telle procรฉdure. Le serveur effectue l’opรฉration demmandรฉe puis retourne le rรฉsultat au client. Ainsi le client se trouve-t-il dรฉchargรฉ d’une bonne part des traitements. Pa ailleurs, les donnรฉes ne circculent presque plus qu’entre le serveur d’application et la base de donnรฉes ce qui รฉconomise la bande passante rรฉsea

Le rapport de stage ou le pfe est un document dโ€™analyse, de synthรจse et dโ€™รฉvaluation de votre apprentissage, cโ€™est pour cela chatpfe.com propose le tรฉlรฉchargement des modรจles complet de projet de fin dโ€™รฉtude, rapport de stage, mรฉmoire, pfe, thรจse, pour connaรฎtre la mรฉthodologie ร  avoir et savoir comment construire les parties dโ€™un projet de fin dโ€™รฉtude.

Table des matiรจres

INTRODUCTION GENERALE
CHAPITRE 1 GENERALITES SUR LES ARCHITECTURES SYSTEMES
1.1. Le contexte
1.1.1. Applications multitiers distribuรฉes
1.2. Architecture systรจme
1.2.1. Introduction sur le client/serveur
1.2.2. Modรจle gรฉnรฉrale d’architecture systรจme
1.2.2.1. Espace serveur
1.2.2.2. Espace client
1.2.3. Briques de l’architecture systรจme
1.2.3.1. Interface utilisateur
1.2.3.2. Applications
1.2.3.3. Donnรฉes
1.2.3.4. Middleware
1.2.4. Typologie technique
1.2.4.1. Type de donnรฉes vรฉhiculรฉes (TDV)
1.2.4.2. Type de dialogue client/serveur (TD)
1.2.4.3. Structure et localisation des applicatifs
1.2.5. Architectures client/serveur
1.2.5.1. Client/serveur ร  client passif (1/3)
1.2.5.2. Client/serveur de donnรฉes (2/3)
1.2.5.3. Client/serveur distribuรฉs (3/3)
1.2.5.4. Client/serveur ร  objets distribuรฉs (systรจme rรฉparti)
1.2.6. Evolution du client/serveur avec Internet
1.2.6.1. Standardisation des protocoles
1.2.6.2. Influence de la sรฉcuritรฉ
1.2.6.3. Problรจme de bande passante
1.2.7. Architectures clients/serveurs basรฉes sur Internet
1.2.7.1. Architectures C/S HTML/WEB
1.2.7.2. Architectures ร  code mobile
1.3. Conclusion
CHAPITRE 2 PLATE-FORME J2EE
2.1. Introduction
2.2. Applications multitiers distribuรฉes de J2EE
2.2.1. Composants J2EE
2.2.2. Clients J2EE
2.2.2.1. Client web
2.2.2.2. Applet
2.2.2.3. Applications clientes
2.2.3. Composants web
2.2.4. Composants mรฉtiers
2.2.5. Niveau EIS
2.3. Conteneurs J2EE
2.3.1. Services conteneurs
2.3.2. Types de conteneurs
2.3.2.1. Serveur J2EE
2.3.2.2. Conteneur EJB
2.3.2.3. Conteneur web
2.3.2.4. Conteneur d’application cliente
2.3.2.5. Conteneur d’applet
2.4. API de J2EE
2.4.1. Technologie Enterprise JavaBeans
2.4.2. Technologie Java Servlet
2.4.3. Technologie JavaServer Page
2.4.4. API Java Message Service
2.4.5. API JDBC
2.4.6. API Java Transaction
2.4.7. JNDI
2.4.8. API JavaMail
2.5. Serveurs dโ€™applications
2.5.1. Rรดles dโ€™un serveur dโ€™application
2.5.2. Intรฉgration dans lโ€™architecture dโ€™entreprise
2.5.3. Architecture externe dโ€™un serveur dโ€™application
2.5.4. Architecture interne dโ€™un serveur dโ€™application
2.6. Communication entre le client et le serveur : le protocole HTTP
2.7. Dรฉveloppement client
2.8. Dรฉveloppement serveur en Java
2.9. Conclusion
CHAPITRE 3 BASES DE DONNEES
3.1. Prรฉsentation gรฉnรฉrale
3.1.1. Introduction aux bases de donnรฉes
3.1.2. Objectifs et avantages
3.1.2.1. Indรฉpendance physique.
3.1.2.2. Indรฉpendance logique.
3.1.2.3. Manipulable par des non-informaticiens.
3.1.2.4. Accรจs aux donnรฉes efficace.
3.1.2.5. Administration centralisรฉe des donnรฉes.
3.1.2.6. Non redondance des donnรฉes.
3.1.2.7. Cohรฉrence des donnรฉes.
3.1.2.8. Partageabilitรฉ des donnรฉes.
3.1.2.9. Sรฉcuritรฉ des donnรฉes.
3.1.3. Diffรฉrents types de bases de donnรฉes
3.1.4. Quelques systรจmes existants
3.1.5. Modรฉliser les donnรฉes
3.2. Algรจbre relationnelle
3.2.1. Opรฉrations de base
3.2.2. Expressions de l’algรจbre relationnelle
3.2.3. Quelques remarques sur l’algรจbre relationnelle
3.3. Langage SQL
3.3.1. L’obtention des donnรฉes
3.3.1.1. Expression des projections
3.3.1.2. Expression des restrictions
3.3.1.3. Tri et prรฉsentation des rรฉsultats
3.3.1.4. Expression des jointures
3.3.1.5. Fonctions statistiques
3.3.2. Mise ร  jour d’informations
3.3.2.1. Insertion.
3.3.2.2. Mise ร  jour
3.3.2.3. Suppression.
3.3.3. Dรฉfinition des donnรฉes : DDL
3.3.3.1. Types de donnรฉes
3.3.3.2. Crรฉation de tables
3.3.3.3. Expression des contraintes d’intรฉgritรฉ
3.4. Connexion aux bases de donnรฉes
3.4.1. API JDBC
3.4.1.1. Qu’est ce que JDBC?
3.4.1.2. Structure d’une application JDBC
3.4.2. Diffรฉrents pilotes
3.4.3. Requรชtes prรฉcompilรฉes
3.4.4. Commit et Rollback
3.4.5. Mรฉta-base
3.5. Conclusion
CHAPITRE 4 SERVLETS ET JSP
4.1. Application web
4.1.1. Cycle de vie des applications web
4.1.2. Modules web
4.2. Servlets
4.2.1. Dรฉfinition
4.2.2. Cycle de vie d’une servlet
4.2.3. API servlet
4.2.4. Structure de fonctionnement interne d’une servlet
4.2.5. Implรฉmentation d’une servlet
4.2.6. Initialisation et destruction d’une servlet
4.2.6.1. Initialisation
4.2.6.2. En service
4.2.6.3. Destruction
4.2.7. Invocation d’une servlet ร  partir d’un client lรฉger
4.2.7.1. Invocation de la mรฉthode doGet()
4.2.7.2. Invocation de la mรฉthode doPost()
4.3. JSP
4.3.1. Gรฉnรฉralitรฉs
4.3.2. Comparaison entre JSP et servlet
4.3.3. Architecture
4.3.4. Tags JSP
4.3.4.1. Dรฉclaration tag (<%! %>)
4.3.4.2. Expression tag (<%= %>)
4.3.4.3. Directive tag (<%@ directive
4.3.4.3.1. Page directive
4.3.4.3.2. Include directive
4.3.4.3.3. Tag Lib directive
4.3.4.4. Scriptlet tag (<% . . . %>)
4.3.4.5. Action tag
4.3.4.6. Javabeans
4.3.4.7. Commentaire
4.3.5. Avantages et inconvรฉnients des JSP
4.4. Conclusion
CHAPITRE 5 MISE EN OEUVRE DE Lโ€™APPLICATION
5.1. Etat de lโ€™art
5.2. Choix du Langage Java
5.3. Choix de la base de donnรฉes
5.4. Outils de dรฉveloppement
5.4.1. MERISE
5.4.2. ECLIPSE et DREAMWEAVER
5.4.2.1. Configuration dโ€™ECLIPSE
5.4.2.2. Configuration de DREAMWEAVER
5.4.3. Winโ€™ Design et EASYPHP
5.4.4. TOMCAT
5.4.4.1. Configuration de Tomcat
5.4.4.2. Modification de contexte
5.5. Mise en oeuvre de lโ€™application
5.5.1. Rรจgles de gestion
5.5.2. Organigramme
5.5.3. Exemples de pages de lโ€™application
5.5.3.1. Inscription
5.5.3.2. Authentification ou login
5.5.3.3. Page reprรฉsentant la liste des diffรฉrents services
5.6. Conclusion
CONCLUSION GENERALE
ANNEXES
ANNEXE 1 : ARCHITECTURE DES RESEAUX
ANNEXE 2 : RAPPELS HTML
ANNEXE 3 : CODE Dโ€™AUTHENTIFICATION
ANNEXE 4: CODE SOURCE JEUX.JSP
ANNEXE 5 : CODE SOURCE SHOWCADDY.JSP
BIBLIOGRAPHIE
FICHE DE RENSEIGNEMENT
RESUME
ABSTRACT

Tรฉlรฉcharger le rapport complet

Tรฉlรฉcharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiรฉe. Les champs obligatoires sont indiquรฉs avec *