Vous êtes sur la page 1sur 70

.

NET, bilan et perspectives

Franois MERAND

Responsable groupe architectes


Division Dveloppeurs et Plate-forme dEntreprise
Microsoft France
fmerand@microsoft.com

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

Microsoft, Une Stratgie


Constante
Notre cur mtier est le dveloppement de logiciels
Nous pensons que le logiciel est un outils majeur pour la
performance des entreprises
Nous proposons de diminuer la complexit gnrique par le
logiciel
Linnovation est au centre de notre stratgie: 8+ Milliards
de dollars FY06
Nos logiciels visent le mass market

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

.NET : la 3

me

2
1
PC

Mode
Caractre

Interface
Graphique

Terminal

rvolution ! ?
.net

Navigation
web

De nouveaux concepts :

Informatique distribue au travers


dInternet
Exploitation de tous les moyens de
communication
Intgration des applications aux nouvea
devices
Le logiciel en tant que service

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

Des objectifs et Initiatives


Amliorer la productivit des dveloppeurs:
cls
.NET framework & VS.NET

.NET framework & VS.NET


Rduire la complexit, le cot de lintgration/Interoprabilit
XML et Services Web, utilisation des standards
Rduire la complexit dans la gestion du cycle de vie des
solutions:
DSI : Dynamic System Initiative
Acclrer ladoption des technologies:
Pattern & Practices, modlisation, MBF
Une plate-forme dentreprise intgre:
Windows Server System
Le poste de travail aux service des processus de lentreprise
Office System
Amliorer la confiance dans les solutions:
Trustworthy Computing
.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

.NET nest pas une plateforme de substitution !


La cohabitation vous permet de conserver et
enrichir lexistant du systme dinformation :
Cohabitation technique cest ce que lon appelle
linterop !
Cohabitation humaine : Concepteurs, dveloppeurs,
architectes

Pas de simplification htive darchitecture :


Non, .NET ne se rsume pas au poste client !
Non, J2EE nest pas la seule solution pour le back-office

Des freins ?
Oui, peut-tre dans les quipes dexploitation
.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

Systmes supports

Fonctions croissantes

Pocket PC

Tablet PC

Windows CE
Objets
personnels
Smartphone

.NET Compact Framework

Portable

.NET Framework

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

Le challenge
Systme dinformation
en production

Pressions
mtier,
politiques
et commerciales

Pressions
technologiques

ROI,
Economie connecte,
Collaborateurs nomades,
Fusions, acquisitions, syndications
Acclration de lconomie,
Scurit, respect vie prive,

Des comptences
mtiers,
des systmes
htrognes,
des savoir faire,
des postes clients,
des applications,

Nouveaux logiciels,
Nouveaux priphriques,
Nouvelles architectures,
Nouvelles technologies,
Disponibilit, scurit,
Diminution des cots,
Comptitions,
Comptences,

Valoriser le patrimoine. Se prparer aux pressions. Qualifier le risque


.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

Comment aborber ces pressions ?


Grce linteroprabilit
Multi-technologies et Multi-primtres !
E-Mail

Le mouvement
vers des
systmes de
plus en plus
communicants
reflte le besoin
des entreprises

PC

Web

Services Web XML

PC
POP3, IMAP

systme
HTML / HTTP

PC

Site Web

Connecter
les personnes
aux personnes

Connecter
les personnes
aux applications

XML / SOAP

systme

Connecter
les services aux services

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

Petits rappels
LeWSDL
serveur
dcrit
le
UDDI
peut
service
localiserweb
les
(Design time)
services
web
disponibles

XM
L

La norme WSDL permet


de dcrire un message
Son nom
Ses paramtres en
entre
Ses paramtres en sortie

WSDL

Re
qu
t
Votre socit
e
R
po
Web Service description
ns
Language
e

Tout service Web doit


disposer dune description
Serveur
WSDL
Accessible par URL
.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

