This wiki is locked. Future workgroup activity and specification development must take place at
our new wiki
. For more information, see
this blog post about the new governance model
and
this post about changes to the website
.
TWiki
>
Main Web
>
MainOslcCommonArchitecture
>
ReportingHome
>
ReportingMeetings
>
ReportingMeeting20091214
>
ReportingServiceDiscoveryRmExample
(29 Dec 2009,
SebRose
)
(raw view)
Consider a DOORS Repository with structure: <img alt="Cars_Hierarchy.bmp" src="http://open-services.net/pub/Main/ReportingServiceDiscoveryRmExample/Cars_Hierarchy.bmp" /> * 1) Report of all pollen filter tenders for Model1 * 2) Report of all pollen filter tenders for Family Cars * 3) Report of all pollen filter tenders. Assume a well known base Service Provider Catalog Resource URL - e.g. http://www.example.com/catalog - - - - - - - - - - - To retrieve the top level Service Provider Catalog: <blockquote>GET http://www.example.com/catalog</blockquote> Returns: <verbatim><?xml version="1.0"?> <oslc_disc:ServiceProviderCatalog xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/terms/" xmlns:oslc_disc="http://open-services.net/xmlns/discovery/1.0/" rdf:about="http://www.example.com/catalog.xml"> <dc:title>Top Level Vehicle Catalog</dc:title> <oslc_disc:entry> <oslc_disc:ServiceProviderCatalog rdf:about="http://www.example.com/carcatalog.xml" > <dc:title>Car Catalog</dc:title> </oslc_disc:ServiceProviderCatalog> </oslc_disc:entry> ... Maybe more catalogs e.g. Aircraft etc. ... </oslc_disc:ServiceProviderCatalog> </verbatim> - - - - - - - - - - - To retrieve the Car Catalog GET the nested Service Provider Catalog resource: <blockquote>GET http://www.example.com/carcatalog.xml</blockquote> Returns <verbatim><?xml version="1.0"?> <oslc_disc:ServiceProviderCatalog xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/terms/" xmlns:oslc_disc="http://open-services.net/xmlns/discovery/1.0/" rdf:about="http://www.example.com/carcatalog.xml"> <dc:title>Car Catalog</dc:title> <oslc_disc:entry> <oslc_disc:ServiceProviderCatalog rdf:about="http://www.example.com/familycarcatalog.xml" > <dc:title>Family Car Catalog</dc:title> </oslc_disc:ServiceProviderCatalog> </oslc_disc:entry> <oslc_disc:entry> <oslc_disc:ServiceProviderCatalog rdf:about="http://www.example.com/performancecarcatalog.xml" > <dc:title>Performance Car Catalog</dc:title> </oslc_disc:ServiceProviderCatalog> </oslc_disc:entry> <oslc_disc:entry> <oslc_disc:ServiceProvider> <dc:title>Generic Car Requirements</dc:title> <oslc_disc:details rdf:resource="http://www.example.com/jazz/98gJH77897sdfJ" /> <oslc_disc:services rdf:resource="http://www.example.com/jazz/requirements/contexts/9JHiyh756hJHtyu78jh/services.xml" /> </oslc_disc:ServiceProvider> </oslc_disc:entry> </oslc_disc:ServiceProviderCatalog> </verbatim> - - - - - - - - - - - To retrieve the Family Car Catalog GET the nested Service Provider Catalog resource: <blockquote>GET http://www.example.com/familycarcatalog.xml<br /></blockquote> Returns <verbatim><?xml version="1.0"?> <oslc_disc:ServiceProviderCatalog xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/terms/" xmlns:oslc_disc="http://open-services.net/xmlns/discovery/1.0/" rdf:about="http://www.example.com/familycarcatalog.xml"> <dc:title>Family Car Catalog</dc:title> <oslc_disc:entry> <oslc_disc:ServiceProvider> <dc:title>Model 1</dc:title> <oslc_disc:details rdf:resource="http://www.example.com/jazz/Cgch234Hg78SD897FS" /> <oslc_disc:services rdf:resource="http://www.example.com/jazz/requirements/contexts/Kgh7896dsgkg7sdfhi/services.xml" /> </oslc_disc:ServiceProvider> </oslc_disc:entry> <oslc_disc:entry> <oslc_disc:ServiceProvider> <dc:title>Model 2</dc:title> <oslc_disc:details rdf:resource="http://www.example.com/jazz/8sdfkjUI7fsjk8fGGx" /> <oslc_disc:services rdf:resource="http://www.example.com/jazz/requirements/contexts/j2c4498uKJ098LFJ90/services.xml" /> </oslc_disc:ServiceProvider> </oslc_disc:entry> </oslc_disc:ServiceProviderCatalog> </verbatim> - - - - - - - - - - - To retrieve the Model 1 Car Services Document GET the nested Service Provider services resource: <blockquote>GET http://www.example.com/jazz/requirements/contexts/Kgh7896dsgkg7sdfhi/services.xml<br /></blockquote> Returns: <verbatim><?xml version="1.0" encoding="UTF-8"?> <oslc_sd:ServiceDescriptor xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/terms/" xmlns:oslc_sd="http://open-services.net/xmlns/commons/servicedescription/1.0/" xmlns:oslc_report="http://open-services.net/xmlns/reporting/1.0/" xmlns:oslc_query="http://open-services.net/xmlns/query/1.0/" rdf:about="http://www.example.com/jazz/requirements/contexts/Kgh7896dsgkg7sdfhi/services.xml"> <dc:title xml:lang="en-GB">Components for Model 1 Family Car</dc:title> <dc:description xml:lang="en-GB">DOORS OSLC Reporting 1.0 provider for Model 1 Family Car</dc:description> <dc:contributor> <oslc_sd:Contributor> <dc:title>IBM Rational DOORS</dc:title> <dc:identifier>com.ibm.rdm.doors</dc:identifier> <oslc_sd:icon rdf:resource="https://www.example.com/resources/doorsicon.ico"/> <oslc_sd:home> <oslc_sd:Home> <dc:title>IBM Rational DOORS</dc:title> <oslc_sd:application rdf:resource="doors://www.example.com/invokedoors"/> </oslc_sd:Home> </oslc_sd:home> </oslc_sd:Contributor> </dc:contributor> <oslc_report:schemaEnquiry> <oslc_query:Query> <dc:title>Service to explore schema of Model 1 Family Car reporting context.</dc:title> <oslc_query:query rdf:resource="http://www.example.com/jazz/requirements/contexts/j2c4498uKJ098LFJ90?schema=yes"/> </oslc_query:Query> </oslc_report:schemaEnquiry> <oslc_report:queryEvaluation > <oslc_query:Query> <dc:title>Service to evaluate query within Model 1 Family Car reporting context.</dc:title> <oslc_query:query rdf:resource="http://www.example.com/jazz/requirements/contexts/j2c4498uKJ098LFJ90"/> </oslc_query:Query> </oslc_report:queryEvaluation > </oslc_sd:ServiceDescriptor> </verbatim> - - - - - - - - - - - To retrieve the schema from the Model 1 Family Car context GET the nested Schema Enquiry query resource: <blockquote>GET http://www.example.com/jazz/requirements/contexts/j2c4498uKJ098LFJ90?schema=yes<br /></blockquote> Returns: <verbatim><rdfs:Class rdf:about="http://open-services.net/xmlns/rm/1.0/Requirement" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:oslc_report="http://open-services.net/xmlns/reporting/1.0/"> <oslc_report:hasInterestingProperty rdf:resource="dc:title" /> <oslc_report:hasInterestingProperty rdf:resource="dc:description" /> <oslc_report:hasInterestingProperty rdf:resource="dc:creator" /> ... <oslc_report:hasInterestingProperty rdf:resource="http://www.example.com/rm/types/pollenfilter" /> </rdfs:Class> </verbatim> - - - - - - - - - - - To query the Model 1 Family Car context GET the nested Query Evaluation query resource (with the required query parameters): <blockquote>GET http://www.example.com/jazz/requirements/contexts/j2c4498uKJ098LFJ90?oslc_query=example:pollenfilter=”*”;;;;;;;;;;<br /></blockquote> which would satisfy scenario 1) described above.<br /><br /><br /><br />To satisfy scenarios 2) and 3) there would need to be Service Documents associated with the relevant Service Provider Catalogues (Cars and Family Cars). Currently the Service Catalog specification does not provide a specific facility to enable this – a node can contain a mix of Service Providers and Service Provider Catalogs, but we would need to define a mechanism to determine whether a Service Provider referred to a generic context (i.e. all the resources below it in the hierarchy) or a specific context (i.e. a requirement document located at that point in the hierarchy).<br /><br />One possibility would be for the Reporting Service Implementer to provide a service within a Catalog that reports over the whole subtree, so retrieving the Car Catalog by a GET on the Service Provider Catalog resource: <blockquote>GET http://www.example.com/carcatalog.xml<br /></blockquote> Returns <verbatim><?xml version="1.0"?> <oslc_disc:ServiceProviderCatalog xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/terms/" xmlns:oslc_disc="http://open-services.net/xmlns/discovery/1.0/" rdf:about="http://www.example.com/carcatalog.xml"> <dc:title>Car Catalog</dc:title> <oslc_disc:entry> <oslc_disc:ServiceProviderCatalog rdf:about="http://www.example.com/familycarcatalog.xml" > <dc:title>Family Car Catalog</dc:title> </oslc_disc:ServiceProviderCatalog> </oslc_disc:entry> <oslc_disc:entry> <oslc_disc:ServiceProviderCatalog rdf:about="http://www.example.com/performancecarcatalog.xml" > <dc:title>Performance Car Catalog</dc:title> </oslc_disc:ServiceProviderCatalog> </oslc_disc:entry> <oslc_disc:entry> <oslc_disc:ServiceProvider> <dc:title>Car Catalog Schema Services</dc:title> <oslc_disc:details rdf:resource="http://www.example.com/jazz/is8fgJH098FSJ" /> <oslc_disc:services rdf:resource="http://www.example.com/jazz/requirements/contexts/h88SFDhj8hkd9/services.xml" /> </oslc_disc:ServiceProvider> </oslc_disc:entry> <oslc_disc:entry> <oslc_disc:ServiceProvider> <dc:title>Generic Car Requirements</dc:title> <oslc_disc:details rdf:resource="http://www.example.com/jazz/98gJH77897sdfJ" /> <oslc_disc:services rdf:resource="http://www.example.com/jazz/requirements/contexts/9JHiyh756hJHtyu78jh/services.xml" /> </oslc_disc:ServiceProvider> </oslc_disc:entry> </oslc_disc:ServiceProviderCatalog> </verbatim> <br />The human user would use the textual description to distinguish between a Service Provider that relates to a concrete requirement document, and a Service Provider that provides an abbreviated view of the schema of the entire subtree. <br /><br />Using this mechanism, retrieving the schema from a generic context would return a schema that may not contain the pollenfilter property (since I assume that pollen filters are a feature associated with Family Cars only). -- Main.SebRose - 14 Dec 2009
Attachments
Attachments
Topic attachments
I
Attachment
Action
Size
Date
Who
Comment
bmp
Cars_Hierarchy.bmp
manage
71.3 K
14 Dec 2009 - 10:13
SebRose
Example Doors Repository
E
dit
|
A
ttach
|
P
rint version
|
H
istory
: r3
<
r2
<
r1
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r3 - 29 Dec 2009 - 15:08:37 -
SebRose
Main.ReportingServiceDiscoveryRmExample moved from Main.ResportingServiceDiscoveryRmExample on 14 Dec 2009 - 10:53 by
SebRose
-
put it back
Main
Main Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
Webs
Main
Sandbox
TWiki
Български
Cesky
Dansk
Deutsch
English
Español
Français
Italiano
日本語
Nederlands
Polski
Português
Русский
Svenska
简体中文
簡體中文
Copyright � by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our
Terms of Use
Ideas, requests, problems regarding this site?
Send feedback