unité d’enseignement : environnements de...

11
Unité d’Enseignement : Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia BEN ABDELJELIL HASSINE Mouna [email protected] Développement des systèmes d’Information Syllabus du cours Objectifs Généraux Comprendre les architectures logicielles ainsi que leurs composants; Comprendre les principaux patrons de conception (Design Patterns) Etre capable de mettre en oeuvre certains patrons de conception 2 Décrire une architecture logicielle et produire la documentation correspondante Pré-requis POO, UML, JAVA, GL1&2

Upload: others

Post on 03-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unité d’Enseignement : Environnements de Développementekladata.com/mba.eklablog.com/perso/architecture... · 2012-12-01 · Comprendre les principaux patrons de conception (Design

Unité d’Enseignement :

Environnements de

Développement

Institut Supérieur des Etudes Technologiques de Mahdia

BEN ABDELJELIL HASSINE Mouna

[email protected]

Développement des systèmes d’Information

Syllabus du cours

� Objectifs Généraux

� Comprendre les architectures logicielles ainsi que leurs composants;

� Comprendre les principaux patrons de conception (Design Patterns)

� Etre capable de mettre en oeuvre certains patrons de conception

2

� Etre capable de mettre en oeuvre certains patrons de conception

� Décrire une architecture logicielle et produire la documentation

correspondante

� Pré-requis

� POO, UML, JAVA, GL1&2

Page 2: Unité d’Enseignement : Environnements de Développementekladata.com/mba.eklablog.com/perso/architecture... · 2012-12-01 · Comprendre les principaux patrons de conception (Design

Organisation du cours3

I. Fondements de l’architecture logicielle

II. Styles Architecturaux

III.Architecture J2EEIII.Architecture J2EE

IV. Les Patrons de Conception

V. Conception Architecturale

VI. Thèmes Connexes de GL

Chapitre III: 4

Architecture J2EE

Unité d’enseignement: Environnements de Développement

Page 3: Unité d’Enseignement : Environnements de Développementekladata.com/mba.eklablog.com/perso/architecture... · 2012-12-01 · Comprendre les principaux patrons de conception (Design

Partie1: 5

Survol de l’architecture J2EE

Unité d’enseignement: Environnements de Développement

PLAN Veuillez nous suivre…

6

IntroductionServeur

d’application

Architecture Conclusion

Références

Page 4: Unité d’Enseignement : Environnements de Développementekladata.com/mba.eklablog.com/perso/architecture... · 2012-12-01 · Comprendre les principaux patrons de conception (Design

7

J2EE: Java 2 Entreprise Edition:

� J2EE (1.2) a été initialement développée par Sun et est apparue en

1999� Définir un standard de développement d'applications distribuées

Introduction

� Définir un standard de développement d'applications distribuées d'entreprises (multicouches et n-tiers) basées sur des composants.

� Plate-forme fortement orientée serveur pour le développement et

l'exécution d'applications distribuées;

� Elle est composée de deux parties essentielles :

� Ensemble d’API (bibliothèques) écrites en Java qui constituent

les composants et les services de cette architecture .

� Ensemble de spécifications pour une infrastructure dans laquelle

s'exécute les composants écrits en java un tel environnement se

nomme Conteneur.

8

J2EE: Java 2 Entreprise Edition:

� De manière générale, elle identifie et donne les spécifications des

composants de l’application:

� Serveurs (Serveur Web, Serveur d’application, Serveur de

Introduction

� Serveurs (Serveur Web, Serveur d’application, Serveur de

données)

� Clients (lourd, léger, riche)

� composants logiciels ou beans,

� conteneur

Page 5: Unité d’Enseignement : Environnements de Développementekladata.com/mba.eklablog.com/perso/architecture... · 2012-12-01 · Comprendre les principaux patrons de conception (Design

9

J2EE: Java 2 Entreprise Edition:

Plusieurs Avantages :

� Architecture d’application basée sur les composants.

� Interfaçage avec des systèmes d’information existants.

Introduction

� Interfaçage avec des systèmes d’information existants.

(JDBC,JMS…)

� Vaste choix pour les environnements de développement et les

serveurs d’application.

� Grande flexibilité dans le choix de l’architecture par combinaison

de différents composants

10

� Java EE est un ensemble de spécifications implémentées par

différents conteneurs.

� Ces conteneurs sont des environnements d’exécution Java EE

qui fournissent certains qu’ils

Architecture

qui fournissent certains services aux composants qu’ils

hébergent.

� Les composants doivent respecter des contrats bien définis

pour communiquer avec l’infrastructure de Java EE et avec les

autres composants,

� Ils doivent être assemblés en respectant un certain standard

(fichiers archives) avant d’être déployés.

Page 6: Unité d’Enseignement : Environnements de Développementekladata.com/mba.eklablog.com/perso/architecture... · 2012-12-01 · Comprendre les principaux patrons de conception (Design

11Architecture � Conteneurs Standards

� Composants

� Services

� Clients

12Architecture � Conteneurs Standards

� Composants

� Services

� Clients

Page 7: Unité d’Enseignement : Environnements de Développementekladata.com/mba.eklablog.com/perso/architecture... · 2012-12-01 · Comprendre les principaux patrons de conception (Design

13Architecture � Conteneurs Standards

� Composants

� Services

� Clients

L’environnement d’exécution de Java EE définit quatre types de

composants que doivent supporter toutes les implémentations :

� Les applets sont des applications graphiques exécutées dans un

navigateur web. Elles utilisent l’API Swing pour fournir des interfaces navigateur web. Elles utilisent l’API Swing pour fournir des interfaces

utilisateurs puissantes;

� Les applications sont des programmes exécutés sur un client.

(interfaces graphiques, programmes non interactifs qui ont accès à

toutes les fonctionnalités de la couche métier

14Architecture � Conteneurs Standards

� Composants

� Services

� Clients

� Les applications web (composées de servlets, de filtres de servlet,

d’écouteurs d’évenements web, de pages JSP et de JSF) s’exécutent

dans un conteneur web et répondent aux requêtes HTTP envoyées par

les clients web. les clients web.

� Les servlets permettent egalement de mettre en place des services

web SOAP et REST.

� Les EJB (Enterprise Java Beans) sont des composants permettant de

traiter la logique métier en modèle transactionnel. On peut y accéder

localement et a distance via RMI (ou HTTP pour les services web SOAP

et REST).

Page 8: Unité d’Enseignement : Environnements de Développementekladata.com/mba.eklablog.com/perso/architecture... · 2012-12-01 · Comprendre les principaux patrons de conception (Design

15Architecture � Conteneurs Standards

� Composants

� Services

� Clients

16Architecture � Conteneurs Standards

� Composants

� Services

� Clients

� Les services d'infrastructures :

JDBC(Java DataBase Connectivity) est une API d'accès aux bases de

données relationnelles.

JNDI(Java Naming and Directory Interface) est une API d'accès aux

services de nommage et aux annuaires d'entreprises tels que DNS, NIS,

LDAP, etc.

JTA/JTS(Java Transaction API/Java Transaction Services) est une API

définissant des interfaces standard avec un gestionnaire de transactions.

Page 9: Unité d’Enseignement : Environnements de Développementekladata.com/mba.eklablog.com/perso/architecture... · 2012-12-01 · Comprendre les principaux patrons de conception (Design

17Architecture � Conteneurs Standards

� Composants

� Services

� Clients

� Les services de communication :

JAAS(Java Authentication and Authorization Service)

est une API de gestion de l'authentification et des droits 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) fournit des fonctionnalités de

communication asynchrone entre applications.

RMI-IIOP(Remote Method Invocation Over Internet Inter-ORB

Protocol) est une API permettant la communication synchrone

entre objets distants.

18Architecture � Conteneurs Standards

� Composants

� Services

� Clients

� Les applications J2EE supportent des clients de différentes

technologies.

� Selon la nature de ce client, la méthode de communication avec

les composants J2EE varie:les composants J2EE varie:

Un client léger ou riche (HTML côté navigateur): il sera

en communication avec le Web container via le protocole HTTP

qui sera interprété par les Servlet.

Un client lourd ou une application Java (autre qu’un

navigateur, interface graphique) alors la communication sera

directement avec le container d’EJB en utilisant une méthode

de communication entre objets distants: RMI, IIOP, DCOM.

Page 10: Unité d’Enseignement : Environnements de Développementekladata.com/mba.eklablog.com/perso/architecture... · 2012-12-01 · Comprendre les principaux patrons de conception (Design

19Architecture � Conteneurs Standards

� Composants

� Services

� Clients

Client léger

Clientlourd

20Serveur d’Application

� Il est un environnement d'exécution des applications côté serveur.

� Il prend en charge l'ensemble des fonctionnalités qui permettent à

N clients d'utiliser une même application :

•Services d'administration•Services d'administration

•Déploiement de composants

•Offre des modèles de sécurité

Page 11: Unité d’Enseignement : Environnements de Développementekladata.com/mba.eklablog.com/perso/architecture... · 2012-12-01 · Comprendre les principaux patrons de conception (Design

21Serveur d’Application

Il y a trois variantes de serveur d’application:

� Il peut exécuter des container Web mais ne supporte pas les

container EJB. Dans ce cas on l’appel: Un Serveur Web

Exemples: Apache Tomcat (http://tomcat.apache.org/)Exemples: Apache Tomcat (http://tomcat.apache.org/)

� Il contient un container métier supportant l’exécution des

composants (EJB) mais ne supporte pas l’exécution de container

Web.

Exemples: JBoss (www.jboss.org)

� Il supporte l’exécution à la fois de container Web et EJB.

WebSphere Application Server d’IBM

Weblogic de BEA (www.bea.com)

22Serveur d’Application