1 journée, 5 sessions, 1 réalisation.NET Enterprise Realization Day
WCF au service de l’entreprise Dotez-vous d’un réseau adaptatif à moindre coût Pascal Recchia MexEdge Anthony Guérot MexEdge
Pas de bus physique entre les services Premier pas vers l’ESB Injection de dépendance appliquée au niveau de la couche de services Réseau adaptatif
Qui est capable de savoir combien de services sont présents dans son SI? Combien de ces services utilisent un canal de communication sécurisé? Quels sont ceux qui supportent les transactions? Combien de casernes de pompiers dans Toulouse? Quels sont les services offerts par la caserne de pompiers de Lougnon? Référencez vos services
Souci de réutilisation Capitaliser les services existants Catégorisation métier Toute catégorisation représentative Catégorisation technique Canal de communication (HTTP, Net.Tcp, MSMQ…) Support de transaction Dépendance entre services Anticiper la non disponibilité d’un service Anticiper l’impact de la modification d’un contrat Cartographie des services
UDDI au service d’un annuaire entreprise Basé sur des mécanismes de catégorisations de services Exposant réalité métier et modèles techniques Prédisposé mais non exclusif aux services web Système de recherche Spécialisation des critères de recherches par association de catégories Catégorisations métier Valeur ajoutée du référencement Référencement statique
Tirer profit de son environnement de développement et d’exploitation Interface web d’administration et de recherche Windows Server 2003 Définition et import de catégorisations personnalisées Windows Server 2003 ressource kit tools (UddiCatSchemeEditor.exe) Découverte de services intégrée à l’environnement de développement Visual Studio Portefeuille d’outils
Les analystes ont à charge De s’assurer de la non existence du service à développer De la description contextuelle et opérationnelle métier Les techniciens ont pour fonction L’implémentation technique du service La déclaration des dépendances entre services. L’ affectation des catégorisations métier L’enregistrement du service dans l’annuaire UDDI. Action exécutée à partir de l’environnement de développement. Affectation automatique des catégorisations techniques Intégré au cycle de développement
Windows Communication Foundation Définition des correspondances entre les éléments UDDI et WCF Définition de catégorisations techniques Canal de communication, Contrat, Service Catégorisation automatique (technique et métier) d’un service WCF basé sur ses métadonnées A partir de son fichier de configuration Visual Studio Addin Action de déploiement accessible à partir d’un simple clic droit sur un projet. Une solution technique
Correspondance WCF - UDDI
Enregistrement d’un service Recherche d’un service Génération automatique d’un client
Pré requis Contrat métier accepté par l’ensemble des acteurs Une nécessité métier Contrat métier Phase de négociation finalisée. Politique de correspondance entendue. Définition des critères de recherche. Nécessité Métier La découverte dynamique a un coût Des solutions adressent déjà la sélection de services TPM: Biztalk Business Activity Services. Services non institutionnels Services nomades Services connectés ponctuellement(force de vente). Réduire le temps d’enregistrement au système d’information Découverte dynamique
Mise en œuvre du célèbre modèle de communication :Publish and Subscribe Un service métier doit se consacrer au métier qu’il publie. La découverte dynamique est un service technique. Utiliser une spécification à l’adoption large WS-Discovery Une solution raisonnée
Une infrastructure relayée Des services techniques dédiés sont distribués sur le réseau tels des annuaires relais. Une technologie historique UPnp (SSDP) Une technologie popularisée par Windows Vista. Windows Rally WS-Discovery
Une identification basée sur une poignée de messages Hello (Service), Bye (Service) Probe (Client), ProbeMatch (Service) Resolve (Client), ResolveMatch (Service) Une carte d’identité extensible Identifiant Unique (EndpointAddress) Contrats offerts (Types) Domaine d’action (Scopes) Adresses (XAddrs) Horodatage (MetadataVersion) … (AnyElements, AnyAttributes) Un language
Une architecture responsabilisée
La gravité d’un incident peut requérir la mobilisation d’un nombre important d’équipes d’intervention En vue d’une meilleure coordination de l’ensemble des équipes mobilisées, un poste de commandement avancé est créé. Le temps passé à la mise en service du poste de commandement avancé doit être réduit à son minimum Les services du poste de commandement avancé sont des services nomades et éphémères. Ils ont à charge leur propre intégration au système d’information. Poste de commandement avancé
Simulation de la mise en service d’un poste de commandement avancé Découverte dynamique d’un service Personnalisation des critères de sélection.
Les services s’auto-définissent. Windows Communication Foundation Des définitions exposées via des standards MEX (WS-MetadataExchange), WSDL Une exposition paramétrable Activée par un comportement dédié Une exposition raisonnée Ne pas reposer sur une génération automatique des définitions. Métadonnées d’un service
Une auto description au service du consommateur Permet une génération dynamique d’un proxy MetadataResolver ChannelFactory DuplexChannelFactory Requiert seulement l’adresse des métadonnées Aucune configuration cliente Offrir un horodatage en vue de permettre une mise en cache des métadonnées Déclaration via attribut ou comportement au niveau du contrat de service Des données consommées
Une chaine dynamique complète Génération d’un proxy suite à une recherche d’un service à partir de son contrat
Pour aller plus loin
UDDI Réification, catégorisation et UDDI Cartographie métier de services WS-Discovery Implémentation exemple de WS-Discovery (Microsoft) Spécifications WS-Discovery Métadonnées Génération de proxy dynamiqueResources
Questions?