dotnet versus j2eeomar.aboukhaled.home.hefr.ch/appendices/13juin02_omar.pdf · ication discussion...

19
Mobile Information System Laboratory Mobile Information System Laboratory Mobile Information System Laboratory Mobile Information System Laboratory Omar AbouKhaled / copyright © MISL / EIA-FR 1 News Information Communication discussion Actualité News Information Communication discussion actualité News Information Communication discussion J2EE vs .NET, les enjeux des serveurs d'applications DotNET DotNET J2EE J2EE versus versus les fr les frè res ennemis res ennemis Omar ABOU KHALED [email protected] C2007 026 429 65 89 Mobile Information System Laboratory Mobile Information System Laboratory Mobile Information System Laboratory Mobile Information System Laboratory Omar AbouKhaled / copyright © MISL / EIA-FR 2 News Information Communication discussion Actualité News Information Communication discussion actualité News Information Communication discussion Introduction Le contexte actuel: Intégration, Réutilisabilité, Intéropérabilité Évolution au niveau commercial Relations: B2C, B2B, B2… Évolution au niveau technologique – Architectures Client/serveur (2,3) approche distribuée Programmation par composant Les Assembly pour dotNET Les EJB pour J2EE Rôle de XML Introduction des Web services Logiciel considéré comme service Introduction de J2EE et dotNET Les points communs Les divergences

Upload: others

Post on 26-Jun-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DotNET versus J2EEomar.aboukhaled.home.hefr.ch/appendices/13juin02_Omar.pdf · ication discussion J2EE vs.NET, les enjeux des serveurs d'applications DotNET versus J2EE les frères

1

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR1

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

J2EE vs .NET, les enjeux des serveurs d'applications

DotNETDotNET J2EEJ2EEversusversusles frles frèères ennemisres ennemis

Omar ABOU KHALED [email protected]

C2007026 429 65 89

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR2

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Introduction• Le contexte actuel:

– Intégration, Réutilisabilité, Intéropérabilité• Évolution au niveau commercial

– Relations: B2C, B2B, B2…• Évolution au niveau technologique

– Architectures• Client/serveur (2,3) approche distribuée• Programmation par composant

– Les Assembly pour dotNET– Les EJB pour J2EE

– Rôle de XML • Introduction des Web services

– Logiciel considéré comme service• Introduction de J2EE et dotNET

– Les points communs– Les divergences

Page 2: DotNET versus J2EEomar.aboukhaled.home.hefr.ch/appendices/13juin02_Omar.pdf · ication discussion J2EE vs.NET, les enjeux des serveurs d'applications DotNET versus J2EE les frères

2

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR3

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Les portails: une évolution naturelle…

Intranet

Employés

Internet

Commerceélectronique

Extranet

Fournisseurs

Clients

Distributeurs

Revendeurs

Prodigue un accès personnalisé à de l’information pertinente ainsi qu’àdes applications pour les employés, la clientèle, les distributeurs et revendeurs, et les fournisseurs de l’entreprise.(GARTNER)

Clients

Employés Fournisseurs

Distributeurs

portail portail

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR4

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Business Processes: une évolution naturelle…• Extension du « business processes » de l’intra-entreprise

vers l’inter-entreprise

• L’utilisation du principe (modèle) de “self-service” pour des agrégations de partenaires et de consommateurs.

Flight ReservationCruise Reservation

Car RentalHotel Reservation

Single IntegratedTravel Web Site

Restaurant Chain

Auto-order new supplies

Orders are sent todelivery company

Supply warehouse

Deliveries are made

Page 3: DotNET versus J2EEomar.aboukhaled.home.hefr.ch/appendices/13juin02_Omar.pdf · ication discussion J2EE vs.NET, les enjeux des serveurs d'applications DotNET versus J2EE les frères

3

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR5

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Business Processes: une évolution naturelle…• Focalisation sur le « core business » (les

compétences) et la sous-traitance pour le reste.

Home loanprocessing

Credit check

Outsource creditcheck function

Home loanapplicant

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR6

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Les portails: mise en place $ ?

Page 4: DotNET versus J2EEomar.aboukhaled.home.hefr.ch/appendices/13juin02_Omar.pdf · ication discussion J2EE vs.NET, les enjeux des serveurs d'applications DotNET versus J2EE les frères

4

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR7

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Constats !• Des besoins:

