Urbanisation et architecture des systèmes...

58
Le middleware ou intergiciel Généralités Urbanisation et architecture des systèmes d’information DAVID EUDELINE [email protected]

Transcript of Urbanisation et architecture des systèmes...

Page 1: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

Le middleware ou intergicielGénéralités

Urbanisation et architecture des systèmes d’information

DAVID [email protected]

Page 2: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 2

Plan

DéfinitionsProblèmes liés à la répartitionservices attendusMiddleware propriétaireMiddleware client/serveurMiddleware objetÉvolutions du middleware

Page 3: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 3

Définitions

Définition du middleware ou intergiciell’ensemble des services logiciels construits au dessus d’un protocole de transport qui permettent l’échange entre client et serveur de manière transparente.

Application A client

Application B serveur

Réseau

Page 4: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 4

DéfinitionsObjectif du middleware

Permettre l’accès à n’importe quels services à partir n’importe quels outils

Middleware

Protocolesde

communicationInterfacesserveurs

Bureautique

AGL

Progiciel

Page 5: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 5

Middleware

Représentation

Niveau 6

Niveau 3

Niveau 4

Niveau 5

Niveau 2

Niveau 1

Niveau 3

Niveau 2 Niveau 2

Niveau 1

Niveau 6

Niveau 3

Niveau 4

Niveau 5

Niveau 2

Réseaux

Application A client

Application B serveur

Page 6: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 6

Problèmes de répartition

Problème 1 : Indépendance vis-à-vis du réseau

Client Serveur

X.25SNA ATMEthernet

Réseau 1

Réseau 2

Page 7: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 7

Problèmes de répartition

Problème 2 : Indépendance vis-à-vis de la représentation des données et des protocoles d’échange

Client Serveur

00110111 01110011

ASCII ASN.1HEXA

EBCDIC LSBHSB

Réseau

Page 8: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 8

Problèmes de répartition

Problème 3 : Indépendance vis-à-vis des systèmes d’exploitation

Client Serveur

DOS MAC OS

WIN 3.11

WIN 95LINUX

NT

HP UX VMS

SUN OS

AIX NT

Réseau

Page 9: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 9

Problèmes de répartition

Problème 4 : Indépendance vis-à-vis des langages de programmation

Client Serveur

LG4 JAVA

C++

Visual Basic

LG4 JAVA

C++

Visual Basic

Réseau

Page 10: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 10

Services attendus

Service 1 : Localisation des services

Client

Serveur 1

Serveur 2

Réseau

Page 11: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 11

Services attendus

Service 2 : Sécurité

Client Serveur

Disponibilité

Intégrité

Confidentialité

Réseau

Page 12: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 12

Services attendus

Service 3 : Transactionnel

ClientServeur

AtomicitéCohérenceIsolationDurabilité

Réseau

Page 13: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 13

Services attendus

Service 4 : Temps de réponse/Performances

Client Serveur

Réseau

Page 14: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 14

Services attendus

Service 5 : Administration

Client Serveur

Réseau

Page 15: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 15

Services attendus

Autres services : Distribution de l’heure, gestion des licences, etc...

Client Serveur

Réseau

Page 16: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 16

Objectifs du middleware

La transparence:à l’hétérogénéité : l’illusion que tous les serveurs du réseau font partie du même système. à la localisation physique des ressources : l’utilisation d’annuaire (X500 ou LDAP) permet de s’affranchir de la localisation.à l ’espace de désignation (arborescence des serveurs de noms) : Toutes les ressources peuvent être atteinte de la même manière.au déplacement des ressources sur les serveurs : Les mises àjours des annuaires doivent être transparentes.à l’authentification : mot de passe unique (SSO).à la réplication : La distribution des données doit être inconnue de l’utilisateur (ex: Lotus Notes).

Page 17: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 17

Objectifs du middleware

