Presentation is loading. Please wait.

Presentation is loading. Please wait.

Nikola Dudar Program Manager Microsoft Corporation Session Code: DTL 311.

Similar presentations


Presentation on theme: "Nikola Dudar Program Manager Microsoft Corporation Session Code: DTL 311."— Presentation transcript:

1

2 Nikola Dudar Program Manager Microsoft Corporation Session Code: DTL 311

3 Session outline Story of native code and web services Introduction to Windows Web Services API Demonstration of WWSAPI Q&A

4 Story of Native Code and Web Services No simple way for native code connect to WCF and ASP.Net XML web services SOAP Toolkit is not supported ATL SOAP does not work for most scenarios Taking dependency on.Net Framework is not acceptable in many cases Native + managed code mixed solutions demonstrate poor performance

5 Windows Web Services API Introduction Connecting native code and web services Win32 API No dependency on.Net Framework Interoperability with WS-* SOAP stacks Windows Communication Foundation (WCF) ASP.Net XML Web Services (ASMX) Non-Microsoft stacks System Component of Windows 7 Available for Windows XP/Vista/2003/2008

6 Web service and client in native code Nikola Dudar Program Manager Microsoft Corporation

7 Server Native Code Client to WCF Service Managed code client using WCF WCF Service Sort DLL Native code client using WWSAPI

8 Server Native Code Service Using WWS API Managed code client using WCF Native Code Service Sort DLL Native code client using WWSAPI

9 Demo Summary Using WWS API, you can build Interoperable web services Clients to web services Fully native code solution No dependency on.Net Framework Expose native code as WWSAPI web service 2x-4x improvement in service throughput

10 Windows Web Services API Layers Your Application Code Network I/O Service Model Channel Layer XML Layer Errors Heap Async Context

11 Service Model Web services as function calls Automatically manages communication Service Proxy on client Service Host on service Message exchanges as function calls Client calls generated function Server implements callback Driven from Contract WsUtil.exe generates C code from WSDL/XSD

12 Channel Layer Full control over communication Message Data sent or received Consists of body and headers Channel Abstraction for message exchange Unified API for all transports HTTP, TCP, UDP Properties to tweak different settings

13 Security Description Securing message exchange on the channel Transport security HTTP: SSL TCP: Windows SSPI Message plus Transport security (Mixed Mode) Username/Password, Kerberos APREQ, XML Token, Secure Conversation Token Basic support for SAML and federation No support for Full message security mode

14 XML Layer Full access to content of messages Unified API for all encodings Text, Binary, MTOM SOAP subset of XML 1.0 (No DTD) XmlBuffer In-memory store for XML data XmlReader and XmlWriter Forward only access Integrated canonicalization (C14n)

15 Serialization Mapping C data types to/from XML types Simply C and Win32 types mapped to simple XSD types Complex XSD types mapped to C structures WsUtil.exe generate C types from XSD struct PurchaseOrder { int id; }; 123

16 Drilling down into how to use WWSAPI Nikola Dudar Program Manager Microsoft Corporation

17 Demo Summary Remember ABC A: Opening Service Proxy or Service Host B: Creating Service Proxy or Service Host C: wsutil.exe generates C code from WSDL/XSD Heap Removes need for parameters "Alloc/Free" Error Detailed information about runtime errors

18 Supported Configurations Transports HTTP, TCP, UDP XML Encodings Text, Binary, and MTOM Envelope SOAP 1.1 and 1.2 Addressing WS-Addressing 0.9 and 1.0 Metadata WSDL 1.1, XML Schema 1.0 WS-MetadataExchange 1.1 WS-Transfer March 2006 Security WS-Security 1.0 and 1.1 (partial) WS-Trust February 2005 and 1.3 (partial) WS-SecureConversation 1.1 and 1.3 (partial) Policy WS-Policy from March 2006 and v.1.2 WS-Policy Attachment from March 2006 and 1.2 WS-SecurityPolicy 1.1

19 WWSAPI Performance

20

21 Summary WWSAPI connects native code and web services Available on Windows 7, XP, Vista, Server 2003 and 2008 WWSAPI does not replace WCF Use WWSAPI to build native code clients Reduces working set of your client applications Use WWSAPI to host native code on service Improve throughput of your service

22 Questions and Answers MSDN http://msdn.microsoft.com/network/ Blogs http://blogs.msdn.com/nikolad http://blogs.msdn.com/haoxu Reports of issues and suggestions https://connect.microsoft.com/wndp/ Email nikola.dudar@microsoft.com

23 www.microsoft.com/teched Sessions On-Demand & Community http://microsoft.com/technet Resources for IT Professionals http://microsoft.com/msdn Resources for Developers www.microsoft.com/learning Microsoft Certification and Training Resources www.microsoft.com/learning Microsoft Certification & Training Resources Resources Required Slide Speakers, TechEd 2009 is not producing a DVD. Please announce that attendees can access session recordings at TechEd Online. Required Slide Speakers, TechEd 2009 is not producing a DVD. Please announce that attendees can access session recordings at TechEd Online.

24 Related Content Windows 7 Sessions WCL202 - Developing for Windows 7 WCL305 - Focus on Fundamentals in Windows Applications (Graphics, Power, Services, Profiling) WCL311 - Optimizing Your Application for the Windows 7 User Experience WCL312 - Windows Application Readiness for Developers Sessions for C++ developers DTL403 - Microsoft Visual C++ Library, Language, and IDE: Now and Next DTL310 - Parallel Computing with Native C++ in Microsoft Visual Studio 2010 Required Slide Speakers, please list the Breakout Sessions, TLC Interactive Theaters and Labs that are related to your session. Required Slide Speakers, please list the Breakout Sessions, TLC Interactive Theaters and Labs that are related to your session.

25 Complete an evaluation on CommNet and enter to win! Required Slide

26 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. Required Slide


Download ppt "Nikola Dudar Program Manager Microsoft Corporation Session Code: DTL 311."

Similar presentations


Ads by Google