DCOMCOM+MSMQ Enterprise Services Web Services XML.NET Remoting … A chaque technologie, un modèle de programmation spécifique Le choix du protocole et des types de message échangés se fait au moment du développement et non pas lors du déploiement
Interopérabilité avec d’autres plateformes ASMX Programmation par attribut Enterprise Services Support des protocoles WS-* WSE Programmation orienté message System.Messaging Extensibilité Disponibilité transparente.NET Remoting
Unification des couches de distribution actuelles Idéal pour du mono-machine, du pluri- machines ou à travers Internet Modèle de programmation unifié pour construire des applications orientées services Interopérabilité avec des applications tournant sur d’autres plateformes Unification Intégration Renforce les « best practices » pour construire des applications distribuées Orientée Service
PRESENTATION ASP.NET System.Web (2.0) Compilation Configuration Handlers Hosting Mail Management Security UI (2.0) Util Presentation Framework System.Windows (3.0) Annotations Automation Controls Data Documents Ink Interop Navigation Resources Serialization Shapes Threading System.Windows.Media (3.0) 3D Animation Imagine Windows Forms System.Windows.Forms (2.0) Design Layout VisualStyles Printing Subsystem System.Printing (3.0) GDI+ System.Drawing Design Drawing2D Printing ADO.NET System.Data Common Odbc OleDb OracleClient Sql SqlClient ASP.NET Data Management System.Web Caching Profile SessionState XML Data System.Xml Schema Serialization XPath Xsl Windows File System System.Storage (F) Core Audio Calendar Contacts Documents Image Media Messages Rules Sync Video XPS Documents System.Windows.Xps (3.0) System.IO.Packaging (3.0) Speech Integration System.Speech (3.0) Recognition Synthesis Language Integrated Query System.Query (F) System.Data.DLinq (F) System.Xml.XLinq (F) System.Expressions (F) Windows Workflow Foundation System.Workflow (3.0) System.Workflow.Activities (3.0) Rules System.Workflow.ComponentModel (3.0) Complier Desinger Serializaztion System.Workflow.Runtime (3.0) Hosting Messaging Network Class Library System.Net Cache Mail (2.0) Network Information (2.0) Security (2.0) Sockets.NET Remoting System.Runtime.Remoting ASMX Web Services System.Web.Services Identity Management Microsoft.InfoCards (3.0) MSMQ System.Messaging Directory Services System.DirectoryServices DATACOMMUNICATION FUNDAMENTALS BASE CLASS LIBRARIES System System.CodeDom System.ComponentModel System.Diagonostics System.IO (2.0) System.Resources System.Text System.ServiceProcess System.Threading System.Timers System.EnterpriseServices System.Transactions (2.0).NET Remoting System.Runtime.Remoting System.Text Generic (2.0) System.Reflection System.Configuration System.Text AccessControl (2.0) Cryptography (2.0) Permissions Policy Principal (2.0) Managed Add-In Framework System.Addins (F) Contact Microsoft.Build (2.0) System.Runtime CompilerServices ConstrainedExecution (2.0) InteropServices Hosting Serialization Versioning “ClickOnce” Deployment System.Deployoment (2.0) WINDOWS VISTA (2.0) (3.0)- New (2.0)- Substantially Improved - Windows Presentation Foundation (formerly codenamed “Avalon”) - Windows Communication Foundation (formerly codenamed “Indigo”) - Windows Workflow Foundation KEY Windows Communications Foundation System.ServiceModel (3.0) Channels Configuration Diagnostics Integration System.ServiceModel.Security(3.0) Protocols Tokens
Un jeu de classes.NET 2.0 pour construire des applications basées sur des services Il faut définir des interfaces explicites – Contracts “Behavioral contracts” — ce que votre programme va faire “Structural contracts” — le format des entrées et sorties
Il faut choisir comme s’intégrer à la topologie réseau – Bindings “Standard bindings” — à choisir pour une perf max ou une interop max par exemple “Custom bindings” — pour choisir le transport, encodage et protocole
Il faut choisir l’hébergement et les adresses à utiliser – Address Au sein de n’importe quelle assembly.NET — console, windows, service Au sein de IIS 5.1, 6.0 ou IIS 7.0 Windows Activation Service Bénéficier des interfaces évoluées de gestion et d’instrumentation fournies en standard: perf counters, WMI, tracing…
Client Service
Client Service Endpoint
Service CBA CBA Client A BC Address Où ? Contract Quoi ? Binding Comment ? Endpoint CBA
Où ? service address Comment ? binding Quoi ? portTypecontract Section WSDLTerme WCF
Où ? service address Comment ? binding Quoi ? portType contract Section WSDLTerme WCF Une interface définie et implémentée par les développeurs Spécifié par les administrateurs via des fichiers de configuration XML
User Code Typed Proxy Dispatcher Protocol Encoding Transport Message
TransportEncoderSecurityReliabilityProtocol Pipes MSMQ Custom HTTPText TCPBinary MTOM Custom WS-* Custom WS-* HTTPTextTCPBinary
T = Transport Security | S = WS-Security | O = One-Way Only Interop Security Session Transaction Duplex Stream BasicHttpBinding WsHttpBinding WsDualHttpBinding NetTcpBinding NetNamedPipesBinding NetMsmqBinding BP WS WS T TS TS TS TS TS O O NetPeerTcpBinding TS
WCF est installé par défaut sur Windows Vista Windows Vista WCF peut être installé sur Windows XP SP2 Windows XP SP2 Windows Server 2003 R2 Windows Server 2003 R2 en installant.NET Framework 3.0
Microsoft Windows Vista Developer Center Windows Communication Foundation Web Le site Microsoft France dédié netframework/3/default.mspx Forum dédié à WCF showforum.aspx?forumid=118&siteid=1
Une approche unifiée dans le développement d’applications orientées services Prise en main aisée Guettez les WebCasts et prochaines sessions sur le sujet
S’informer - Un portail d’informations, des événements, une newsletter bimensuelle personnalisée Se former - Des webcasts, des articles techniques, des téléchargements, des forums pour échanger avec vos pairs Bénéficier de services - Des cursus de formations et de certifications, des offres de support technique Visual Studio Abonnement MSDN Premium Abonnement TechNet Plus : Versions d’éval + 2 incidents support
© 2007 Microsoft France Votre potentiel, notre passion TM