Vous êtes sur la page 1sur 41

Mh.hadjhenni@gmail.

com
Technologie pour le
développement
d’application Web

26/09/2017 1
Technologie pour le développement
d’application
Ce module Web
introduit les bases de
l’infrastructure du web ainsi que ses
 Faire appréhender les bases des nouvelles
services. La recherche
technologies JAVA, .Net et Corba pour le
d’information étant de loin le service le
développement d’applications Web.
plus utilisé, est détaillée en abordant les
 Autrement, donner
moteurs de les bases pour construire des
applications d’entreprise
recherche et leurutilisant des bases de
fonctionnement
données à(infrastructure,
travers le Web. L’enseignement
indexation, performance, est accès
sur la technologie
…). J2EE, cette dernière est en ce
moment, et voir pour quelques années, la
technologie dominante.

26/09/2017 2
Plan du cours
Chapitre I : Comprendre
l’environnement

1. Généralités et fondements d’applications réparties


2. Etude sommaire de la technologie .Net (Microsoft)
3. Etude sommaire de la technologie CCM (Corba
d’OMG)
4. Etude sommaire de la technologie J2EE (Sun
Microsystems)
5. Etude comparative des trois technologies
26/09/2017 3
Plan du cours
Chapitre II : Mise en place de l’environnement
J2EE

1. Installation d’un serveur J2EE, Pourquoi


utiliser un serveur J2EE ?, Quel serveur J2EE
choisir ?, Installation de JDK sous Windows et
sous Linux, Installation d’un serveur
2. J2EE particulier Jrun ou Tomcat ou autre,
3. Installation d’un outil de développement
(IDE Eclipse d’IBM ou autre)
26/09/2017 4
Plan du cours
Chapitre III : Les Servlets
1. Qu’est-ce qu’une servlet ?,Comment effectuer le lien entre
la servlet et l’URL ?
2. Comment invoquer une servlet ? Ecriture d’une 1° servlet
(création d’un projet,création de
la classe associée à la servlet, compilation et déploiement,
exécution de la servlet),
3. Classes associées aux servlets, Rappels sur les langages
XML et HTML,
4. TP : Exemples utilisant des servlets.

26/09/2017 5
Plan du cours
Chapitre IV : Les pages JSP
Qu’est-ce qu’une JSP ?,Cycle de vie, Ecriture d’une 1° JSP,
Constituants d’une page JSP :
le code HTML, les directives, les commentaires, les scripts et les
actions.

Chapitre V : L’API JDBC


1. Utilisation de JDBC, Utilisation de MySQL, Comment installer
les pilotes d’une base de données ?,
2. Principes généraux de JDBC(Obtention d’une connexion, Accès
aux données de la base,
3. Libération des ressources, Gestion des transactions), Classes et
interfaces,
4. TP : Exemple d’application utilisant JDBC

26/09/2017 6
Plan du cours
Chapitre VI : Le Modèle MVC
Présentation du Modèle, Qu’est-ce qu’un métier, ? qu’est-ce
qu’une vue ? Qu’est-ce qu’un
contrôle ? Illustration simple du modèle MVC, TP :
Utilisation d’une base de données dans les
JSP.

26/09/2017 7
Chapitre I : Comprendre
l’environnement

Inspiré du cours de Eric Cariou


Université de Pau et des Pays de l'Adour
UFR Sciences Pau – Département Informatique
Eric.Cariou@univ-pau.fr

26/09/2017 8
Généralitées

26/09/2017 9
26/09/2017 10
26/09/2017 11
26/09/2017 12
26/09/2017 13
26/09/2017 14
26/09/2017 15
26/09/2017 16
26/09/2017 17
26/09/2017 18
26/09/2017 19
26/09/2017 20
26/09/2017 21
26/09/2017 22
26/09/2017 23
26/09/2017 24
26/09/2017 25
26/09/2017 26
Motivation
 Considérons : un site de gestion de portefeuille
boursier, une application bancaire, un centre d'appel,
un système d'analyse de risque
 Nous parlons ici d'applications distribuées.
Choses à considérer lorsqu'on
construit une application
distribuée
 Si on prend une application monolithique et qu'on la
