Exploring the WCF LOB SDK<br />Ben Cline<br />Sr. Consultant, BizTalk MVP<br />
About Ben Cline – BenC@magenic.com<br />Speaker Profile<br />Sr. Consultant<br />Work on BizTalk, WF, WCF, SharePoint proj...
Objectives and Takeaways<br />Introductions <br />Overview of the WCF LOB SDK<br />Demo - SqlBinding<br />Architecture of ...
Overview of the WCF LOB SDK<br />
What is the WCF LOB SDK?<br />Free Toolkit from Microsoft based on WCF custom bindings<br />Provides client manageability,...
What is provided?<br />VS client-side integration<br />Wizards for creating custom binding adapters (Code gen)<br />Metada...
Comparing WCF and WCF LOB SDK<br />WCF<br />Service, client<br />Default, standard bindings<br />Custom bindings based on ...
Demo - Using the sqlBinding in VS 2008<br />Observations<br />Wizard-like form similar to Add Service Ref<br />Object brow...
WCF Channel Model<br />WCF LOB Landscape<br />WCF Service Model<br />SharePoint<br />Server<br />BizTalk Server<br />SQL<b...
Questions?<br />FAQ:<br />What about VS 2010 support?<br />The add adapter service reference not showing up after install....
Enterprise LOB & Generic DatAsource Scenarios<br />
Enterprise LOB Scenario<br />Enterprise system storing data: SAP, Oracle, PeopleSoft, Siebel, CRM, etc.<br />System-specif...
Generic Datasource Scenario<br />LOB<T> where T : YourDataSource<br />Foundation for exposing data or O/R layer<br />Middl...
Other Uses for the SDK<br />Client for connecting to ESB or SOA resources<br />Light weight UDDI explorer<br />Centralize ...
Questions?<br />FAQ:<br />What are the licensing terms of the BizTalk Adapter Pack?<br />What do you mean by “protocol tra...
Architecture of the WCF LOB SDK<br />
Component Architecture<br />WCF Application<br />Adapter MetadataUtility Tool<br />Run Time<br />Design Time<br />Channel ...
WCF LOB SDK Development Lifecycle<br />Wizard based metadata code generation<br />Setup projects based on samples<br />Con...
Demo – SalesForceCustomBinding<br />No supported SalesForce VS extension currently was available<br />SalesForce provides ...
Appendix<br />
Example of a custom binding (WCF)<br /><configuration> <system.serviceModel> <bindings><br /><customBinding> <binding name...
Comparing WCF LOB with BizTalk<br />WCF LOB SDK<br />Custom Binding centric<br />Custom Bindings shown in Add Adapter Serv...
Resources<br />WCF LOB SDK for VS 2008 (Get SP2 separately):<br />http://www.microsoft.com/downloads/details.aspx?FamilyID...
Upcoming SlideShare
Loading in …5
×

WCF LOB SDK from CodeMastery

