int gration d information avec xml n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Intégration d'information avec XML PowerPoint Presentation
Download Presentation
Intégration d'information avec XML

Loading in 2 Seconds...

play fullscreen
1 / 66

Intégration d'information avec XML - PowerPoint PPT Presentation


  • 80 Views
  • Uploaded on

Intégration d'information avec XML. Patrick Valduriez Lip6 Université Paris 6 Patrick.Valduriez@lip6.fr http://www-poleia.lip6.fr/~valdurie/patrick.html. Bibliographie. The XML Handbook. C. Goldfard, P. Prescod, Prentice Hall, 2000

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Intégration d'information avec XML' - cade


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
int gration d information avec xml
Intégration d'information avec XML
  • Patrick Valduriez
  • Lip6
  • Université Paris 6
  • Patrick.Valduriez@lip6.fr
  • http://www-poleia.lip6.fr/~valdurie/patrick.html
bibliographie
Bibliographie
  • The XML Handbook. C. Goldfard, P. Prescod, Prentice Hall, 2000
  • Data on the Web. S. Abiteboul, P. Buneman, D. Suciu, Morgan Kaufmann, 1999
  • Principles of Distributed Database Systems (2nd ed.). T. Özsu, P. Valduriez, Prentice Hall, 1999
  • Object Technology. M. Bouzeghoub, G. Gardarin, P. Valduriez, Thomson Computer Press, en français chez Eyrolles,1997
slide3
Plan
  • Introduction à XML
    • DTD, XMLschema
  • Manipulation de données XML
    • XPath, XSL, Xquery, DOM
  • Intégration de données avec XML
    • architectures, stockage, médiateurs
  • Intégration d'applications
    • SOAP, ebXML, Web services, .NET
couplage html base de donn es
Couplage HTML-base de données
  • Serveur HTTP dynamique
    • basé sur CGI, ne passe pas à l’échelle
    • serveur Web dédié aux BD, solution propriétaire
      • Oracle WebDB, VersantWeb, etc.
  • Pages serveurs dynamiques
    • MS Active Server Pages (ASP)
    • Java Server Pages (JSP)
    • Personal Home Pages (PHP)
p age server d ynami que
Page server dynamique
  • Page HTML avec scripts pour accéder la base de données
    • variables et paramètres avec des tags spéciaux
    • templates pour la présentation des résultats en HTML

<HTML>

<BODY><H1>Result of your selection</H1>

<%select Q1 = "select A1, A2 from R where ... " %>

<%iterate Q1 %>

<TABLE>

<TR><TD> "A1"</TD> <TD> "A2 "</TD></TR>

<TR><TD>%Q1.A1%</TD> <TD>%Q1.A2</TD></TR>

<%end-iterate%>

</TABLE>

</BODY>

</HTML>

limitations du couplage html bd
Limitations du couplage HTML-BD
  • Solutions propriétaires
    • excepté JSP
  • Pas de protocolepour publier les données
    • SQL n’est pas conçu pour le Web
    • transformations limitées avec les templates
  • Pas de format d’échange de données standard: HTML est un format de présentation
    • mélange présentation et contenu
    • pas de structure, pas de sémantique, pas de contrainte d’intégrité
    • perd la structure (schéma) provenant de la BD
la r gle d or goldfard
La règle d’or (Goldfard)
  • Le contenudoit être abstrait et indépendant du stockage et de la présentation
    • permet l’intégration uniforme de données hétérogènes
      • provenant de différentes sources de données
    • permet des applications dynamiques
      • la présentation doit pouvoir être différente selon le medium, le temps la requête ou le profil de l’utilisateur
xml pour l change de donn es universel
XML pour l’échange de données universel
  • Le langage XML
    • standard du W3C
    • décrit le contenu, pas la présentation
      • structure, type, schéma, requêtes, etc.
    • HTML XML SGML
    • indépendance des données au stockage et à la présentation
      • supportela règle d’or
  • Facilite l’échange de données entre applications
slide10
HTML

<h1> Bibliography </h1>

<p> <i> Principles of Distributed Database Systems </i>

Ozsu, Valduriez

<br> Prentice Hall, 1999

<p> <i> Data on the Web </i>

Abiteboul, Buneman, Vianu

<br> Morgan Kaufmann, 1999

xml d crit le contenu
XML décrit le contenu

<bibliography>

<book> <title> Principles of Distributed Database Systems </title>

<author> Ozsu </author> <author> Valduriez </author>

