WINDOWS COMMUNICATION FOUNDATION

Slides:



Advertisements
Presentazioni simili
Introduzione a Windows Communication Foundation
Advertisements

Architettura di Exchange Server 2003 Ivan Riservato Andrea Garattini.
ISA Server 2004 Enterprise Edition Preview. ISA Server 2004.
ASP .NET & Web Service: Introduzione
Visual Studio Tools For Office 2005 Fabio Santini. NET Senior Developer Evangelist Microsoft Italy.
Crea il tuo sito con Web Matrix e il Web Hosting su ASP.NET
Consumare Web Service Andrea Saltarello
ISA Server for the Enterprise. Clients Client Overview Internet ISA Server SecureNAT Client Do not require you to deploy client software or configure.
Sharepoint Gabriele Castellani
Branch office update – SP2. Agenda Messa in esercizio degli uffici remoti Compressione HTTP Differentiated Services Cache di BITS.
Massimiliano Bosco – Aliware – Torino – Project 2003 Sviluppare Soluzioni EPM con Project Server (2/4)
Internet Concetti e termini (7.1.1).
Sistema di gestione flussi documentali
Web Services.
Java Enterprise Edition (JEE)
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di.
Università degli Studi di Modena e Reggio Emilia Facoltà dIngegneria - sede di Modena Corso di Laurea in Ingegneria Informatica Interoperabilità di componenti.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Usare Apache Axis.
OPC XML Data Access Specification
Introduzione ai Web Services. E' un nuovo meccanismo RPC ottimizzato per l'uso in Internet Un qualunque Client su una generica piattaforma deve poter.
REST Il paradigma REST è basato su un protocollo di comunicazione stateless, client-server, chacheable e scalabile, tipicamente HTTP (ma non necessariamente,
Progetto MODA-ML Biella, 30 novembre 2001 Sistema di interscambio messaggi Luca Mainetti HOC - Hypermedia Open Center Dipartimento di Elettronica e Informazione.
Architettura del World Wide Web
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Integrazione di una piattaforma IPTV in un’architettura SOA
Open Archives Initiative e Metadata harvesting ICCU Seminario nazionale sui Metadati Roma 3 aprile 2001 Dr. Valdo Pasqui Università di Firenze.
Posta elettronica : per iniziare : per iniziare Primi passi con la posta elettronica Primi passi con la posta elettronica
1 Internet e nuove tecnologie Anno Accademico Prof. Flavio De Paoli Dott. Marco Loregian.
Corso di Laurea in Informatica
Novità nelle tecnologie per il Web
Fare clic per modificare lo stile del titolo Fare clic per modificare stili del testo dello schema – Secondo livello Terzo livello – Quarto livello » Quinto.
Fare clic per modificare lo stile del titolo Fare clic per modificare stili del testo dello schema – Secondo livello Terzo livello – Quarto livello » Quinto.
Modulo 7 – reti informatiche u.d. 1 (syllabus – )
"Non-Admin" Developing "Non-Admin" Developing Fabio Santini.NET Senior Developer Evangelist Microsoft Italy.
Guida IIS 6 A cura di Nicola Del Re.
Fabio Cozzolino Vito Arconzo
Fare clic per modificare lo stile del titolo Fare clic per modificare stili del testo dello schema – Secondo livello Terzo livello – Quarto livello » Quinto.
Fare clic per modificare lo stile del titolo Fare clic per modificare stili del testo dello schema – Secondo livello Terzo livello – Quarto livello » Quinto.
Server Web in una rete Windows Sommario Meccanismi di accesso remoto Meccanismi di accesso remoto Introduzione ai Server Web Introduzione ai Server.
Firenze – Festival della Creatività 2009 Comm.it s.r.l. – Ing. Davide Rogai, Ph.D. – Software >> fast on demand software.
1 w w w. g a t 4. c o m WI GAT WebIngelligence rappresenta una piattaforma funzionale e tecnologica per la creazione e gestione di un datawarehouse che.
Basi di Dati e Sistemi Informativi
Sistemi Informativi sul Web
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
Corso di Web Services A A Domenico Rosaci 1. Introduzione
ASP – Active Server Pages - 1 -Giuseppe De Pietro Introduzione ASP, acronimo di Active Server Pages, sta ad indicare una tecnologia per lo sviluppo di.
Writer: Stili Modelli Lezione 03. Modelli di formato e modelli di documento Modelli di formato: Sono gli stili attribuiti al carattere, al paragrafo alle.
IPSec Fabrizio Grossi.
Lezione 8.
Distributed System ( )7 TCP/IP four-layer model.
FTP File Transfer Protocol
Java Enterprise Edition
ANPR: i flussi di colloquio
ASP.NET – Autenticazione e Sicurezza basata sui ruoli
Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Producer – Consumer System Di Carlo Matteo CdLS Ingegneria Informatica (0234) Reti di Calcolatori LS A.A. 2004/2005.
Support for Emulation of Services and Applications in Mobile Environments with Bluetooth Gruppo: Davide Bonomo Salvatore Baglieri Referente: Ing. Dario.
Extension pack per IIS7 Piergiorgio Malusardi IT Pro Evangelist
Lucia Melotti 1/14 Bologna, 7 luglio 2004 Aspetti di sicurezza nello scambio di messaggi XML tra un partner ebXML ed un Web Service di Lucia Melotti Relatore:
Servizi Internet Claudia Raibulet
 Primo livello: Field Management. A questo livello le informazioni sono relative ai dispositivi di campo  Secondo livello:
Layered Grid Architecture. Application Fabric “Controlling elements locally”: Access to, & control of, resources Connectivity “Talking to Grid elements”:
Architetture software
Sistemi distribuiti Sistema distribuito indica una tipologia di sistema informatico costituito da un insieme di processi interconnessi tra loro in cui.
Fare clic per modificare lo stile del titolo dello schema Fare clic per modificare gli stili del testo dello schema Secondo livello Terzo livello Quarto.
La gestione della rete e dei server. Lista delle attività  Organizzare la rete  Configurare i servizi di base  Creare gli utenti e i gruppi  Condividere.
Competenze Informatiche Avanzate
Transcript della presentazione:

WINDOWS COMMUNICATION FOUNDATION Fabio Cozzolino DotNetSide fabio@dotnetside.org

Agenda Overview WCF 4.0 REST WCF Tips & Tricks SOA L’ABC di WCF I Behaviors WCF 4.0 REST SOA vs REST WCF Tips & Tricks

SOA Tenets Boundaries are Explicit Services are Autonomous Services Shares Schema and Contracts, not Classes or Types Compatibility is Policy-Based

Cos’è WCF? Un framework unificato per lo sviluppo di applicazioni distribuite su piattaforma Windows Rappresenta come Microsoft pensa SOA (Service-Oriented Architecture) … ma non solo

Caratteristiche di WCF Comunicazioni basate sul concetto di messaggio Interoperabilità Indipendenza dal protocollo di trasporto e dalla formattazione del messaggio Indipendenza dall’hosting Servizi infrastrutturali pluggabili (sicurezza, transazioni, ecc…) E’ un framework con un’architettura altamente estendibile

Overview di WCF: L’ABC Un servizio WCF si basa su: Un Address: DOVE Un Binding: COME Un Contract: COSA L’insieme costituisce l’Endpoint del servizio

Address, Binding, Contract Behaviours Messaggio Consumer Provider C B A A B C A B C A B C EndPoint Address (dove) Binding (come) Contract (cosa)

Address Identifica l’indirizzo del servizio specificando: URL http://www.mysite.com/myservice.svc net.tcp://localhost:10101/myservice.svc … Headers (opzionale) E’ un’istanza di EndpointAddress

Binding COME comunichiamo con il servizio il protocollo utilizzato (http, tcp, msmq, etc..) le modalità di formattazione del messaggio (encoding) le impostazioni di sicurezza (ws-security) gli eventuali standard da utilizzare (ws-trust, ws-reliablemessaging, ws-atomic transaction,SOAP) Ma anche sessioni e transazioni Esistono binding predefiniti ma possiamo crearne anche di personalizzati

Contract Identifica le informazioni scambiate dal servizio Esistono tre tipi di contratto: Service contract (WSDL) Message contract (SOAP) Data contract (Xml Schema)

Behaviors Servizi infrastrutturali che modellano il comportamento del servizio Attivabili nel codice e dal .config Utile per le operazioni più delicate (sessioni, transazioni, instancing, identity) Per le politiche da adottare nello scambio dei messaggi (credenziali, throttling, auditing, serializzazione, affidabilità, ecc…) Possiamo creare behavior personalizzati: Implementando le interfacce System.ServiceModel.IServiceBehavior System.ServiceModel.IEndpointBehavior System.ServiceModel.IContractBehavior System.ServiceModel.IOperationBehavior

WCF Hosting Self-hosting Internet Information Services Qualsiasi altra applicazione (Console,WinForms, etc..) Posso utilizzare tutti i protocolli previsti da WCF Internet Information Services IIS 6 solo http IIS 7 con Windows Activation Services: net.tcp, net.msmq, etc...

Implementazione di un servizio in WCF DEMO

Windows Communication Foundation 4.0 Configuration-free services Service Discovery with WS-Discovery Routing Service Event Tracing for Windows

Endpoint Configuration in 3.x B C Service http://host vdir1 vdir2 vdir2 Echo. svc Web. config

Default Endpoints A B C Service ServiceHost. AddDefaultEndpoints() http://host vdir1 vdir2 vdir2 Echo. svc Echo. svc Protocol Mapping Scheme Binding http:// BasicHttpBinding …

Default Bindings A B C Service http://host vdir1 Web. config vdir2 <system.serviceModel> <bindings> <basicHttpBinding> <binding name="" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"/> </basicHttpBinding> </bindings> </system.serviceModel> http://host vdir1 A B C Service Web. config vdir2 vdir2 Gli endpoints di tipo BasicHttpBinding utilizzano la configurazione dal default binding che recuperano nella gerarchia dei file di configurazione Echo. svc

Default Behaviors A B C Service http://host Web. config vdir1 Bv vdir2 <system.serviceModel> <behaviors> <serviceBehaviors> <behavior> <serviceMetadata httpGetEnabled="true"/> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel> <system.serviceModel> <behaviors> <serviceBehaviors> <behavior> <serviceThrottling maxConcurrentCalls="32"/> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel> http://host Web. config vdir1 A B C Bv Service vdir2 vdir2 Echo. svc Bv Otteniamo un merge dei behaviour ereditati con i behaviour del config corrente Un servizio o un endpoint ottengono il behavior di default recuperandolo dalla gerarchia dei file di configurazione Web. config

ROUTING SERVICE in WCF 4.0

Routing Service Dispatching dei messaggi basato su filtri Protocol and security bridging Mapping delle eccezioni Ho a disposizione un set predefinito di filtri: Filter On MessageFilter Action ActionMessageFilter Address header AddressMessageFilter Address header – longest prefix matching AddressPrefixMessageFilter Endpoint Name EndpointNameMessageFilter No Filter – matches everything MatchAllMessageFilter Logical And of two filters StrictAndMessageFilter XPath expression XPathMessageFilter Custom

Message Routing Lab Service Action = http://healthcare/labservice Client Routing Service Hospital Service Action = http://healthcare/hospitalservice

Protocol Bridging Client Service BasicHttp SOAP 1.1 SOAP 1.2 Net.Tcp Routing Service BasicHttp SOAP 1.1 SOAP 1.2 Net.Tcp

Security Client Service Message sent using Client Identity Routing Service Message sent using Client Identity Message sent using Client Identity Message sent using Routing Service Identity Impersonation using WindowsIdentityToken

Error Handling Lab Service Client Backup Lab Service Routing Service MessageFilter Endpoint Alternate Endpoints action == http://healthcare/LabService LabService BackupLabService

WS-DISCOVERY in WCF 4.0

Discovery Consente la pubblicazione di un endpoint di un servizio e la ricerca utilizzando criteri ben definiti Trova servizi disponibili Riduce la configurazione Semplice modifica della location Applicazioni dinamiche WS-Discovery – e’ uno standard interoperabile per la definizione del protocollo Ad-hoc Discovery Managed Discovery

Ad-hoc Discovery Chat App: Jurgen Chat App: Steve Chat App: Ed Steve Online Chat App: Jurgen Hello Chat App: Steve Hello Steve Online Hello Chat App: Ed

Ad-hoc Discovery Chat App: Jurgen Chat App: Steve Chat App: Ed ProbeMatch Probe Chat App: Steve Probe ProbeMatch Probe Chat App: Ed

Ad-hoc Discovery Chat App: Jurgen Chat App: Steve Chat App: Ed Steve Offline Chat App: Jurgen Bye Chat App: Steve Bye Steve Offline Bye Chat App: Ed

Managed Discovery Chat App: Jurgen Chat App: Steve Discovery Proxy Proxy Available Chat App: Steve Hello Probe Probe Hello Probe ProbeMatch Jurgen Discovery Proxy

Discovery Message Parts Types Lista di xs:QName Contratti richiesti dal client o comunque supportati dal servizio destinatario Scopes Lista di xs:anyURI Scopes richiesti dal client o previsti dal servizio destinatario EndpointReference wsa:EndpointReference EndpointReference del servizio destinatario

WCF 4.0 DEMO

What is REST? Representional State Transfer E’ principalmente uno stile architetturale, non una specifica Importanza alla risorsa (Content+Capabilities) Utilizzo di tecnologie esistenti: HTTP Http Methods e Status Codes = Uniform Interface Domain-neutral data-oriented formats XML, JSON, Atom/Atom Publishing Le risorse vengono identificate attraverso l’utilizzo di URI Esempio: http://dotnetside.org/users/fabio http://dotnetside.org/users

HTTP Methods Method Descrizione GET Recupera una risorsa E’ in sola lettura Cacheable PUT Aggiorna una risorsa Utilizzato anche per creare le risorse se il client ne conosce l’indirizzo remoto Idempotent DELETE Cancella la risorsa specificata POST Crea una nuova risorsa Unsafe

REST in WCF: WebGet e WebInvoke Due nuovi attributi per definire le operation di WCF Definizione del metodo HTTP da utilizzare WebGet permette operazioni in sola lettura WebInvoke consente di modificare lo stato delle nostre risorse Definizione della URI collegata alla operation: UriTemplate Definizione del formato della richiesta e della risposta Attualmente supporta XML e JSON

REST in WCF: UriTemplate Consente di definire la struttura dell’URI e dei parametri Nell’URI definiamo anche dei placeholder che rappresentano i parametri del nostro metodo:

REST in WCF: WebHttpBinding Nuovo binding specifico per REST Supporta esclusivamente il protocollo HTTP Sicurezza solo a livello di trasporto (HTTPS) Supporto per i seguenti formati: XML JSON Binary

REST in WCF: WebServiceHost Estende il ServiceHost Aggiunge le funzionalità necessarie per l’esecuzione di servizi REST Configurazione automatica del WebHttpBinding e del WebHttpBehavior WebOperationContext Accesso al contesto HTTP

Improvements in WCF 4.0 Gestione della cache con AspNetCacheProfile Generazione della pagina di Help

Developing REST services with WCF DEMO

GRAZIE 

Un grazie di cuore a tutti gli sponsor!

GraZIE PER L’ATTENZIONE La vostra opinione per noi è fondamentale: compilate il modulo di feedback! GraZIE PER L’ATTENZIONE