List of requirements for AXIOM
Use Cases
See also: OM Use Cases Discussed in FrontPage/Architecture/OMUseCases
See also: OM Use Cases Discussed in http://wiki.apache.org/ws/FrontPage/Architecture/OMHistory
OM according to the December 2004 .. refer to todays chat
Only thing we are not decided on OM is does it contains the SAAJ like API or is it just XML representation.
Building OM
OM can be build by two ways
- Using a StaX pull events, there is a builder that accepts a pull parser and do the differed building
- Using SAX push events, there is a builder that accept a Objects or Push event generator and build the OM.
- OM can be build just like DOM tree is build inserting child elements
Using OM
- OM exposed a XML infoset representation that is easy to use by the java developers. That interface is based on iterators.
- OM expose the Stax event and is capable of shifting to the stream in the middle if the OM is half build.
OM support writing itself in to the Output stream. We like OM to fed information to a Push interface so the PushEvent handler may write them to stream. This leave room for binary serialization in future.
Misc
- OM support DOM by wrapping it
- OM support the StAX interface
- OM support turning on -off caching
- Serializing and Deserializing is pull out of OM, we will provide the the utilities to used by the developers so that they can programming like getObjectValue(), setObjectValue(...) but that is encoding and out of scope for M1. (see the chat)
OM Support following
The MTOM support
The binary information in the OM element can be taken from the OM element. There are few proposals the Glen's MTOM toy, Alek's includes, Ajith's Binary node. We differ this for the M1.
Href support
But it is differed
XML Security Support
Make sure XMLSecurity works over that DOM for encryption, decryption, signing and verification. This is at the XML level