La transparence:à l’accès distribué (annuaires) : Toutes les ressources sont accessibles comme si elles étaient disponibles sur la machine locale.à l’heure : Toutes les horloges doivent être synchronisées.aux pannes : Des mécanismes de reprises à chaud et des redondances doivent permettre de garantir une sûreté de fonctionnementà l’administration : L’ensemble des ressources doit être administrable via une interface unique.

Page 18: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 18

Intergiciel

Définitions

Application

OS

Service

OS

Communication

API

API « OS »

Réseau

Page 19: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 19

Fonctions de l’intergiciel

L’intergiciel a quatre fonctions principalesFournir une interface ou API (Applications Programming Interface) de haut niveau aux applicationsMasquer l’hétérogénéité des systèmes matériels et logiciels sous jacentsRendre la répartition aussi invisible (“transparente”) que possibleFournir des services répartis d’usage courant

Page 20: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 20

Objectifs

L’intergiciel vise à faciliter la programmation répartie

Développement, évolution, réutilisation des applicationsPortabilité des applications entre plates-formesInteropérabilité d’applications hétérogènes

Page 21: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 21

typologie de l’intergiciel

Appel de procédure à distance: RPC, DCE, SOAPBases de données: ODBC, ADO, ADO.NET, JDBCObjets répartis: Java RMI, CORBA, DCOMComposants répartis: Enterprise Java Beans (EJB), CCM, .NETMessage-Oriented Middleware (MOM)

Message Queues, Publish-Subscribe (évènements)Intégration d’applications: Web Servicescode mobile: Applet, ActiveX

Page 22: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 22

Exigences de conception

Pour que deux logiciels coopèrent en utilisant un middleware ils doivent être d’accord sur:

Les données qu’ils échangeront; l’accord doit porter sur la sémantique de ces données. C’est là la partie statique de l’accord, partie qui ne dépend pas des opérations sur ces données.

Les opérations effectuées par l’un pour le compte de l’autre, au moins dans leur spécification: appels de fonctions par exemple. C’est la partie dynamique de l’accord.

Les moyens de communication qu’ils utiliseront pour échanger données et opérations: protocole applicatif et infrastructure réseau.

Page 23: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 23

Exigences de conception

Principe directeur : séparation des préoccupationsIsoler les aspects indépendants (ou faiblement corrélés) et les traiter séparémentExaminer un problème à la foisÉliminer les interférencesPermettre aux aspects d’évoluer indépendamment

Mise en œuvreEncapsulation : séparer interface et réalisation (contrat commun)Abstraction : décomposition en niveaux, cacher les détails non pertinents à un niveau donnéIsolation et expression indépendante des aspects hors interface

Page 24: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 24

Services et interfaces

DéfinitionUn système est un ensemble de composants (au sens non technique du terme) qui interagissentUn service est “un comportement défini par contrat, qui peut être implémenté et fourni par un composant pour être utilisépar un autre composant, sur la base exclusive du contrat” (*)

Mise en œuvreUn service est accessible via une ou plusieurs interfacesUne interface décrit l’interaction entre client et fournisseur du servicePoint de vue opérationnel : définition des opérations et structures de données qui concourent à la réalisation du servicePoint de vue contractuel : définition du contrat entre client et fournisseur

(*) Bieber and Carpenter, Introduction to Service-Oriented Programming, http://www.openwings.org

Page 25: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 25

Définitions d’interfaces (1)

La fourniture d’un service met en jeu deux interfacesInterface requise (côté client)Interface fournie (côté fournisseur )

Le contrat spécifie la compatibilité (conformité) entre ces interfacesAu delà de l’interface, chaque partie est une “boîte noire” pour l’autre (principe d’encapsulation)Conséquence : client ou fournisseur peuvent être remplacés du moment que le composant remplaçant respecte le contrat (est conforme)

Client Fournisseur

Interface fournieInterface requise

Contrat

Page 26: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 26

Définitions d’interfaces (2)

Partie “opérationnelle”Interface Definition Language (IDL)Pas de standard, mais s’appuie sur un langage existant⌧IDL CORBA sur C++⌧Java et C# définissent leur propre IDL

