WCF LOB SDK at CNUG

25
EXPLORING THE WCF LOB SDK SR. CONSULTANT AT MAGENIC, BIZTALK MVP BEN CLINE

Transcript of WCF LOB SDK at CNUG

Page 1: WCF LOB SDK at CNUG

EXPLORING THE WCF LOB SDKSR. CONSULTANT AT MAGENIC, BIZTALK MVPBEN CLINE

Page 2: WCF LOB SDK at CNUG

About Me – [email protected] ProfileSr. ConsultantWork on BizTalk,

WF, WCF, SharePoint projects

Blog: msinnovations.spaces.live.com

Community FocusesBizTalk MVP 2009-

2010MSDN Forums

Poster, ModeratorActive in testing

Connect releases – VS 2010, BizTalk 2009, 2010

Page 3: WCF LOB SDK at CNUG

Agenda

1 Overview of the WCF LOB SDK

2 Demo – SqlBinding

3 Enterprise LOB and Generic Scenarios

4 Architecture of the SDK

5 Demo - SalesForceBinding

Page 4: WCF LOB SDK at CNUG

What is the WCF LOB SDK?Free Toolkit from Microsoft based on WCF

custom bindingsProvides client manageability, usability

improvements for using custom bindingsLOB = [classic ERP] datasource Can be used for any system that needs to

provide metadata or context to developersArchitectural foundation for BizTalk Adapter

Pack

Page 5: WCF LOB SDK at CNUG

What is provided?VS client-side integrationWizards for creating custom binding adapters

(Code gen)Metadata explorerWCF Service wrapper extensionSDK, samplesAdd custom binding to machine.config codeSetup project example

Page 6: WCF LOB SDK at CNUG

Example of a custom binding (WCF)<configuration> <system.serviceModel> <bindings> <customBinding> <binding name="myBinding"> <textMessageEncoding messageVersion="Soap11" /> <httpTransport /> </binding> </customBinding> </bindings>

<services> <service behaviorConfiguration="WcfServiceLibrary1.Service1Behavior"

name="WcfServiceLibrary1.Service1"> <endpoint address="" binding="customBinding" bindingConfiguration="myBinding"

contract="WcfServiceLibrary1.IService1"> </endpoint>…

Page 7: WCF LOB SDK at CNUG

Bindings, bindings everywherebasicHtt

pWeb

ServiceRelated

wsHttp

Not Web

Service Related

netMSMQ

msmqInt

wsContext

SqlBinding

wsFed

Less Common Use

More Common Use

OracleBinding

Page 8: WCF LOB SDK at CNUG

WCF vs. WCF LOB SDKWCF WCF LOB SDKService, clientDefault, standard

bindingsCustom bindings based

on binding elementsAdd Service Reference.NET compatible config

file elements

Adapter, client, optional service

Custom bindings based on binding elements

Add Adapter Service Reference

.NET compatible config file elements

Page 9: WCF LOB SDK at CNUG

Web Service

BizTalk ServerBizTalk WCF

Adapter

WCF Channel Model

WCF Service Model

WCF Transport

(HTTP, TCP, …)

WCF

Custom.NET

Application

SharePoint

ServerASP.NET

2.0

WCF Binding/Adapter Landscape

SAP Adapter

Adapter SDK

RuntimeSQL

Adapter

Adapter SDK

RuntimeOracle DBAdapter

Adapter SDK

Runtime

SQLServer

ADO.NETProvider

SAP Siebel Oracle DBAny LOB System

Any LOBAdapter

Adapter SDK

Runtime

Page 10: WCF LOB SDK at CNUG

Agenda

1 Overview of the WCF LOB SDK

2 Demo – SqlBinding

3 Enterprise LOB and Generic Scenarios

4 Architecture of the SDK

5 Demo - SalesForceBinding

Page 11: WCF LOB SDK at CNUG

Demo - Using the SqlBinding in VS 2008ObservationsWizard-like form similar to Add Service RefObject browser enables quick selection of

datasource objectsAfter wizard executes, new proxy class addedDataContracts created for parameters,

resultsWhen used with BizTalk, XSDs are generatedProxy generation options like with SvcUtil

Page 12: WCF LOB SDK at CNUG

Agenda

1 Overview of the WCF LOB SDK

2 Demo – SqlBinding