<publisher> Prentice Hall </publisher>

<year> 1999 </year>

</book>

<book> <title> Data on the Web </title>

<author> Abiteboul </author> <author> Buneman </author>

<author> Vianu </author>

<publisher> Morgan Kaufmann </publisher>

<year> 1999 </year>

</book>

diff rences avec html
Différences avec HTML
  • Les utilisateurs peuvent définir leurs propres tags pour indiquer la structure
    • plus verbeux que HTML
  • Un document XML ne fournit pas d’instruction pour la présentation
    • dans des stylesheets séparés pour convertir en HTML
  • Les structures peuvent être arbitrairement imbriquées
  • Un document XML peut avoir une description optionnelle de sa grammaire (DTD)
terminologie
Terminologie
  • Tags: book, title, author
    • similaire aux attributs dans une base de données
  • Markups: start tag <book>, end tag </book>
  • Les données sont du texte en PCDATA (Parsed Character Data)
    • caractères Unicode
  • Eléments: <book> ... </book>, <author> ... </author>
  • Elément vide: <year></year> abbrv. <year/>
  • Les éléments sont imbriqués
  • Un document XML : élément racine
attributs
Attributs
  • Propriétés supplémentaires des tags
    • paires (nom= "valeur ")

<book lang="English"price="US$59.99">

<title> Principles of Distributed Database Systems </title>

<author> Ozsu </author>

<author> Valduriez </author>

...

</book>

identifiants et r f rences
Identifiants et références
  • Les éléments peuvent avoir des identifiants uniques, comme la valeur d’un certain attribut, utilisés comme références

<person id="o1"> <name> Ozsu </name> </person>

<person id="o2"> <name> Valduriez </name> </person>

<book> <title> Principles of Distributed Database Systems </title>

<authors idref="o1 o2"/>

<publisher> Prentice Hall </publisher>

<year> 1999 </year>

</book>

mod le de donn es semi structur
Pas de schéma, données auto-descriptives

Pas de typage

Décrit par un graphe étiquetté

noeud = tag

feuille = tag + texte

arc étiquetté = référence

Modèle de données semi-structuré

Person

Person

Name

Name

idref

Ozsu

Valduriez

Authors

Book

Title

Publisher

Year

Principles of ...

Prentice Hall

1999

d finition de type de document dtd
Définition de type de document (DTD)
  • Définit la structure logique du document
    • grammaire du document
    • contraint la structure avec typage faible
  • Document valide
    • document bien formé conforme à sa DTD
    • vérifié par un parser
dtd simple
DTD simple
  • DTD pour un document contenant un nombre arbitraire de livres

