Infrastructure SOA Microsoft WCF – Windows Communication Foundation

Slides:



Advertisements
Présentations similaires
3/25/ :58 AM Développement de Services Web sécurisés et interopérables avec WS-* et WSE 2.0 SP3 Philippe Beraud Consultant Principal Microsoft France.
Advertisements

LES NOMBRES PREMIERS ET COMPOSÉS
[number 1-100].
1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Les Web Services Schéma Directeur des Espaces numériques de Travail
Nos Partenaires Rencontres ASP.NET : Développement Rapide dApplications Web.
Agenda de la journée 10h00 : La place dASP.NET dans la plate-forme Microsoft 10h30 : Développement rapide dapplications Web en ASP.NET 12h00 : Construire.
Service Software Factory François MERAND Responsable groupe architectes DPE – Division Plateformes & Ecosystème Microsoft France
Les technologies d’intégration
Quelle stratégie adopter pour la recherche en Entreprise ?
Automatisation de Tâches Scenarios
Industrialisez la gestion des salles libre services Mardi 8 Novembre 2005.
Les Web Services Schéma Directeur des Espaces numériques de Travail
Microsoft Office Groove Le contexte Une utilisation des postes de travail en très grande évolution chez les professionnels. Des lieux de travail.
- Couche 7 - Couche application. Sommaire 1)Introduction 1)DNS 1)FTP et TFTP 1)HTTP 1)SNMP 1)SMTP 1)Telnet.
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
ISP/ASP ISP ASP Conclusion DESS Réseaux 2000/2001
L’architecture .net et ASP.net
1.NET, bilan et perspective – Univ-Bordeaux - vendredi 18 novembre 2005.NET, bilan et perspectives François MERAND Responsable groupe architectes Division.
Architecture de réseaux
Cours 6 : Les Web Services et UDDI Mars Version 1.0 -
Les Web Services avec .Net
JOME, un Composant Logiciel pour le Télé-Enseignement des Mathématiques via le WEB, Compatible OpenMath et MathML Laurent DIRAT OVE / I3S-UNSA.
Live Meeting Technique N°3 Thomas LEBRUN – MVP WPF/Silverlight Florent SANTIN – MVP Team System Julien CORIOLAND - MSP.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
Développement d’applications web
Santé pubic Plan catastrophe Globalisation de léconomie Agenda vert Emissions Phénomène durbanisation Population viellissante Qualité de service Enjeux.
Etude des Technologies du Web services
XML-Family Web Services Description Language W.S.D.L.
Windows Communication foundation
Web Services - ADFS Pellarin Anthony En collaboration avec : Sogeti 1.
Architecture SOA et service WCF
…. Service 1Service 2Service NService 3 …… North Central USA South Central USA Irlande Pays-Bas Hong Kong Singapour Contrat de service entreprise,
Damien Caro Architecte Infrastructure Microsoft France
Virtual Local Area Network
Configuration de Windows Server 2008 Active Directory
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
.Net Remoting.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
LES NOMBRES PREMIERS ET COMPOSÉS
Cette session suppose une connaissance préalable des grands principes de Workflow Foundation Nous parlerons très peu de lécriture de workflows Une session.
SOA Décrypté Stève SFARTZ Architecte en Système d’information
Programmation concurrente
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Xna Game Studio 3.1 Valentin Billotte ( ) Antoine Emond Vanessa Arnaud
22 Web Platform Installer pour faciliter la mise en œuvre de votre plateforme Web 9 Février 2010 Alban OlierLaurent Bonnet
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
2 Développer, tester et déployer un site web avec WebMatrix (RIA101) Christine Dubois 9 février 2011.
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
NET LINQ, ADO Vnext, Orcas,… Pierre COUZY Stéphane GOUDEAU Architecte en Système d’information Division Plateformes et Ecosystème Microsoft France.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Les Chiffres Prêts?
22 Visual Studio Tools et Office 2010 Thomas LEBRUN Architecte Access It Sebastien BOVO Application Dev Consultant Microsoft France
Projet Implémentation du protocole MMT sous Linux
Les processus métier changent/évoluent Les systèmes monolithiques détiennent les processus Les processus doivent être séparés des fonctionnalités.
.NET Plateforme, framework, produits Bernard Fedotoff (Pdg) Stéphane Vancauwenberghe (Consultant)
Introduction à la plateforme .NET
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
Le web service
1 Laurent BONNET Stéphane GOUDEAU Architectes en Système d’information Division Développeurs et Plateforme d’Entreprise © 2005 Microsoft Corporation Un.
Dyalog.Net Peter Donnelly Managing Director Dyadic Systems Toronto 30/10/2002.
Les sockets.
Infrastructure SOA : Opérer ses services de façon industrielle
21/02/2003DEA DISIC 1 Grid Computing Programming the grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications Tarak.
Web Services 17/01/2009.
Architecture Client/Serveur
1 Applications d’entreprise avec.NET 4.0 et Silverlight 4 David Rousset Mitsuru Furuta
Benjamin Soulier Technical Expert Cambridge Technology Partners Les nouveautés de Windows Azure.
Transcription de la présentation:

