[jboss-as7-dev] DMR GWT Prototype
Heiko Braun
hbraun at redhat.com
Thu Feb 10 03:42:47 EST 2011
Can you think of any browser incompatibilities with the Base64 approach?
Ike
On Feb 10, 2011, at 7:08 AM, Jason T. Greene wrote:
> I was able to port DMR so that it can be used with GWT to send and
> receive DMR's native externalized binary format via client-side javascript.
>
> https://github.com/n1hility/jboss-as/tree/detyped2
>
> A pure binary protocol is not possible in all browsers, so the
> implementation has to base64 encode the stream.
>
> The main advantage to this approach is that there is essentially no loss
> of information (all type info is preserved), and the API works very well
> at dynamic access and is exactly the same as the management API used in
> server code. In addition parsing requests on the server is much more
> efficient since there is less transformation and pattern matching.
> Lastly it has the potential to be much more space efficient.
>
> However, due to Javascript's very poor binary handling, lack of
> streaming, and lack of native floating point encoding, client side
> execution is on average 2x+ slower than directly evaling JSON code. That
> said, processing a dump of the entire model took on average 9ms (in
> webkit based browsers), and in the worst case (firefox) took 20ms. So
> the times are still somewhat reasonable.
>
> In addition to being faster on the client side, eval'd JSON does not
> require maintaining the DMR API. On the other hand JSON usage in GWT is
> clumsy if you aren't using overlay types, and overlay types are not
> helpful to dynamic client code (dynamic as in being able to discover and
> manage resources based on resource descriptions as opposed to static code).
>
> Lastly, JSON output, by its nature, loses type information. Although
> this could be worked around if it's a problem by adding type identifiers
> to all node values, at the cost of looking less JSON like (extra verbose).
>
> So ultimately it's up to everyone working on the console as to which
> direction this goes. I can easily support both mechanisms on the server.
>
> --
> Jason T. Greene
> JBoss, a division of Red Hat
> _______________________________________________
> jboss-as7-dev mailing list
> jboss-as7-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
More information about the jboss-as7-dev
mailing list