• Aucun résultat trouvé

Urbanisation et architecture des systèmes d information

N/A
N/A
Protected

Academic year: 2022

Partager "Urbanisation et architecture des systèmes d information"

Copied!
62
0
0

Texte intégral

(1)

Urbanisation et architecture des systèmes d’information

Serveurs d’applications et plateformes d’applications distribuées

Généralités

David Eudeline

(2)

Plan du cours

Introduction

Concepts de base

Présentation de .NET Présentation de J2EE

Comparaison .NET/J2EE Conclusion

Partie 1

Partie 2

(3)

Présentation des Concepts

Technologies interapplicatives

But des technologies interapplicatives:

Dépasser les limites des ORB de type CORBA ou COM/DCOM

Capacité de réaction – adaptabilité

Rapidité de développement et de déploiement

Fiabilité et disponibilité

Sécurité

Évolutivité

Intégration des données

Modèle d’architecture basé sur:

Applications multiniveaux

Avant 3 tiers, maintenant n-tiers

Utilisation de composants logiciels Introduction du concept de conteneur

Ensemble de services disponibles lors de l’exécution du composant

(4)

Présentation des Concepts

Technologies interapplicatives

Pour implémenter ces applications, deux types de plateformes:

Serveurs d’application: orientés développement Serveurs d’EAI: orientés intégration

Objectif d’un serveur d’application:

Développement, déploiement et exécution des applications réparties

Objectif d’un serveur d’EAI:

Intégration d’applications déjà existantes

Objectif d’une plateforme d’applications distribuées

Couvrir tous les aspects de l’application (les n-tiers)

Vision globale de l’application

(5)

Présentation des Concepts

positionnement EAI/serveur d’appli

(6)

Serveur d’application

Services logiciels apportés Services de déploiement

Paquetage d’application

⌧Fournir l’application comme un tout

Description du déploiement et paramétrage déclaratif

⌧Permettre l’adaptation à l’environnement d’exécution

Services de sécurité

Confidentialité

⌧Assurer la confidentialité des données transmises

Authentification

⌧Identifier les parties en présence

Contrôle d’accès

⌧Limiter l’accès aux applications & ressources

(7)

Serveur d’application

Services logiciels apportés

Services de transport

Transports sur des protocoles web:

⌧HTTP, FTP, SMTP

Transport sur des architectures techniques spécifiques

⌧ORB (le plus souvent) ou MOM

Services transactionnels

Intégration des services des moniteurs transactionnels Qualités supportées:

⌧Atomicité

⌧Cohérence

⌧Intégrité

⌧Durabilité

(8)

Serveur d’application

Services logiciels apportés

Services de qualité de service

Service de cache

Mémorisation des éléments servant beaucoup

Service de load-balancing

Répartition de la charge entre plusieurs serveurs

Service de clustering

Assurer une grande disponibilité en doublant les ressources matérielles

Services de sécurité

Confidentialité

Assurer la confidentialité des données transmises

Authentification

Identifier les parties en présence

Contrôle d’accès

Limiter l’accès aux applications & ressources

(9)

Présentation des Concepts

Notion de framework

Framework

«

Littéralement charpente, ossature. En informatique, désigne le cadre dans lequel va s'insérer une application. En programmation orientée objet, désigne l'infrastructure logicielle qui facilite la

conception des applications par l'utilisation de bibliothèques de classes ou de générateurs de programmes. »

Deux aspects importants

Lors de l’exécution: ensemble de l’environnement d’exécution des applications et services

Lors du développement: ensemble des éléments nécessaires pour permettre à un développeur l’exploitation de la plateforme

(10)

Présentation des Concepts

Les protagonistes

Deux grandes familles d’architectures

multiniveaux et de serveurs d’application:

Architecture J2EE

⌧ standard basé sur le langage JAVA

⌧ implémentée au sein de serveurs d’appli comme BEA WebLogic, IBM WebSphere ou Oracle 9iAS

Architecture .NET

⌧Architecture & offre produit intimement liées

(11)

Technologies pré-dotNET

COM+

COM+ est l’enrichissement de la plateforme middleware Microsoft basée sur COM/DCOM (à partir de 1998)

Implémenté dans Windows 2K

Regroupe COM, MTS et divers autres services additionnels Facilite la programmation des composants COM

