1 mapping the dais concepts simon laws (ibm) sastry malladi (oracle) savas parastatidis (univ. of...
TRANSCRIPT
1
Mapping the DAIS Concepts
Simon Laws (IBM)
Sastry Malladi (ORACLE)
Savas Parastatidis (Univ. of Newcastle)
2
Background
Educate DAIS WG about web services infrastructure WS-I, WS-Context, WSRF
Do we have to make a choice of approach? Implicit vs explicit data resource addressing Service vs resource OGSA have chosen WSRF and the implicit approach
Currently it seems that the answer is yes The service consumer must take different actions
depending on whether an implicit or explicit approach is chosen
However approaches can be mixed and matched
3
Approach
How do we access data resources through various web services based infrastructure?
Scenarios Stateful interactions with data resources Sessions with data services Discovery of data resources Access to metadata about data resources and/or services Third-party delivery
Infrastructures Web Services-Interoperability (WS-I) only specifications WS-I plus WS-Context WS-I plus WS-RF
4
Scenario 1
Stateful interactions with data resources
Using WS-I only
5
Scenario 1 - Using WS-I
me
ssa
ge
bo
dy
me
ssa
ge
h
ea
de
r
SO
AP
En
velo
pe
<dais:query> SELECT * FROM A</dais:query>
me
ssa
ge
bo
dy
me
ssa
ge
h
ea
de
r
SO
AP
En
velo
pe
<dais:datasetId> urn:dais:dataset:123</dais:datasetId>
urn:dais:dataset:123
A
B
C
internal-id
mapping from externally visible
name to internal id(if required)
6
Scenario 1 - Using WS-I
me
ssa
ge
bo
dy
me
ssa
ge
h
ea
de
r
SO
AP
En
velo
pe
<dais:sort> urn:dais:dataset:123</dais:sort>
A
B
C
urn:dais:dataset:123
7
Scenario 1 - Using WS-I
me
ssag
eb
ody
me
ssag
e
hea
der
SO
AP
Env
elop
e
<dais:sort> urn:dais:dataset:123</dais:sort>
A
B
C
urn:dais:dataset:123
A
B
C
urn:dais:dataset:123
me
ssag
eb
ody
me
ssag
e
hea
der
SO
AP
Env
elop
e
<dais:analyse> urn:dais:dataset:123</dais:analyse>
replication (out-of-band)
8
Scenario 1
Stateful interactions with data resources
Using WS-Context
9
Scenario 1 - Using WS-Context
mes
sage
body
mes
sage
he
ader
SO
AP
Env
elop
e
<dais:query> SELECT * FROM A</dais:query>
mes
sage
body
mes
sage
he
ader
SO
AP
Env
elop
e
<ok />
urn:dais:dataset:123
A
B
C
<ctx:context> context-state</ctx:context>
<ctx:context> context-state</ctx:context>
context-state associated with local resources
10
Scenario 1 - Using WS-Context
mes
sage
body
mes
sage
he
ader
SO
AP
En
velo
pe
<dais:sort />
urn:dais:dataset:123
A
B
C
<ctx:context> context-state</ctx:context>
11
Scenario 1 - Using WS-Context
me
ssag
eb
ody
me
ssag
e
hea
der
SO
AP
Env
elop
e
<dais:sort />
A
B
C
urn:dais:dataset:123
A
B
C
urn:dais:dataset:123
me
ssag
eb
ody
me
ssag
e
hea
der
SO
AP
Env
elop
e
<dais:analyse />
<ctx:context> context-state</ctx:context>
<ctx:context> context-state</ctx:context>
12
Scenario 1 - Using WS-Context
mes
sage
body
mes
sage
he
ader
SO
AP
Env
elop
e
<dais:sort />
urn:dais:dataset:123
A
B
C
<ctx:context> context-state</ctx:context>
mes
sage
body
mes
sage
he
ader
SO
AP
Env
elop
e
<dais:use> urn:dais:dataset:123</dais:use>
<ctx:context> context-state</ctx:context>
13
Scenario 1
Stateful interactions with data resources
Using WS-RF
14
Scenario 1 - Using WS-RF
mes
sage
body
mes
sage
he
ader
SO
AP
Env
elop
e
<dais:query> SELECT * FROM A</dais:query>
mes
sage
body
mes
sage
he
ader
SO
AP
Env
elop
e
<wsa:EndpointReference> <wsa:To> http://service.com/dataset </wsa:To> <wsa:ReferenceProperties> <dais:datasetId> urn:dais:dataset:123 </dais:datasetId> </wsa:ReferenceProperties></wsa:ReferenceProperties>
A
B
C
urn:dais:dataset:123 mapping from externally visible
name to internal id(if required)
internal-id
15
Scenario 1 - Using WS-RF
mes
sage
body
mes
sage
he
ader
SO
AP
En
velo
pe
<dais:query />
urn:dais:dataset:123A
B
C
<dais:datasetId> urn:dais:dataset:123</dais:datasetId>
16
Observations
17
DAIS and Naming
DAIS is specifically about accessing data resources We need to be able to give names to those data
resources OGSA V1 describes a three level naming
scheme Human Readable Names Abstract Names Address
The differences between the approaches lies in the abstract name to address mapping
18
WS-I Registry
Consumer
header
Service
registry lookup
Service Address (URL) http://services/daisdsservice
message
Data Resource urn:dais:ds1
body
Resource Abstract Name e.g urn:dais:ds1
insert abstract name into message body
urn:dais:ds1 http://services/daisdsservice
Service logic is able to locate resource based on message body
URL
-Focus on services-Registy lookup can result in many service URLs- A service can act on many resources-One or more resources can be specified in the message body at service call time - Abstract names can be passed to any service than understands them
19
WS-I + WS-Context Registry
Consumer
header
Service
registry lookup
Service Address (URL) http://services/daisdsservice
message
Data Resource urn:dais:ds1
body
Resource Abstract Name e.g urn:dais:ds1
insert context into message header
urn:dais:ds1 http://services/daisdsservice
Service logic is able to locate resource based on context in message header
Context
associate resource name with context
URL
-Focus on services-Context supports a sequence of messages across many services-Registy lookup can result in many service URLs- A service can act on many resources-One or more resources can be associated with a context
20
WS-RF Registry
Consumer
header
Service
registry lookup
Service Address (URL) http://services/daisdsservice
message
Data Resource urn:dais:ds1
body
Resource Abstract Name e.g urn:dais:ds1
insert reference properties into message header
urn:dais:ds1 EPR( http://services/daisdsservice, ds1)
Service logic is able to locate resource based on reference properties in header
EPR
-Focus on resources-Registy lookup can result in many EPRs- An EPR identifies one or more resources in the context of a service
21
Do We Have To Make A Choice?
Mitigating the differences Optional discriminators in the message body WSDL binding operation parts WSRF TC in OASIS is considering embodiments of the
Implied Resource Pattern WS-Addressing EPR Singleton pattern Context based approaches
Living with the differences Mix and match
Ultimately the consumer of the service has to make a choice To put a resource discriminator in the message body or not
22
General Issues
Stability of supporting infrastructure Interoperability and adoption Composability Tooling Conceptual model
23
Questions
?