3 Enterprise LOB and Generic Scenarios

4 Architecture of the SDK

5 Demo - SalesForceBinding

Page 13: WCF LOB SDK at CNUG

Enterprise LOB ScenarioEnterprise system storing data: SAP, Oracle,

PeopleSoft, Siebel, CRM, etc.System-specific formats, connectivity,

supporting infrastructureWCF LOB SDK provides foundation for

custom bindings/adapters based on your code:Example: Custom Oracle binding from WCF

LOB SDK + ODP.Net APIsWCF LOB SDK service wrapper acts as

protocol transition/bridge layer

Page 14: WCF LOB SDK at CNUG

Generic Datasource ScenarioLOB<T> where T : YourDataSourceFoundation for exposing data or O/R layerMiddle tier service layerCSLA service layerAPI obfuscation

Page 15: WCF LOB SDK at CNUG

Other Uses for the SDKClient for connecting to ESB or SOA

resourcesLight weight UDDI explorerCentralize connectivity managementClient for missing VS functionality – for

referencing Web 2.0 servicesExtend existing features of BizTalk Adapter

Pack

Page 16: WCF LOB SDK at CNUG

Agenda

1 Overview of the WCF LOB SDK

2 Demo – SqlBinding

3 Enterprise LOB and Generic Scenarios

4 Architecture of the SDK

5 Demo - SalesForceBinding

Page 17: WCF LOB SDK at CNUG

Run Time

WCF Applicati

on

Design Time

Tracing/Perf Counters

MetadataExchanger

Adapter Metadata

Utility Tool

Connection URI Builder

WCF Connection

Connection Pool

Management MetadataManagemen

t

WSDLBuilder

Metadata

Browse/Search

Channel Implementation

Component Architecture

Page 18: WCF LOB SDK at CNUG

WCF & LOB SDK Namespaces

System.ServiceModel

Channels

Configuration

Microsoft.ServiceModel

Channels

Description

Common

Common

Tools.MetadataSearchBrowse

Page 19: WCF LOB SDK at CNUG

WCF LOB SDK Development LifecycleWizard based metadata code generationSetup projects based on samplesConnection, URI, Property Grid Type EditorsConnectivity Logic to Integrate with Target System(s)Binding Elements if requiredMetadata Browser and SearchProxy and XSD type generation customization

Page 20: WCF LOB SDK at CNUG

Agenda

1 Overview of the WCF LOB SDK

2 Demo – SqlBinding

3 Enterprise LOB and Generic Scenarios

4 Architecture of the SDK

5 Demo - SalesForceBinding

Page 21: WCF LOB SDK at CNUG

Demo – SalesForce CustomBindingWhy create a SalesForce binding?No supported SalesForce VS extension currently was

availableSalesForce provides REST and SOAP APIs but has

specialized implementationAsync operations only exposed on REST, would be

useful if called via SOAP and bridged from RESTWhat does this demonstrate?Property grid customizations make for better UI

Experience.NET invocation helpful for BizTalkLittle code required to generate proxy, XSDs

Page 22: WCF LOB SDK at CNUG

Appendix

Page 23: WCF LOB SDK at CNUG

Comparing WCF LOB with BizTalkWCF LOB SDK BizTalkCustom Binding centricCustom Bindings shown

in Add Adapter Service wizard

.NET project: add adapter service

Generates client proxy

Adapter centricCustom Bindings shown

in WCF-Custom adapterBizTalk project: Add

generated items \ consume adapter service

Generates BizTalk schema, binding file

Page 24: WCF LOB SDK at CNUG

Comparing Adapter ModelsAdapter Framework Adapter WCF LOB SDK AdapterNo built-in code genLimited VS integrationSimpler development

processRequires .NET wrapper

for non BizTalk invocation

Built-in code genMore extensive VS

integrationMore complicated

development processCallable directly

from .NET assemblies

Page 25: WCF LOB SDK at CNUG

ResourcesWCF LOB SDK for VS 2008 (Get SP2

separately):http://www.microsoft.com/downloads/

details.aspx?FamilyID=56278fde-b708-469c-987e-ded9c6c5e580&DisplayLang=en

Links to Documentation, Webcasts: http://msinnovations.spaces.live.com/blog/cns!62E68922E47BC425!1169.entry