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