1,299
-1

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,299
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Brackets show the “classic ERP” part of the datasource is optionalWhy have I not heard of this before? - Probably because it is so closely related to BizTalk or because it has not been merged into System.ServiceModel and the core .NET framework.
  • - If you have tried creating a custom binding on your own you know it requires quite a bit of custom code for implementing the channels, extension behaviors (if necessary), binding elements, etc., and any deployment related artifacts. Doing all of these steps involved quite a bit of work and was almost prohibitively costly for the relatively low gain of the custom binding. With the SDK it is much easier to create a custom binding in a few hours. - Some of the things provided here would be useful just for harvesting and incorporating in your own projects.
  • Notice the difference in terminology regarding the service. An adapter is another name for a custom binding. In the BizTalk sense a custom binding functions similar to a custom adapterBuilt on some of the familiar things from .NET and extended just a little.
  • This demo shows use of the sqlBinding which is in the BizTalk adapter pack but illustrates what can be done with a custom binding created through the WCF LOB SDK.
  • With .NET 4, protocol transitioning or bridging is provided out-of-the-box, and you do not need to expose one service to feed off some other one, effectively wrapping the logic twice. The WCF LOB SDK service wrapper provides a rudimentary similarity – you only expose one service.
  • WCF LOB SDK from CodeMastery

    1. 1. Exploring the WCF LOB SDK<br />Ben Cline<br />Sr. Consultant, BizTalk MVP<br />
    2. 2. About Ben Cline – BenC@magenic.com<br />Speaker Profile<br />Sr. Consultant<br />Work on BizTalk, WF, WCF, SharePoint projects<br />Blog: msinnovations.spaces.live.com<br />Community Focuses<br />BizTalk MVP 2009-2010<br />MSDN Forums Poster, Moderator<br />Active in testing Connect releases – VS 2010<br />
    3. 3. Objectives and Takeaways<br />Introductions <br />Overview of the WCF LOB SDK<br />Demo - SqlBinding<br />Architecture of the SDK<br />Enterprise LOB and Generic Datasource Scenarios<br />Demo - SalesForceBinding<br />
    4. 4. Overview of the WCF LOB SDK<br />
    5. 5. What is the WCF LOB SDK?<br />Free Toolkit from Microsoft based on WCF custom bindings<br />Provides client manageability, usability improvements for using custom bindings<br />LOB = [classic ERP] datasource<br />Can be used for any system that needs to provide metadata or context to developers<br />Architectural foundation for BizTalk Adapter Pack<br />
    6. 6. What is provided?<br />VS client-side integration<br />Wizards for creating custom binding adapters (Code gen)<br />Metadata explorer<br />WCF Service wrapper extension<br />SDK, samples<br />Add custom binding to machine.config code<br />Setup project example<br />
    7. 7. Comparing WCF and WCF LOB SDK<br />WCF<br />Service, client<br />Default, standard bindings<br />Custom bindings based on binding elements<br />Add Service Reference<br />.NET compatible config file elements<br />WCF LOB SDK<br />Adapter, client, optional service<br />Custom bindings based on binding elements<br />Add Adapter Service Reference<br />.NET compatible config file elements<br />
    8. 8. Demo - Using the sqlBinding in VS 2008<br />Observations<br />Wizard-like form similar to Add Service Ref<br />Object browser enables quick selection of datasource objects<br />After wizard executes, new proxy class added<br />DataContracts created for parameters, results<br />When used with BizTalk, XSDs are generated<br />Proxy generation options like with SvcUtil<br />
    9. 9. WCF Channel Model<br />WCF LOB Landscape<br />WCF Service Model<br />SharePoint<br />Server<br />BizTalk Server<br />SQL<br />Server<br />Custom<br />.NET<br />Application<br />ASP.NET 2.0<br />ADO.NET<br />Provider<br />BizTalk WCF<br />Adapter<br />WCF<br />Adapter SDK Runtime<br />Adapter SDK Runtime<br />Adapter SDK Runtime<br />Adapter SDK Runtime<br />WCF Transport<br />(HTTP, TCP, …)<br />SQLAdapter<br />Oracle DB<br />Adapter<br />SAP Adapter<br />Any LOB<br />Adapter<br />Web Service<br />Siebel<br />Oracle DB<br />SAP<br />Any LOB System<br />
    10. 10. Questions?<br />FAQ:<br />What about VS 2010 support?<br />The add adapter service reference not showing up after install. Why?<br />Compatible w/ EF?<br />
    11. 11. Enterprise LOB & Generic DatAsource Scenarios<br />
    12. 12. Enterprise LOB Scenario<br />Enterprise system storing data: SAP, Oracle, PeopleSoft, Siebel, CRM, etc.<br />System-specific formats, connectivity, supporting infrastructure<br />WCF LOB SDK provides foundation for custom bindings/adapters based on your code:<br />Example: Custom Oracle binding from WCF LOB SDK + ODP.Net APIs<br />WCF LOB SDK service wrapper acts as protocol transition/bridge layer<br />
    13. 13. Generic Datasource Scenario<br />LOB<T> where T : YourDataSource<br />Foundation for exposing data or O/R layer<br />Middle tier service layer<br />CSLA service layer<br />
    14. 14. Other Uses for the SDK<br />Client for connecting to ESB or SOA resources<br />Light weight UDDI explorer<br />Centralize connectivity management<br />Client for missing VS functionality – for referencing Web 2.0 services<br />
    15. 15. Questions?<br />FAQ:<br />What are the licensing terms of the BizTalk Adapter Pack?<br />What do you mean by “protocol transition” or “protocol bridging”?<br />
    16. 16. Architecture of the WCF LOB SDK<br />
    17. 17. Component Architecture<br />WCF Application<br />Adapter MetadataUtility Tool<br />Run Time<br />Design Time<br />Channel Implementation<br />Tracing/Perf Counters<br />MetadataExchanger<br />Connection URI Builder<br />Connection PoolManagement<br />WSDLBuilder<br />MetadataBrowse/Search<br />MetadataManagement<br />WCF Connection<br />
    18. 18. WCF LOB SDK Development Lifecycle<br />Wizard based metadata code generation<br />Setup projects based on samples<br />Connection, URI, Property Grid Type Editors<br />Binding Elements if required<br />Metadata Browser and Search<br />WSDL customizations<br />
    19. 19. Demo – SalesForceCustomBinding<br />No supported SalesForce VS extension currently was available<br />SalesForce provides REST and SOAP APIs but has specialized implementation<br />Async operations only exposed on REST, would be useful if called via SOAP and bridged from REST<br />
    20. 20. Appendix<br />
    21. 21. Example of a custom binding (WCF)<br /><configuration> <system.serviceModel> <bindings><br /><customBinding> <binding name="myBinding"> <textMessageEncodingmessageVersion="Soap11" /> <httpTransport /> </binding> <br /></customBinding> </bindings> <services> <br /><service behaviorConfiguration="WcfServiceLibrary1.Service1Behavior" name="WcfServiceLibrary1.Service1"> <endpoint address="" binding="customBinding" bindingConfiguration="myBinding" contract="WcfServiceLibrary1.IService1"> </endpoint> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> <host> <baseAddresses> <add baseAddress="http://localhost:8731/Design_Time_Addresses/WcfServiceLibrary1/Service1/" /> </baseAddresses> </host> </service> </services> <br />
    22. 22. Comparing WCF LOB with BizTalk<br />WCF LOB SDK<br />Custom Binding centric<br />Custom Bindings shown in Add Adapter Service wizard<br />.NET project: add adapter service<br />Generates client proxy<br />BizTalk<br />Adapter centric<br />Custom Bindings shown in WCF-Custom adapter<br />BizTalk project: Add generated items consume adapter service<br />Generates BizTalk schema, binding file<br />
    23. 23. Resources<br />WCF LOB SDK for VS 2008 (Get SP2 separately):<br />http://www.microsoft.com/downloads/details.aspx?FamilyID=56278fde-b708-469c-987e-ded9c6c5e580&DisplayLang=en<br />Links to Documentation, Webcasts: http://msinnovations.spaces.live.com/blog/cns!62E68922E47BC425!1169.entry<br />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×