This is a discussion of how a user (developer or end user) would use an ebRIM catalog for a simple use case and will hopefully assist the reader in evaluating the usefulness of the ebRIM metadata catalog. It is intentionally going to focus on the use case, rather than the technology involved. The only mention of technology buzzwords will be now in mentioning that the ebXML documents can be generated using a XSL stylesheet from OGC W*S services (use the xsl document() function to recursively call the describe function), and Omar can be interfaced using SOAP, JAXR, or a RESTful KVPs. In addition Omar can classify objects using all the standard OGC/ISO taxonomies. Technical comments will be in italics.
Full details on setting up ebxmlrr (omar) with the ogc profile and PostGIS are available here http://ebxmlrr.sourceforge.net/wiki/index.php/Community/ogc
Rather than going into usual use case scenarios of pre/post conditions, basic flow and alternative flows this document will story board the use case basic flow using screenshots from Omar.
Search Use Case
- Search by bbox
Using the gml:EnvelopeType slot for a ebRIM extrinsic object (a dataset in this case!) we have a trigger in PostGIS to create a spatial index for optimising geometry searches. A custom adhoc query allows searching the metadata catalog with any geometry that can be expressed in (extended) well known text.
- Specify search by using an adhoc findByWKT query and list the results
Find the service, organisation, contact info, fees, access constraints, extents offering this dataset.
- Search by classification
Perform a service search based on a ISO 19119 Geographic services taxonomy classification /urn:x-ogc:specification:csw-ebrim:ClassificationScheme:ISO-19119:Services/2000/2300/OGC-WCS
Drill down and find the organisation, contact info, fees, access constraints, datasets and extents offered by this service
- Search by keywords
Drill down and find the services/datasets, contact info, fees, access constraints and extents.
Discover Use Case
Since we are using standard classifications, the difference between search and discovery is minimal. We can discover using the web based gui, jaxr, soap, and RESTful invocation. See above.
Process Use Case
The process use case is the most interesting to the developer, it allows the search of the catalog for data and processing services according to ISO taxonomies, and then to register the output of the processing service with the same catalog - the mind boggles as to how powerful this can be
Screenshot to come - watch this space!!