As people move toward REST architectures, one common kind of service is one that
runs a UIMA pipeline on some data (perhaps text, or perhaps a CAS in some
serialized form), and returns a result (perhaps in a variety of formats).

One of the formats that might be returned is a serialized CAS.  We have lots of
forms for this.  See the current version of SerialFormat enum.  This enum
currently doesn't include the approximate serialization called Inline, and
doesn't include the multiple varieties possible in serializing in JSON format.

Anyone implementing a service that returns a CAS, has to pick the kind of
serialization format to return.  The standard way to do this is to "negotiate"
with the client, dynamically choosing the return format based on what the client
sends as "Accept headers".  See (for example) chapter 7 in the book "RESTful Web
Services Cookbook.

In order to permit this, we should adopt some standard media types, and perhaps
register these with IANA.  I'm thinking of names like:

application/uima.xmi+xml  application/uima.xcas+xml, application/uima+xml  (for
both xmi and xcas, receiver has to "sniff" the input to see which one), etc.

application/vnd.apache.uima.xmi+xml or application/vnd.apache.uima+json etc

A quick look shows Apache Thrift has registered: 
application/vnd.apache.thrift.binary ...compact ...json but that's the only
vnd.apache there.

What do people think?

-Marshall

Reply via email to