Native Web Services, Part 2 - Build a WWSAPI Web Service
- Posted: Jul 22, 2009 at 7:12PM
- 9,095 views
- 2 comments
Loading user information from Channel 9
Something went wrong getting user information from Channel 9
Loading user information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
Right click “Save as…”
With the Windows Web Services API (WWSAPI), you can connect your C/C++ client applications with web services. You can also create C/C++ server-side web service end-points. WWSAPI is new with Windows 7 (client) and Windows Server 2008 R2 (server). WWSAPI is also back-ported to all formally supported versions of Windows (client and server). The WWSAPI runtime library (WebServices.dll) is a native-code implementation of WS-* family of protocols for SOAP based web services.
WWSAPI enables several solution scenarios and benefits including:
1. Implement web services in native C/C++ code on both Windows client and server. C/C++ application developers have often requested this platform technology capability but were previously forced to write their own or interface their native-code solutions with managed-code wrappers.
2. Achieve interoperability with web services implemented using Windows Communication Foundation (WCF), ASP.NET XML Web Services, and even services implemented using non-Microsoft implementations of WS-* libraries.
3. Construct web services with minimal service startup time and minimal process working-set dependencies.
4. Use web services implementations in resource-constrained deployment environments.
5. Avoid native-management interop scenarios with potentially costly marshalling side-effects.
This is part 2 of a 2 episode series and focuses upon using WWSAPI to construct a web service. The example illustrates adding a web-service interface to a native (presumably legacy) application. The demonstration provides a comparison between using a managed (WCF) interface and a native (WWSAPI) interface involving sorting algorthms with differing interop costs.