Part I: The transaction coordination service. Transactions are a necessary part of nearly all business interactions.
Transactions exist to ensure that all parts of a particular business operation are properly recorded; if any single part fails, then the transaction as a whole should fail in order to maintain data consistency. The advent of service-oriented architectures has added a layer of complexity to transaction management due to the nature of Web-based services; services are often asynchronous, stateless, distributed, and opaque.
In order for businesses to gain full value from a service-oriented approach, service developers must understand the mechanics of transaction management, including resource recruitment, business function coordination, concurrency control, and recovery. This two-part article discusses the nature of, and issues surrounding, the implementation of transactions in complex service-oriented architectures. Automation and business operations A hundred years ago business operations were very labor-intensive. Sync’ing OData to Local Storage in Windows Phone (Part 1) - Writing...Data Services. Or This is the first blog post in a new series that focuses on my work to develop prescriptive guidance for synchronizing clients with cloud services—more specifically, how to best create and maintain a local cache of OData entities on a Windows Phone client.
This post deals specifically with my first attempt at creating a local cache by generating client objects that support both the OData client for Windows Phone and local database on the device. Background Both to support my writing work for OData and Windows Phone and to improve the performance of my PASS Event Browser app for Windows Phone 7.5 (“Mango”), I’ve been deep into figuring out a “best practice” for synchronizing data from an OData feed into local storage on the device. There are several reasons why storing a cache of OData object data on the device is a good idea: Reduced amount of network traffic. OData Synchronization with WCF Data Services. Over the last couple of months I’ve been doing quite a bit of work with OData, being one of the easiest ways to consume data with a Windows Phone application.
One of the things that has frustrated me is that there isn’t any built in synchronization components for Windows Phone (there isn’t any database persist technology either but I won’t digress…). However, because of the way that OData exposes data, it isn’t too difficult to come up with scheme for doing synchronization. Before we get into how I’ve been doing data synchronization over OData I want to take this opportunity to point out that there are different approaches to synchronization. If you look at technologies such as RDA and Merge Replication these are clearly targeting the synchronization of relational data.
Change tracking is typically at a per row level for each table that you choose to synchronize. WCF Data Services (formerly ADO.NET Data Services) Understanding and Applying Operational Transformation. 17 May 2010 Almost exactly a year ago, Google made one of the most remarkable press releases in the Web 2.0 era.
Of course, by “press release”, I actually mean keynote at their own conference, and by “remarkable” I mean potentially-transformative and groundbreaking. I am referring of course to the announcement of Google Wave, a real-time collaboration tool which has been in open beta for the last several months. For those of you who don’t know, Google Wave is a collaboration tool based on real-time, simultaneous editing of documents via a mechanism known as “operational transformation”. Entities which appear as messages in the Wave client are actually “waves”.
<body><line/>Test message <line/><line/>Lorem ipsum dolor sit amet. The Enterprise Library Data Access Application Block, Part 2. Data Points The Enterprise Library Data Access Application Block, Part 2 John Papa Code download available at:DataPoints0508.exe(197 KB) Last month I explored the foundation of the Enterprise Library Data Access Application Block (DAAB) including how it all fits into an architecture (see Data Points: The Enterprise Library Data Access Application Block, Part 1).
I also discussed the Configuration Tool, how to use the cryptography and configuration features with the DAAB, and how the DAAB offers database abstraction through its database factory pattern and through reflection. This month, I will continue the exploration by walking through several code examples that demonstrate the different ways data can be retrieved using the DAAB. I will start by setting up a project that uses the Enterprise Library DAAB and discussing how a project can benefit from post-build events. I'll show you how to execute a parameterized query using inline SQL as well as stored procedures. Setting Up Your Project. Custom Basic Authentication for IIS. Build RESTful APIs with WCF Web API. Transport Security with Certificate Authentication. This scenario implements a request/reply message pattern as illustrated by the following diagram.
The client can be configured in code or in an app.config file. The following example shows how to configure the client in code. // Create the binding. WSHttpBinding myBinding = new WSHttpBinding(); myBinding.Security.Mode = SecurityMode.Transport; myBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate; // Create the endpoint address.
Note that the machine name // must match the subject or DNS field of the X.509 certificate // used to authenticate the service. Alternatively you can configure the client in an App.config file as shown in the following example: Security - How to implement Authentication and Authorization in WCF Restful Service. RESTful API Authentication Schemes.