Re: [ogsa-wg] [OGSA-D-WG] Definition of "data service"

Thank you for your comments Allen. In that case I vote for Dave Berry's definition: "A service that provides interfaces to the capabilities and data of one or more data resources within a service-oriented architecture." and the Data Resource is ..... Allen Luniewski <luniew@us.ibm.com> wrote: My comments below. Allen Luniewski IBM Cross Brand Services IBM Silicon Valley Laboratory 555 Bailey Ave. San Jose, CA 95141 408-463-2255 408-930-1844 (mobile) guru prasad <guru_bn@yahoo.com> wrote on 07/06/2007 12:46:49 PM:
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
See my note below. We have done this as part of the Data Architecture. I believe that the definitions of data resource and data service are consistent with one another
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.
No. The data service is responsible for agreeing to, and providing, QoS. Obviously it will do using whatever capabilities the data resource provides. Moreover, it is quite reasonable to expect that the ability of a data service to provide QoS is constrained by the QoS capabilities of the data resource. But that is an implementation issue and not one that the user of the data service is aware of.
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?
In all cases, the answer is the data service.
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.
As posed, this is an issue outside of the context of the data architecture - the operations provided by a data resource are outside of the architecture. To put your question differently, it is quite possible, and reasonable, for their to be many data services that use the same data resource.
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.
This question is outside of the data architecture since you are proposing a direct interaction with the data resource. If I substitute "data service" for "data resource" in your question, then the operations you can perform are dependent on whether you access via view1 or view2. In this example, the effect will to make changes to the same data resource.
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.
--------------------------------- Don't get soaked. Take a quick peak at the forecast with theYahoo! Search weather shortcut.

guru prasad wrote:
Thank you for your comments Allen.
In that case I vote for Dave Berry's definition:
"A service that provides interfaces to the capabilities and data of one or more data resources within a service-oriented architecture."
There is a separate question as to whether the data *is* a capability; I suspect it is, at least in some abstract sense. On the other hand, you might wish to distinguish the data as a special kind of capability that needs non-generic handling.
and the Data Resource is .....
A data resource is an abstraction of a file, so I'd imagine that you'd want to describe it as a resource that is an ordered collection of organized information. (The idea is that it doesn't have to be in a file, but it does have many file-like characteristics.) It's strongly beneficial to the overall OGSA if you can have data resources being a subclass of resources (by referencing the OGSA glossary). Donal.

Thank you for your comments Allen.
In that case I vote for Dave Berry's definition:
"A service that provides interfaces to the capabilities and data of one or more data resources within a service-oriented architecture."
There is a separate question as to whether the data *is* a capability; I suspect it is, at least in some abstract sense. On the other hand, you might wish to distinguish the data as a special kind of capability that needs non-generic handling. So can you suggest the modification to the definition that will incorporate what you just above? "Donal K. Fellows" <donal.k.fellows@manchester.ac.uk> wrote: guru prasad wrote:
Thank you for your comments Allen.
In that case I vote for Dave Berry's definition:
"A service that provides interfaces to the capabilities and data of one or more data resources within a service-oriented architecture."
There is a separate question as to whether the data *is* a capability; I suspect it is, at least in some abstract sense. On the other hand, you might wish to distinguish the data as a special kind of capability that needs non-generic handling.
and the Data Resource is .....
A data resource is an abstraction of a file, so I'd imagine that you'd want to describe it as a resource that is an ordered collection of organized information. (The idea is that it doesn't have to be in a file, but it does have many file-like characteristics.) It's strongly beneficial to the overall OGSA if you can have data resources being a subclass of resources (by referencing the OGSA glossary). Donal. --------------------------------- Park yourself in front of a world of choices in alternative vehicles. Visit the Yahoo! Auto Green Center.
participants (2)
-
Donal K. Fellows
-
guru prasad