– Intégration– Réutilisation– Intéropérabilité

• Des résultats: – Arrivée des frameworks

• J2EE, • dotNet

– La naissance de Web services • SOAP + WSDL + UDDI

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR8

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

L’évolution des architectures• Modèle client serveur 2 tiers

– Mainframes– Terminaux de connexions

SGBDDonnées

Proc. stock.

Client

Application C/S

IHM Logiquemétier

Requêtes

Transactions

Connections

Serveur

SGBDDonnées

Proc. stock.

Client

Application C/S

IHM MiddlewareC/S

MiddlewareC/S

Logiquemétier

Requêtes

Transactions

Connections

ServeurSGBDR

Serveur

• Modèle client serveur 3 tiers– PCs autonomes

• CORBA (common objectrequest broker architecture)

• COM (component objectmodel)

– PCs en réseaux• IIOP (Internet Inter-ORB

Protocol)• DCOM (Distributed COM)• RMI (Remote Method

Invocation)

Page 5: DotNET versus J2EEomar.aboukhaled.home.hefr.ch/appendices/13juin02_Omar.pdf · ication discussion J2EE vs.NET, les enjeux des serveurs d'applications DotNET versus J2EE les frères

5

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR9

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

• Modèle distribué

L’évolution des architectures• Modèle du serveur

applicatif– Les problèmes de

CORBA/IIOP, DCOM, RMI:

• Complexité– Installation,

configuration, etc.• Communications

– Symétrie au niveau modèle objet distribué

• Sécurité– Faire communiquer

via» Les firewalls et

les proxys

SGBDDonnées

Proc. stock.

Client

Application C/S

IHM MiddlewareC/S

ServeurSGBDR

Serveur applicatif

Services techniques

Logiquemétier

Application 1

Application 2

container

jdbc jts version cycle vie

Composants Métiers

infrastructure

Logique métier

Service d'infrastructure de base

Gestion automatisée

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR10

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

L’évolution de la programmation

OO-ADAOO-COBOLJAVA

DCOM CORBA EJB dotNet

SOAP

GMLSGML

XMLHTML

XHTML

ODBMS

Object world

Component world Document world

FORTRANALGOL

BASIC

VISUAL BASIC

PASCAL

ADAC

COBOL

RDBMS

Programming worldCode-centric Data-centric

C++

WSDLWeb Services

UDDI

J2EE

Page 6: DotNET versus J2EEomar.aboukhaled.home.hefr.ch/appendices/13juin02_Omar.pdf · ication discussion J2EE vs.NET, les enjeux des serveurs d'applications DotNET versus J2EE les frères

6

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR11

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Évolution de la programmation"Programming in the large vs programming in the small"

• Motivations– Construction d’applications par assemblage d’entités existantes ( =

composants )– Définition de connecteurs et de schémas de connexions entre les

composants• définition d'une architecture logicielle

– Formalisme pour décrire les interactions entre composants– Formalisme pour décrire le déploiement des composants– Programmation à gros grain ("in the large")

• Programmation orientée composant– programmation par assemblage plutôt que par développement– focaliser l’expertise sur les problèmes "métiers" plutôt que

"techniques "– un autre pas vers "encore plus" de réutilisabilité

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR12

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Évolution de la programmation: les composants• Définition: module logiciel

– qui exporte différents attributs, propriétés et méthodes

– qui est prévu pour être configuré– qui est prévu pour être installé– qui fournit un mécanisme lui permettant de

«s'auto-décrire »• Caractérisation d'un composant

– fournit des services– utilise d'autres composants– possède des propriétés configurables– spécifie ses dépendances avec l'environnement

• en terme de système (OS, librairies, ...)• en terme de services (transaction, sécurité,

persistance, …)

composant

Propriétésconfigurables

Dépendanced’environnement

Servicesfournis

Connexionscomposants

Page 7: DotNET versus J2EEomar.aboukhaled.home.hefr.ch/appendices/13juin02_Omar.pdf · ication discussion J2EE vs.NET, les enjeux des serveurs d'applications DotNET versus J2EE les frères

7

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR13

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Les composants• Environnement d'exécution d'un

composant• Conteneur

– encapsulation d'un composant– prise en charge (masquage) des

services systèmes– prise en charge des connexions entre

composants– invocations et événements

• Serveur d'applications– structure d'accueil pour les

