120 likes | 228 Views
ebXML Regrep v3 Proposal. REST Interface. What it is and what it provides. Quite simply, it is a way to programmatically or interactively access an ebXML Registry using only HTTP. According to the Cooperating Registries proposal, it will be the only transport which registries MUST support.
E N D
ebXML Regrep v3 Proposal REST Interface
What it is and what it provides. • Quite simply, it is a way to programmatically or interactively access an ebXML Registry using only HTTP. • According to the Cooperating Registries proposal, it will be the only transport which registries MUST support. • Provides a Representational State Transfer-ish interface to ebXML Registry. • Provides a very lightweight transport using only simple HTTP functionality. • Provides an integration path to systems which are based on, or support HTTP. • Provides a low-overhead mechanism to be used by any registry supporting the new ObjectRef RIM object.
Benefits • Does NOT require SOAP. • Allows ebXML Registries to interoperate with other types registries, such as UDDI. • Very easy to implement. • Makes registry content much more accessible.
What is REST? • REST, simply refers to any web interface that endeavors to embed important data retrieval information into the request URI, instead of hiding that data in a HTTP POST body or in HTTP headers. • Explained in detail by a PhD thesis done by Roy Fielding of HTTP and URI fame.
Why? • There could be a lot of traffic generated between registries given the concept of local and remote objects. A low-overhead mechanism is preferred for object retrieval. • The format and make-up of a request needs to be defined for this low-overhead transport to ensure seamless interoperability between registries. • Simple, URL based access to registry data is an attractive feature, at least in our customer’s perspective!
What does a REST URI look like? • http://registry/rest?interface=QueryManager&method=getRepositoryItem¶m-id=urn:uuid:8788-hhghh-ttttt • Parameters keys, such as interface, method and param-<?> are defined by the REST proposal.
Security Considerations • None!! The REST interface delegates security considerations to the registry implementation. This way a registry vendor can plug in a unified authentication system across all transports. • Authentication can be actualized through the use of standard HTTP authentication (Basic or Digest).
Security Considerations, Cont’d • Data and Source integrity verification and assurance is provided in the same way it is provided over SOAP or ebMS.
Exception Handling • Exception handling, like Security, is mostly handled by the underlying registry, using a RegistryErrorList. • When an error is returned, the most appropriate HTTP error code is returned, along with the RegistryErrorList. For example, if a requested object doesn’t exist, the HTTP error code would be 404.
Common Request: AdhocQuery To be compatible with existing Query and Submit patterns, Judicious use of HTTP POST can be used: POST /rest?interface=QueryManager&method=submitAdhocQueryRequest HTTP/1.0 User-Agent: Foo-ebXML/1.0 Host: www.registryserver.com Content-Type: text/xml Content-Length: 555 <?xml version="1.0"?> <AdhocQueryRequest />
Common Request: getRepositoryItem getRepositoryItem is a new method added to QueryManager to facilitate easy access to repository items. GET /rest?interface=QueryManager&method=getRepositoryItem¶m-id=UUID HTTP/1.0
Common Request: getRegistryObject getRepositoryItem is a new method added to QueryManager to facilitate easy access to repository items. GET /rest?interface=QueryManager&method=getRegistryObject¶m-id=UUID HTTP/1.0