Partie “contractuelle”Plusieurs niveaux de contratsSur la forme : spécification de types -> conformité syntaxiqueSur le comportement (1 méthode) : assertions -> conformitésémantiqueSur les interactions entre méthodes : synchronisationSur les aspects non fonctionnels (performances, etc.) : contratsde QoS

Page 27: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 27

Schémas d’interaction

Schémas asynchrones Évènements réactionMessages asynchronesLes évènements ou les messages peuvent être mémorisés ou non

=>Couplage faibleSchémas synchrones

Appel synchroneLe client est bloqué jusqu’au retour

=> Couplage fort

Page 28: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 28

Accès à un service

1: Création

2: Enregistrement

3: Recherche

4: Liaison

5: Accès

Annuaire

Client Serveur

ServiceApplication

Description

Page 29: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 29

Middleware et modèle OSI

Le middleware client/serveur se compose au minimum :

D’une interface de programmation API:⌧nommé Application Program Interface, elle travaille en

relation avec l ’application et permet de faire appel aux services accessibles sur le serveur.

D’un protocole de communication FAP: ⌧nommé Format And Protocol, il assure l’interface avec le

réseau.Il s’appuie sur un protocole de transport:⌧ex.: TCP-IP, X25, NetBios, 802.11

Page 30: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 30

Middleware et modèle OSI

Physique

Liaison

Réseau

Transport

Session

Présentation

Application7

6

5

4

3

2

1

Interface de programmation (API)

Protocole de communication (FAP)

Ex : TCP

Ex : Ethernet

Ex : Coaxial, 10baseT

Ex : IP

Page 31: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 31

Middleware et modèle OSI

Piles de communication

Physique

Liaison

Réseau

Transport

Session

Présentation

Application

Fibre optique

Ethernet

Netbeui

Netbios

XDR

Mom

coaxial Paire torsadée

Token Ring

TCP/IP IPX/SPX LU6.2/APPN

Sockets TLICPI-CAPPC

NDR

ORBRPC

SUN DCEPoste à

poste

Page 32: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 32

Les grandes familles du middleware

Niveau 6

Niveau 3

Niveau 4

Niveau 5

Niveau 2

Niveau 1

Niveau 3

Niveau 2 Niveau 2

Niveau 1

Systèmes d ’exploitation/ Mécanismes de base

Niveau 6

Niveau 3

Niveau 4

Niveau 5

Niveau 2

Niveau 7 Niveau 7

Client SGBDR

Client Messagerie

Client Gestion rés.

Client Groupware

Serveur SGBDR

Client Messagerie

Serveur Gestion rés.

ServeurGroupware

Systèmes d ’exploitation/ Mécanismes de base

Page 33: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 33

Middleware propriétaire

Mainframe

Terminaux passifs

Informatique centralisée

Page 34: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 34

Middleware propriétaire

Interface de commande Traitements

Interface de commande Traitements

Données

Données

Page 35: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 35

Middleware propriétaire

Interface de commande Traitements Données

Le middleware est propriétaire car le constructeur fournit le matériel, le système d’exploitation et les logiciels applicatifs associés.

Ex: CPI-C, APPC sur le protocole de transport SNA d’IBM

Page 36: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 36

Middleware client/serveur

Serveur

IBM PS/2

Informatique client/serveur

Mac

Compatible PC

Terminaux intelligents

Réseau

Page 37: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 37

Middleware client/serveur

Interface de commande

Interface de commande

Traitements

Données

Traitements

Applications clientes

Serveurs

Page 38: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 38

Middleware client/serveur

Serveurs de données

Apparition des interfaces graphiques DOS/WINDOWS,

MAC OS, X-WINDOWS/MOTIF

Baisse des coûts des terminaux (IBM PC)

Applications clientes

Intelligence dans les postes clients

Editeurs de logiciels serveurs

Première structuration de l’offre informatique

Page 39: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 39

Middleware client/serveur

Toute l’industrie informatique est touchée

MTA

Bases de données

Messagerie

Groupware

Supervision de réseau

UA

Client SGBDR