conteneurs– espace d'exécution– médiateur entre les conteneurs et le

système/middleware

ServeurServeurd’applicationd’application

Container

composant

serviceservice

service

ServeurServeurd’applicationd’application

Container

composant

service service

client

composant

Programmation par composant:•Les Assembly pour dotNET•Les EJB pour J2EE

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR14

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

XML: l’évolution des données

Gartner Group

“Legacy data should be left in place, with an XML-based mid-tier server translating

outgoing legacy data to XML format and translating incoming XML to legacy format.”

“XML technology, can help enterprises significantly reduce the costs involved in enterprise data

exchange, enabling them to implement efficient e-business processes.”

• Prédictions des analystes• By 2002*

– XML-based technology a $2.1 billion market– Will account for 25 % of all data

• XML tools products & services a 1.08 billion market in 2000 *• By year-end 2001, application processing of XML-defined data will be as

common as relational database transactions are today (0.8 probability)*– * source: CAP ventures & GARTNER Group

Page 8: DotNET versus J2EEomar.aboukhaled.home.hefr.ch/appendices/13juin02_Omar.pdf · ication discussion J2EE vs.NET, les enjeux des serveurs d'applications DotNET versus J2EE les frères

8

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR15

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

XML et l’intégration des applications

[Source: Gartner Group]

Travail spécifique80%

Infrastructure réutilisable 20%

sans XML

Infrastructure réutilisable

90%

Travail spécifique 10%

avec XML

“A typical enterprise will devote 35 - 40% of its programming budget to develop and maintain ‘extract and update’ programs whosepurpose is solely to transfer information between different databasesand legacy systems.”

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR16

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Où XML est il utilisé ?• Les éditeurs de logiciels B2B

– Utilise XML comme format d’échange entre applications• Les fournisseurs de middleware

– Utilise XML pour la configuration des applications• Les fournisseurs de bases de données

– Utilise XML pour le stockage • Native• Réplique depuis RDBMS

• Les fournisseurs de contenus– Utilise XML pour la publication multi supports

Page 9: DotNET versus J2EEomar.aboukhaled.home.hefr.ch/appendices/13juin02_Omar.pdf · ication discussion J2EE vs.NET, les enjeux des serveurs d'applications DotNET versus J2EE les frères

9

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR17

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Résumons la situation• Architectures

– Client/serveur– Applications Distribuées

• Programmation par composants– Assembly et EJB

• Rôle primordiale de XML au niveau:– Client – Middleware– Serveur

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR18

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Browse Browse the Webthe Web

Program Program the Webthe Web

Evolution vers les Web Services

TechnologyTechnology

Web ServicesWeb Services

XMLXML

ProgrammabilityProgrammability

HTMLHTML

Web PagesWeb Pages

PresentationPresentationStandardStandardFTP,FTP, EE--mail, Gopher

mail, Gopher

TTCCP/IPP/IP

ConnectivityConnectivityInnovationInnovation

Page 10: DotNET versus J2EEomar.aboukhaled.home.hefr.ch/appendices/13juin02_Omar.pdf · ication discussion J2EE vs.NET, les enjeux des serveurs d'applications DotNET versus J2EE les frères

10

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR19

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Evolution vers les Web ServicesInterface Definition

Function Accessibility

Interface Format

Messaging Protocol

Proprietary

Private, Static

Proprietary, binary

Private Networks

OPEN Standard

Public, Dynamic

OPEN Standard, text

Firewall Friendly

J2EE/ EJBCOM/ DCOMCORBA

WebServices

Web Web ServiceService

Web Web ServiceService

XMLXML

HTMLHTML

ClientClient

XMLXML

Web Web ServiceService

XMLXML

Web Web ServiceService

XMLXML

XML

XML

SOAPSOAP

SOAPSOAP

SOAPSOAP

SOAPSOAP

SOAP

SOAPComposants

programmable pour le Web

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR20

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Web Services – spécifications

MessagingWeb Services must be able to communicate

through corporate firewalls and overpublic networks

Service DescriptionWeb Services interface requirementsand functionality must be described

Registration and DiscoveryWeb services must be registered in

universally accessible directory

StandardProtocolsFunctionality

must beachievable

usingOPEN and

freelyavailablestandards

Page 11: DotNET versus J2EEomar.aboukhaled.home.hefr.ch/appendices/13juin02_Omar.pdf · ication discussion J2EE vs.NET, les enjeux des serveurs d'applications DotNET versus J2EE les frères