COM+

Équilibrage de charge Base de données en mémoire Regroupement d’objets (polling) Composants en file d’attente (MSMQ)

Modèle d’événements

MTS

Services transactionnels Sécurité basée sur les rôles

Activation juste à temps

COM

Programmation basée sur les interfaces

Services basiques de composants

DCOM

Appels distants

Services distribués de composants

(12)

Technologies pré-dotNET

Windows DNA

Distributed inter-Net Applications

Regroupement et unification de l’ensemble des technologies Microsoft disponibles sur Windows NT4 Option Pack (1997) puis W2K (2000)

Avant tout un label marketing

Traite tous les aspects de l’architecture applicative:

Tiers présentation, métier, données

Service présentation:

Client lourd: application Windows traditionnelles Client léger: IIS+ASP

Possibilité d’utiliser des composants ActiveX pour enrichir la présentation

Services métiers:

Service de composants COM+

Service d’accès aux données:

Accès aux annuaires (Active Directory): ADSI Accès aux bases de données: ADO

(13)

Technologies pré-dotNET

Windows DNA

Concurrent de J2EE orienté architecture 3 tiers Subit certaines limitations

Absence d’un langage de développement objet adapté

Héritage lourd à porter des technologies COM Solution extrêmement propriétaire

Modèle web très orienté présentation

Cette solution est restée dans l’ombre du succès

des serveurs d’application J2EE

(14)

Urbanisation et architecture des systèmes d’information

Serveurs d’applications et plateformes d’applications distribuées

DOTNET

(15)

Microsoft .NET

Présentation

Une approche marketing confuse…

.NET semble partout chez µSOFT

⌧Microsoft n’a pas réussi en interne à réguler l’utilisation de l’appellation .NET

⌧De nombreuses technologies ont été rebaptisées .NET

SQL Server 2000, SharePoint Server 2000, Exchange Server 2000

Le nom .NET a été utilisé à partir de 2000, alors que la technologie (le framework) n’a été disponible qu’en 2002…

.NET représente la « vision » tout Internet de Microsoft

Orientation majeure de l’ensemble des produits Microsoft:

⌧Web Services, Standards Web, IHM adaptables, terminaux divers

A un peu noyé le lancement du framework .NET

(16)

Microsoft .NET

Présentation

Nouvelle offre d’architecture (janvier 2002)

Construite sur un socle commun: le framework dotNET Permet le développement et le déploiement d’applications distribuées

⌧=> Nouvelle plateforme de développement Microsoft

Virage technologique majeur pour µSOFT

A terme, l’ensemble des produits Microsoft seront réécrits pour cette plateforme

Objectif: concurrencer réellement J2EE

Surmonter l’échec de la solution Windows DNA

.NET est avant tout un produit ( ≠ J2EE)

(17)

Microsoft .NET

Présentation

Applications Applications externes externes

SystèSystèmes lmes léégatairesgataires Bases de donn

Bases de donnééeses

Client Client LLéégerger

Client Client Riche Riche

Une architecture n-tiers « standard »

(18)

Microsoft .NET

Présentation

Objectifs avoués de Microsoft

1.

Migration de la communauté MS

⌧ Séduire les développeurs existants 2.

Séduire les « javaistes »

⌧ Points forts de java: gratuité et liberté

⌧ Propositions Microsoft de logiciels gratuits:

Framework .NET redistribuable

Framework Software Development Kit

