Facilitating the spread of knowledge and innovation in professional software development



Choose your language

InfoQ Homepage News Article: Introduction to Data Services

Article: Introduction to Data Services


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.

We need your feedback

How might we improve InfoQ for you

Thank you for being an InfoQ reader.

Each year, we seek feedback from our readers to help us improve InfoQ. Would you mind spending 2 minutes to share your feedback in our short survey? Your feedback will directly help us continually evolve how we support you.

Take the Survey

Rate this Article


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.

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

Community comments

  • Data Services are an SOA anti-pattern

    by Sriram Narayan,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Why? See Bill Poole's excellent explanation.

  • Re: Data Services are an SOA anti-pattern

    by Vijay Narayanan,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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,

    Your message is awaiting moderation. Thank you for participating in the discussion.

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

  • Don't confuse SOA with unified data tier

    by varun sharma,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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

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


Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.