11

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR21

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Web Services – les technologies

MessagingSimple Object Access Protocol (SOAP)over any transport layer protocol such as

HTTP, SMTP

Service DescriptionWeb Services Definition Language

(WSDL)

Registration and DiscoveryUniversal Description, Discovery and

Integration Service (UDDI) StandardProtocols

UDDI,WSDL,SOAPUsesXML

schema

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR22

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

DiscoveryDiscovery

Let me talk to you (SOAP)Let me talk to you (SOAP)

Les protocoles des Web Services

How do we talk? (WSDL)How do we talk? (WSDL)Web Web

ServiceService

WebWebService Service

ConsumerConsumer

UDDIUDDI

Find a ServiceFind a Service

return service response (XML)return service response (XML)

http://yourservice.com/svc1

return service descriptions (XML)return service descriptions (XML)

http://yourservice.com/?WSDL

HTML with link to WSDLHTML with link to WSDL

http://yourservice.com

http://www.uddi.org

Link to discovery documentLink to discovery document

Page 12: DotNET versus J2EEomar.aboukhaled.home.hefr.ch/appendices/13juin02_Omar.pdf · ication discussion J2EE vs.NET, les enjeux des serveurs d'applications DotNET versus J2EE les frères

12

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR23

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Les deux frameworks leader• J2EE

– Commerciales • Oracle, HP, Borland, Websphere, Orion, etc.

– Les open sources• JBOSS, Tomcat, etc.

• dotNET– Commerciale

• Microsoft– Les open sources

• dotGNU, MONO, etc.

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR24

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Historique1975-1995.Sun Microsystems: Créé en 1982. « Le réseau est l’ordinateur ». Surtout une compagnie de

matériel (hardware) vendant des serveurs. Créateur du système d’exploitation SOLARIS, utilisé sur le matériel de Sun.

Microsoft: Conception de logiciel seulement. Fondé en 1975. Incorporé en 1981. MS-DOS 1.0 dans le premier IBM PC en 1981. 1985, Windows 1.0 voit le jour, suivi en 1990 de Windows 3.0 et en 1995 de Windows 95. Microsoft développe aussi des logiciels pour Macintosh.Une certaine compétition au niveau des systèmes d’exploitation au travers de IBM (Windows vs Solaris). Mais Microsoft est plus actif du coté des ordinateurs de bureau (desktop) tandis que Sun est plus actif du coté des serveurs.

Mai 1995: Une nouvelle plate-forme de programmation est lancée par Sun. Elle est portable et elle comprend Java, un langage orienté objet de haut niveau.

Mars 1996: Microsoft achète une licence Java de Sun pour pouvoir utiliser les Applets Java dans Internet Explorer et offrir des outils de développement pour Java (Visual J++).

Octobre 1997: Action en justice de Sun contre Microsoft pour bris de contrat: Sun estime que Microsoft n’a pas respecté la licence en développant une version de Java incompatible avec les spécifications de Sun. Microsoft continue de développer sa propre version de Java. Librairies, compilateur, machine virtuelle.

Novembre 1998: Sun obtient une injonction qui empêche MS de vendre tout produit Java incompatible avec ses spécifications.

Juin 1999: Sun annonce le lancement de J2EE. Un ensemble de standard permettant de créer des applications d’entreprise en n’utilisant que le langage Java.

Page 13: DotNET versus J2EEomar.aboukhaled.home.hefr.ch/appendices/13juin02_Omar.pdf · ication discussion J2EE vs.NET, les enjeux des serveurs d'applications DotNET versus J2EE les frères

13

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR25

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Historique (Suite…)Juin 2000: Microsoft annonce une très vaste initiative, .NET, une plate-forme pour créer des Web Services

basés sur XML. La plate-forme utilise entre autres un nouveau langage semblable à Java appelé C# (see-sharp).

Janvier 2001: Sun et Microsoft en arrivent à un arrangement sur Java. Sun obtient 20 millions. Microsoft ne peut plus développer de produits incompatibles avec les spécifications de Sun mais peut continuer àdistribuer les versions actuelles.

Juin 2001: Microsoft rend disponible la version BETA 2 de son .NET Framework SDK.Juillet 2001: Microsoft annonce que sa machine virtuelle pour Java ne sera pas distribuée avec son

