Lists Home |
Date Index |
Michael Champion wrote:
> I'm not exactly clear on the value proposition here, but
> that's for the market to sort out.
Well, give systems that use ASN.1 at their core and generate
XML, all the arguments for "binary XML" can be converted instead into
discussions of which of the existing encoding rules should be used
(probably PER), rather than consuming the time, energy, and focus that
would be required to create yet-another-binary-encoding. This seems to
be the route that SUN is taking in their sponsorship of the X.695
effort to provide support for Web Services in the ASN.1
specifications. Instead of proposing some new standard or trying to
base "Fast Web Services" on their own, proprietary, Java-oriented
encodings, they are arguing for adoption of the ancient, IPR-free, but
proven encodings that were generated in the ASN.1 world.
While not everyone needs "binary" or compressed XML, there are
many who believe they do and some of them have good reasons for their
beliefs. By bringing ASN.1 and XML closer together, their needs can be
addressed without taking from the energies that are probably better
spent on addressing needs more strongly felt by a greater proportion
of the XML world.
Also, it should be noted that use and acceptance of an
*abstract* syntax improves systems from an architectural point of
view. Schema languages like XML Schema, etc. are typically focused on
a single concrete encoding format. This binds implementations and
designs to the specific encoding format and thus removes a great deal
of flexibility that many system either require today or will require
in the future. It is typically accepted that well designed systems
operate on abstract concepts internally and only encode/decode into
concrete formats at their edges and interfaces. Much of this is just
standard "Object Oriented" design... However, the XML movement has
resulted in the concrete format embedding itself deep into our code as
well as into our thinking about data. For instance, things like
"attributes" in XML are given prominent treatment throughout the XML
toolset, yet the concept of "attribute" in XML seems to have more to
do with syntactical conventions of where data is put in a message than
it does with anything inherent to the data itself...
Using ASN.1 is largely about getting choice in the way you
implement systems. If you define your systems based on an abstract
syntax notation, you get to make many choices about the best way to
encode data in any particular interchange or at any particular moment.
In this way, a single product architecture can be "configured" to
address a wide range or operational demands without impacting the
fundamental and essential design elements of the system. So, ASN.1 is
the "pro-choice alternative."... Choice is good.