Infrastructure SOA Microsoft WCF – Windows Communication Foundation 3/26/2017 3:55 PM Infrastructure SOA Microsoft WCF – Windows Communication Foundation François MERAND Responsable groupe architectes DPE – Division Plate-forme & Ecosystème Microsoft FRANCE fmerand@microsoft.com - +33 6 64 40 44 66 © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

David Chappel & SOA Décrypté « Catching the long trail » Agenda David Chappel & SOA Décrypté Web Application Plate-forme Mashup, Cardspace, IIS7 11h15 12h45 13h45 15h30 15h45 17h30 Session Partenaires Commerciaux Infrastructure SOA Présentation WCF Monitoring WCF Gouvernance SOA Real World Building an ESB Software as a Service « Catching the long trail » BizTalk Server R2 & vNext BizTalk in action Archit’eXpresso

La SOA Microsoft Identité & Sécurité Informatique étendue Web Office Windows Gestion des opérations Référentiel Données Legacy Applications Progiciels Partenaires

L’infrastructure SOA Microsoft Communication & messages Identité & Sécurité Workflow Référentiel Gestion des opérations WS-*, REST SOAP, RSS TCP/IP WCF Adaptateurs Biztalk SSB MSMQ BPEL BPMN WF Biztalk Sharepoint WS-Security LDAP, X509 Kerberos AD MIIS Cardspace UDDI MDM DSI/SML UDDI Services Systinet WSMan WBEM WinRM WMI System Center Amberpoint SQL Server, Biztalk Server, Sharepoint Server Windows, Windows Server, WPAS, IIS, .Net, ASP.Net,

AGENDA WCF en détail Démonstration WCF Stratégie de monitoring applicatif Monitoring en environnement WCF Service Software Factory Gouvernance

Orientation composant Vous n’êtes pas fatigué d’être régulièrement orienté ? Tous les 10 ans ! N’en perdons pas le nord ! 3/26/2017 Orienté objet Polymorphisme Encapsulation Classes & héritage 1980 Orientation composant Basée sur les interfaces Chargement dynamique Notion de métadonnées 1990 Orientation Service Basée sur les message Schema & Contrat Liaisons via des règles 2000 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Vous avez dit S.O.A. ? S : La notion de service Un point d’accès qui réagit à un message O : On prend un peu de recul avec l’orientation service Un paradigme d’architecture qui s’appuis sur des piliers A : On capitalise sur une architecture orientée service Toute architecture qui adhère aux piliers de l’orientation service En plus il nous faut un socle technologique robuste et évolutif pour la mise en œuvre

Les piliers d’une architecture SOA SOA, rappels Les piliers d’une architecture SOA Les services sont autonomes Les frontières sont explicites Les services partagent des schémas et contrats La compatibilité des services repose sur des règles (politiques) Communication par messages

1 : Les services sont autonomes 3/26/2017 1 : Les services sont autonomes Autonomie ≠ Indépendence La topologie d’un système évolue dans le temps A la différence de l’orientation objet, les services ne partagent pas de comportement Les services savent gérer les “pannes” © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

2 : Les frontières sont explicites 3/26/2017 2 : Les frontières sont explicites Les services interagissent en échangeant des messages Tout message échangé doit traverser des “frontières” et cela a un coût L’orientation service formalise des interactions explicites et intentionnelles © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

3 : Les services partagent des schémas et contrats 3/26/2017 3 : Les services partagent des schémas et contrats Les services exposent des schémas définissant les structures de données et des contrats exposant les opérations disponibles Contrats et schéma peuvent évoluer (versions) indépendamment dans le temps © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