4 compilateurs (C#, VB.NET, C++, JScript) Nombreux outils

Documentation riche

Équivalent du JDK Sun (marché de l’éducation, universités…)

Webmatrix

Visual sutidio allégé orienté développement WEB

MSDE (Microsoft SQL server Desktop Edition): runtime SQL Server

(19)

Microsoft .NET

Présentation

Objectifs avoués de µSOFT (suite)

3. Concurrencer LAMP

Linux Apache MySQL PHP

Fournir des outils « gratuits » pour la réalisation de sites web de petite envergure

4. J# est présenté comme moyen de transition entre J2EE et .NET

Initiative JUMP (Java User Migration Path)

JLCA (Java Language Migration Path)

Pas gagné, réactions de la communauté java pas très positives

Permet quand même la récupération de ce qui avait été fait en J++

5. Promouvoir une communauté OpenSource

Site GotDotNet (espace de travail collaboratif)

Projets OpenSource pour le framework dotNET

Portage du framework dotNET sur d’autres plateformes (projets mono)

Limitation: ne fonctionne bien sûr que sous Windows/IIS…

(20)

Microsoft .NET

Points clé de l’architecture

Adopter les standards

S’appuyer sur les standards de l’industrie

WebServices, XML, DNS, IP, LDAP

Abandon des technos propriétaires (COM/DCOM)

Publication de la CLI & du C#

Soumis à l’ECMA

But: créer un environnement de développement universel

Se débarrasser des casseroles

DLL Hell

Problèmes de déploiement des DLL et composants COM

Hétérogénéité des API

Trop nombreuses, de multiples possibilités pour faire la même chose…

Typées C (gestion de pointeurs, structures)

(21)

Microsoft .NET

Points clé de l’architecture

Offrir un ensemble riche de services

CLR: machine d’exécution (≈JVM) FCL: Framework Class Library

Collection de classes et de services divers

Winforms: développement de clients riches

ASP.NET & Webforms: développement d’interfaces web

WebServices: intégration d’applications

Enterprise Services: partie « pûrement » serveur d’application

Remoting: objets distribués

SDK: .NET Framework SDK pour développer les applications s’exécutant sur la CLR

Viser des cibles d’exécution et des clients multiples et hétérogènes

Clients riches ou légers

Clients mobiles (PocketPC, smartphone, Tablet PC)

« Clients multicanaux »

(22)

Microsoft .NET

Points clé de l’architecture

Plateforme .NET Visual Studio .NET

Framework .NET Serveurs .NET

Services .NET Périphériques .NET

(23)

Microsoft .NET

Framework: présentation Les fondations du framework:

CLR: Environnement d’exécution

CLS/CTS: Contrat de service pour les langages et les types

C#: langage de développement objet

⌧Et aussi C++, VC.NET, J#

MSIL: langage intermédiaire JIT: Compilateur à la volée

Le framework .NET est un environnement de

développement et d’exploitation

(24)

Microsoft .NET

Framework: architecture

Common Language Infrastructure Common Language Runtime

Framework Class Library Données et XML

Common Language Specification

Windows Forms ASP .NET

Web Services Web

Forms

VB.NET C# C++ Autres…

(25)

Microsoft .NET

Framework: fonctionnement

Windows

98/Me Linux

(Mono::) .NET CLR .NET CLR

Autre…

.NET CLR .NET Framework Libraries

Code Source

(C#, C++, VB.NET, J++, Cobol, Smalltalk, Eiffel, etc.)

« Managed Code » (MSIL)

CLS/CTS

.NET CLR .NET CLR .NET CLR .NET Compact Framework Libraries

JIT

(26)

Microsoft .NET

Framework: CLR

CLR = Common Language Runtime

Environnement d’exécution des applications .NET

Principe de machine virtuelle et de code intermédiaire

P-code appelé MSIL

Atouts du principe de machine virtuelle:

Indépendance à l’architecture sous-jacente

Java: Write Once, Run Anywhere (WORA)

Microsoft: Execute on Many Platforms

Limité aux PF Windows quand même, mais indépendance quand au processeur

Mécanisme de ramasse-miettes

Le code est exécuté au sein de la machine virtuelle qui permet le contrôle du cycle de vie des objets

Sécurité du code

Accès restreint à la machine pour le code

Lutte contre les buffer overflow

(27)

Microsoft .NET

Framework: CLR

Atouts plus spécifiques à la plateforme

Support de nombreux langages

Support des versions par les assembly Sûreté de typage

Programmation simplifiée

Les applications .NET sont « gérées » par la CLR

Code managé

Les applications natives s’exécutent hors du cadre de la CLR

La CLI décrit la manière d’implémenter la machine d’exécution (déposé à l’ECMA et à l’ISO)

La CLR n’est qu’une implémentation commerciale de la CLI Possibilité pour un tiers de créer sa propre implémentation

⌧Ex: mono pour linux, rotor pour FreeBSD & MacOS (µSOFT)

(28)

Microsoft .NET

Framework: CLR

Services de la CLR

le chargement (load) et l'exécution contrôlée des programmes, l'isolation des programmes les uns par rapport aux autres,

les vérifications de type lors des appels de fonctions,

la conversion de code intermédiaire en code natif lors de l'exécution des programmes (opération JIT, Just In Time compiler),

l'accès aux méta données (informations sur le code stockées dans l’entête PE de l’exécutable) pour le déploiement

la gestion de la mémoire, la gestion des exceptions, la sécurité,

la compatibilité avec les DLL et les modules COM actuels qui s'exécutent en code natif non contrôlé par .NET.

La gestion des versions

(29)

Microsoft .NET

Framework: CLS & CTS

CLS = Common Language Specification

Permet l’interopérabilité entre les langages #

Les langages doivent fournir un ensemble de possibilités, de constructions qui sont recensées dans un contrat de service dénommé CLS.

⌧CLS: plus petit dénominateur commun

⌧Force certaines caractéristiques pour les langages:

Système de types

Approche objet (problématique pour les langages procéduraux comme le C)

⌧41 règles: les CLS Rules

Ajout d’un langage à .NET:

⌧Respect de CLS,

⌧développement d’un compilateur vers MSIL.

(30)

Microsoft .NET

Framework: CLS & CTS

CTS = Common Type System

Types communs définis au niveau de la CLR

Gère le problème de l’échange de types

Permet la simplification des échanges entre assembly

Mise en correspondance avec les différents types des langages

Limitations apportées par CLS&CTS:

Assez contraignantes pour les langages

Restent limitées aux cas où l’on veut exporter des fonctions

⇒L’impact est lourd pour les langages

⇒Les langages .NET sont identiques sur le signifié

même s’ils ont des syntaxes différentes

(31)

Microsoft .NET

Framework: MSIL

MSIL =Microsoft Intermediate Language)

Code source compilé sous la forme d’un code binaire intermédiaire, indépendant du matériel et du systèmes d’exploitation

assembleur virtuel

Le MSIL est ensuite exécuté dans la CLR

Le MSIL est alors traduit en code machine par un compilateur "Juste à temps" (JIT compiler) à la première exécution.

≠Java qui utilise un p-code objet interprété

Meilleures performances que Java

P-code moins facile à désassembler

Spécificités d’optimisation de performances:

Le code IL est traduit petit à petit au fil du besoin en code natif

Le ramasse miettes ne rentre en action que quand un nombre important d’objets doivent être détruits

Les performances ont été la préoccupation primordiale de Microsoft

(32)

Microsoft .NET

Framework: compilation en MSIL

Source Code

C++, C#, VB or any .NET language

csc.exe or vbc.exe

Compilateur

Assembly IL

DLL or EXE

(33)

Microsoft .NET

Framework: Assembly

Assembly: DLL contenant du MSIL Deux types d’assembly:

Assembly de type DLL

Assembly de type exécutable

Les assembly résolvent les problèmes des DLL &

composants COM:

Gestion de version, inscription, etc…

Les assembly sont auto descriptives

Juste besoin d’un drag&drop pour les installer…

Les assembly peuvent être signées

Protégés contre la modification par un principe de certificat

(34)

Microsoft .NET

Framework: Assembly

Les assembly peuvent être publics ou privés

Privés: utilisés uniquement pour une application

⌧Sont copiés dans la racine de l’application cliente

Publics: utilisés par de multiples clients

⌧Disposent d’un numéro unique

Utilisation de l’utilitaire strong name (sn.exe)

⌧Sont placés dans le « Global Assembly Cache » GAC

⌧Sont forcément signés

Contenu d’un assembly:

Metadata dont le manifeste

Type metadata: types de données utilisés

Code MSIL: l’assembly peut être réutilisé par tout langage…

Ressources: comme pour les programmes windows classiques

(35)

Microsoft .NET

Framework: Assembly

Les assembly peuvent être publics ou privés

Privés: utilisés uniquement pour une application

Sont copiés dans la racine de l’application cliente

Publics: utilisés par de multiples clients

Disposent d’un numéro unique

Utilisation de l’utilitaire strong name (sn.exe)

Sont placés dans le « Global Assembly Cache » GAC

Sont forcément signés

Contenu d’un assembly:

Metadata dont le manifeste

Manifeste: carte d’identité de l’assembly

Identite unique

Liste des fichiers le composant

Liste des assembly référencés

Permissions

Type metadata: types de données utilisés

Code MSIL: l’assembly peut être réutilisé par tout langage…

Ressources: comme pour les programmes windows classiques

(36)

Microsoft .NET

Framework Class Library

Classes .NET pour le développement

Simplicité & cohérence haut niveau d’abstraction pérennité

Domaine couverts:

GUI client lourds

Programmes console & services Applications WEB

Accès aux données (ADO.NET)

Communication entre objets distants Gestion de XML

Programmation système (registre, services, threads, journal, réseau, etc…)

Le système de classes couvre un large spectre et facilite le développement

(37)

Microsoft .NET

Framework Class Library

System.Data

Design OLEDB

SQLTypes SQL

System

Configuration Collections

Net IO

ServiceProcess

Security Runtime

InteropServices

System.Xml

XPath

XSLT Serialization

System.Web

Configuration SessionState

Caching Security

Services Description Discovery Protocols

UI

HtmlControls WebControls

System.Drawing

Imaging Drawing2D

Text Printing

System.Windows.Forms

Form Button

MessageBox ListControl

(38)

Microsoft .NET

Framework: divers Gestion des erreurs:

La gestion des erreurs a été unifiée Tout est géré par exception

⌧Modèle de type d’exceptions

⌧Exceptions propagées par les assembly

⌧Exceptions propagées même en mode distribué

Gestion effectuée au niveau de la CLR

Interopérabilité DLL natives et COM

Un assembly peut appeler une dll

⌧Avec tous les problèmes inhérents…

Un assembly peut appeler un composant COM

⌧Interopérabilité dans les deux sens

(39)

Microsoft .NET

Langages

.NET est multi-langages :

Microsoft fourni plusieurs langages et les

compilateurs associés, tels que C++, JScript, VB.NET (alias VB 7) et C#

Support de 27 langages

VB.NET

Reprise de la syntaxe simple de VB Ajout des concepts objets

Accès à toutes les fonctionnalités du framework

Mais ce n’est plus vraiment Visual Basic…

(40)

Microsoft .NET

Langages

C#

Langage privilégié de la plateforme .NET

Langage libre de droit (standardisé, ainsi que MSIL, par l’ECMA) Évolution du C++ ANSI

⌧créé par Anders Hejlsberg, architecte de plusieurs langages et outils chez Borland, dont Delphi

⌧A reprit de très nombreux éléments de Java…

⌧Permet la gestion des composants (attributs)

C# est une sorte de synthèse des points forts de C++ et JAVA, avec quelques éléments en plus

Approche plus pragmatique que Java sur certains points

⌧Java plus figé sur le paradigme objet

(41)

Microsoft .NET

Langages C++ managé

modification de C++ pour supporter .NET Nouveau modèle de développement complet

⌧Améliore la gestion de la mémoire (pas de new, utilisation

du ramasse miettes)

⌧Pas de MFC…

Les applications sont difficilement portables…

Autres langages:

J# (peu d’intérêt)

Langages tiers: Eiffel, COBOL, PERL, PASCAL, etc…

(42)

Microsoft .NET

Langages

Gestion Multi-langages:

Les assembly peuvent être créés dans un langage et utilisés dans un autre

⌧Tout passe par le MSIL

Une classe dotNET peut être étendue dans un autre langage!

⌧Gestion du cycle de vie d’un projet

⌧Gestion multi-langages d’un projet peut cependant être compliquée…

Conclusion:

Le langage n’a pas d’impact sur l’écriture

Pas de différence flagrantes de performances entre langages

(43)

Microsoft .NET

Développement clients riches

Technologie WinForms:

Le client lourd est mort, vive le client riche!

Doit concilier les approches client lourd/client léger

Pb clients lourds: difficulté d’installation, protocole de communication propriétaire

Pb clients légers: ergonomie limitée, pas de travail en mode déconnecté

Clients riches:

Ergonomie de l’interface

Déploiement sans douleur

Interface indépendante de la plateforme

Middleware standard

Pré-requis:

déploiement de l’environnement d’exécution sur le poste utilisateur

Pb de normalisation: XUL est-il l’avenir?

Permet de construire l’interface locale des applications réparties

(44)

Microsoft .NET

Développement clients riches

Principe:

Un formulaire (Form) est utilisé pour présenter des informations à l’utilisateur

Boite de dialogue,

Interface simple SDI ou multidocument MDI

Interface type explorer

Dérivent de System.Windows.Forms.Form

Le principe est globalement le même que dans Visual C++ ou Visual Basic

Programme de type console: l’utilisateur est contraint de suivre le fil du programme défini par l’utilisateur

Programme de type fenêtré: l’utilisateur déclenche de manière asynchrone les évènements qui définissent l’application

=> Les notions d’évènements et de délégués du framework sont ici

utilisés de manière intensive

(45)

Microsoft .NET

ASP.NET

ASP.NET(ASP+)

Amélioration de la technologie ASP qui tire parti de la CLR et de MSIL

⌧Compilation des pages (idem JSP)

⌧Utilisation des WebForms

Problèmes ASP:

⌧Mélange dans un même source les descriptions HTML et le

script serveur

⌧Langage de script limité (VBScript ou JScrip)

⌧Interactions clients/Serveur mal intégrées

(46)

Microsoft .NET

ASP.NET

ASP.NET permet de créer une application Internet comme si c’était une application normale: WebForms

Plus de mélange script/HTML

Compilation des pages à la volée=>meilleures performances

Notion de « code behind »

Codage de la page à l’aide d’un langage #

Extension en .aspx

Utilisation des classes APN.NET du framework

Interaction avec le serveur web

Suivi de session (cookie, URL, BDD)

Fourniture de contrôles serveurs (45 intégrés)

Présence de contrôles de validation de pages (exécution sur le client ou le serveur)

Exécution obligatoire sur IIS, avec le framework .NET installé sur le

serveur

(47)

Microsoft .NET

ASP.NET

(48)

Microsoft .NET

Client Mobile

Compact Framework:

Sous ensemble du framework .NET

Destiné aux terminaux mobiles type pocketPC, Tablet PC, SmartPhones

Permet un code partagé entre une application Windows et une application mobile

⌧Nécessité de prendre en compte quand même certaines limitation (ergonomie, accès aux données)

Permet d’accéder à toutes les fonctionnalités de la plateforme .NET (Accès aux données, Web Services)

CLR optimisée pour les terminaux à ressources réduites

Taille du framework: ≈ 1,5 Mo RAM: 0,5 Mo

Taille des applications: 5-100 Ko

(49)

Microsoft .NET

Accès aux données

ADO.NET

Évolution d’ADO (ActiveX Data Object)

Met XML au centre des échanges de données

Ensemble de classes exposant les services d’accès aux données Abstraction du modèle de BDD

Notion de fournisseur, utilisant OLEDB, SQL, ODBC

Dataset:

Modèle XML intermédiaire déconnecté des données Permet de réaliser une sorte de mini BDD locale

Très utile dans les environnements répartis avec des tiers pas forcément toujours connectés…

Gestion des modes connectés/non connectés

Définition des « data-adapters »

synchronisation automatique sources de données/datasets

Possibilité d’échanger ces datasets

(50)

Microsoft .NET

Accès aux données Support complet de XML

Le framework contient tout ce qu’il faut pour manipuler les données XML

⌧XSLT, XLK-Schema, DOM, X-Path, etc…

DataBinding

Faculté de lier automatiquement une source de données et un contrôle WinForm ou WebForm

Sérialisation

Support pour réaliser une sérialisation/désérialisation facile des objets

⌧En XML, binaire ou custom

(51)

Microsoft .NET

Accès aux données

(52)

Microsoft .NET

Enterprise Services

Partie « serveur d’application » au pur sens du terme Capitalisation de Microsoft sur COM+

Nouvelle interface permettant d’accéder aux services COM+

⌧Cache les détails de COM

⌧Reste en cohérence avec le reste du framework .NET

Notion de composants .NET

⌧Tout objet héritant de ServicedComponents devient un composant .NET

Gestion déclarative => Transparence pour le développeur

Seul lien avec COM+: la console d’administration

(53)

Microsoft .NET

Enterprise Services

Fonctionnalités proposées

Gestion transactionnelle des ressources

⌧Plus puissante que celle proposée dans ADO.NET

Gestion et activation des ressources en pool

⌧Plus fin que celui proposé dans .NET Remoting ou Services Web

Accès aux sources de données (pooling)

⌧Proposé également dans ADO.NET

Gestion asynchrone des composants

⌧Surcouche à MSMQ orientée composants, plus puissant que ce qui est proposé dans system.messaging

L’utilisation des Enterprise Services est donc à discuter…

(54)

Microsoft .NET

Web Services Web Services:

Communication interapplicative à l’aide de protocoles standardisés:

⌧XML

⌧SOAP (Simple Object Access Protocol)

⌧UDDI (Universal Discovery description and Integration)

Les services communiquent entre eux en XML

⌧SOAP: format XML des messages qui s’échangent

• Sur HTTP, SMTP ou POP

⌧WSDL: fichier d’interface (≈IDL)

⌧UDDI: annuaire des services

(55)

Microsoft .NET

Web Services

Implémentation dans .NET:

Développement d’un service Web ASP.NET

⌧Utilise IIS pour publier le Service Web

Développement en .NET remoting

⌧Exécution du Service Web dans un composant indépendant

Vision « objet »: un Web Service est un objet qui présente une interface d’appel à distance

⌧Attribut « webmethod » dans le code

(56)

Microsoft .NET

Web Services

(57)

Microsoft .NET

Web Services

L'objectif de .NET framework est de faciliter la conception d'applications et de Services Web:

Vision globale Web Services

(58)

Microsoft .NET

Service de transport

.NET remoting

Remplaçant de la technologie DCOM

CLR Object Remoting: appel d’objets via le réseau comme si ils étaient locaux

Modèle commun masquant les protocoles sous jacents (channel )

TCP/HTTP proposés de base

Support d’un mécanisme de sérialisation pour transporter les appels (Formatter)

SOAP 1.1: sérialisation type service web

CLR: Idem mais étendu

Binaire: Programmation libre

Sécurité intégrée dans le protocole(authentification)

Intégré au modèle service Web: Producteur/Consommateur de services

Indépendance vis-à-vis de IIS & ASP.NET Il y a forcément un serveur qui l’exécute…

(59)

Microsoft .NET

Service de transport

Deux types de passages:

Par référence (il reste sur le serveur)

⌧Les proxy & stubs sont automatiquement générés par la CLR

Par valeur (il est sérialisé et recopié vers le client)

Trois types d’activation d’objets distants:

Activation côté serveur

⌧Single call: créé lors de chaque appel de méthode

⌧Singleton: objet créé une seule fois

Activation côté client:

⌧Durée de vie gérée par la CLR

Les paramètres de connexion sont configurés:

directement dans le code

par des fichiers XML

(60)

Microsoft .NET

Service de transport

Service de transport : .NET remoting

(61)

Microsoft .NET

Conclusion .NET:

Avantage :

⌧l'homogénéité de l'architecture

⌧utilisation des ressources du système Windows et du

Framework .NET

⌧performances et intégration de l'outil Visual Studio avec la

plate-forme

Inconvénient :

⌧posséder l'ensemble des produits de la gamme Microsoft

.NET dont IIS.

(62)

Microsoft .NET

Conclusion

Vision Microsoft via .NET:

Un Internet constitué d’une infinité d’applications Web inter opérables formant un réseau planétaire d’échange de services.

Ces "Web Services" sont basés sur les protocoles SOAP et XML.

Technologie prometteuse mais plus jeune que J2EE Relatif manque de visibilité sur les déploiements

.NET

Références

Documents relatifs

package Ada.Exceptions is  type Exception_Id is private; . Null_Id :

• Si l'instruction en faute est incluse dans un bloc try, le programme saute directement vers les gestionnaires d'exception qu'il examine séquentiellement dans l'ordre du code

Le cours met l'accent sur les concepts et techniques fondamentaux des bases de données relationnelles, ainsi que sur la conception et l'implémentation de systèmes

● les 2 entités peuvent être placées dans la même

Les informations spatio-temporelles dans l’ontologie méta-observatoire sont modélisées par les deux classes Lieu et Date, comme dans ODM et SERONTO et contrairement à OBOE

● les 2 entités peuvent être placées dans la même table.

Systèmes de gestion de fichiers, collection de données, bases de données (modèle réseau)2. - nécessité de savoir où et comment sont stockées quelles

Gestion de la m´emoire Production de code Visiteurs pour Java.. Production