review articles
Doi: 10.1145/2184319.2184340
Exploring the technology trends in basic,
integrated, and cloud data services.
By MiChAeL J. CARey, niCoLA onose,
AnD MiChALis Pe TRoPouLos
Data
services
today’s BUsIness praCtICes require access to
enterprise data by both external as well as internal
applications. Suppliers expose part of their inventory
to retailers, and health providers allow patients to
view their health records. but how do enterprise data
owners ensure access to their data is appropriately
restricted and has predictable impact on their
infrastructure? In turn, application developers sitting
on the “wrong side” of the Web from their data need
a mechanism to find out which data they can access,
what their semantics are, and how they can integrate
data from multiple enterprises. Data services are
software components that address these issues by
providing rich metadata, expressive languages, and
APIs for service consumers to use to send queries and
receive data from service providers.
Data services are a specialization of Web services
that can be deployed on top of data stores, other
services, and/or applications to encapsulate a wide
range of data-centric operations. In
contrast to traditional Web services,
services that provide access to data
need to be model-driven, offering a
semantically richer view of their underlying data and enabling advanced
querying functionality. Data service
consumers need access to enhanced
metadata, which is both machine-readable and human-readable, such
as schema information. This metadata
is needed to use or integrate entities
returned by different data services.
For example, a getCustomers data
service might retrieve customer entities, while getOrdersByCID retrieves
orders given a customer id. In the absence of any schema information, the
consumer is not sure if he or she can
compose these two services to retrieve
the orders of customers. Moreover,
consumers of data services can utilize
a query language and pass a query expression as a parameter to a data service; they can use metadata-guided
knowledge of data services and their
relationships to formulate queries and
navigate between sets of entities.
Modern data services are descendants of the stored procedure facilities
provided by relational database systems, which allow a set of SQL statements and control logic to be parameterized, named, access-controlled,
and then called from applications that
key insights
Data services differ from traditional
Web services in that they serve as
“fronts” for data and are based on
a richer model of that data.
The growing importance of data
services in the movement toward
a hosted-services world is evidenced
by the number of contexts within
which they have been utilized in recent
years: data publishing, data exchange
and integration, service-oriented
architectures (soA), data as a service
(Daas), and most recently, cloud
computing.
While data services were initially
conceived to solve problems in the
enterprise world, the cloud is now making
data services accessible to a much
broader range of consumers.