Serveur NotesClient Notes

SQL

X.400

MIBAgent

Notes

SNMP

Page 40: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 40

Middleware Objet

Architectures Multi niveaux (architecture à objets répartis)

Mac

PC

UNIX Mini

Mini

PCPC

PC

Internet

Internet Objet

Page 41: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 41

Middleware objet

ClientComposant

Objet

Implémentation

Interface

Le code que le client utilise pour accéder aux propriétés et aux méthodes de l’objet ne dépend pas de l’implémentation de l’objet

OS

Programmation objets

Page 42: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 42

Middleware objet

Client Composant Objet

Répartition des objets

Bus logiciel

Réseau

Page 43: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 43

Middleware composants

Interface de commande

Interface de commande

DonnéesTraitements

Architecture Multi niveaux (architecture à composants

logiciels)

Serveurs d’applications

Serveurs de donnéesClients légers

Page 44: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 44

Middleware Internet

Web services .NET

Page 45: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 45

Middleware Internet

Web services J2EE

Page 46: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 46

Middleware Internet

Utilisation des technologies et standards d’Internet pour créer des services actifs et coopératifs

Publication / Recherche : UDDIService d’interactions: SOAP over HTTP/SMTPDescription des interfaces : WSDL (issu de XML)Format universel: XMLCommunications: Internet (encapsulation HTTP)

Page 47: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 47

Évolutions du middleware

Les enjeux des nouvelles architectures

Client légerClient léger

Structuration de l’industrie

informatique

Structuration de l’industrie

informatique

Bataille pour le cœur des systèmes

informatiques

Bataille pour le cœur des systèmes

informatiques

Éditeurs de composants objets

métier

Intégrateurs de composants objets

métier

Page 48: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 48

Middleware : vers plus de simplicité ?

Sockets,Paquets

1980 1990

RPC,Souches,

SquelettesIDL,XDR,

Messages

ORB,CORBA,

RMI,DCOM,.NET,

IIOP, SOAP,MOM,

WWW, XML,

2000

Page 49: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 49

Abstraction des processeurs

Pentium Sparc . . . . . .

Machine Virtuelle Java

Page 50: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 50

Abstraction des IHM

Windows Motif Mac . . .

Swing

Page 51: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 51

Abstraction des bases de données

Oracle MS Access MySQL . . .

MS ODBC, ADOJava Data Base Connectivity

Page 52: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 52

Abstraction des langages de programmation (1/2)

Java C++ Ada . . .

OMG Interface Definition Language (IDL)

Page 53: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 53

Abstraction des langages de programmation (2/2)

Java C++ Eiffel . . .

Common Language Runtime (CLR) de .NET

Page 54: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 54

Abstraction des communications

TCP/IP ATM mémoirepartagée . . .

CORBA , MOM

Page 55: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 55

Abstraction des fonctions systèmes

communication sécurité transaction persistance

Framework DotNetEntreprise Java Beans (EJB),

CORBA Component Model (CCM)

Page 56: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 56

Quid abstraction des middlewares ?

CORBA EJB .NET . . .

Enjeu majeur !

Page 57: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 57

Exemple de choix…

Communication asynchroneroutage et filtrage de messages. . .

De nombreuses technologies Message Oriented Middleware (MOM) !

IBM MQ SeriesJava Messaging Service (JMS)EJB et Message BeansOMG Notification ServiceCORBA Component Model (CCM) et ports asynchrones

Quelle est la technologie la mieux adaptée ?Sera-t-elle toujours la meilleure dans quelques années ?

Page 58: Urbanisation et architecture des systèmes d’informationmfworld42.free.fr/cnam/NFE107_URBANISATION%20ET%20ARCHITEC… · Le middleware ou intergiciel Généralités Urbanisation

2006/2007 Cnam – NFE 107 - © Eudeline/Benhaddou 58

Solution?

Privilégier les démarches d’urbanisationUtiliser des modèles pour remonter le niveau d’abstractionUne piste: MDA (Model DrivenArchitecture) => Séparation des préoccupations