The current UIMA-AS runtime requires an ActiveMQ broker to be running to support message exchanges between an application and UIMA-AS based service. An application uses the UIMA-AS client API to send CASes to a service for analysis. A CAS is serialized by the client, wrapped in a Message object and delivered to a JMS queue. A service than dequeues the message and deserializes a CAS contained within it. Reverse happens on a reply. In total, such exchange requires two serializations and two deserializations of the CAS.
To avoid such overhead, a collocated service deployment in the new design will use java queues for transport and pass a CAS by reference.