UDDI
9

SOAP en action
Consommateur
SOAP Extensions

Donnes
structures

Cadre logistique

Ro
ut
ag

Tr
an
sa
ct
io
ns

Fi
ab
ilit

S
cu
r

it

<?xml version="1.0" encoding="UTF-8" ?>


<env:Envelope
xmlns:env="http://www.w3.org/2001/09/soa
p-envelope">
<env:Header>
<n:alertcontrol
xmlns:n="http://example.org/alertcontrol">
<n:priority>1</n:priority>
<n:expires>2001-06-22T14:00:0005:00</n:expires> </n:alertcontrol>
</env:Header>
<env:Body> <m:alert
xmlns:m="http://example.org/alert">
<m:msg>Pick up Mary at school at
2pm</m:msg> </m:alert>
</env:Body>
</env:Envelope>

SOAP Extensions

Fournisseur

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

10

SOAP Extensions
RETOUR
ALLER
RETOUR
ALLER
DESERIALIZE
(XML
SERIALIZE
XML)
DESERIALIZE
(XML
natif)
natif)
SERIALIZE(natif
(natif
XML)
Interception
(avant
et
aprs)
! !!!
Interception
(avant
et
aprs)
Interception(avant
(avant et
et aprs)
Interception
aprs)

Client
Client WS
WS

RETOUR
ALLER
RETOUR
ALLER
SERIALIZE
(natif

XML)
DESERIALIZE
SERIALIZE
(XML
(natif

XML)
DESERIALIZE
(XML
natif)
natif)

Interception
(avant
et
Interception
Interception
(avant
(avant
et
etaprs)
aprs)
!! !!
Interception
(avant
etaprs)
aprs)

Fournisseur
Fournisseur WS
WS

FlightInfo
serialize
serialize
deserialize
deserialize

<FlightInfo>
<FlightInfo>
<flightNo/>
<flightNo/>
<departTime/>
<departTime/>
<.../>
<.../>
</FlightInfo>
</FlightInfo>

FlightInfo
deserialize
deserialize
serialize
serialize

Utilise pour des fonctionnalits plus avances


Intercepte les appels destins un service Web
Prtraitement et post-traitement
.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

11

Web Services et .NET, simplicit de mise en


oeuvre
Client

.NET

Visual
Studio.NET
<s:element
name="GetAllFlights">

<s:element name="GetAllFlights">
<s:complexType>
<s:complexType>
<s:sequence>
<s:sequence>
[System.Web.Services.Protocols.SoapDocumentMet
<s:element minOccurs="1" maxOccurs="1"
[System.Web.Services.Protocols.SoapDocumentMet
<s:element minOccurs="1" maxOccurs="1"
hodAttribute(/*ommited*/)]
name="fromDate"
hodAttribute(/*ommited*/)]
name="fromDate"
type="s:dateTime"
/>
public dsFlights
GetAllFlights(System.DateTime
type="s:dateTime"
/>
public
dsFlights
GetAllFlights(System.DateTime
<s:element
minOccurs="1"
maxOccurs="1"
fromDate,
<s:element minOccurs="1" maxOccurs="1"
fromDate,
name="toDate"
System.DateTime toDate)
name="toDate"
System.DateTime
toDate)
type="s:dateTime"
/>
{ object[] results
= this.Invoke("GetAllFlights",
new
type="s:dateTime"
/>
{ object[]
results = this.Invoke("GetAllFlights",
new
</s:sequence>
object[]
</s:sequence>
</s:complexType>
object[]
</s:complexType>
{ fromDate,
</s:element>
{ fromDate,
</s:element>
toDate});

<%@ WebService Language=C#

[WebMethod]
public dsFlights GetAllFlights(
DateTime fromDate,
DateTime toDate)
{
...
}

toDate});

((dsFlights)(results[0]));
...return
return ((dsFlights)(results[0]));
}...

}
}<message name="GetAllFlightsSoapIn">
<message name="GetAllFlightsSoapIn">
}<part
name="parameters"
<part name="parameters"
element="s0:GetAllFlights" />
element="s0:GetAllFlights" />
</message>
</message>

