Sommaire: Développement Web et J2EE
1 Introduction
2 Developpement Web
3 J2EE
4 JSP
5 EJB
6 Frameworks techniques
7 Conclusion
♣ Extrait du cours
Developpement Web
References
Developpent Web [Con00]
Developpent Web J2EE [Mol05, Sar05, CFS03]
Autres [Tah06, Lan03, Dou07]
Caractérisation : développer une application logicielle qui utilise des
serveurs Web et un réseau (Internet, Intranet, Extranet)
Elément clé : architecture (matérielle, logicielle), déploiement
approche client/serveur (serveur Web)
approches distribuées (middlewares, p2p, corba…) pas vu ici ⇒ Architectures Web langages outils associés
Développement Web et J2EE
Architecture Web simple (2-tier)
- Client léger / lourd
- Serveur Serveur Web
- Langages/outils HTML, scripts (CGI, Javascript…), applications et plugins multimedia (audio, video) ou bureautique (word, openoffice, pdf…)
Architecture Web simple (2-tier) suite
- Site Web = client + serveur web [Con00]
- Client léger ⇒ IHM seule
- Navigateur Netscape, FireFox, IE, …
- lourd ⇒ IHM+Métier
- Navigateur + Plugins, Applications ; JavaWebStart…
- ActiveX, Swing, SWT…
- Serveur Serveur Web Apache, Internet Information Server (MS),
- IPlanet (netscape avant)…
- Langages/outils HTML, scripts (CGI, Javascript…), applications et plugins multimedia (audio, video) ou bureautique (word, openoffice, pdf…)
- ∗ne pas confondre avec architecture 2-tier (IHM+Métier, SGDB) e.g. Java +Oracle
Développement Web et J2EE
Architecture Web simple (3-tier)
Client plutôt léger Navigateur Netscape, FireFox, IE, …
- Serveur Serveur d’application Web
- serveur web ⇒ requêtes Web
- serveur applicatif ⇒ Métier
- Serveur Serveur BD (Oracle, MySQL, Postgres…)
Langages deux du 2-tier + langages spécifiques
Application Web = client + serveur web + serveur d’application (traitement d’une logique applicative) [Con00] Client
- Serveur Serveur d’application Web
- serveur web (Apache, IIS…)
- serveur applicatif
- Souvent intégré (Tomcat, Websphere, JBoss, JRun…) 2 approches compilé : CGI, Internet Server API (MS), Netscape Server API, Servlet
- (J2EE) interprété : ASP (Active Server Pages MS), JSP (Java Server Pages), Cold Fusion (Allaire)…
- Serveur Serveur BD (Oracle, MySQL, Postgres…)
- Langages deux du 2-tier + PHP, ASP, JSP, servlets, API serveurs web, …
Architecture Web (solutions J2EE) suite
- Architecture Web autour de Java J2EE
- Client léger Navigateur
- Serveur d’application J2EE Tomcat, Websphere, Jrun, Jboss
- comprenant le serveur Web (servlet, JSP)
- Eclipse – Lomboz (plugin J2EE)
- Couche métier EJB, MVC (Struts)
- Couche technique persistance (Hibernate), …
- Couche BD Oracle, MySQL, SQL Server, PostGresSQL : JDBC
Architecture Web (patterns)
- pour aller plus loin [Con00]
- Pattern Client web léger (Thin Web Client ) Navigateur seul
- Pattern Client web lourd (Thixk Web Client ) Navigateur + HTML
- dynamique, applets Jav, contrôles ActiveX
- Pattern Livraison web (Web Delivery ) utilisation de IIOP ou DCOM en plus de HTTP pour un système d’objets distribués
J2EE
Java 2 Enterprise Edition
L’environnement J2EE fournit un ensemble d’API permettant de développer des sites Web dynamiques avec une technologie Java. [Sar05].
(applications réparties)
définie par Sun http://java.sun.com/
basée sur Java : Standard Edition, Enterprise Edition, Micro Edition
applications types : systèmes d’information entreprise, commerce
électronique…
ensemble de technologies pour construire des applications réparties
implantation de référence : J2EE 5 SDK
sources : [Mol05, Sar05]
http://www2.lifl.fr/~seinturi/middleware/index.html
http://fr.wikipedia.org/wiki/Java_EE
http://www.loribel.com
J2EE technologies et services
Java 2 Enterprise Edition
Un ensemble de technologies pour construire des applications réparties Serveur d’application à base de Web component JSP/servlet (pages web dynamiques) Business component EJB (logique applicative) Services d’infrastructures (cf Corba) JDBC (Java DataBase Connectivity) : API d’accès aux SGBDs JNDI (Java Naming and Directory Interface) : service de noms (annuaire) de référencement des objets JTA/JTS (Java Transaction API/Service) : service de gestion des transactions distribuées JCA (J2EE Connector Architecture) est une API de connexion au système d’information de l’entreprise, notamment aux systèmes dits Legacy tels que les ERP.
JMX (Java Management Extension) fournit des extensions permettant de développer des applications web de supervision d’applications.
Services de communication …
J2EE services
… Services de communication
JAAS (Java Authentication and Authorization Service) est une API de gestion de l’authentification et des droits d’accès.
JavaMail est une API permettant l’envoi de courrier électronique.
JMS (Java Message Service) service de gestion des messages asynchrones (appelées MOM pour Middleware Object Message) entre applications.
RMI-IIOP est une API permettant la communication synchrone entre objets.
………….