J2EE dans le cadre du cours de: Réalisations technologies ...

mellowfetaΑσφάλεια

19 Ιουν 2012 (πριν από 5 χρόνια και 2 μήνες)

558 εμφανίσεις

J2EE dans le cadre du cours de:

Réalisations technologies internet

Java 2 Platform Enterprise Edition:

Présenté par

Baroudi Houda

Tremblay Jean
-
Philippe

Mardi, 29 Mars 2005
Plan


Historique


Quelques définitions…


J2EE: composantes


Les web services et J2EE


J2EE, .Net et “LAMP”


Conclusion



Un peu d’histoire


Avant l'explosion de la “bulle” des TI


Duplication de travail sur les sites web
d'entreprises


Besoin de segmenter les applications



Définition


Plate
-
forme indépendante qui permet de développer,
déployer et gérer des applications d’entreprise multi
-
tiers. => ensemble d’API dédiées à l’informatique
d’entreprise.


La plate
-
forme J2EE ajoute les possibilités
nécessaires pour fournir une plate
-
forme complète,
stable, sécurisée, et rapide de Java au niveau
entreprise.


Elle fournit un ensembles de services

de type "middleware


qui sont:


Robustes et documentés


Tous dans le même esprit


Pour faciliter la vie des développeurs


Définition
-
API


Application Program Interface


Regroupement d'outils, de protocoles et de routines
qui aide au développement de logiciels.


Caractéristiques


Fournit des solutions d’affaire innovatrices qui
percent le marché plus rapidement.


Peut être déployée sur différents systèmes
d’exploitations.


Services qui:


Répondent à des problématiques techniques
comme l’accès aux base de données, aux
annuaires, etc.


Permettent aux développeurs de se concentrer sur
les "
aspects métiers"

de l'application



J2EE & container Web


La plate
-
forme J2EE repose sur un serveur Web
couplé à un «

container

»







Ce serveur est capable de :


De déléguer les requêtes servlet/JSP vers le
moteur Java


D’instancier les classes nécessaires à l’application


De compiler à la volée les pages JSP etc…


Serveur d'applications

JVM

Autres

Librairies

Librairies

J2EE

Moteur

JSP / Servlet

Serveur HTTP

Business
Tier

EIS Tier

J2EE server machine

Client Tier

Web Tier

Application

client

JSP

présentation

Servlets

traitement

Enterprise
Java

Beans

JDBC

Pages
HTML

dynamiques

SGBD client,

fichiers
XML..

Les servlets


Les
servlets

sont des classes qui répondent à des
requêtes (essentiellement HTTP), et permettent le
développement d'applications hébergées par des
serveurs web. Les servlets sont une technologie Java
utilisée pour effectuer des traitements coté serveur
en réponse aux requêtes provenant en général de
postes clients distants.


Bien que les servlets puissent répondre à n'importe
quel type de requête, elles sont généralement
employées pour répondre à des requêtes de type
HTTP et qui permettent de retourner dynamiquement
des pages html.



JSP


Les jsp sont des servlets spécialisées, qui permettent
d'écrire plus facilement des composants d'affichage.


Les JavaServerPages (JSP) vous permettent d'insérer
des petits bouts de code Java directement dans du
code html. Une page de JSP est un document qui
contient deux types de texte:


des données statiques (qui peuvent être exprimées en
n'importe quel format texte tel que le HTML, le WML, et le
XML)


des éléments de JSP, qui déterminent comment la page
construit le contenu dynamique.



J2EE & client universel:
JSP, servlet

SERVEUR HTTP

Conteneur WEB








HTML

Servlet2



Servlet1



Moteur

JSP



Enterprise Java Beans


Classe composée de champs et de
méthodes pour mettre en application
des modules de la logique métier
(d’affaire)


Peuvent interagir avec les bases de
données


2 Types de EJB


Session Beans


Entity Beans

EJB : n tiers

Browser
WEB
Browser
WEB
IP

HTML
-

XML

Servlet

SERVEUR

HTTP

SERVEUR

APPLICATIF

SERVEUR

De DONNEES

JSP