Proxy

WSDL
SOAP

Class=Flights" %>

WSDL

<s:element name="GetAllFlights">
<s:complexType>
<s:sequence>
<s:element minOccurs="1" maxOccurs="1"
name="fromDate"
<s:element
type="s:dateTime"
name="GetAllFlights">
/>
<s:element
<s:complexT
minOccurs="1"
ype> maxOccurs="1"
name="toDate"
<s:sequence>
type="s:dateTime"
/>
<s:element minOccurs="1"
maxOccurs="1"
</s:sequence>
name="fromDate"
</s:complexTy pe>
type="s:dateTime" />
</s:element> <s:element minOccurs="1" maxOccurs="1"
name="toDate"
...
type="s:dateTime" />
</s:sequence>
<message name="GetAllFlightsSoapIn">
</s:complexType>
<part name="parameters"
</s:element>
element="s0:GetAllFlights" />
</message>...
<message name="GetAllFlightsSoapIn">
<part name="parameters"
element="s0:GetAllFlights" />
</message>

Code
crire
.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

12

Web Services, implmentation


Service
Faade

SOAP
WSDL

.NET

<%@ WebService
Language=VB" Class="
AddSvc " %>
.
.
.
.
.
.
.
.
End Class

Composant
mtier
namespace NameSpc {
// C#
Public Class Math_Impl {
Public int AddInt(int a,int b)
{
Return a + b;
}
}
}

Composants .NET / COM

MSMQ / MQSeries
BizTalk
HIS

Progiciels (SAP, SIEBEL, )

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

13

Les Web Services et la


ralit
Quavons nous
oubli ?

Votre socit

Securit

Fiabilit

Transactions

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

14

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

15

Un socle technologique
Modle
de dveloppement
Infrastructure
pour
Outils de
Applications Dveloppement
distribues

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

16

Un socle technologique
Modle
de dveloppement
Infrastructure
pour
Outils de
Applications Dveloppement
distribues

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

17

Un socle technologique

Infrastructure
pour
Applications
distribues

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

18

Innovation

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

19

Une Plate-forme
Introprable
Outils de
Management
tiers

Apps
Web
Services

390/AS400
Clients
Windows
RDBMS
Mobiles

VPN

LDAP

UNIX

Pare-feu
Macintosh

Infrastructure

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

Netware

20

Du composant au serveur
dapplication
Objets
mtiers

Client
webweb
Client

Objets
techniques
Donnes
Donnes
A
A
(DAL)

Objets
Serveurde
de
facades Serveur
composants
composants
Serveur
de
ClientClient Workflow
Application
mono-poste
composants

EXE
Client
Client
richeriche
EXE
DLL
EXE

DLL

Objets
mtiers
DLL
DLL

Donnes
Serveur

Objets
techniques
(DAL)
Donnes
Donnes
B
Donnes
B
Donnes
DLL

Services de
Services de coopration
coopration

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

21

Rle du Serveur
En phase de dveloppement
dApplication
Mettre disposition un cadre de dveloppement pour
concevoir des applications avec une architecture en
couches:
Modle de programmation
Services applicatifs
Outils de dveloppement

Favoriser la rutilisation: des comptences, du code, de


lexistant (interoprabilit)

En phase dexploitation
Faciliter le dploiement dapplications distribues sur
diffrentes topologies
Garantir la qualit de services
Fiabilit
Scurit
Evolutivit (monte en charge)

Simplifier ladministration et la maintenance


Monitoring
Gestion.NET,
des
bilanversions
et perspective Univ-Bordeaux - vendredi 18 novembre 2005

22

Services Mtier:
composants

Enterprise Services : COM+ 1.0


