
In essence, it is clear with the discussions we have been having that it is not enough to define a data service as something that "exposes the capabilities and data of data resource". I agree to dave's definition. However, I think we need to define Data Resource in conjunction with the definition of the Data Service. I have also compiled all the comments we are exchanging back and forth in this single mail. Quesiton 1: If the Data Service is advertising the capabilities and the data, will the onus be on the data resource to provide QoS. Say for example: My data service says that a data resource provides "copy" feature on a certain data. Then who should ensure that copy feature is available, and upon invoking with right credentials and parameters that it "copy" is successful? Will that be data resource? or the me who is invoking the "copy" capaibility? This is important because the definitions we have/are proposed/proposing do not make these vital things clear. All we are saying is service exposes capabilities and the data while the data resource that holds the data and provides various mechanisms to access the data. Question 2: What about the possibility of a single data source and different capabilities on that source provided by different data resources. For Example: I am a employee table. I have a "update" capability from data resource one on view1. I have "add" capability provided by data resource two on view2. Effectively, I am still the same physical table. Related conversations. DONAL: guru prasad wrote:
I have the following opinion about the proposed definition for a data
service: "A service that exposes the capabilities or data of one or more data resources within a service-oriented architecture."
I'm trying to understand why there should be a distinction between "capabilities" and "data" in this context. Data's interesting for what you can do with it. :-)
The definition just tells me that Data Service just exposes the capabilities and/or data of data resource(s). But, it does not tell me if I can access this service to invoke those capabilities or the data of a data resource.
It's exposing the capabilities, not (necessarily) a description of them.
If this is true, then, 'service' is too strong a term. It should be 'data resource descriptor'. Else, 'service that exposese
the capabilities or data' has to be rephrased. Because it is not only
exposing but also allowing the user to access those capabilities.
A capability isn't exposed if it isn't (at least in principle) accessible. Donal: guru prasad wrote:
This brings me to this question: What is the difference between and data source and a data resource?
A data source is an origin endpoint for a data transfer, and is typically positioned on a data resource. A data resource is some structured information (==data) that can be used by an activity, monitored for changes, lifetime-managed, etc. (==resource); i.e. a data resource is data that is a resource. Obvious really. :-)
Is former just the container for data and latter is responsible for managing one or more data sources?
Now you're getting mixed up between the service instances that implement the concept space and the concepts themselves. Both "data source" and "data resource" are concepts, and they map respectively to things like a service instance that can stream the results of a database query or a file. It might be that the two things are implemented in the same component, but that's not required. Also, a single data resource may have many different sources associated with it (corresponding to views of the data, transfer methods, etc.) If it helps, remember that I regard the act of data transfer as an activity. Donal. Allen Luniewski:
From the Data Architecture glossary: Data sink: A data resource that receives the data copied by a data transfer mechanism from a source. Data Source: A data resource that contains the data to be copied to a sink via a data transfer mechanism. Informally, Data Architecture, and DMI for that matter, use these terms to denote the end points of a data transfer operation.
A data resource is defined as: An entity (and its associated framework) that provides a data access mechanism or can act as a source or sink. (This is what currently on Grid Forge but source/sink really mean data source/sink). So, a data resource is the "thing" that both holds data and provides mechanisms for accessing its contents. Think of a data resource as something like a relational database or a file system as we have had for decades while the Data Architecture defines interfaces (services) that "front" a data resource, making it a participant in the service oriented architecture being defined by OGSA. Dave Berry: I suppose there is an ambiguity arising throught the phrase "expose the capabilities", as we don't have a definition of "expose". Perhaps we could find better words to express the intended meaning. I wondered about "make available the capabilities and data", but this might be confused with provisioning. (I notice that the OGSA definition of "virtualization" has dropped the phrase "make available"). How about: "A service that provides interfaces to the capabilities and data of one or more data resources within a service-oriented architecture." --------------------------------- Sick sense of humor? Visit Yahoo! TV's Comedy with an Edge to see what's on, when.