Applet

Conteneur EJB x








HOME

interface

REMOTE

interface

Client1

Je voudrai le

Service AA

Composant AA

Enterprise bean

Crée AA

Rends moi le

Service AA

Fais le

Voici le résultat

Résultat

Référence

de AA

EJB : Session Bean

Conteneur EJB x








HOME

interface

REMOTE

interface

Composant

Enterprise bean

Remplissage du caddie

-----------------------

Ajouter (élément, quantité)

Retirer (élément)

Modifier (élément, quantité)

Ajouter (cokeX, un)

retirer (jusY)

Modifier (cokeX, deux)

Composant AA

Enterprise bean

Consulter commande

---------------------

Consulter (référenceCommande)

Consulter (commande du 18/03)

Client1

Conteneur EJB x








HOME

interface

REMOTE

interface

T_Commande

----------------

----------------

----------------

T_Ligne

----------------

----------------

----------------

Composant AA

Enterprise bean

Commande

Composant AA

Enterprise bean

Ligne de commande

EJB :
Entity Bean

JDBC


Java Database Connectivity (JDBC), est l’interface
standard des bases de données Java.


Cette API est constituée d'un ensemble d'interfaces
et de classes qui permettent l'accès, à partir de
programmes java, à des
données tabulaires

(i.e.
triées sous forme de table ou de tableur). Par
données tabulaires, on entend généralement des
bases de données contenues dans des
SGBD
relationnels
. Mais, JDBC n'est pas restreinte à ce
type de source de données. On peut aussi accéder à
des sources de données sous forme de fichiers
(fichiers XML par exemple).




JDBC est une API de gestion des bases de données


Un
Driver

permet d'assurer la connexion à une SGBD
spécifique


Dans le JDK, cette API est dans le package
java.sql

:


Ouvrir des connexions,


Construire des requêtes


SQL


Appel à des procédures stockées


Exécuter les requêtes


Gérer les transactions


Manipuler les résultats de ces requêtes




JAAS:
le Java Authentication and Authorization
Service permet l'authentification d'utilisateurs et la
protection des ressources d'une application.


Il s'agit d'un package fournissant des services
d'authentification (login) et d'autorisation (vérification
de permissions pour l’exécution de méthodes).






Autres API essentielles
-

JAAS

Autres API essentielles
-
RMI


RMI:
Remote Method Invocation permet de manipuler des
objets répartis sur différentes JVM, si ceux
-
ci sont référencés
dans un registre et publient une interface client.





JMS:
Java Message Service permet aux composants
applicatifs de s'envoyer des messages (informations).
Cette API permet une communication souple,
synchrone ou non.


Le JMS API décrit une manière standard d’accéder
n’importe quel système de messagerie.

Autres API essentielles
-
JMS

Java

Messaging

Service

Un objet

1
-
Envoyer message

2
-
Stocker

message

Un autre

objet

3
-
Demander

message

5
-
Donner

message


JCA:
J2EE Connector Architecture définit une
architecture standard pour permettre l'intégration de
systèmes d'informations hétérogènes (ERP,
SGBDR...) à la plate
-
forme J2EE via des adaptateurs
spécifiques à chaque distributeur de SI, en offrant
des communications transactionnelles et sécurisées.




Autres API essentielles
-
JCA

Les Web services dans J2EE


Les Web services et J2EE


La plateforme J2EE permet la création de Web
Service.


Définition selon Sun Microsystems:


«

Web services are web
-
based enterprise
applications that use open, XML
-
based
standards and transport protocols to exchange
data with calling clients
.
[…] (Web services)
fully interoperate with other web services and
clients running on Java
-
based or non
-
Java
-
based platforms.
»



Les standards et leurs rôles
-
XML

XML:


Structure les données.


On peut utiliser « xml schema

» pour spécifier quelles
balises peuvent être utilisées dans un tel type de
document et un «

stylesheet

» pour gérer l’affichage.



Les standards et leurs rôles
-
SOAP

Simple Object Access Protocol (SOAP):


SOAP s’occupe du transfert des données.


Les demandes et les réponses se font en HTTP.


