Share via


Sviluppare applicazioni SAP usando il modello di servizio WCF

Al livello più basso, Windows Communication Foundation (WCF) presenta un modello di programmazione in cui i client richiamano le operazioni su un servizio scambiando messaggi SOAP su un canale stabilito tra endpoint client ed endpoint di servizio. Questo modello, noto come modello di canale WCF, espone tipi di dati e metodi che consentono di operare direttamente sull'architettura del canale WCF. Il modello di canale WCF consente di controllare direttamente il contenuto dei messaggi SOAP creati e nel modo in cui l'applicazione e l'adattatore SAP li utilizzano; Tuttavia, la creazione di messaggi SOAP ben formati da inviare su un canale e la convalida dei messaggi di risposta restituiti può essere un'attività dettagliata ed esatta.

Per questo motivo, WCF fornisce un altro modello di programmazione denominato modello di servizio WCF. Il modello di servizio WCF prevede l'uso di classi proxy per richiamare operazioni su un servizio di destinazione o per ricevere operazioni da un client.

  • La classe proxy usata per richiamare le operazioni in un servizio di destinazione è denominata classe client WCF. Questa classe modella le operazioni esposte da un servizio come metodi .NET con parametri fortemente tipizzati. Usando il modello di servizio WCF, è possibile richiamare le operazioni esposte dall'adapter SAP come metodi .NET nel client WCF. Per altre informazioni sui client WCF, vedere Cenni preliminari sul client WCF.

  • La classe proxy usata per ricevere un'operazione da un client è denominata classe del contratto di servizio WCF. Questa classe modella un'operazione esposta dal codice come metodo di callback con parametri fortemente tipizzati. È quindi possibile ospitare un'istanza di questa classe in system.ServiceModel.ServiceHost per consentire a un client di richiamare l'operazione nel codice. Usando il modello di servizio WCF e una classe del contratto di servizio WCF destinata all'operazione POLLINGSTMT, è possibile ricevere i risultati di una query di polling dall'adapter SAP.

    Si usano strumenti per generare una classe client WCF o un contratto di servizio WCF e il codice helper associato dai metadati del servizio esposti dall'adapter SAP. È possibile usare uno degli strumenti seguenti:

  • Strumento utilità metadati ServiceModel (svcutil.exe), fornito con WCF

  • Plug-in Add Adapter Service Reference di Visual Studio, fornito con l'adattatore SAP

    Il plug-in Add Adapter Service Reference è integrato con l'esperienza di progettazione di Visual Studio e presenta un'interfaccia standard di Microsoft Windows che offre potenti funzionalità di esplorazione e ricerca sulle operazioni esposte dall'adattatore. Per altre informazioni su come generare un client WCF o una classe del contratto di servizio WCF, vedere Generazione di un client WCF o di un contratto di servizio WCF per gli artefatti della soluzione SAP.

    Poiché presenta un modello familiare ai programmatori .NET e che nasconde le complessità sottostanti dello scambio di messaggi SOAP su un canale, il modello di servizio WCF è spesso la scelta migliore per sviluppare soluzioni di programmazione per l'adapter SAP. Tuttavia, esistono scenari in cui il modello di canale WCF potrebbe essere una scelta migliore; in particolare negli scenari in cui lo streaming è importante. Ciò è dovuto al fatto che la serializzazione e la de-serializzazione tra la rappresentazione XML di oggetti in un messaggio SOAP e i tipi .NET usati per rappresentarli nel modello di servizio comportano la lettura dell'intero messaggio in memoria. Per altre informazioni sull'uso del modello di canale WCF, vedere Sviluppare applicazioni SAP usando il modello di canale WCF.

    Gli argomenti di questa sezione contengono informazioni, procedure ed esempi che consentono di creare e usare il modello di servizio WCF per sviluppare applicazioni usando l'adapter SAP.

Contenuto della sezione