4 : La compatibilité des services repose sur des règles (politiques) 3/26/2017 4 : La compatibilité des services repose sur des règles (politiques) Une règle contient les prérequis de communication nécessaires aux interactions entre les services Les “capacités” et les “besoins” des services sont exposés de façons explicites et normalisées (à la différence des objets/classes) Une règle peut contenir plusieurs assertions © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Concretement, j’en fais quoi ? Quelle(s) implémentation(s) ? 3/26/2017 Ces piliers… Concretement, j’en fais quoi ? Quelle(s) implémentation(s) ? © 2005 Microsoft Corporation © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Une approche pragmatique 3/26/2017 3:55 PM Interview de Didier GIRARD, www.application-servers.com Disponible sur : SOA : "je ne veux plus entendre parler de WS-*" 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 ! © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Windows Communication Foundation Composante de .NET 3.0 3/26/2017 3:55 PM WPF WCF WF ATLAS … © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Windows Communication Foundation “Framework unifié pour créer des applications orientées services sur la plate-forme Windows” Unification des technologies middleware Architecture modulaire et composable Interopérabilité avec les autres plateformes Interopérabilité avec les technologies courantes Support natif des protocoles WS-* Modèle de programmation orienté service Service exposé par un contrat Service imposant des règles de fonctionnement

Unification du modèle de développement .NET Remoting ASMX Interopérabilité avec d’autres plateformes Extensibilité Mode binaire Transaction Performance Programmation orientée Message Protocoles WS-* Enterprise Services System.Messaging WSE

WCF : indépendance de la topologie ! 3/26/2017 Centralisée Décentralisée Distribuée © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

WS-* : vous ne les voyez pas, mais ils sont là ! On comprend la remarque de Didier GIRARD… Evolve and Extend Secure, Reliable, Transacted Fundamentals WS-I formed WS-I BP 1.0 Interopérabilité Security Roadmap SRT Web Services Whitepaper Reliable Messaging Roadmap Whitepapers WS-Coordination WS-Transaction WS-AtomicTransaction WS-BusinessActivity Transactions WS-ReliableMessaging Reliability WS-Security WS-Federation WS-Federation Active Requestor Profile WS-Trust Security WS-Security Addendum WS-Security Profile for Tokens WS-Security SOAP Message Security WS-Security Username Token Profile WS-Security X.509 Certificate Token Profile WS-Security Kerberos Binding UDDI 1.0 UDDI 2.0 UDDI 3.0 WS-Policy 1.1 WS-PolicyAttachments 1.1 WS-PolicyAssertions 1.1 WSDL WS-Inspection Metadata WS-Policy WS-PolicyAttachments WS-PolicyAssertions WS-SecurityPolicy WS-Discovery WS-MetadataExchange SOAP 1.1 SOAP 1.2 WS-Referral WS-Routing WS-Addressing Messaging WS-Eventing SOAP Messages with Attachments DIME WS-Attachments MTOM 2003 2000 2001 2002 2004 2005

Architecture générale Nous en avons aussi une, particulièrement robuste, structurée et modulaire! Application Contrats Contrat de Données Contrat de Message Contrat de Service Policy et Binding Modèle de Service Comportement En Erreur Comportement Métadonnées Comportement Instance Comportement Throttling Comportement Activation Comportement Transaction Communication des messages Canal SOAP Sécurité Canal SOAP Fiabilité Canal HTTP Canal TCP Canal UDP Canal X-Proc Canal MSMQ Encodeur Text/XML Environnements d’hébergement WAS Console .Exe NT Service ASP.NET

Cette architecture est composable CLR Type Integration Transaction Behavior Security Channel TCP Transport Code du Service CLR Type Integration Transaction Behavior Instancing Behavior Security Channel TCP Transport Communication des messages Modèle de service Influence et étend le modèle de programmation fondé sur les messages entrants Echange les messages et permet l’extension des canaux qui assurent le transfert des messages

Client & Service Client Service

EndPoints & Channel Client Service Endpoint Endpoint Endpoint Endpoint

L’ABC de l’EndPoint WCF Client Service C B A A B C C B A C B A Adresse Où? « Binding » Comment? Contrat Quoi? Endpoint

Ajout de comportements Client Service C B A A B C C B A C B A Bv Bv Adresse Où? « Binding » Comment? Contrat Quoi? Endpoint

Implémentation d’un service

…et de son client.