nouveau système d’exploitation, Windows XP, ni dans Internet Explorer 6 (mais elle sera disponible par téléchargement sur le site de Microsoft).

Octobre 2001: Lancement de Windows XP. Cette nouvelle version de Windows est basée sur les technologies NT et 2000. Les deux branches de systèmes d’exploitation de Microsoft sont finalement unifiées par cette nouvelle version (95/98/Millenium par rapport à NT/2000).Windows XP ne contient pas le Framework .NET.

Décembre 2001: Sun se lance lui aussi dans les Web Services, en rendant disponible sur le web un ensemble de librairies Java et d’outils pour la création et l’utilisation de Web Services.

Janvier 2002: Le .NET Framework SDK version finale est disponible pour téléchargement sur le site webde Microsoft.

Février 2002: Microsoft lance Visual Studio .NET.Mars 2002: Nouvelle action en justice de Sun contre Microsoft. Environ 1 milliard de dollars est demandé,

l’inclusion de Java dans Windows XP et IE6, ainsi que la divulgation d’un ensemble d’API de Windows XP.

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR26

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Le Modèle J2EE

Page 14: DotNET versus J2EEomar.aboukhaled.home.hefr.ch/appendices/13juin02_Omar.pdf · ication discussion J2EE vs.NET, les enjeux des serveurs d'applications DotNET versus J2EE les frères

14

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR27

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Le Modèle .NET

Operating SystemOperating System

Common Language SpecificationCommon Language Specification

Common Language RuntimeCommon Language Runtime

ADO.NET: Data and XMLADO.NET: Data and XML

VBVB C++C++ C#C# Visual Studio.NET

Visual Studio.NET

ASP.NET: Web ServicesASP.NET: Web Servicesand Web Formsand Web Forms

JScriptJScript ……

WindowsWindowsFormsForms

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR28

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Le mécanisme J2EE Language-Dependent & Platform-Independent

Person.java Company.java

Java VMPersonbytecodes

Companybytecodes

Addressbytecodes

Dep

loy

Address.java

LinuxLinux WindowsWindows SolarisSolaris

Java VM Java VM Java VM

Dep

loy

Dep

loy

Page 15: DotNET versus J2EEomar.aboukhaled.home.hefr.ch/appendices/13juin02_Omar.pdf · ication discussion J2EE vs.NET, les enjeux des serveurs d'applications DotNET versus J2EE les frères

15

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR29

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Le mécanisme .NET Language-Independent & Platform Dependent

Person.vb Company.cbl

CLRPersonMSIL

CompanyMSIL

AddressMSIL

Dep

loy

WindowsWindows

CLR

Address.cs

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR30

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

J2EE: Modèle de programmation

Page 16: DotNET versus J2EEomar.aboukhaled.home.hefr.ch/appendices/13juin02_Omar.pdf · ication discussion J2EE vs.NET, les enjeux des serveurs d'applications DotNET versus J2EE les frères

16

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR31

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

.NET: Modèle de programmation

Windows 98/Me

NT/2000/XP

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)

.NET CLR .NET CLR .NET CLR

.NET Compact Framework Libraries

CLS/CTSCommon Language Runtime

JIT Compiler

Native Code

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR32

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Les librairies JavaJ2SE– Java 2 Standard EditionJ2EE– Java 2 Enterprise EditionJ2ME– Java 2 Micro Edition

J2SE1.0: 212 classes1.1: 504 classes1.2: 1781 classes1.3: 2130 classes1.4: 2738 classes

Page 17: DotNET versus J2EEomar.aboukhaled.home.hefr.ch/appendices/13juin02_Omar.pdf · ication discussion J2EE vs.NET, les enjeux des serveurs d'applications DotNET versus J2EE les frères

17

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR33

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

System

System.Data System.Xml

System.Web

GlobalizationDiagnosticsConfigurationCollections

ResourcesReflectionNetIO

ThreadingTextServiceProcessSecurity

DesignADO

SQLTypesSQL

XPathXSLT

RuntimeInteropServicesRemotingSerialization

Serialization

Configuration SessionStateCaching Security

ServicesDescriptionDiscoveryProtocols

UIHtmlControlsWebControls

System.Drawing

ImagingDrawing2D

TextPrinting

System.WinFormsDesign ComponentModel