SOAP crée une enveloppe pour le document XML.


Les standards et leurs rôles
-
WSDL

Web Services Description Language (WSDL):


Décrit les services disponibles.


Inclut le nom du service, l’endroit où se trouve le
service et la manière de communiquer avec le
service.




Les standards et leurs rôles
-
UDDI
et ebXML


Universal Description, Discovery and Integration et le
ebXML:


Permet à des organisations de répertorier de
l’information sur leurs services sur Internet.




Web service et J2EE


XML et SOAP sont à la base des Web services dans
J2EE


J2EE fournit les API et les outils nécessaires pour la
création de web services:




-

JAXP




-

JAX
-
RPC




-

SAAJ




-

JAXR




-

JWSDP



Java APIs pour XML

JAXP



Java API for XML Processing

permet la
manipulation de documents xml avec DOM,SAX et
XSLT.


API "standard" (appartenant au JDK) pour la
manipulation du format XML. Cette API met à la
disposition du développeur trois ensembles de
fonctionnalités : la modélisation, le parsing et la
transformation.


Marketting one to one

Gestion électronique

de documents (GED)

Edition de documents

électronique (EDI)

Commerce électronique

Intégration d’applications

hétérogènes

Personnalisation

Document

XML

XML Schema

JAXP




DOM

HTML

PDF

RTF

XSLT

Etc…

Java APIs pour XML

JAXR:



Java API for XML Registries

fournit une API
standard pour accéder à différents registres xml
(UDDi,SOAP,...) et publier ou rechercher des Web
Services.


API intégrée à J2EE qui permet l'accès à différents
types de
registres XML
. Ces registres XML sont une
infrastucture permettant la construction, le
déploiement et la découverte de
Web services
.




Java APIs pour XML

JAX
-
RPC:


Java API for XML
-
Based RPC utilise le standard SOAP
pour communiquer avec des clients java ou non java.


Permet à des clients de faire des Remote Procedure
Call en passant par HTTP.


Permet l’import et l’export de document WSDL.


Permet la création de services web d’authentification
(version JAVA du Secure Socket Layer et du
Transport Layer Security
).

Java APIs pour XML

SAAJ
:


SOAP with Attachments API for Java

est un API
de bas niveau.


Le JAX
-
RPC dépend de ce API pour sa
compréhension de messages SOAP 1.1


Les développeurs utilisent plutôt le JAX
-
RPC et non le
SAAJ dans la création d’application web.







Java Web Services Developer
Pack 1.5


Outil principal qui permet de développer des web
services dans l’environnement J2EE.


1.5 est la version courante.




J2EE vs .NET

(et LAMP)

J2EE vs .NET

.NET

J2EE

Microsoft

Sun

Produit


on achète
.Net

Regroupement de
fonctionalit
és

Multi
-
Languages

Multi
-
Platformes

Comprend des serveurs,
des clients et des
services

Applications basées sur
des serveurs

LAMP


LAMP: Linux, Apache, MySQL, PHP (ou python ou
PERL).


Standards de facto.


Moins structuré et moins complexe que J2EE.


Pas de compilation, code interprétatif.


Conclusion


J2ee permet aux client de se concentrer uniquement
sur l’aspect logique (métier) des données et de leurs
processus et de ne pas perdre du temps à coder
l’aspect technique de leurs activités.


Permet d’intégrer plusieurs systèmes d’exploitation
différents, ainsi que lier ERP et systèmes isolés d’une
entreprise à une autre et ce sans les lier de manière
proprement dite. J2ee sert de pont entre producteurs
et consommateurs.


Très efficace dans le cadre de transactions B2B.


références


http://java.sun.com/j2ee/


http://www.onjava.com/


http://
www.javaworld.com/javaworld/jw
-
03
-
2002/jw
-
0308
-
j2eenet.html


http://www.computerworld.com/developmenttopics/development/s
tory/0,10801,84155,00.html


http://www.webopedia.com


The Web services debate. (2003) Communications of the
ACM.46(6).


The Next step in Web services.(2003). Communications of the
ACM. 46(10).