Oui, mais il faut bien héberger nos services Pilier N°1 : Autonomie Oui, mais il faut bien héberger nos services Héberger le runtime WCF (service, windows forms, console, …) class HelloHost { static void Main(string[] args) ServiceHost host = new ServiceHost(typeof(HelloService)); host.Open(); // Wait until done accepting connections Console.ReadLine(); host.Close(); } WAS/WPAS http://localhost/HelloService/HelloService.svc <%@ ServiceHost Language=“C#” Service=“HelloService” %>

Pilier N°2 : les frontières sont explicites Spécification manuelle de chaque élément de la pile de communication 3/26/2017 3:55 PM © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Pilier N°2 : les frontières sont explicites

Pilier N°2 : les frontières sont explicites

Pilier N°2 : les frontières sont explicites La méthode “code” [ServiceContract] public class Math { [OperationContract] public int Add(int j, int k) { return j + k; } } public static void Main(string[] args) ServiceHost<Math> host = new ServiceHost<Math>( “http://localhost/MathService/”); BasicProfileBinding binding = new BasicProfileBinding(); binding.SecurityMode = BasicProfileSecurityMode.Https; host.AddEndpoint(typeof(Math), binding, “BpEndpoint”); host.Open(); }

Pilier N°2 : les frontières sont explicites La méthode “fichier de configuration” <configuration> <system.serviceModel> <bindings> <basicProfileBinding> <binding configurationName=“Secure“ securityMode=“Https“ /> </basicProfileBinding> </bindings> <services> <service serviceType=“Math”> <endpoint address=“BpEndpoint” bindingSectionName=“basicProfileBinding” bindingConfiguration=“Secure” contractType=“Math”/> </service> </services> </system.serviceModel> </configuration>

Pilier N°3 : les contrats (quoi?) Adresse Ou? « Binding » Comment? Contrat Quoi? Contrat de service Définit les messages et la sémantique des communications (Fault, Oneway, Duplex / Callback, Session, …) Contrat de données Définit le contenu des messages Version, Type connu, … [DataContract] public class Person1 { [DataMember] public string name; private int age; } [ServiceContract(Name="MyContract", Namespace=“http://MyNamespace")] interface IOrderEntry { [OperationContract(IsOneWay=true)] void PlaceOrder(PurchaseOrder Order); }

Principe N°3 : les contrats (quoi?) MetaData Exchange Service Client GetMetadata WSDL C B A C B A Proxy.cs app/web.config A B C A B C

Les politiques de fonctionnement Piliers N°4 : Les politiques de fonctionnement Service C B A Bv Paramétrage de l’environnement d’exécution du service Par attribut ou par fichier de configuration Comportement du service Instance du service : par appel, singleton, par session Accès concurrent : simple, multiple, réentrant Transaction « Impersonnation » Déploiement Throttling : configure la manière d’absorber la charge Error Handling : propagation des exceptions returnUnknownExceptionAsFaults=“true” Sécurité

Communication par messages Unification des protocoles de transport TCP, HTTP, Named Pipes, P2P, MSMQ, Custom Unification des topologies Point à point, bout en bout via intermédiaires, peer-to-peer Encoding Text, Binaire, MTOM, Custom 3 patterns d’échange de messages : Datagramme (IInputChannel/IOutputChannel) Request-Response (IRequestChannel/IReplyChannel) Duplex (IDuplexChannel)

Communication par messages Peer-To-Peer (P2P) One-to-one, one-to-many, many-to-many Peer Name Resolution Protocol Address="net.p2p://Indster/Peer“ Binding="netPeerTcpBinding" One-to-One One-to-Many Many-to-Many Find peer Send invitation Create session Learn mesh name Join mesh Téléphonie et vidéo Chat Jeux Accès aux données et réplication Co-édition

Mais aussi : Sécurité des messages : 3/26/2017 3:55 PM 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 doublons Contrôle de la session Transactions : Le contexte transactionnel se propage entre client ou service et service Utilisation de System.Transaction pour contrôler la transaction (start, commit, rollback) © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Extensibilité ! Add(…) Proxy Operation Proxy Behavior Channel Sub(…) Inspection des paramètres Format des messages Inspection des messages Add(…) Proxy Operation Proxy Behavior Channel Sub(…) Proxy Operation public interface IProxyMessageInspector { object BeforeSendRequest(ref Message request, IClientChannel channel); void AfterReceiveReply(ref Message reply, object state); } public interface IProxyFormatter { Message SerializeRequest(MessageVersion messageVersion, object[] parameters); object DeserializeReply(Message message, object[] parameters); } public interface IParameterInspector { object BeforeCall(string operationName, object[] inputs); void AfterCall(string operationName, object[] outputs, object returnValue, object correlationState); }

WCF, synthèse… 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’infrastructure Les 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 services WCF fournit une transmission fiable et durable des messages entre services WCF supporte un large éventail de protocoles de sécurité WCF associé à WF permet de bâtir des solutions alliant Workflows et Services

Démo 3/26/2017 3:55 PM © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Mais quelle était la question ? 3/26/2017 3:55 PM La réponse est oui. Mais quelle était la question ? © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

3/26/2017 3:55 PM © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.