Les librairies dotNET

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR34

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Client léger et multi-tiers XML avec J2EE &.NET

Client légerServeur

d’applicationsBase dedonnées

Navigateur Web+ Applet ContainerAssistant personnel

Container Web+ JSP (Java Server Pages)+ Servlet

Serveur deprésentation

Container EJBContainer Web+ Servlet

HTML/WML

XML/HTTP

RMI/IIOP

XML/HTTP

Client légerServeur

d’applicationsBase dedonnées

Navigateur Web + composants ActiveX(MSXML)Assistant personnel

Internet Information Server+ ASP (Active Server Pages)

Serveur deprésentation

MTS/COM+IIS/ASP

HTML/WML

XML/HTTP

DCOM

XML/HTTP

.NET J2EE

Présentation Tier

Business Tier

Database Tier

ASP .NET JSP/ Java Servlets

COM+Visual Studio .NET

EJBJava Language System

SQL ServerADO compatible DB JDBC compatible DB

Page 18: DotNET versus J2EEomar.aboukhaled.home.hefr.ch/appendices/13juin02_Omar.pdf · ication discussion J2EE vs.NET, les enjeux des serveurs d'applications DotNET versus J2EE les frères

18

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR35

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Similarités entre J2EE & .NET

JDBC 2.0ADO.NETAPI DB relationelle

JTSMS-DTCDistributed Transaction

JNDIADSINaming and Directory Service

Message Driven Beans (EJB 2.0)

Queued (COM+)Composants asynchronnes

JMS 1.0MSMQMessage Queue API

JAASCOM+ Security Call ContextAPI de sécurité

EJBCOM+Infrastructure

Servlets, JSPASP.NETModèle de programmation

RMI/IIOPDCOM, SOAPProtocole de distribution

J2EE.NETTechnologies

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR36

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Conclusion & Discussion• Stratégies de Sun

– Mettre rapidement Java sur les cellulaires et les gadgets électroniques

– Offrir rapidement un bon support pour les Web Services (ONE platform )

– Éviter la fragmentation de la plate-forme tout en rendant Java profitable.

• Stratégies de Microsoft– Stratégie axée sur les Web Services. Web Services pour les

gadgets électroniques dès la deuxième moitié de 2002.– Utiliser son avance coté desktop pour mieux se positionner dans

le marché des cellulaires et gadgets électroniques.– Architecture ouverte aux autres plate-formes mais support

principalement pour Windows.

Page 19: DotNET versus J2EEomar.aboukhaled.home.hefr.ch/appendices/13juin02_Omar.pdf · ication discussion J2EE vs.NET, les enjeux des serveurs d'applications DotNET versus J2EE les frères

19

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR37

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Références• Livres:

– Services Web avec SOAP, WSDL, UDDI, ebXML, etc. auteur: Jean-Marie Chauvet, Eyrolles, isbn: 2-212-11047-2

– Services Web XML professionnel, auteur: Patrick Cauldwell, al, WROX, isbn: 2-7440-9008-0

– Professional Java Web Services, auteur: Mack hendricks, al, WROX, isbn: 1-861003-75-7

– Professional Java SOAP, auteur: Henry Bequet, WROX, isbn: 1-861006-10-1

• Liens:– http://uddi.microsoft.com– http://xml.apache.org/dist/soap/– http://www.develop.com/soap/– http://www.ibm.com/services/uddi– http://www.ibm.com/services/uddi/testregistry– http://uddi.microsoft.com– http://test.uddi.mirosoft.com– http://www.w3.org/TR/SOAP– http://www.w3.org/TR/WSDL– http://www.uddi.org

Mob

ile In

form

atio

n Sy

stem

Lab

orat

ory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ryM

obile

Info

rmat

ion

Syst

emLa

bora

tory

Mob

ile In

form

atio

n Sy

stem

Labo

rato

ry

Omar AbouKhaled / copyright © MISL / EIA-FR38

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Act

ualit

é N

ews

Info

rmat

ion

Com

mun

icat

ion

disc

ussi

on a

ctua

lité

New

s In

form

atio

n C

omm

unic

atio

n di

scus

sion

Débat1. Réutilisation de l'existant / Support des "Legacy

Systems " 2. Front-End (e.g. ASP/WebForms et JSP/Swing/...)3. Environnement de développement 4. Sécurité et Authentification 5. Web Services et Interopérabilité