Forum architectes, Microsoft France – jeudi 19 octobre 2006 1 Infrastructure SOA Microsoft WCF –...
-
Upload
roland-sicard -
Category
Documents
-
view
107 -
download
0
Transcript of Forum architectes, Microsoft France – jeudi 19 octobre 2006 1 Infrastructure SOA Microsoft WCF –...
Forum architectes, Microsoft France – jeudi 19 octobre 2006 11
Infrastructure SOA MicrosoftWCF – Windows Communication Foundation
Infrastructure SOA MicrosoftWCF – Windows Communication Foundation
François MERANDResponsable groupe architectes
DPE – Division Plate-forme & EcosystèmeMicrosoft FRANCE
[email protected] - +33 6 64 40 44 66
François MERANDResponsable groupe architectes
DPE – Division Plate-forme & EcosystèmeMicrosoft FRANCE
[email protected] - +33 6 64 40 44 66
Forum architectes, Microsoft France – jeudi 19 octobre 2006 22
Web ApplicationPlate-forme
Mashup, Cardspace, IIS7
Software as a Service
« Catching the long trail »
Infrastructure SOAPrésentation WCFMonitoring WCF
Gouvernance
SessionPartenaires
Commerciaux
Archit’eXpresso
David Chappel & SOA DécryptéA
gen
da
11h15
12h4513h45
15h3015h45
17h30
SOA Real WorldBuilding an ESB
BizTalk ServerR2 & vNext
BizTalk in action
Forum architectes, Microsoft France – jeudi 19 octobre 2006 33
La SOA MicrosoftLa SOA Microsoft
Référentiel
Gestion des
opérations
Données Legacy Applications Progiciels Partenaires
Identité & Sécurité
Informatique étendueWeb
OfficeWindows
Forum architectes, Microsoft France – jeudi 19 octobre 2006 44
L’infrastructure SOA MicrosoftL’infrastructure SOA Microsoft
Référentiel Gestion des
opérations
Identité & Sécurité
WorkflowCommunication & messages
WS-*, RESTSOAP, RSSTCP/IP
WCFAdaptateurs BiztalkSSBMSMQ
BPELBPMN
WFBiztalkSharepoint
WS-Security LDAP, X509Kerberos
ADMIISCardspace
UDDIMDMDSI/SML
UDDI ServicesSystinet
WSMan WBEM
WinRMWMISystem CenterAmberpoint
SQL Server, Biztalk Server, Sharepoint ServerWindows, Windows Server, WPAS, IIS, .Net, ASP.Net,
Forum architectes, Microsoft France – jeudi 19 octobre 2006 55
WCF en détail
Démonstration WCF
Stratégie de monitoring applicatif
Monitoring en environnement WCF
Service Software Factory
Gouvernance
WCF en détail
Démonstration WCF
Stratégie de monitoring applicatif
Monitoring en environnement WCF
Service Software Factory
Gouvernance
Forum architectes, Microsoft France – jeudi 19 octobre 2006 66
PolymorphismePolymorphismeEncapsulationEncapsulationClasses & héritageClasses & héritage
Basée sur les Basée sur les messagemessageSchema & ContratSchema & ContratLiaisons via des Liaisons via des règlesrègles
19801980
20002000
Basée sur les interfacesBasée sur les interfacesChargement dynamiqueChargement dynamiqueNotion de métadonnéesNotion de métadonnées
19901990
Orienté objetOrienté objet
Orientation ServiceOrientation Service
Orientation composantOrientation composant
Forum architectes, Microsoft France – jeudi 19 octobre 2006 77
S : La notion de serviceUn point d’accès qui réagit à un messageS : La notion de serviceUn point d’accès qui réagit à un message
O : On prend un peu de recul avec l’orientation serviceUn paradigme d’architecture qui s’appuis sur des piliers
O : On prend un peu de recul avec l’orientation serviceUn paradigme d’architecture qui s’appuis sur des piliers
En plus il nous faut un socle technologique robuste et évolutif pour la mise en œuvre
En plus il nous faut un socle technologique robuste et évolutif pour la mise en œuvre
A : On capitalise sur une architecture orientée serviceToute architecture qui adhère aux piliers de l’orientation service
A : On capitalise sur une architecture orientée serviceToute architecture qui adhère aux piliers de l’orientation service
Forum architectes, Microsoft France – jeudi 19 octobre 2006 88
Les services sont autonomesLes services sont autonomes
Les frontières sont explicitesLes frontières sont explicites
La compatibilité des services repose sur des règles (politiques)
La compatibilité des services repose sur des règles (politiques)
Les services partagent des schémas et contratsLes services partagent des schémas et contrats
Communication par messagesCommunication par messages
Forum architectes, Microsoft France – jeudi 19 octobre 2006 99
Autonomie ≠ IndépendenceAutonomie ≠ Indépendence
La topologie d’un système évolue dans le tempsLa topologie d’un système évolue dans le temps
A la différence de l’orientation objet, les services ne A la différence de l’orientation objet, les services ne partagent pas de comportementpartagent pas de comportement
Les services savent gérer les “pannes”Les services savent gérer les “pannes”
Autonomie ≠ IndépendenceAutonomie ≠ Indépendence
La topologie d’un système évolue dans le tempsLa topologie d’un système évolue dans le temps
A la différence de l’orientation objet, les services ne A la différence de l’orientation objet, les services ne partagent pas de comportementpartagent pas de comportement
Les services savent gérer les “pannes”Les services savent gérer les “pannes”
1 : Les services sont autonomes1 : Les services sont autonomes
Forum architectes, Microsoft France – jeudi 19 octobre 2006 1010
Les services interagissent en échangeant des messagesLes services interagissent en échangeant des messages
Tout message échangé doit traverser des “frontières” et Tout message échangé doit traverser des “frontières” et
cela a un coûtcela a un coût
L’orientation service formalise des interactions explicites et L’orientation service formalise des interactions explicites et
intentionnellesintentionnelles
Les services interagissent en échangeant des messagesLes services interagissent en échangeant des messages
Tout message échangé doit traverser des “frontières” et Tout message échangé doit traverser des “frontières” et
cela a un coûtcela a un coût
L’orientation service formalise des interactions explicites et L’orientation service formalise des interactions explicites et
intentionnellesintentionnelles
2 : Les frontières sont explicites2 : Les frontières sont explicites
Forum architectes, Microsoft France – jeudi 19 octobre 2006 1111
Les services exposent des schémas Les services exposent des schémas définissant les structures de données et des définissant les structures de données et des contrats exposant les opérations disponiblescontrats exposant les opérations disponibles
Contrats et schéma peuvent évoluer Contrats et schéma peuvent évoluer (versions) indépendamment dans le temps(versions) indépendamment dans le temps
Les services exposent des schémas Les services exposent des schémas définissant les structures de données et des définissant les structures de données et des contrats exposant les opérations disponiblescontrats exposant les opérations disponibles
Contrats et schéma peuvent évoluer Contrats et schéma peuvent évoluer (versions) indépendamment dans le temps(versions) indépendamment dans le temps
3 : Les services partagent des schémas et contrats3 : Les services partagent des schémas et contrats
Forum architectes, Microsoft France – jeudi 19 octobre 2006 1212
Une règle contient les prérequis de communication Une règle contient les prérequis de communication
nécessaires aux interactions entre les servicesnécessaires aux interactions entre les services
Les “capacités” et les “besoins” des services sont Les “capacités” et les “besoins” des services sont
exposés de façons explicites et normalisées (à la exposés de façons explicites et normalisées (à la
différence des objets/classes)différence des objets/classes)
Une règle peut contenir plusieurs assertionsUne règle peut contenir plusieurs assertions
Une règle contient les prérequis de communication Une règle contient les prérequis de communication
nécessaires aux interactions entre les servicesnécessaires aux interactions entre les services
Les “capacités” et les “besoins” des services sont Les “capacités” et les “besoins” des services sont
exposés de façons explicites et normalisées (à la exposés de façons explicites et normalisées (à la
différence des objets/classes)différence des objets/classes)
Une règle peut contenir plusieurs assertionsUne règle peut contenir plusieurs assertions
4 : La compatibilité des services repose sur des règles (politiques)
4 : La compatibilité des services repose sur des règles (politiques)
© 2005 Microsoft Corporation
Forum architectes, Microsoft France – jeudi 19 octobre 2006 1414
SOA : "je ne veux plus entendre parler de WS-*"
Interview de Didier GIRARD, www.application-servers.com
Disponible sur :
Au-delà du message de l’interopérabilité la complexité de mise en œuvre des standards WS-* risque de pénaliser les implémentations SOA des éditeurs si on ne simplifie (masque) pas l’utilisation des ces protocoles complexes dans le processus de développement…
C’est là que le socle Framework 3.0 et surtout WCF (Windows Communication Foundation) interviennent !
Forum architectes, Microsoft France – jeudi 19 octobre 2006 151515
WPFWCFWFATLAS…
WPFWCFWFATLAS…
Forum architectes, Microsoft France – jeudi 19 octobre 2006 1616
Unification des technologies middlewareArchitecture modulaire et composable
“Framework unifié pour créer des applications orientées services sur la plate-forme Windows”
“Framework unifié pour créer des applications orientées services sur la plate-forme Windows”
Interopérabilité avec les autres plateformesInteropérabilité avec les technologies courantesSupport natif des protocoles WS-*
Modèle de programmation orienté serviceService exposé par un contratService imposant des règles de fonctionnement
Forum architectes, Microsoft France – jeudi 19 octobre 2006 1717
Interopérabilité Interopérabilité avec d’autresavec d’autresplateformesplateformes
ASMXASMX
TransactionTransactionPerformancePerformance
Enterprise Enterprise ServicesServices
Protocoles Protocoles WS-*WS-*
WSEWSE
Programmation Programmation orientée Messageorientée Message
System.MessagingSystem.Messaging
ExtensibilitéExtensibilitéMode binaire Mode binaire
.NET .NET RemotingRemoting
Forum architectes, Microsoft France – jeudi 19 octobre 2006 1818
CentraliséeCentralisée DécentraliséDécentraliséee
DistribuéeDistribuée
Forum architectes, Microsoft France – jeudi 19 octobre 2006 1919
Evolve and Extend
Secure, Reliable, Transacted
Fundamentals
20032000 2001 2002 2004 2005
WS-ReliableMessagingWS-ReliableMessaging
Relia
bility
Relia
bility
WS-I formedWS-I formed
Inte
rop
éra
bilité
Inte
rop
éra
bilité
WS-I BP 1.0WS-I BP 1.0
Security RoadmapSecurity Roadmap
Wh
itep
ap
ers
Wh
itep
ap
ers
Reliable Messaging RoadmapReliable Messaging RoadmapSRT Web Services WhitepaperSRT Web Services Whitepaper
WS-SecurityWS-Security
WS-TrustWS-Trust
Secu
rityS
ecu
rity
WS-Security AddendumWS-Security Profile for Tokens
WS-Security AddendumWS-Security Profile for Tokens
WS-FederationWS-Federation Active Requestor Profile
WS-FederationWS-Federation Active Requestor Profile
WS-Security SOAP Message SecurityWS-Security Username Token ProfileWS-Security X.509 Certificate Token Profile
WS-Security SOAP Message SecurityWS-Security Username Token ProfileWS-Security X.509 Certificate Token Profile
WS-Security Kerberos BindingWS-Security Kerberos Binding
WS-CoordinationWS-Transaction
WS-CoordinationWS-Transaction
Tra
nsa
ction
sTra
nsa
ction
s
WS-AtomicTransactionWS-AtomicTransaction
WS-BusinessActivityWS-BusinessActivity
SOAP 1.1SOAP 1.1
Messa
gin
gM
essa
gin
g
SOAP Messages with Attachments
SOAP Messages with Attachments
WS-ReferralWS-Routing
WS-ReferralWS-Routing
DIMEDIME WS-AttachmentsWS-Attachments
WS-AddressingWS-AddressingSOAP 1.2SOAP 1.2
MTOMMTOMWS-EventingWS-Eventing
WS-Policy 1.1WS-PolicyAttachments 1.1WS-PolicyAssertions 1.1
WS-Policy 1.1WS-PolicyAttachments 1.1WS-PolicyAssertions 1.1
WS-PolicyWS-PolicyAttachmentsWS-PolicyAssertionsWS-SecurityPolicy
WS-PolicyWS-PolicyAttachmentsWS-PolicyAssertionsWS-SecurityPolicy
Meta
data
Meta
data
UDDI 1.0UDDI 1.0
WSDLWSDLUDDI 2.0UDDI 2.0
WS-InspectionWS-InspectionUDDI 3.0UDDI 3.0
WS-DiscoveryWS-MetadataExchange
WS-DiscoveryWS-MetadataExchange
Forum architectes, Microsoft France – jeudi 19 octobre 2006 2020
Contrats
ApplicationApplication
Contrat de Données
Contrat de Données
Contrat de Message
Contrat de Message
Contrat deService
Contrat deService
Policy et Binding
Policy et Binding
Modèle de Service
ComportementEn Erreur
ComportementEn Erreur
Comportement Métadonnées
Comportement Métadonnées
ComportementThrottling
ComportementThrottling
ComportementInstance
ComportementInstance
ComportementActivation
ComportementActivation
Comportement Transaction
Comportement Transaction
Communication des messages
Canal X-ProcCanal X-Proc
Environnements d’hébergementWASWAS ConsoleConsole .Exe.Exe NT ServiceNT Service ASP.NETASP.NET
Canal TCPCanal TCPCanal HTTPCanal HTTP Encodeur Text/XMLEncodeur Text/XML
Canal SOAPFiabilité
Canal SOAPFiabilité
Canal SOAPSécurité
Canal SOAPSécurité
Canal UDPCanal UDP Canal MSMQCanal MSMQ
Forum architectes, Microsoft France – jeudi 19 octobre 2006 2121
Modèle de service
Influence et étend le modèle de programmation fondé sur les messages entrants
Communication des messages
Echange les messages et permet l’extension des canaux
qui assurent le transfert des messages
Code duService
Transaction Behavior
CLR Type Integration
Instancing Behavior
SecurityChannel
TCP Transport
SecurityChannel
TCP Transport
Transaction Behavior
CLR Type Integration
Forum architectes, Microsoft France – jeudi 19 octobre 2006 2222
Message
Forum architectes, Microsoft France – jeudi 19 octobre 2006 2323
EndpointEndpoint
Endpoint
Endpoint
Message
Forum architectes, Microsoft France – jeudi 19 octobre 2006 2424
CBA
CBA
ABC
AdresseAdresseOù?Où?
ContratContratQuoi?Quoi?
« Binding »« Binding »Comment?Comment?
EndpointEndpoint
CBA
Message
Forum architectes, Microsoft France – jeudi 19 octobre 2006 2525
CBA
CBA
ABC
AdresseOù?
ContratQuoi?
« Binding »Comment?
Endpoint
CBA
Message
Forum architectes, Microsoft France – jeudi 19 octobre 2006 2626
Forum architectes, Microsoft France – jeudi 19 octobre 2006 2727
Forum architectes, Microsoft France – jeudi 19 octobre 2006 2828
<%@ ServiceHost Language=“C#” Service=“HelloService” %>
http://localhost/HelloService/HelloService.svc
Héberger le runtime WCF (service, windows forms, console, …)
WAS/WPAS
class HelloHost{ static void Main(string[] args) { ServiceHost host = new ServiceHost(typeof(HelloService)); host.Open(); // Wait until done accepting connections Console.ReadLine(); host.Close(); }}
Forum architectes, Microsoft France – jeudi 19 octobre 2006 2929
Forum architectes, Microsoft France – jeudi 19 octobre 2006 3030
Forum architectes, Microsoft France – jeudi 19 octobre 2006 3131
Forum architectes, Microsoft France – jeudi 19 octobre 2006 3232
Forum architectes, Microsoft France – jeudi 19 octobre 2006 3333
Forum architectes, Microsoft France – jeudi 19 octobre 2006 3434
Contrat de serviceDéfinit les messages et la sémantique des communications (Fault, Oneway, Duplex / Callback, Session, …)
Contrat de donnéesDéfinit le contenu des messagesVersion, Type connu, …
Contrat de serviceDéfinit les messages et la sémantique des communications (Fault, Oneway, Duplex / Callback, Session, …)
Contrat de donnéesDéfinit le contenu des messagesVersion, Type connu, …
AdresseOu?
ContratQuoi?
« Binding »Comment?
Forum architectes, Microsoft France – jeudi 19 octobre 2006 3535
CBA
CBA
GetMetadata
WSDL
Forum architectes, Microsoft France – jeudi 19 octobre 2006 3636
Paramétrage de l’environnement d’exécution du service Par attribut ou par fichier de configuration
Comportement du serviceInstance du service : par appel, singleton, par session
Accès concurrent : simple, multiple, réentrant
Transaction
« Impersonnation »
DéploiementThrottling : configure la manière d’absorber la charge
Error Handling : propagation des exceptionsreturnUnknownExceptionAsFaults=“true”
Sécurité
Paramétrage de l’environnement d’exécution du service Par attribut ou par fichier de configuration
Comportement du serviceInstance du service : par appel, singleton, par session
Accès concurrent : simple, multiple, réentrant
Transaction
« Impersonnation »
DéploiementThrottling : configure la manière d’absorber la charge
Error Handling : propagation des exceptionsreturnUnknownExceptionAsFaults=“true”
Sécurité
Service
CBA
CBA
CBA
Bv
Forum architectes, Microsoft France – jeudi 19 octobre 2006 3737
Unification des protocoles de transportTCP, HTTP, Named Pipes, P2P, MSMQ, Custom
Unification des topologiesPoint à point, bout en bout via intermédiaires, peer-to-peer
EncodingText, Binaire, MTOM, Custom
3 patterns d’échange de messages :Datagramme (IInputChannel/IOutputChannel)
Request-Response (IRequestChannel/IReplyChannel)
Duplex (IDuplexChannel)
Unification des protocoles de transportTCP, HTTP, Named Pipes, P2P, MSMQ, Custom
Unification des topologiesPoint à point, bout en bout via intermédiaires, peer-to-peer
EncodingText, Binaire, MTOM, Custom
3 patterns d’échange de messages :Datagramme (IInputChannel/IOutputChannel)
Request-Response (IRequestChannel/IReplyChannel)
Duplex (IDuplexChannel)
Forum architectes, Microsoft France – jeudi 19 octobre 2006 3838
One-to-OneOne-to-Many
Many-to-ManyFind peer
Send invitation
Create session
Learn mesh name
Join mesh
One-to-one, one-to-many, many-to-manyOne-to-one, one-to-many, many-to-manyPeer Name Resolution ProtocolPeer Name Resolution Protocol
Address="net.p2p://Indster/Peer“Address="net.p2p://Indster/Peer“
Binding="netPeerTcpBinding"Binding="netPeerTcpBinding"
One-to-one, one-to-many, many-to-manyOne-to-one, one-to-many, many-to-manyPeer Name Resolution ProtocolPeer Name Resolution Protocol
Address="net.p2p://Indster/Peer“Address="net.p2p://Indster/Peer“
Binding="netPeerTcpBinding"Binding="netPeerTcpBinding"
Peer-To-Peer (P2P)
Co-édition
Téléphonie et vidéo
Chat
Jeux
Accès aux données et réplication
Forum architectes, Microsoft France – jeudi 19 octobre 2006 3939
Sécurité des messages :Authentification, Intégrité, Confidentialité, Non-répudiation, Disponibilité, Routage
Fiabilité des échanges de message :Les messages peuvent être véhiculés par MSMQ via un canal WCF
Fiabilité de bout en bout via des intermédiaires
Support de multiples transports : TCP/IP, HTTP, SMTP, FTP,…
Récupère les échecs du protocole de transport
Garantie de l’unicité de livraison et de la livraison dans l’ordre
Réémission et détection des doublonsContrôle de la session
Transactions :Le contexte transactionnel se propage entre client ou service et serviceUtilisation de System.Transaction pour contrôler la transaction (start, commit, rollback)
Sécurité des messages :Authentification, Intégrité, Confidentialité, Non-répudiation, Disponibilité, Routage
Fiabilité des échanges de message :Les messages peuvent être véhiculés par MSMQ via un canal WCF
Fiabilité de bout en bout via des intermédiaires
Support de multiples transports : TCP/IP, HTTP, SMTP, FTP,…
Récupère les échecs du protocole de transport
Garantie de l’unicité de livraison et de la livraison dans l’ordre
Réémission et détection des doublonsContrôle de la session
Transactions :Le contexte transactionnel se propage entre client ou service et serviceUtilisation de System.Transaction pour contrôler la transaction (start, commit, rollback)
Forum architectes, Microsoft France – jeudi 19 octobre 2006 4040
Forum architectes, Microsoft France – jeudi 19 octobre 2006 4141
WCF fournit une plateforme complète pour la construction d’applications connectées (SOA)
WCF propose une suite complète de protocoles interopérables (Web Services) et de blocs d’infrastructureLes services peuvent être auto-hébergés ou hébergés par le système (infrastructure partagée ASP.NET et IIS)WCF fournit un modèle de programmation unifié (unification des ensembles de fonctions de ASMX/ES/.NET Remoting) WCF utilise les transactions pour accroître la fiabilité des servicesWCF fournit une transmission fiable et durable des messages entre servicesWCF supporte un large éventail de protocoles de sécuritéWCF associé à WF permet de bâtir des solutions alliant Workflows et Services
WCF fournit une plateforme complète pour la construction d’applications connectées (SOA)
WCF propose une suite complète de protocoles interopérables (Web Services) et de blocs d’infrastructureLes services peuvent être auto-hébergés ou hébergés par le système (infrastructure partagée ASP.NET et IIS)WCF fournit un modèle de programmation unifié (unification des ensembles de fonctions de ASMX/ES/.NET Remoting) WCF utilise les transactions pour accroître la fiabilité des servicesWCF fournit une transmission fiable et durable des messages entre servicesWCF supporte un large éventail de protocoles de sécuritéWCF associé à WF permet de bâtir des solutions alliant Workflows et Services
La réponse est oui.Mais quelle était la question ?
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.