Microsoft provides a range of technologies for exposing data in standard formats. Typically, on the Windows platform, you will expose data through a SOAP-based or a REST-based service; using a technology such as Windows Communication Foundation (WCF) to implement SOAP-based services or a framework such as WCF Data Services for REST-based services. Frameworks such as WCF Data Services and WCF RIA (Rich Internet Application) Services can expose data in the OData, Atom, Atom Pub, and JSON formats, and support a full REST-based service interface for updating, deleting, and adding new data to the server-based store. Other server frameworks for Windows and other platforms can do the same.
Note: For information about the OData SDKs and providers that are currently available, see the Open Data Protocol website (http://www.odata.org/developers/odata-sdk) and the post, “OData interoperability with .NET, Java, PHP, iPhone and more,” on the Interoperability @ Microsoft blog (http://blogs.msdn.com/b/interoperability/archive/2010/03/16/odatainteroperability-with-net-java-php-iphone-and-more.aspx).
Mobile devices can also communicate directly with SQL Azure™ databases, although this requires use of an ADO.NET provider that understands the tabular data stream (TDS) protocol. It also requires more effort on the client side to write the data access code because the ADO.NET SQL client libraries are not available on the phone, and offers no opportunity to include server-based business logic outside of the database operations. However, it may be a useful technique in some application scenarios.
Note: The implementation of Silverlight on Windows Phone 7 does not directly support all the networking features of Silverlight 4.0 and the Silverlight 4.0 SDK. For more information, see “Networking for Windows Phone” on MSDN (http://msdn. microsoft.com/en-us/library/ff637320(VS.96).aspx).
Built on top of OData is the OData Sync protocol. This protocol is specifically designed to make synchronizing data across networks much simpler by using pluggable providers for each type of data store or device. A central orchestration component managed by the application configures endpoints and controls the transfer of data changes between the endpoints.
To support the OData and OData Sync protocols, Microsoft and many third-party companies offer frameworks, providers, connectors, proxies, and other components that run both on Windows and other platforms. Figure 4 shows a high-level overview of the data communication and synchronization mechanisms build around the OData and OData Sync protocols.
Note: For more information about the Microsoft Sync Framework, see Appendix E, “Microsoft Sync Framework and Windows Phone 7.”