Article: Introduction to Data Services

| by Dave West Follow 3 Followers on May 21, 2009. Estimated reading time: less than one minute |

This article by Vijay Narayanan, defines data services as "the encapsulation of operations on key data entities of relevance to the enterprise." He then makes a general case for data services:

Data services abstract the consumer from having to access or update multiple data sources and are critical in helping maintain data integrity when a consumer needs to work with multiple data sources. Additionally, they help build reusable data services that can be leveraged for multiple projects and initiatives. Data services also perform a critical governance function – they help centralize metrics, monitoring, version management, reuse of data types, and enforce data visibility and access rules.

before addressing specific issues of data services.


Several benefits of using data services (source abstraction, aggregation, reuse, and more) are noted and briefly discussed. Scope of data services is defined very narrowly, "actions on data entities-period," along with why this scoping is important.

The article then looks at data services development following a "contract-first" approach and concludes with a discussion of data services consumption patterns.

Read An Introduction to Data Services for more information on this topic.

Rate this Article

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Data Services are an SOA anti-pattern by Sriram Narayan

Why? See Bill Poole's excellent explanation.

Re: Data Services are an SOA anti-pattern by Vijay Narayanan

Are data services an anti-pattern? Just like everything else in architecture, the answer is based on the technology, business, and organizational contexts. The number of data sources, the complexity of data entity structure and data access patterns, volume of data exchange, performance, and degree of decoupling needed between consumers and providers all play into choosing the implementation characteristics of data services. If your organization has several silos of data including a mixture of legacy repositories and each data source integration is unique and costs resources to build and test become factors as well. There are specific concerns and techniques when implementing read-only services vs. read-write services. Finally, data services are not always accessed in synchronous request/reply fashion neither are they always accessed from a task or business service.

Entity Services by Colin Jack

Isn't this just rehashing the entity services idea yet again?

Personally I totally agree with Bill Poole's analysis.

Re: Data Services are an SOA anti-pattern by Colin Jack

There's a good discussion of this on InfoQ itself actually:

Don't confuse SOA with unified data tier by varun sharma

SOA Data Services are not just services operating on XML. Instead SOA Data Services are enterprise data management end-points that expose highly optimized engines for working on all types of data.

The inherent inefficiencies of XML, associated with large data handling, and the fact that almost all SOA suites are built upon Java containers – it necessitates the use of a highly optimized caching server within the MW tier to Federate IA using SOA. This added setup/maintenance cost of Caching server basically veers us to utilize SOA Data Service alongside Data Federation Tier.

Your comments??

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

5 Discuss