MetaMatrix Concepts
Data Services
What are Data Services?
Since data is rarely in a form required by applications and services, and is often not even in a single data source, a key requirement for data services is that they abstract the data from its physical persistence structure, presenting it in a form that is closer to the needs of the using application. This effectively decouples consuming applications from the structure of the underlying data.
Hand-in-hand with abstraction, a federated query engine is required to execute the transformations defining the abstraction layers in an efficient manner, and to expose the abstracted structures through uniform and standard APIs.
The two key components of a data services architecture, then, are:
- Modeling environment, to define the abstraction layers -- views and Web services
- Execution environment, to actualize the abstract structures from the underlying data, and expose them through standard APIs. A query engine is a required part of the execution environment, to optimally federate data from multiple disparate sources.
Technical and Business Viewpoints
Data services can be viewed from both a technology vantage point, or from a business viewpoint.
The Technology Viewpoint
MetaMatrix provides a suite of products that provide data services to business applications. That is, MetaMatrix products provide a means to access integrated data from multiple data sources, through your preferred standards-based API. MetaMatrix products provide access to federated information through JDBC (SQL or XQuery), ODBC (SQL or XQuery), and SOAP (Web services).
The Business Viewpoint
A more business- or user-centric view of data services is that they are information representations required by business applications. From this perspective, data services are defined and designed by business analysts, modelers, and developers to represent the information structures required by business applications. Often, a key design goal is one of interoperability - the requirement that systems work together seamlessly, including when exchanging data. MetaMatrix provides graphical and other tools for defining these interoperable data services, essentially relational and XML views that can be used by business applications in a semantically-meaningful manner.
These two viewpoints roughly correspond to the Execution and Modeling components of a data services solution, respectively.
Data Services - An Essential Part of an SOA
Data services are a key part of a service-oriented architecure, or SOA. They provide the necessary interface to data for all business services.
- Expose all data through a single uniform interface
- Provide a single point of access to all business services in the system
- Expose data using the same paradigm as business services - as "data services"
- Expose legacy data sources as data services
- Provide a uniform means of exposing/accessing metadata
- Provide a searchable interface to data and metadata
- Expose data relationships and semantics
- Provide uniform access controls to information