Gestion automatise des transactions
Compensating Ressource Managers
(CRM)
Just-in-time Activation (JIT)
Loosely Coupled Events (LCE)
Object Construction String
Object Pooling
Queued Components
Scurit fonde sur les rles
.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

23

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

24

Pensez MSMQ !

Le
Leconsommateur
consommateurappelle
appelle
un
composant
ou
un composant ouun
un
service
service

MessageQueue
MessageQueue

Queue Server Boundary


Le
Lefournisseur
fournisseurtrate
trateles
lesrequtes
requtesen
en
mode
asynchrone
mode asynchrone

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

25

Les applications parlent aux applications et


a fait du bruit !
Application A
AB

Application B

AC

AB
BC

AD

Application C
AC
BC
CD

Application D
AD
CD

Application E
Application F

Solution 1

Protocole A

Solution 2

Protocole B

Solution 3

Protocole C

Solution 4
Solution 5

Supervision ? Administration ? Fiabilit? Transaction ? Etc


.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

26

Web Services XML : les applications


interoprent mais
Application A
Application B

Web Service

Web Service

Application E
Application C

Web Service

Web Service

Application D
Application F

Web Service

Web Service

Supervision ? Administration ? Fiabilit? Transaction ? Etc


.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

SOAP

27

Les ilots applicatifs changent et


collaborent

Application A
Application B
Application C
Application Adapter

Technology Adapter

Business
Process

Services de rception des messages

HTTP
HTTP

SMTP
SMTP

MSMQ
MSMQ

MQSeries
MQSeries

File
File

Web
Web
Service
Service

