On May 4, 2016, at 8:11 AM, David M. Lloyd
<david.lloyd(a)redhat.com> wrote:
On 05/04/2016 12:50 AM, Stuart Douglas wrote:
> Hi everyone,
>
> I have started looking into support for service invocation over HTTP.
> Unlike our existing HTTP upgrade support this will map EJB
> requests/responses directly to HTTP requests and responses, which should
> allow it to be used behind existing load balancers.
>
> I have started an initial description of the protocol at:
>
https://github.com/stuartwdouglas/wildfly-http-client/blob/master/docs/wi...
>
> The intention is to follow HTTP semantics as closely as possible.
> Clustering will be provided in a similar manner to web clustering (i.e.
> it will require a load balancer, and work in a similar manner to web
> clustering).
>
> There is still plenty work that needs to be done (especially around
> security), so if anyone has any feedback let me know.
One thing I was thinking was that we could possibly support multiple
marshalling strategies in the future by way of content-type, since that
header has a useful negotiation strategy already defined.
It could even be done using the defined types e.g.
application/x-ejb-invocation;version=2;m=protobuf or whatever.
Something to think about for the future…
I think pluggable encoding types is essential. IMO I think we should aim for protobufs and
marshaling for the first impl. While this isn’t intended as a JAX-RS replacement, we
should allow for the possibility of non Java clients to directly trigger EJB invocations.
--
Jason T. Greene
WildFly Lead / JBoss EAP Platform Architect
JBoss, a division of Red Hat