transforme en application distribuée, où plusieurs
clients se connectent sur plusieurs serveurs qui
utilisent plusieurs SGBD, quels problèmes se posent
alors ?
Choses à considérer lorsqu'on
construit une application
distribuée
 Protocoles d'accès distants (CORBA, RMI, IIOP…)
 Gestion de la charge,
 Gestion des pannes,
 Persistence, intégration au back-end,
 Gestion des transactions,
 Clustering,
 Redéploiement à chaud,
 Arrêt de serveurs sans interrompre l'application,
 Gestion des traces, règlages (tuning and auditing),
 Programmation multithread
 Problèmes de nommage
 Securité, performances,
 Gestion des états
 Cycle de vie des objets
 Gestion des ressources (Resource pooling)
 Requête par message (message-oriented midddleware)
Qui s'occupe de tout ceci : le
middleware !
 Dans le passé, la plupart des entreprises
programmaient leur propre middleware.
 Adressaient rarement tous les problèmes,
 Gros risque : ça revient cher (maintenance,
développement)
 Orthogonal au secteur d'activité de l'entreprise (banque,
commerce…)
 Pourquoi ne pas acheter un produit ?
 Oracle, IBM, BEA… proposent depuis plusieurs années
des middleware…
 Aussi appelés serveurs d'application.
Serveur d'application : diviser pour
règner !
 Un serveur d'application fournit les services
middleware les plus courants,
 Permettent de se focaliser sur l'application que l'on
développe, sans s'occuper du reste.
 Le code est déployé sur le serveur d'application.
 Séparation des métiers et des spécificités : d'un côté la
logique métier, de l'autre la logique middleware.
Serveurs d'application Development Tools

Presentation Business Logic Data Access

Distributed
HTML Objects Data Access
HTML
Objects
Transactions
Enterprise Data
Java
Content Connectors
Data
Management

Java
Application Enterprise Deployment Services
Scalability Reliability Security Manageability
Encore mieux !
 Il est possible d'acheter ou de réutiliser une partie de la
logique métier !
 Vous développez votre application à l'aide de
composants.
 Code qui implémente des interfaces prédéfinies.
 Sorte de boîte noire.
 Un bout de logique facilement réutilisable.
 Un composant n'est pas une application complète. Juste
un bout.
 On assemble les composants comme un puzzle, afin de
résoudre des problèmes importants.
Composant logiciel réutilisable
 Une entreprise peut acheter un composant et l'intègrer
avec des composants qu'elle a développé.
 Par exemple, un composant qui sait gérer des prix.
 On lui passe une liste de produits et il calcule le prix
total.
 Simple en apparence, car la gestion des prix peut devenir
très complexe : remises, promotions, lots, clients
privilégiés, règles complexes en fonction du pays, des
taxes, etc…
Composant logiciel réutilisable
 Ce composant répond à un besoin récurrent
 Vente en ligne de matériel informatique,
 Gestion des coûts sur une chaîne de production
automobile,
 Calcul des prix des expéditions par la poste,
 Etc…
Composant logiciel réutilisable
Composant logiciel réutilisable
Composant logiciel réutilisable
Quel intérêt ?
 Moins d'expertise requise pour répondre à certains
points du cahier des charges,
 Développement plus rapide.
 Normalement, les vendeurs de composants assurent
un service de qualité (BEA, IBM…)
 Réduction des frais de maintenance.
 Naissance d'un marché des composants.
 Pas encore l'explosion attendue mais…
Architectures de composants
 Plus de 50 serveurs d'applications ont vu le jour depuis
une dizaine d'années,
 Au début, composants propriétaires uniquement.
 Pas de cohabitation entre composants développés pour
différents serveurs d'application
 Dépendant d'un fabriquant une fois le choix effectué.
 Dur à avaler pour les développeurs java qui prônent la
portabilité et l'ouverture !
Architectures de composants
 Nécessité de standardiser la notion de composants
 Ensemble de définitions d'interfaces entre le serveur
d'application et les composants
 Ainsi n'importe quel composant peut tourner ou être
recompilé sur n'importe quel serveur
 Un tel standard s'appelle une architecture de
composants
 Penser aux CDs audio, à la télé, au VHS, etc…

Vous aimerez peut-être aussi