Une architecture couplage faible (lots fonctionnels et techniques


Services de routage
Les ilts applicatifs communiquent via des messages (xml)
Route
Contenu
Publish/Subscribe
Route dclarative
dclarative
Contenu
Publish/Subscribe
Valorisation
de lexistant
Socle technologique
bus de messages (HUB)
Services de=
transformation
Centralisation
etEDI
standardisation
des
mcanismes de :
Custom
XML
Flat
Custom
XML
EDI
Flat
scurit, performance, monte en charge, disponibilit, transactio

Bus de messages
Services de livraison

Application Adapter

Application D

Application E

Application F

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

28

SOA : Dfinition & Concepts

Une architecture oriente services est un modle applicatif bas sur une
agrgation de services autonomes interconnects via un couplage lche.

Un Service est
Autonome

Un Service expose un
Contrat
in

<Conditions
Gnrales
de Vente/>

out

Lesservices
services
communiquentpar
parmessages
messages
Les
communiquent
Les Frontires
entre
services sont
Explicites
<Rglement
Intrieur/>
Un<Rglement
ServiceIntrieur/>
impose des
<Vosdroits/>
droits/>
<Vos
Rgles<Vos
dedevoirs/>
<Vos devoirs/>
fonctionnement

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

29

SOA : Evolution
Depuis

Vers

Orient
fonctionnalits
Conu pour durer
Cycle de
dveloppement long

Orient processus
Conu pour changer
Dveloppement et
dploiement interactif

Silos applicatifs
Couplage fort
Orient Objet

Orchestration de
Services
Couplage faible
Orient message

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

30

Un socle technologique
Modle
de dveloppement

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

31

Le FrameWork .NET : interoprabilit !


.NET Framework
Appli
Browser
Windows
Forms

Appli
Services Web
COM+
Services

ASP.NET

Appli
Locale

Autres
Applis

ADO.NET

Autres

Base Class Library


Common Language Runtime
OS Microsoft
.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

32

Au coeur du FrameWork .NET


Fond sur les standards
VB

C++

C#

J#

XML Web
services

Web Forms
Windows Forms

Donnes et XML
Framework Class Library
CLR
CLI

Spcification
ouvertes

Visual Studio .NET

Common Language Specification

Soumis
lECMA

Bas XML,
SOAP

Accs aux
donnes bas XML

Soumis
l ECMA

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

33

Un peu de rangement
System.Windows.Forms

System.Web
Services
Description
Discovery
Protocols

UI
HtmlControls
WebControls

Caching
Configuration

Security
SessionState

Design

ComponentModel

System.Drawing
Drawing2D
Imaging

System.Xml

System.Data
ADO
Design

Printing
Text

XSLT
XPath

SQL
SQLTypes

Serialization

System
Collections
Configuration
Diagnostics
Globalization

IO
Net
Reflection
Resources

Security
ServiceProcess
Text
Threading

Runtime
InteropServices
Remoting
Serialization

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

34

Dvelopper
DEVELOPPEMENT
publi c st at ic void Main( Str i ng[ ] ar gs )
{ Str ing usr ; Fi leSt ream f ; St r eamWr it er w;
tr y {
usr =Envir onment .GetEnvi r onment Var iable("USERNAME") ;
f=new FileSt r eam( C:\\ test .t xt ", Fil eM ode.Cr eate);
w=new Str eamWr
publi citst
er(
at
f );
ic void Main( Str i ng[ ] ar gs )
w.Wr i teLi ne(usr)
{ Str ;ing usr ; Fi leSt ream f ; St r eamWr it er w;
w.Close( );
tr y {
} cat ch ( Except ion
usr e){
=Envir onment .GetEnvi r onment Var iable("USERNAME") ;
Console.Wri teLi
f=new
ne( "Except
FileStion:
r eam(
"+e.ToSt
C:\\ test
r ing(
.t xt
))",
; Fil eM ode.Cr eate);
w=new Str eamWr it er( f );
}
w.Wr i teLi ne(usr) ;
}
w.Close( );
} cat ch ( Except ion e){
Console.Wri teLi ne( "Except ion: "+e.ToSt r ing( )) ;
}
}

Source code

Compiler

Assembly

C#
J#
VB
Cobol

MSIL
Metadata
Resources

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

35

Dployer
DEVELOPPEMENT
DEVELOPMENT
publi c st at ic void Main( Str i ng[ ] ar gs )
{ Str ing usr ; Fi leSt ream f ; St r eamWr it er w;
tr y {
usr =Envir onment .GetEnvi r onment Var iable("USERNAME") ;
f=new FileSt r eam( C:\\ test .t xt ", Fil eM ode.Cr eate);
w=new Str eamWr
publi citst
er(
at
f );
ic void Main( Str i ng[ ] ar gs )
w.Wr i teLi ne(usr)
{ Str ;ing usr ; Fi leSt ream f ; St r eamWr it er w;
w.Close( );
tr y {
} cat ch ( Except ion
usr e){
=Envir onment .GetEnvi r onment Var iable("USERNAME") ;
Console.Wri teLi
f=new
ne( "Except
FileStion:
r eam(
"+e.ToSt
C:\\ test
r ing(
.t xt
))",
; Fil eM ode.Cr eate);
w=new Str eamWr it er( f );
}
w.Wr i teLi ne(usr) ;
}
w.Close( );
} cat ch ( Except ion e){
Console.Wri teLi ne( "Except ion: "+e.ToSt r ing( )) ;
}
}

Assembly

Source code

DEPLOIEMENT

Compiler

Install Assembly

C#
J#
VB
Cobol

MSIL
Setup
Copy Metadata
BrowserResources

Global
Assembly
Cache (GAC)
Application
Directory

Download
Cache

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

36

DEVELOPMENT

Excuter

DEPLOIEMENT

Install

Assembly

Native .exe
+ GC table

<?xml ver sion="1.0" encoding=" ut f- 8" ?>


<conf igur at i on>
<mscor li b>
<secur it y>
<poli cy>
<Poli cyLevel ver si on="1">
<CodeGr oup cl ass="Uni onCodeGr oup"
ver sion="1"
Per mi ssi onSet Name="Not hing"
Name="All_Code"
Descr ipt i on="Code gr oup
gr ant s no per missio
ns and f or ms t he r oot of t he code gr oup t r ee.">
<I Member shipCondit ion cl as
s="Al lMember shi pCondi t ion"
ver si on="1"/>
<CodeGr oup cl ass="Uni onCodeGr oup"
version="1"
Per missi onSetN ame="Ful lTr ust "

Setup
Copy
Browser

EXECUTION
IL to Native
Compiler

Assembly
Global
on Target Policy
Assembly
Machine
Cache
(GAC)

Class
Loader

Code
Manager

Debug Engine

Application
Directory
Security

Assembly
Loader
Download
Cache
Garbage Collection
Exception Manager
Thread Support
COM Interop

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

37

Accs aux donnes : ADO.NET


Unification de XML et des Donnes
Contrles,
Designers,
gnrateurs
de code, etc

XSL/T, X-Path,
Validation, etc

DataSet
Sync

DataAdapter

DataReader

Commande
Connexion
Fournisseur manag

XMLDataDocument

XMLReader
XMLText- XMLNodeReader
Reader

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

38

ADO.NET
Cache de donnes

Web Form
IExplore

XML
Windows Form
App.Exe

Data Access Object


DataAdapters

Data Tier

DataSet

Business Tier

Presentation
Tier

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

39

ASP.NET : Contenu//Code
Sparation du code et du contenu
Les dveloppeurs et les designers
peuvent travailler indpendamment

ASP

ASP .NET

Un seul fichier

code
<tags>

Fichiers spars

<tags>

Form1.asp

code

Form1.aspx Form1.vb

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

40

ASP.NET
Serveur Web Puissant et Extensible
Config.xml
Dploiement xcopy
Scurit (passport, NT, custom)
Extensibilit Applications Web: Web Forms
Avec nimporte quel langage .Net
Prsentation (HTML) et code (VB, C# ) spars
Gestion dtat automatique
Contrles riches (databinding, adaptation au browser)
Fonctions de contrle dclaratives
Pages compiles et non plus interprtes
Fonctions de cache avances
Gestion dtat souple

Services Web
Aucune ncessit de manipuler XML / SOAP

Support de Visual studio


Web Form designer, IntelliSense pour HTML, XML
.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

41

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

42

Au final : Unifier les modles de


programmation
API cohrente quelque soit le langage ou le type dapplication
.NET Framework
RAD,
Composition,
Delegation

Subclassing,
Power,
Expressiveness

VB Forms

MFC/ATL

Stateless,
Code embedded
in HTML pages

ASP

Windows API
.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

43

Disponibilit de .NET
Le framework .NET est disponible
pour les OS
Windows NT, 98, Me, XP, 2000, 2003
Windows XP Embedded
Windows CE

Mais le framework .NET peut aussi


fonctionner sans OS !
Smart Personal Object Technology
(SPOT)
.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

44

2005 : Ajouts et
amliorations

A tous les tages


Syntaxes &
Compilateurs

Industrialisez vos dveloppements

Code mieux structur


Code partag
Plus de productivit
Nouvelle version
SQLServer

IDE VS2005

Windows Form

ASP.NET v2

Un seul outil de dev

ADO.NET 2.0

Framework

Puissance & Souplesse


largir le Framework

BCL

SQL Server
2005

CLR 2.0

Performances
Scurit

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

45

Un socle technologique

Outils de
Dveloppement

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

46

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

47

Passer lre de lindustrialisation : une


utopie
? des projets : encore et toujours la mme histoire
Echecs
Spcifications incompltes, mauvaise gestion des besoins
Manque de communication, information dissmine
Manque de ractivit face aux changements
Outils trop complexes (chers)
Pas de gestion du risque
Ce qui ne marche pas
La mthode pour la mthode
La mthode sans outils et les outils sans mthode
Les mthodes et les outils sans les hommes
Toujours au mme point 30 ans aprs
30 ans, cest court pour industrialiser
Le facteur humain
Lartisanal, cest pas si mal !

Maintenant il va falloir russir


Lalignement de lIT sur les exigences business
Mondialisation, pression plus forte, nature des projets
.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

48

Cycle de vie des applications Dfinition des besoins, conception,


SDLC

dveloppement, tests et dploiement. On


boucle Cest bien a ?
La mthode en support du cycle
Unified Process
Les mthodes agiles (extreme programming)
CMMI : un rfrentiel de bonnes pratiques

La software factory, support de


lindustrialisation
Combiner mthodes et outils au services des projets et
des hommes
Automatiser le processus sur lensemble du cycle de vie
Sadapter au rle de chacun
Fournir un workflow adaptable
Piloter avec des tableaux de bord
Le rle cl du rfrentiel
.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

49

Comment Microsoft sest attaqu au


problme : outiller les processus, prendre
en compte les besoins concrets de
Industrialisation
pragmatique
chaque
acteur.
Dmocratiser
Amliorer la productivit
Rduire le complexit
Automatiser les tches faible valeur ajoute
Mise en uvre de la SF par tapes

Ne pas enfermer lutilisateur dans une


mthode : 2 socles mthodologiques
MSF for agile Software Development
MSF for CMMI Process Improvment
Implmenter sa propre mthode

Approche UML/UP vs DSL (Domain Specific


Language)
.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

50

Visual Studio

Visual Studio

Visual Studio

Team Architect

Team Developer

Team Test

Application Modeling

Dynamic Code Analyzer

Load Testing

Logical Infra. Modeling

Static Code Analyzer

Manual Testing

Deployment Modeling

Code Profiler

Test Case Management

Visual Studio Industry Partners

Process and Architecture Guidance

Visual Studio Team


System
Unit Testing
Code Coverage
Class Modeling
Visio and UML Modeling
Team Foundation Client
VS Pro

Visual Studio

Team Foundation

Change Management

Reporting

Integration Services

Work Item Tracking

Project Site

Project Management

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

51

Visual Studio Team Foundation


Plate-forme collaborative intgre pour la gestion
de projet informatique

Suivie des units


de travail (Work
Item)

Gestion des
sources

Rapports
Automatisation
de la
construction

Pilotage et
communication de
lquipe

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

52

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

53

Guides darchitecture
Configuration
management

Rich Client

DNA Interop
Instrumentation

UI Components
Web Client

UI Process Components
User Interface Process

Data
Exchange
&
Business
Format
Workflows

Exception Mgmt
Caching

Service Interfaces
Improve
Dist App Perf
Business
Business Entities
Components
Service
Data Aggregation
& Caching

DataAccess
Access Components
Data

Data
Sources

Security

Application updater

Operational Management

Users

Communication

End-to-end Application & Service Design

User Interface Process

Persistent
J2EE
Service Agents
Asynch
Interop
Invocation

Authentication
Secure ASP.NET
Application AuthZ
Configuration
Logging

Services

: Achevs
D: En cours

Team Dev

Debugging
Profiling
Deployment
Development
Lifecycle

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

.NET Ops
54

Application Blocks for .NET


Au del du sample code

Code rutilisable C# et VB.NET


Document + quick start

Meilleures pratiques
Revu et test: scurit, performance.
Approbation des groupes produits
Cohrent dans lapproche et la smantiques avec des
apis futures
Feedback sur les PAG influencent le design des produits.

Support
Implication de PSS

Communaut GotDotNet pour chaque


block
Une communaut GotDotNet pour chaque block
Diffusion .NET,
desbilanbtas
et perspective Univ-Bordeaux - vendredi 18 novembre 2005

55

Enterprise Library
version 1

Exception
Handling

Caching

Security

Data
Access

Logging &
Instrumentation

Crypto

Config
Tooling

Config
Run-Time

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

56

Le concept Enterprise
Une librairie dlments logiciels rutilisables
Library
pour grer les problmes de base du
dveloppement
Un modle cohrent

Principes de design et dimplmentation,


configuration, documentation, tests, outill, des
exemples, des pre-requis dexploitation, procdures d
installation

Extensible
Extention des applications blocks, design et
documentation, test unitaires inclus, guide de cration
de nouveaux blocks

simple et intgr
v1 en partenariat avec Avanade, (retour
dexprience ACA.NET)
Un guide, pas un produit ! (pas de support)
En constante
volution
.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

57

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

58

Vista ?
Le prochain OS Microsoft
Un version MAJEURE, aprs Win32 et
.NET :
Code manag
Nouveau systme de stockage (WinFS)
Technologie Natural UI
Le 1er OS trustworthy computing
Une nouvelle faon dcrire les applications

Un haut niveau dabstraction :


Un unique modle de dveloppement
De multiples scnarios de dploiement
Entirement
objet !
.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

59

Les fondamentaux de Vista


Performance

Dploiement

Infrastructure de composants
Outils de dploiement
Intgration des applications et de
limage du systme
Infrastructure de migration

Gestion du cycle de vie


des Applications
ClickOnce
Paramtrage de linfrastructure et
infrastructure de gestion de la
configuration
Instrumentation et Surveillance
Feedback et rapports derreur

SuperFetch
Ordonnancement
CPU et E/S glitchfree

Fiabilit
Diagnostics disque dur et mmoire
Amlioration des drivers
Installation et mise jour de logiciels
sans redmarrage
Gestion des impacts sur les
applications (StrongBox)

Scurit et Respect de la Vie Prive


Dmarrer sans risque
Sexcuter sans risque
Demeurer sans risque
Communiquer sans risque

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

60

Context
Windows Vista
WinFX, the
managed APIs for
Windows Vista
Win32, the
unmanaged APIs
for Windows

Down-level
Windows XP &
Windows Server
2003
.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

62

WinFX et le framework.NET
Application

WinFX
WPF

WinFS

WCF

ASP. ADO. Windows


NET NET
Forms

.NET Framework Class Library

Win16
Win32
COM

Common Language Runtime


VISTA

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

63

Unified workflow for applications


Integrates both system and human
workflow
Natural extension to .NET Framework

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

64

Acrylic
Graphics Designer

Sparkle
Quartz
Interactive
Web Designer
.NET, bilan et perspective
Univ-Bordeaux - vendredi 18 novembre 2005
65
Designer

Web client framework for


AJAX-style web
development
Runs on any DHTML
compatible browser on any
platform with no client install
requirement
Deeply integrated with
ASP.NET 2.0 and Visual
Studio 2005
Enables rich web
experiences without the pain
of traditional client script
.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005
development

66

Et aussi
Visual Studio Tools for Applications (VSTA)
Linq (C# 3.0)
WinFS
IIS7
IE 7
Longhorn Server
Biztalk 2006
Host Integration Server 2006
Office 12 / Office Server / SharePoint
Exchange 12 / WM 5.0
Communicator
Mendocino
PLK ;-)
XBOX 360 / Live
.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

67

La rponse est oui.


Mais quelle tait la question ?
.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

68

Infos en ligne
http://www.microsoft.com/net
http://www.microsoft.com/france
http://www.dotnet-fr.org/
http://communities.microsoft.com/ne
wsgroups/default.asp?icp=France_msd
n&slcid=fr-fr
Microsoft.public.fr.dotnet.*
http://www.thedotnetmag.com/
http://www.aspnetpro.com/
.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

69

2005 Microsoft Corporation. All rights reserved.


This presentation is for informational purposes only. Microsoft makes no
warranties, express or implied, in this summary.

.NET, bilan et perspective Univ-Bordeaux - vendredi 18 novembre 2005

70