<!DOCTYPE db [

<!ELEMENT db (book)*>

<!ELEMENT book (title,author,year)>

<!ELEMENT title (#PCDATA)>

<!ELEMENT author (#PCDATA)>

<!ELEMENT year (#PCDATA)>

]>

L’ordre des éléments est contraint

dtd comme grammaire r cursive
DTD comme grammaire récursive
  • DTD décrivant des arbres binaires et un document valide

<!ELEMENT node (leaf l (node,node))>

<!ELEMENT leaf (#PCDATA)>

<node>

<node>

<node><leaf> 1 </leaf> </node>

<node><leaf> 2 </leaf> </node>

</node>

<node><leaf> 3 </leaf> </node>

</node>

3

1

2

dtd comme sch ma
DTD comme schéma
  • DTD pour le schéma relationnel r(a,b), s(c)

<!DOCTYPE db [

<!ELEMENT db (r*, s*)>

<!ELEMENT r ((a,b) l (b,a))>

<!ELEMENT s (c)>

<!ELEMENT a (#PCDATA)>

<!ELEMENT b (#PCDATA)>

<!ELEMENT c (#PCDATA)>

]>

  • Limitations
    • très verbeux
    • un seul type atomique (PCDATA)
    • pas de contrainte sur le type de IDREF
xml schema
Schéma défini en XML

associe des types de données aux attributs et éléments

Remplace les DTD

typage plus complet

namespaces

En cours de standardisation par le W3C

XML Schema

<Schema

xmlns:dt="urn:schemas-microsoft-com:datatypes">

<elementType name="title" content="textOnly"/>

<attributeType name="price" dt:type="float" required="yes"/>

<elementType name= "author" content="textOnly"/>

<elementType name= "book" content="mixed">

<element type= "title"/>

<attribute type= "price"/>

<element type= "author"/>

</elementType>

</Schema>

XML

motivations pour un langage de requ tes
Motivations pour un langage de requêtes
  • Granularité d’accès HTML = document (fichier)
  • Langages de requêtes (SQL)
    • extraction rapide d’un sous-ensemble utile de la base
    • niveau de granularité arbitraire
      • élément simple
      • éléments multiples, combinés
      • agrégats, etc.
  • Pourquoi un langage de requêtes pour XML?
    • pour définir la granularité d’accès aux données XML
      • éléments dans un document
      • collections de documents
      • navigation
expressions de chemins
Expressions de chemins
  • Modèle de données XML = graphe dont les noeuds sont des éléments
  • Expression de chemins
    • séquence de noeuds T1.T2. ... .Tn
    • retourne un ou plusieurs noeuds Tn, tels qu’il existe des arcs T1  T2, ... Tn-1  Tn,

db

db.Book.Author

Book

Book

Author

Author

Author

Title

Author

A1

A2

A1

T1

A2

xpath
XPath
  • Expressions de chemins XML standard
    • suit la notation URL
    • prédicats pour spécifier des éléments ou des valeurs d’attributs
  • Brique de base pour d’autres standards XML
    • Xlink
      • liens avec URL
    • Xpointer
      • pour référencer l’intérieur d’un document
    • XSL
    • XQuery
      • langage de requête pour docs XML
expressions xpath
Expressions XPath
  • / l’élément racine
  • /db l’élément db sous root
  • db/book un élément book dans db
  • db//book ... à n’importe quelle profondeur
  • @price un attribut price
  • db/book/@price un attribut price dans book, dans db
  • db/book[@price] éléments book avec un attribut price
  • db/book[@price=’10’] ... avec une valeur price de 10
  • //book/para[2] le second paragraphe de n’importe quel élément book
slide26
XSL
  • Language de spécification de stylesheets
    • langage de transformation XSLT
      • XML  XML
      • XML  XHTML
    • langage de formatage XSLFO
  • Programme XSLT = { règle de production} de la forme
    • si <condition> alors <production>
      • condition : match=<chemin XPath>
      • production : action <chemin XPath>
  • Traitement XSLT
    • application récursive des règles templates de la racine aux feuilles
exemple xslt
Exemple XSLT

<xsl:template><xsl:apply-templates/> </xsl:template>

<xsl:template match= "/bib/*/title"><result> <xsl:value-of> </result>

</xsl:template>

<bib>

<book> <title> T1 </title>

<author> A1 </author>

</book>

<paper> <title> T2 </title>

<author> A2 </author>

</paper>

<book> <title> T3 </title>

<author> A3 </author>

</book>

<bib/>

<result>T1</result>

<result>T2</result>

<result>T3</result>

exemple de g n ration html
Exemple de génération HTML

<xsl:template match= "/bib">

<html:head>

<html:title> Book Titles

</html:title>

</html:head>

<html:body>

<xsl:apply-templates/>

</html:body>

</xsl:template>

<xsl:template match="book/title">

<html:p> <xsl:value-of> </html:p>

</xsl:template>

<HTML>

<HEAD>

<TITLE> Book Titles

</TITLE>

</HEAD>

<BODY>

<P> T1 </P>

<P> T3 </P>

</BODY>

</HTML>

xquery
XQuery
  • Standard prévu fin 2001
    • proposé par Chamberlin (IBM), Florescu (Propel) et al.
    • basé sur XML-QL (AT&T Research)
    • très puissant
      • sélection, projection, jointure, imbrication, agrégats, tri, etc.
  • Requêtes
    • de la forme (simplifiée)

for $<var> in <forêt>, …

where <condition>

return <résultat>

    • une forêt est sélectionnée par un document et une expression XPath
s lection en xquery
Sélection en XQuery
  • for $R in document(Guide)/Restaurant
  • where $R/Adresse/Ville = "Agadir"
  • return
  • <restau> $R/Nom </restau>

Noms des restaurants d'Agadir

jointure en xquery
Jointure en XQuery
  • for $R in document(GuideR)/Restaurant,
  • $H in document(GuideH)/Hotel
  • where $H//Rue like $R//Rue
  • and $H//Nom = "Agadir"
  • return
  • <result>
  • <nom> $R/Nom </nom>
  • <tel> $R/Tel </tel>
  • </result>

Noms et tél. des restaurants dans la rue de l'hôtel Agadir

interfaces de programmation xml
Interfaces de programmation XML
  • Pour manipuler (lire, écrire, transformer) des documents XMLavec un programme, il faut
    • un parser pour lire le texte XML et reconnaitre sa structure
      • vérifier que le document est bien formé
      • vérifier que le document est valide (validating parser)
    • du code applicatif, appelé par le parser
  • APIs standardspour XML
    • Simple API for XML (SAX)
    • Document Object Model (DOM)
o g rer le xml
Où gérer le XML?
  • Initialement, au niveau du serveur d'application
    • XML produit dynamiquement à partir de BD
  • A terme, au niveau du SGBD
    • XML produit directement par des outils basés sur DOM
    • XML obtenu à partir d'accès à des sources de données hétérogènes
xml comme mod le d int gration
XML comme modèle d'intégration

DB1

OLE DB

Serveur d'application

JDBC

DB2

HTMLXML

XMLSQL

ODBC

XSL

DB3

xml comme mod le d acc s
XML comme modèle d'accès

DB1

XML

Serveur d'application

XML

DB2

Médiateur

XML

HTMLXML

XML

XML

Schema

XSL

DB3

gestion de donn es xml
Gestion de données XML
  • SGBD relationnel-objet
    • Oracle8i, IBM DB2, MS SQLServer8, Informix, Sybase
  • SGBD orienté-objet
    • ODI eXcelon, Poet XML Repository
  • Serveurs XML
    • SAG Tamino, BlueStone XML Server, Ipedo XML Database, XYZfind Server, X-Hive db, etc.
comment stocker un document xml
Comment stocker un document XML?
  • Problèmes
    • doc.= graphe d’éléments
    • schéma (DTD) optionnel
  • Solutions
    • Binary Long Object (BLOB)
    • classes prédéfinies
    • tables relationnelles
    • classes spécifiques

Doc.

Book

Book

B1

B2

Authors

Authors

Person

Person

Person

P1

P2

P3

slide38

Doc.

Book

Book

B1

B2

Authors

Authors

Person

Person

Person

P1

P2

P3

BLOB
  • Chaque document est stocké comme un BLOB textuel
    • utilisé par les SGBDOR
  • Forces
    • pas besoin de schéma
    • recherche textuelle
  • Faiblesses
    • inefficace pour les grands docs
classes pr d finies
Classes prédéfinies
  • Chaque document est stocké comme un graphe d’objets éléments
    • utilisé par les SGBDOO
  • Forces
    • pas besoin de schéma
    • navigation
  • Faiblesses
    • n’exploite pas le placement et les index

Doc.

Elt.1

Elt.2

Elt.3

Elt.4

Elt.5

Elt.6

Elt.6

tables relationnelles
Tables relationnelles
  • Les éléments de documents sont groupés dans des tables
    • utilisé par les SGBDOR
  • Forces
    • exploite le schéma
    • efficace pour de grands documents avec collections
  • Faiblesses
    • surcoût de stockage pour les petits documents
    • navigation inefficace

Books

ID Title .... Authors

B1 ..... P1,P2

B2 ..... P2,P3

Persons

ID Name Org. ...

P1 .....

P2 .....

P3 .....

classes sp cifiques
Classes spécifiques
  • Chaque document est stocké comme un graphe d’objets de classes DTD
    • utilisé par les serveurs XML
  • Forces
    • exploite le schéma et les index
    • navigation

Doc.

B1

B2

P1

P2

P3

support xml dans oracle8i
Support XML dans Oracle8i
  • Parsers XML
  • Processeurs XSL
  • Générateurs de classes XML
    • pour créer des docs XML pour utilisation dans des apps, applets et JSP
  • XML Java Beans
    • pour ajouter la visualisation
  • XSQL Servlets
    • pour produire dynamiquement du XML ou du HTML à partir de requêtes SQL
  • XML SQL utility
    • pour lire et écrire des docs XML dans la BD
      • BLOB et tables relationnelles
traitement de xsql
Traitement de XSQL

<?xml version="1.1"?>

<query connection=“xmldb">

select value(a) as Author from authors a

where a.book.title=‘t...’

</query>

XSQL doc.

XSQL Servlet

Schema

Tables, BLOBs

XML parser

XSL processor

XML SQL

Utilities

XML

doc.

tamino serveur xml pour e business
Tamino: serveur XML pour e-business

HTTP Server

E-business apps, e.g. Bolero

XQL or URL/query

XML

X-Machine

SDK

native XML storage

programming

Adabas

DB2, ...

XML

SQL

X-Node

Data mapping

x machine
X-Machine
  • Système de stockage et de recherche XML deTamino
    • stockage des objets XML avec des classes spécifiques
      • data maps (schéma dérivé des DTD)
    • requêtes XML
      • simple avec URL
      • plus complexe avec XQL
      • interpréteur de requêtes
    • transactions
    • utilitaires
      • chargement de grand documents XML
architecture de m diation

Cachent l’hétérogénéité

des sources

Adaptateur1

Adaptateur2

Adaptateur3

Architecture de médiation

Projet I3 (DARPA)

Source1

Catalogue

global

Médiateur

Source2

Requête

Donne une vue globale

des sources

Source3

m diateur xml

décomposition

de la requête

schéma

local

Schéma

schéma

local

global

schéma

local

composition

du résultat

Médiateur XML

Médiateur

Adaptateur1

XQuery

Source1

Requêtes

Adaptateur2

Source2

Résultats

Adaptateur3

Source3

XML

interfaces

différentes

int gration de donn es en relationnel
Intégration de données en relationnel
  • Problèmes: renommage et introduction de valeurs nulles

Emp = Emp@Site1 U Emp@Site2

ville

tel.

prenom

nom

null

Anne

null

Jean

P. Dupont

Martin

A. Martin

Smith

Paris

Nantes

Nantes

Lille

0140...

null

0235…

null

Emp@Site1

Emp@Site2

nom

ville

tel.

prenom

nomF

ville

Nantes

Lille

Martin

Smith

P. Dupont

A. Martin

Paris

Nantes

0140...

0235...

Anne

Jean

int gration en xml
Intégration en XML
  • Admet la différence d’éléments, mais plus verbeux

<!DOCTYPE db [

<!ELEMENT db (Emp)*>

<!ELEMENT emp (nom,ville,(tel.)?)>

<!ELEMENT nom (#PCDATA | (prenom, nomF))>

<!ELEMENT prenom (#PCDATA)>

<!ELEMENT nomF (#PCDATA)>

<!ELEMENT tel. (#PCDATA)>]>

<emp>

<nom>

<prenom> Anne </prenom>

<nomF> Martin </nomF>

</nom>

<ville> Nantes </ville>

</emp>

<emp>

<nom> A. Martin </nom>

<ville> Nantes </ville>

<tel.> 0235... </tel.>

</emp>

interrogation en xquery
Interrogation en Xquery

for $e in document(db)/emp

where $e/ville = "Nantes"

return <r> <nom> $e/nom </nom>

<tel.> $e/tel </tel>

</r>

<r>

<nom>

<prenom> Anne </prenom>

<nomF> Martin </nomF>

</nom>

</emp>

<r>

<nom> A. Martin </nom>

<tel.> 0235... </tel.>

</r>

traitement de requ te distribu e
Traitement de requête distribuée
  • Optimiseur de requête

Système d ’exécution

Reformuler sur les schémas locaux

Identifier les opérations exécutables par les adaptateurs

Produire un plan d ’exéc. distribué

Requête

Intégrer les résultats

call

call

résultat

Adaptateur

Adaptateur

résultat

m diateurs xml
Médiateurs XML
  • e-XMML*Mediator d'e-XMLMedia (startup Prism)
    • découverte des sources, requêtes XQuery distribuées
  • Xylème (startup Inria)
    • data warehouse XML, crawlers, requêtes distribuées sur cluster
  • Nimble (startup U. Sealtle)
    • médiateur XML
  • Xperanto (IBM Almaden)
    • vues XQuery sur SGBDR
probl m e avec les middlewares objet
Problèmeavec les middlewares objet
  • IIOP, DCOM and RMI
    • bien adapté à la comm. serveur-serveur
    • efficaceavec la même solution (optimisée)
  • Mais lourd pour la comm. client-serveur
    • IIOP: le même ORB sur TOUTES les machines
    • DCOM: Windows partout
    • RMI: Java partout
simple object access protocol soap
Simple Object Access Protocol (SOAP)
  • SOAP = HTTP + XML
    • proposé en 1998 par MS, DeveloperMentor, UserLand Software (Dave Winer)
    • basé sur XML RPC
      • règles de codage des données en XML
      • enveloppe: définit le contenu du message
      • utilise la requête HTTP POST du client au serveur
  • Objectifs
    • simple, passe au travers des firewalls (port 80)
    • portable, facilite l'accès aux Web services
message soap
Message SOAP

HTTP Header

(obligatoire): nom du message et

namespace pour sa version de schéma

SOAP Envelope

SOAP Header

(optionnel): extensions de protocole

SOAP Body

XML content

(obligatoire): méthodeet paramètres

Attachments

exemple soap
Exemple SOAP

Requête

Réponse

<?xml version=“1.0” ?>

<SOAP:Envelope xmlns:SOAP= “urn:schemas-xmlsoap-org:soap.v1”>

<SOAP:Body>

<AddNumbers>

<Number1> 5 </Number1>

<Number2> 3 </Number2>

</AddNumbers>

</SOAP:Body>

</SOAP:Envelope>

<?xml version=“1.0” ?>

<SOAP:Envelope xmlns:SOAP= “urn:schemas-xmlsoap-org:soap.v1”>

<SOAP:Body>

<ResponseAddNumbers>

<Result> 8 </result>

</ResponseAddNumbers>

</SOAP:Body>

</SOAP:Envelope>

envoi de message avec soap
Envoi de message avec SOAP

Application

server

SOAP

Processor

SOAP

Processor

Application

server

API

API

Java

VB

C

Perl

etc.

Java

VB

C

Perl

etc.

XML

Parser

XML

Parser

HTTP

HTTP

TCP/IP

A component

(e.g. EJB)

A component

(e.g. COM)

evaluation de soap
Evaluation de SOAP
  • Avantages
    • interopérabilité: SOAP/HTTP, SOAP/IIOP, etc.
    • simple
    • supportépar MS (in BizTalk), IBM/Apache
  • Inconvénients
    • pas encore standardisé par le W3C
    • codage/décodage en XML peut être lourd
ebxml
ebXML
  • Architecture standard pour le B2B
    • développéeparl'organizationebXML (2000 membres), créé par OASIS et UN/CEFACT
    • première spec.en mars 2001
  • Objectif
    • Electronic Data Interchange (EDI) sur Internet
      • échange standardisé d'information de commandes et de comptabilité
      • framework extensible et interactif
      • alternative bon-marché à l'EDI traditionnel
    • A adopté SOAP
web services
Web services
  • Vision: le logiciel devient un service et les applications sont construites par assemblage de services Web, offerts par des fournisseurs différents
  • Service Web = application fournie comme un service
    • adresse URL
    • interface bien définie (contrat)
    • facilement interopérable avec d’autres services
      • standards Web, XML, SOAP
  • Web services vs CORBA/DCOM
    • intégration de haut niveau, à gros grain
    • performances?
exemple gestion de magasin on line
Exemple : gestion de magasin on-line

User authentication

(MTS)

Supplier

(EJB)

SOAP

SOAP

SOAP

Application server

Bank

(MVS/CICS)

SOAP

SOAP

SOAP

Credit card

processing

(COM+)

Shipper

(CORBA)

microsoft net
Microsoft .NET
  • Evolution majeure de la plateforme Windows
    • les APIs Windows sont remplacées des bibliothèques de classes objet de haut niveau
    • intégration de C#
    • portabilité des applications .NET, grâce à un code intermédiaire (MSIL)
    • gestion mémoire
    • sécurité renforcée avec vérif. de code
    • Intégration avec COM
    • support direct des services Web, de XML et de SOAP avec Visual Studio .NET
le framework net
Le framework.NET

ASP+

Web forms Web services

Win forms

Services framework

Base Data Debug ...

Common language runtime

System services

c c sharp
Forces

intégration COM

accès API C et C++

env. de dévelopt VisualStudio .NET

soumis à standardisation

Faiblesses

non portable

concurrent de Java

Origine

Microsoft, 2000, pour la plateforme .NET

Concepts objet

hybride VB/C++

pas de pointeurs

héritage simple

interface avec héritage multiple

Concepts additionnels

ramasse-miette

versions

support natif de COM

C # (C sharp)
evaluation des web services
Evaluation des Web services
  • Avantages
    • très haut niveau d'interopérabilité
    • facilite le développement d'applications distribuées
    • encourage une industrie orientée services
  • Inconvénients
    • réingénierie gigantesque
    • problèmes de fiabilité/disponibilité
    • problèmes de performances
conclusion
Conclusion
  • Evolution de XML depuis un meilleur format de documents vers un élément majeur des systèmes distribués
    • la plupart du XML sera cachée, générée par des outils
  • La combination de XML et des composants objetfacilite l'intégration de données etd'applications
  • Il reste beaucoup à faire
    • standardisation
    • implémentation
    • recherche