You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Aleksander Slominski <as...@cs.indiana.edu> on 2004/11/24 16:27:57 UTC

[Axis2] IRC chat log 2004-11-24

we have talked more about MTOM/XOP and how to make OM more
data-binding friendly.


next chat:
December 01, 2004 10pm EST *on* WEDNESDAY (That's 9am Thu in SriLanka)
update agenda for next week in
http://wiki.apache.org/ws/ChatAgenda

thanks,

alek

http://wiki.apache.org/ws/ChatAgenda/20041124
[11/24/2004 8:52 AM] <Deepal> hi all
[11/24/2004 8:54 AM] <Srinath_> everybody is earliy :)
[11/24/2004 8:54 AM] <Harsha> Hi Deepal & the rest
[11/24/2004 8:55 AM] <Ajith> hello all
[11/24/2004 8:55 AM] <Deepal> BTW what is today agenda
[11/24/2004 8:58 AM] <Jaliya> Hi All
[11/24/2004 8:58 AM] -->| Chinthaka (~EC@220.247.247.140) has joined #apache-axis
[11/24/2004 9:00 AM] <alek_s> hi everybody
[11/24/2004 9:01 AM] <Harsha> Ajith & Srinath, Thanks for the help. Hope I am not hassling you guys.
[11/24/2004 9:01 AM] <Chinthaka> hi all
[11/24/2004 9:01 AM] <Ajith> hi alek
[11/24/2004 9:01 AM] <alek_s> i think agenda is very undefined
[11/24/2004 9:01 AM] <Ajith> harsha : nope
[11/24/2004 9:01 AM] <alek_s> hi Chintaka
[11/24/2004 9:01 AM] <Jaliya> Hi Alek
[11/24/2004 9:01 AM] <dasarath> Hi all
[11/24/2004 9:01 AM] <Chinthaka> hi alek
[11/24/2004 9:01 AM] <alek_s> hi Jaliya
[11/24/2004 9:02 AM] <Chinthaka> yeah, agenda is not well defined
[11/24/2004 9:02 AM] <gdaniels> So let's pick something, then!
[11/24/2004 9:02 AM] <alek_s> i have just droppeed two items seems possible topics in 
http://wiki.apache.org/ws/ChatAgenda
[11/24/2004 9:02 AM] <gdaniels> We could talk about turkey recipes :)
[11/24/2004 9:03 AM] <Ajith> :)
[11/24/2004 9:03 AM] <Jaliya> Shall we discuss what will be the client side API
[11/24/2004 9:03 AM] <Srinath_> I love we can taste that as well !
[11/24/2004 9:03 AM] <Chinthaka> recipes ? :D
[11/24/2004 9:04 AM] <dasarath> gdaniels likes turkey!!!
[11/24/2004 9:04 AM] <Chinthaka> :)
[11/24/2004 9:04 AM] <gdaniels> Jaliya: We could do that, but we might want to continue tying up the 
loose threads we've got about engine/handlers and OM/MTOM...
[11/24/2004 9:04 AM] <Ajith> yeah that is a good idea
[11/24/2004 9:04 AM] <Jaliya> Ok, sure, We will finish it first
[11/24/2004 9:04 AM] <gdaniels> dasarath: Turkey's one of my favorites :)
[11/24/2004 9:04 AM] <Srinath_> glen herd you organizing a dinner :)
[11/24/2004 9:05 AM] <Ajith> we can clear up some of the probs we have
[11/24/2004 9:05 AM] <alek_s> Turkey gravy caan be good or very good ...
[11/24/2004 9:05 AM] <gdaniels> Srinath: Yup, wanna come? :)
[11/24/2004 9:06 AM] <gdaniels> OK, so engine or OM, folks?  I vote OM first.
[11/24/2004 9:06 AM] -->| chathura (~chathurah@203.94.95.193) has joined #apache-axis
[11/24/2004 9:07 AM] <chathura> Hi all
[11/24/2004 9:08 AM] <alek_s> i am OK either way
[11/24/2004 9:08 AM] <gdaniels> (Don't all vote at once now :))
[11/24/2004 9:10 AM] <--| chathura has left #apache-axis
[11/24/2004 9:10 AM] -->| chathura (~chathurah@203.94.95.193) has joined #apache-axis
[11/24/2004 9:10 AM] <gdaniels> okay then, how about OM....
[11/24/2004 9:11 AM] <gdaniels> It seemed people in general were heading in similar directions with 
MTOM stuff, with a few differences
[11/24/2004 9:11 AM] <gdaniels> The reason I'd put the "content" object in the OMElement was to allow 
for not only MTOM, but also data binding, to occur.
[11/24/2004 9:12 AM] |<-- Deepal has left irc.freenode.net (Read error: 104 (Connection reset by peer))
[11/24/2004 9:13 AM] <gdaniels> If this was a separate binary-content node, that could work too, but in 
the data-binding case it would be a little weird since you'd have one node potentially affecting the 
attribute set of its parent node.
[11/24/2004 9:13 AM] <Ajith> oops a daisy we had a sudden "link blackout"
[11/24/2004 9:13 AM] -->| Deepal (~deepal@220.247.242.146) has joined #apache-axis
[11/24/2004 9:13 AM] <Deepal> hi all
[11/24/2004 9:13 AM] <gdaniels> Ajith: Ah, I was wondering if something like that had occurred!
[11/24/2004 9:13 AM] <Deepal> we had a problem on our adsl link
[11/24/2004 9:13 AM] <gdaniels> You all were unusually quiet. :)
[11/24/2004 9:13 AM] <dasarath> lets have a quick recap
[11/24/2004 9:13 AM] <Ajith> Chinthaka and jaliya are still out i guess
[11/24/2004 9:13 AM] <Deepal> can we pls send us wt did u discuss
[11/24/2004 9:14 AM] <gdaniels> I asked "om or engine", and I voted om, and Alek said he didn't care, 
so I started talking about om
[11/24/2004 9:14 AM] <Ajith> at least to know where we are headed
[11/24/2004 9:14 AM] <Ajith> ik
[11/24/2004 9:14 AM] <gdaniels> <gdaniels> It seemed people in general were heading in similar 
directions with MTOM stuff, with a few differences
[11/24/2004 9:14 AM] <gdaniels> <gdaniels> The reason I'd put the "content" object in the OMElement was 
to allow for not only MTOM, but also data binding, to occur.
[11/24/2004 9:14 AM] <gdaniels> <gdaniels> If this was a separate binary-content node, that could work 
too, but in the data-binding case it would be a little weird since you'd have one node potentially 
affecting the attribute set of its parent node.
[11/24/2004 9:15 AM] <Ajith> so glen, Why wouldn't you put it as a "binary node" or something
[11/24/2004 9:16 AM] <gdaniels> Well, first of all because it's not binary. :)
[11/24/2004 9:16 AM] <gdaniels> I want to support regular beans which map to/from XML too
[11/24/2004 9:16 AM] <Deepal> then wt is it ?
[11/24/2004 9:16 AM] <Deepal> is it base64 ?
[11/24/2004 9:16 AM] <gdaniels> and I think the mechanism can be shared
[11/24/2004 9:16 AM] <gdaniels> no
[11/24/2004 9:16 AM] <Ajith> at the OM level?
[11/24/2004 9:17 AM] <gdaniels> The objects can live at the OM level, yes
[11/24/2004 9:17 AM] <gdaniels> The serialization framework is separate though
[11/24/2004 9:17 AM] <gdaniels> I want to be able to say:
[11/24/2004 9:17 AM] <gdaniels> OMElement el = new OMElement(qname, object)
[11/24/2004 9:18 AM] <gdaniels> omWriter.write(el) (or whatever syntax we use)
[11/24/2004 9:18 AM] <gdaniels> The reason I think this fits is because it's good for both MTOM 
optimizations and data binding.
[11/24/2004 9:18 AM] <gdaniels> Both of which we know we want to support
[11/24/2004 9:19 AM] -->| EC_ (~EC@220.247.246.61) has joined #apache-axis
[11/24/2004 9:19 AM] <EC_> hi
[11/24/2004 9:19 AM] <gdaniels> did we lose Sri Lanka again?
[11/24/2004 9:19 AM] <chathura> and when we access this perticular element area as pull stream we do what?
[11/24/2004 9:19 AM] <EC_> am I in ?
[11/24/2004 9:19 AM] <chathura> me too
[11/24/2004 9:19 AM] <dasarath> we are here
[11/24/2004 9:20 AM] <Ajith> EC : yeah you are :)
[11/24/2004 9:20 AM] <EC_> :)
[11/24/2004 9:20 AM] <gdaniels> chathura: The system would serialize the object and provide the pull events
[11/24/2004 9:20 AM] <chathura> do we push object to OM in tht case right
[11/24/2004 9:20 AM] <gdaniels> chathura: right
[11/24/2004 9:20 AM] -->| Jaliya5712 (~Miranda@220.247.246.61) has joined #apache-axis
[11/24/2004 9:21 AM] <EC_> can someone please paste the chat so far in to my yahoo chat pleeeeeease, 
I've lost a lot :(
[11/24/2004 9:21 AM] <chathura> and if the object doenst get pushed before serialisation does the 
serialiser get the object reference
[11/24/2004 9:21 AM] <Jaliya5712> I also want a copy
[11/24/2004 9:21 AM] <dasarath> what are the pull events for a binary node?
[11/24/2004 9:22 AM] <gdaniels> chathura: Which kind of "serialization" do you mean?  Writing the 
Object to OM, or writing the XML to a stream?
[11/24/2004 9:22 AM] <dasarath> is there anything like TEXT in the case of the text event for binary 
data as well?
[11/24/2004 9:22 AM] <chathura> om to xml
[11/24/2004 9:22 AM] <gdaniels> dasarath: The same as the pull events for either the base64 content or 
"<xbinc:Include...>"
[11/24/2004 9:23 AM] <dasarath> I was getting at how to pass the binary data to the application through 
pull events?
[11/24/2004 9:23 AM] <gdaniels> chathura: When we want to write out the XML text, the Object would need 
to get serialized by the data binding system (via a SerializationContext)
[11/24/2004 9:23 AM] <EC_> but glen : u have put binary data inside the parent element
[11/24/2004 9:23 AM] <gdaniels> dasarath: I'm not sure what you mean exactly - can you give a 
use-case/example?
[11/24/2004 9:24 AM] |<-- Chinthaka has left irc.freenode.net (Read error: 110 (Connection timed out))
[11/24/2004 9:24 AM] |<-- Jaliya has left irc.freenode.net (Read error: 110 (Connection timed out))
[11/24/2004 9:24 AM] <EC_> hi
[11/24/2004 9:24 AM] <Ajith> glen :  that is what is not clear to me. are we "burning" some kind of 
serilaisation into OM?
[11/24/2004 9:24 AM] <gdaniels> Ajith: No, just the framework for it.
[11/24/2004 9:24 AM] <dasarath> if its serialized as base64 the pull events are straight forward 
meaning its another text event
[11/24/2004 9:24 AM] <alek_s> i have posted current chat to 
http://wiki.apache.org/ws/ChatAgenda/20041124/ChatLog
[11/24/2004 9:24 AM] <chathura> basically asking is ther a method called omElement.getObject() for the 
seriliser in the Om to XML case?????
[11/24/2004 9:24 AM] <EC_> thankx alek :)
[11/24/2004 9:25 AM] <Jaliya5712> Thanks alek
[11/24/2004 9:25 AM] <Ajith> glen :  then we are framed to that particular serlising method!
[11/24/2004 9:25 AM] <Ajith> say OM to Text
[11/24/2004 9:26 AM] <gdaniels> Ajith: The "serializing method" is just handing off responsibility to a 
SerializationContext - that's pretty abstract.
[11/24/2004 9:26 AM] <alek_s> Glen: i do not like that you havce a special treatment for DataHandler  - 
user can not decide how DataHandler content should be serialized as it is speciall in 
BaseWriter.serialize()
[11/24/2004 9:27 AM] <gdaniels> alek_s: Yeah, I was just whipping off a quick sketch, but wanted to 
distinguish MTOM stuff from data binding stuff somehow.  Other suggestions?
[11/24/2004 9:27 AM] <alek_s> why not have something like marker interface that elements can implement 
if they want their own serialization?
[11/24/2004 9:28 AM] <gdaniels> alek_s: You mean specializing OMElements?
[11/24/2004 9:28 AM] <Ajith> this is my view : we have the object model seperately and 
serliasers/builders are things that interact with the OM by given interfaces
[11/24/2004 9:28 AM] <Ajith> so what ever the serialiser depends on the interface we give (such as pull)
[11/24/2004 9:28 AM] <alek_s> so if XopInclude includes this interface it will ask seialize to 
write/serializeBinary() itself
[11/24/2004 9:29 AM] <gdaniels> Ajith: So how do I associate object/binary content with the XML then?
[11/24/2004 9:29 AM] |<-- FR^2 has left irc.freenode.net (Read error: 60 (Operation timed out))
[11/24/2004 9:29 AM] =-= EC_ is now known as Chinthaka
[11/24/2004 9:29 AM] <alek_s> class XopInclude extends OMElementImpl implements XmlSerializable
[11/24/2004 9:29 AM] <Ajith> we have a MTOM writer inside the seriliser that will generate the correct 
serlisation depending on the node
[11/24/2004 9:30 AM] <Chinthaka> why XOPInclude extends Element ?
[11/24/2004 9:30 AM] <Ajith> with the assumption that we have a binaryNode in OM
[11/24/2004 9:30 AM] <gdaniels> Ajith: Where does the object content live though?
[11/24/2004 9:30 AM] <Chinthaka> isn't it just extend OMText ?
[11/24/2004 9:31 AM] <alek_s> XopInclude *is* XML Infoset Element Infotmation Item (eii)
[11/24/2004 9:31 AM] <Ajith> why, we have a node that specifically carries binaryContent at OM level
[11/24/2004 9:31 AM] <gdaniels> alek_s: So also class ObjElement extends OMElement implements 
XmlSerializable?
[11/24/2004 9:31 AM] <alek_s> example: <xop:Include xmlns:xop='http://www.w3.org/2004/08/xop/include' 
href='cid:http://example.org/my.hsh'/>
[11/24/2004 9:31 AM] <gdaniels> Ajith: What about data binding?
[11/24/2004 9:31 AM] <alek_s> Glen: yes - that is what i was thinking
[11/24/2004 9:31 AM] <Ajith> hmmmm
[11/24/2004 9:32 AM] <gdaniels> alek_s: The <xop:Include> never actually appears in the infoset though
[11/24/2004 9:32 AM] <Chinthaka> alek : what I meant was content of XOPInclude
[11/24/2004 9:32 AM] <gdaniels> The infoset has the actual binary in it, and <xop:Include> is purely a 
serialization optimization
[11/24/2004 9:32 AM] <alek_s> XopInclude is in XOP Infoset
[11/24/2004 9:32 AM] <Ajith> I was thinking of data binding by a given pull interface
[11/24/2004 9:32 AM] <alek_s> and XOP iNfoset is just transformation of XML Infoset
[11/24/2004 9:33 AM] <dasarath> XopInclude is in XOP Infoset?
[11/24/2004 9:33 AM] <Ajith> But we can bind a binary content to a given java object
[11/24/2004 9:33 AM] <Ajith> Is it?
[11/24/2004 9:33 AM] <alek_s> i think OM represent XML Infoset in different stages of transformation?
[11/24/2004 9:33 AM] <gdaniels> Ajith: See, I want to support building an XML tree that has Objects 
hanging off it at certain points, but not others.  I also want to support deserializing a particular 
place in the XML to Object and caching the result.
[11/24/2004 9:33 AM] <alek_s> including case when we have Java objects that will be later transfromed 
to XML Infoset
[11/24/2004 9:33 AM] <Ajith> hmmmm
[11/24/2004 9:34 AM] <Ajith> Now i see your point
[11/24/2004 9:34 AM] <alek_s> Glen: i agree completely!
[11/24/2004 9:34 AM] -->| _chris_ (~chris@pcp04631447pcs.gambrl01.md.comcast.net) has joined #apache-axis
[11/24/2004 9:35 AM] <gdaniels> alek_s: +1 to different stages of transformation, but I don't think the 
<xop:Include> should ever appear in the OM model itself...?
[11/24/2004 9:35 AM] <Ajith> but wont this "stored object" corrupt our nice architecture
[11/24/2004 9:35 AM] <gdaniels> Ajith: I don't know. :)  I hope not.
[11/24/2004 9:35 AM] <gdaniels> The only problem I can see with it is if you've got different data 
binding frameworks working on the same piece of XML (and therefore using different mappings)
[11/24/2004 9:36 AM] <gdaniels> I think that's going to be pretty rare
[11/24/2004 9:36 AM] <Ajith> glen : this is what we had in mind
[11/24/2004 9:37 AM] <Ajith> we expose a pull event stream from Om so that by converting it into sax we 
can use any data binding tool
[11/24/2004 9:37 AM] <gdaniels> I'd like to try it anyway, and see what it looks/feels like.  If we can 
get it right, I imagine the API being *really* useful/easy for Java/XML programming.
[11/24/2004 9:37 AM] <Ajith> such as XMLbeans that use a sax interface
[11/24/2004 9:37 AM] <gdaniels> Ajith: Now you're talking about deserializing
[11/24/2004 9:37 AM] <gdaniels> That sounds fine.
[11/24/2004 9:37 AM] <gdaniels> I definitely want to support what you just said.
[11/24/2004 9:38 AM] <Ajith> hmmm
[11/24/2004 9:38 AM] <gdaniels> But also I'd like to have a getObjectValue() (or whatever) API which 
uses a configured data binding framework to do that work for you IF one has been configured
[11/24/2004 9:38 AM] <Chinthaka> OM -> StAX --> SAX --> databinding
[11/24/2004 9:38 AM] <alek_s> glen: XopInclude for me is very similair to hanging Java Objects in XML 
tree - something that is not in XML Infoset but can be tranformed to infoset (for XopInclude --> BASE64)
[11/24/2004 9:38 AM] <Chinthaka> databinding --> SAX --> OM
[11/24/2004 9:38 AM] <gdaniels> The nice thing about that API is that you can use it BOTH for getting 
MTOM content and for getting Java databinding content
[11/24/2004 9:39 AM] <Ajith> Glen :  what I am little bit worried is burning in an "object" inside OM
[11/24/2004 9:39 AM] <gdaniels> alek_s: Yes, except that data binding can also affect attributes, 
whereas binary content cannot.
[11/24/2004 9:39 AM] <alek_s> getObjectValue(ctx <list of data-bindings>)
[11/24/2004 9:39 AM] <gdaniels> Ajith: I understand the concern.
[11/24/2004 9:39 AM] -->| FR^2 (~FRQuadrat@pD956E3D3.dip0.t-ipconnect.de) has joined #apache-axis
[11/24/2004 9:39 AM] <gdaniels> Ajith: But essentially we're doing that with XmlBinary/XopInclude too, 
aren't we?
[11/24/2004 9:40 AM] <alek_s> glen: during data-binding it should be possible to create any XML Infoset ...
[11/24/2004 9:40 AM] <Ajith> yeah : what I had in mind is we store it in a generic "binary node"
[11/24/2004 9:41 AM] <gdaniels> ok
[11/24/2004 9:41 AM] <gdaniels> here's a use case
[11/24/2004 9:41 AM] <gdaniels> let me show you what I want to do for serializing
[11/24/2004 9:41 AM] <gdaniels> OMElement container = new OMElement("root");
[11/24/2004 9:42 AM] <gdaniels> OMElement child1 = new OMElement("child");
[11/24/2004 9:42 AM] <gdaniels> child1.setObjectContent(book1);
[11/24/2004 9:42 AM] <gdaniels> OMElement child2 = new OMElement("child");
[11/24/2004 9:42 AM] <gdaniels> child2.setObjectContent(book2);
[11/24/2004 9:42 AM] <gdaniels> container.addChild(child1);
[11/24/2004 9:42 AM] <gdaniels> container.addChild(child2);
[11/24/2004 9:42 AM] <gdaniels> omWriter.write(container);
[11/24/2004 9:42 AM] <gdaniels> <end>
[11/24/2004 9:43 AM] <gdaniels> Is that reasonable to want?
[11/24/2004 9:43 AM] <dasarath> that's OK but
[11/24/2004 9:43 AM] <alek_s> all good except for last line
[11/24/2004 9:43 AM] <Ajith> hmmmm , that seems quite a "developer friendly" piece of code :)
[11/24/2004 9:43 AM] <dasarath> we stayed away from that so far right?
[11/24/2004 9:43 AM] <alek_s> i think writer should be configured with data bindings
[11/24/2004 9:43 AM] <gdaniels> Ajith: Darned right!
[11/24/2004 9:43 AM] <gdaniels> :)
[11/24/2004 9:43 AM] <gdaniels> alek_s: Yes, I was assuming that had already happened
[11/24/2004 9:44 AM] <alek_s> also i would not store "object content" in OMElement as a special content
[11/24/2004 9:44 AM] <alek_s> but just as any other child
[11/24/2004 9:44 AM] <gdaniels> OMWriter omWriter = new OMWriter(outstream, dataBindingContext)
[11/24/2004 9:44 AM] <gdaniels> alek_s: but it is special, alas.
[11/24/2004 9:44 AM] <alek_s> child1.addChild(content)
[11/24/2004 9:44 AM] <gdaniels> alek_s: in particular, it can serialize attributes
[11/24/2004 9:44 AM] <Ajith> glen :  how is this bool object serialised ?
[11/24/2004 9:44 AM] <alek_s> why is it special? content will be transformed to XML Infoset during writing
[11/24/2004 9:44 AM] <Ajith> I mean where is it configured
[11/24/2004 9:45 AM] <gdaniels> alek_s: So making it a child would break the model of "child"
[11/24/2004 9:45 AM] <alek_s> so it should be treated as potential XML Infoset
[11/24/2004 9:45 AM] <alek_s> assumed XML Infoset until found guilty (exception)
[11/24/2004 9:45 AM] <gdaniels> Ajith: which bool object?
[11/24/2004 9:45 AM] <alek_s> brb
[11/24/2004 9:47 AM] <gdaniels> Here's the thing.  I want Axis (and OM in particular) to be as 
"developer friendly" as possible.  Otherwise what's the point?
[11/24/2004 9:47 AM] <gdaniels> We know we want to support MTOM anyway.
[11/24/2004 9:47 AM] <gdaniels> So it seems to me like there's a lot of potential overlap between 
reading/writing binary objects (Image, byte[], etc) and reading/writing data-bound objects
[11/24/2004 9:48 AM] <gdaniels> If we can make a single structure/framework/API work for both, that 
seems like it would be really cool.  If not, no problem, but I want to explore it fully.
[11/24/2004 9:49 AM] <alek_s> back
[11/24/2004 9:50 AM] <alek_s> glen: i agree with it 110%
[11/24/2004 9:50 AM] <gdaniels> I wonder if we lost Sri Lanka again...or if they're just meditating. :)
[11/24/2004 9:51 AM] <Chinthaka> meditating ???
[11/24/2004 9:51 AM] <Jaliya5712> No conected
[11/24/2004 9:51 AM] <chathura> hmmm
[11/24/2004 9:51 AM] <dasarath> not at all
[11/24/2004 9:51 AM] <alek_s> i jave just posted update dlog to wiki
[11/24/2004 9:51 AM] <alek_s> just in case
[11/24/2004 9:52 AM] <alek_s> http://wiki.apache.org/ws/ChatAgenda/20041124/ChatLog
[11/24/2004 9:52 AM] <gdaniels> So Alek and I seem to be on the same page on this general idea... others?
[11/24/2004 9:52 AM] <Jaliya5712> So we will support binary object representation on OM althouhg it is 
not in the infoset?
[11/24/2004 9:52 AM] <gdaniels> Jaliya5712: ??
[11/24/2004 9:53 AM] <Jaliya5712> It is me, Jaliya
[11/24/2004 9:53 AM] <Srinath_> hi sorry for trouble if somebody know can someone let me know how to 
revert a commit (I seem to have mess up ws-site and need to revert))
[11/24/2004 9:53 AM] <dasarath> are we not over engineering here?
[11/24/2004 9:53 AM] <Ajith> glen : sorry had to take a call , I meant the "book" object
[11/24/2004 9:53 AM] <gdaniels> Jaliya: I know it's you - I didn't understand what you were asking :)
[11/24/2004 9:53 AM] <gdaniels> dasarath: I don't think so yet, no.
[11/24/2004 9:54 AM] <Jaliya5712> Are we going to inclued binary node to OM?
[11/24/2004 9:54 AM] <gdaniels> dasarath: This seems pretty easy to build to me so far.
[11/24/2004 9:54 AM] <dasarath> I may be wrong but this is what I understood, say if u want to send a 
Boolean object
[11/24/2004 9:54 AM] <dasarath> as the return type
[11/24/2004 9:54 AM] <gdaniels> Jaliya: That's what we're discussing...
[11/24/2004 9:54 AM] <dasarath> u directly attach it to the OM
[11/24/2004 9:55 AM] <alek_s> i very much like implicity of this
[11/24/2004 9:55 AM] <dasarath> but that can be done without this feature as well
[11/24/2004 9:55 AM] <alek_s> it makes working with XML Infoset simple and allows multiple tranformations
[11/24/2004 9:55 AM] <alek_s> when final "pure" XML Infoset is built in stages
[11/24/2004 9:55 AM] <gdaniels> dasarath: Yes, you could always use an external data binding system
[11/24/2004 9:55 AM] <alek_s> (s)implicity
[11/24/2004 9:56 AM] <Jaliya5712> Alek:Yes
[11/24/2004 9:56 AM] <dasarath> my concern is
[11/24/2004 9:56 AM] <dasarath> why not leave the data binding stuff to the external
[11/24/2004 9:56 AM] <dasarath> data binding systems
[11/24/2004 9:56 AM] <gdaniels> dasarath: Because we need to do MTOM, right?
[11/24/2004 9:56 AM] <dasarath> and let OM expose a minimal interface for them to ride on top of OM
[11/24/2004 9:57 AM] <gdaniels> dasarath: If we're doing MTOM and actually optimizing (i.e. NOT writing 
the whole object to base64 in all cases), we need someplace to put java.awt.Images or DataHandlers.
[11/24/2004 9:58 AM] <Jaliya5712> If we have custom nodes in OM then can we let some other code to do 
the databinng?
[11/24/2004 9:58 AM] <gdaniels> dasarath: So Alek and I are suggesting that since we need that anyway, 
and the semantics are very similar to that of data binding, why not use a single mechanism?
[11/24/2004 9:58 AM] <Jaliya5712> So it shoule also be included, I think
[11/24/2004 9:58 AM] <Jaliya5712> in OM
[11/24/2004 9:59 AM] <dasarath> can't we get around the MTOM case in a much simpler if we do not 
consider this
[11/24/2004 9:59 AM] <gdaniels> No one is suggesting that you should not be able to plug-and-play your 
actual data binding frameworks like Castor, XmlBeans, etc....
[11/24/2004 10:00 AM] <gdaniels> dasarath: I'm not sure.  How would you MTOM-encode a java.awt.Image?
[11/24/2004 10:00 AM] <alek_s> i have been around topic of serialization and deserialization for years
[11/24/2004 10:00 AM] <dasarath> for OM it will be a binary data stream
[11/24/2004 10:01 AM] <alek_s> building it on top of SAX and DOM was painful and sometimes very complicated
[11/24/2004 10:01 AM] <gdaniels> dasarath: What does it look like for the programmer, I mean?
[11/24/2004 10:01 AM] <alek_s> we have chnace now to "custom fit" OM to what we need
[11/24/2004 10:01 AM] <Ajith> glen : bTW if we binarize an AWT image how can .net recreate it?
[11/24/2004 10:01 AM] <gdaniels> alek: +1 (but you knew that :))
[11/24/2004 10:02 AM] <gdaniels> Ajith: You serialize it using MTOM as a MIME "image/jpg"
[11/24/2004 10:02 AM] <alek_s> i would have wrapper object (such as XopInclude) that would be 
serialized with mime type image/png
[11/24/2004 10:02 AM] <Ajith> glen : aah
[11/24/2004 10:02 AM] <gdaniels> There's nothing JavaCentric there, Ajith
[11/24/2004 10:02 AM] <gdaniels> png, jpg, whatever :)
[11/24/2004 10:02 AM] <alek_s> i think pretty much everybyd will suport MTOM including foremost Microsoft
[11/24/2004 10:03 AM] <Ajith> i get it , so you want to transfer items like image objects into specific 
media types in transport
[11/24/2004 10:03 AM] <dasarath> when deserializing are we creating different binary objects like awt.Image
[11/24/2004 10:03 AM] <gdaniels> yes yes
[11/24/2004 10:03 AM] <gdaniels> in particular, images, byte arrays, and XML documents can be optimized 
that way
[11/24/2004 10:03 AM] <dasarath> in OM
[11/24/2004 10:03 AM] <Ajith> ok I get it
[11/24/2004 10:04 AM] <dasarath> say OMElement.getObjectValue->returns an awt.Image
[11/24/2004 10:04 AM] <gdaniels> dasarath: Well they go somewhere. :)  We're deciding how and where.
[11/24/2004 10:04 AM] <Ajith> but the prob is having this non Om object hanging around with the Om!
[11/24/2004 10:04 AM] <gdaniels> dasarath: that's exactly what I want to see, yes.
[11/24/2004 10:04 AM] <gdaniels> Ajith: We could easily have options which control whether to cache it 
or not.
[11/24/2004 10:04 AM] <alek_s> that is what i have in mind too
[11/24/2004 10:04 AM] <dasarath> but don't u think that's too much to ask from OM
[11/24/2004 10:04 AM] <gdaniels> We want OM to be "tunable" for given use cases
[11/24/2004 10:05 AM] <gdaniels> dasarath: No, absolutely not.
[11/24/2004 10:05 AM] <gdaniels> Remember - you're not asking OM to do ALL the work, OM also works with 
a data binding framework.
[11/24/2004 10:05 AM] <dasarath> but
[11/24/2004 10:05 AM] <dasarath> this implies that
[11/24/2004 10:05 AM] <gdaniels> OM also works with a XOP/MTOM "framework" which is just the 
DataHandler/activation framework in Java
[11/24/2004 10:06 AM] -->| Essington (~Essington@essington.user) has joined #apache-axis
[11/24/2004 10:06 AM] <Ajith> glen :  you have a very attractive point there but I am not sure whether 
that is ok!
[11/24/2004 10:06 AM] <dasarath> data binding stuff is working before the method getObjectValue returns
[11/24/2004 10:06 AM] <dasarath> meaning data-binding is not on top of OM but IN it
[11/24/2004 10:06 AM] <alek_s> glen: i think MTOM should be more generic than "just DataHandler/activation
[11/24/2004 10:06 AM] <gdaniels> alek_s: Sure
[11/24/2004 10:06 AM] <gdaniels> dasarath: It's accessible THROUGH OM, but not INSIDE OM.
[11/24/2004 10:07 AM] <gdaniels> Guys, I have to run unfortunately...
[11/24/2004 10:07 AM] <dasarath> but now OM has to be aware of this data binding
[11/24/2004 10:07 AM] <gdaniels> got another meeting coming up
[11/24/2004 10:07 AM] <dasarath> k
[11/24/2004 10:07 AM] <gdaniels> I'll read rest of log, and pls continue conversation on email
[11/24/2004 10:07 AM] <dasarath> we'll go for a prototype as see
[11/24/2004 10:07 AM] <alek_s> i will be commiting to SVN my MTOM "toy" coe
[11/24/2004 10:07 AM] <gdaniels> bye for now all!
[11/24/2004 10:08 AM] <dasarath> bye glen
[11/24/2004 10:08 AM] |<-- gdaniels has left irc.freenode.net ()
[11/24/2004 10:08 AM] <alek_s> code should be in general similiar to Glen but more support for XML 
Infoset transformations
[11/24/2004 10:09 AM] <alek_s> want to call today chat finished?
[11/24/2004 10:09 AM] <dasarath> yes why not
[11/24/2004 10:10 AM] <dasarath> its 9.00
[11/24/2004 10:10 AM] <alek_s> no it is 10.10 :)
[11/24/2004 10:10 AM] <dasarath> ;)
[11/24/2004 10:10 AM] <chathura> :d



Re: [Axis2] IRC chat log 2004-11-24

Posted by Aleksander Slominski <as...@cs.indiana.edu>.
Sanjiva Weerawarana wrote:

>"Aleksander Slominski" <as...@cs.indiana.edu> writes:
>  
>
>>what are differen node types and how does this help with attributes?
>>    
>>
>
>Let me take an example. Let's say we want to support RPC/literal
>stuff. A way to do that could be the following:
>    - create a node consisting of the "call" - the "object" to 
>      call on and the parameters: RPCCallNode
>    - that node is inserted into the OM as the only "child" of the
>      <Body> element; anywhere else is an error. So we could do it
>      as another builder for an OM
>    - when the OM is serialized, the RPCCallNode serializes itself
>      into the full call- wrapper element, children elements with or
>      without attributes.
>
>The way this works is that the OM is effectively not just an Infoset
>model but rather some kind of a "SOAP Infoset". This is sort of how
>(gasp) ApacheSOAP worked .. 
>  
>
i think it is good model  (coincidentally it is how XSUL / XB1 / XPP3 
works ...)

>The same could be done for MTOM binary components: insert them at 
>whatever place in the OM tree as the "child". So again we'd need
>to say that "child" doesn't map directly to the [children] property
>of the Infoset .. when serialized it will result in some stuff
>in the [children] and [attributes] Infoset properties being populated.
>So we may want to use a different API than OMElement.addChild() to
>set these "special" nodes; maybe:
>    OMElement.setFunkyKidWhoWillBecomeGoodWhenSerialized (Object obj)
>  
>
i think it can still be inserted as child (or special element or 
anything of information items in XML infoset) as long as it is clear how 
it can convert itself into XML infoset - this can be for example 
achieved by implementing XmlSerializable interface that indicated that 
particular object know how to convert itself into XML infoset iis.

>I *think* deser can be done properly like this too.
>  
>
yes but requires that Om has some context which can be asked how to 
convert some XML Infoset information item from XML event stream into 
some object.

alek

-- 
The best way to predict the future is to invent it - Alan Kay


Re: [Axis2] IRC chat log 2004-11-24

Posted by Sanjiva Weerawarana <sa...@opensource.lk>.
"Aleksander Slominski" <as...@cs.indiana.edu> writes:
> what are differen node types and how does this help with attributes?

Let me take an example. Let's say we want to support RPC/literal
stuff. A way to do that could be the following:
    - create a node consisting of the "call" - the "object" to 
      call on and the parameters: RPCCallNode
    - that node is inserted into the OM as the only "child" of the
      <Body> element; anywhere else is an error. So we could do it
      as another builder for an OM
    - when the OM is serialized, the RPCCallNode serializes itself
      into the full call- wrapper element, children elements with or
      without attributes.

The way this works is that the OM is effectively not just an Infoset
model but rather some kind of a "SOAP Infoset". This is sort of how
(gasp) ApacheSOAP worked .. 

The same could be done for MTOM binary components: insert them at 
whatever place in the OM tree as the "child". So again we'd need
to say that "child" doesn't map directly to the [children] property
of the Infoset .. when serialized it will result in some stuff
in the [children] and [attributes] Infoset properties being populated.
So we may want to use a different API than OMElement.addChild() to
set these "special" nodes; maybe:
    OMElement.setFunkyKidWhoWillBecomeGoodWhenSerialized (Object obj)

I *think* deser can be done properly like this too.

Sanjiva.


Re: [Axis2] IRC chat log 2004-11-24

Posted by Aleksander Slominski <as...@cs.indiana.edu>.
Sanjiva Weerawarana wrote:

>I was going to make an alternate suggestion too but forgot:
>
>How about introducing different node types to the OM: 
>
what are differen node types and how does this help with attributes?

thanks,

alek

>That way
>the mapping of those nodes to Infoset items can be whatever
>is desired and hence we're not constrained by having to shoehorn
>stuff under the current OM structures only.
>
>Now, while that should be enough to implement SOAP encoding I'm
>still against doing it ;-).
>
>Sanjiva.
>
>----- Original Message ----- 
>From: "Sanjiva Weerawarana" <sa...@opensource.lk>
>To: <ax...@ws.apache.org>
>Sent: Thursday, November 25, 2004 1:14 AM
>Subject: Re: [Axis2] IRC chat log 2004-11-24
>
>
>  
>
>>I generally like Glen's MTOM/databinding approach, but the trickery
>>around attributes etc. concerns me. Glen, there's some hint to that
>>in the chat - about how keeping a Java object as a "child" makes
>>it inconsistent with the possibility that serializing that will
>>result in attributes for example.
>>
>>In particular, combining this approach with your favorite of SOAP
>>encoding serialization can be really nasty .. a single Java object
>>can mess with the XML Infoset in weird ways. Now if you want to
>>say Axis2 won't support SOAP encoding I'm most definitely +1! ;-)
>>
>>Happy Thanksgiving to those of you in North America! Enjoy that
>>turkey ..
>>
>>Sanjiva.
>>
>>----- Original Message ----- 
>>From: "Aleksander Slominski" <as...@cs.indiana.edu>
>>To: <ax...@ws.apache.org>
>>Sent: Wednesday, November 24, 2004 9:27 PM
>>Subject: [Axis2] IRC chat log 2004-11-24
>>
>>
>>    
>>
>>>we have talked more about MTOM/XOP and how to make OM more
>>>data-binding friendly.
>>>
>>>
>>>next chat:
>>>December 01, 2004 10pm EST *on* WEDNESDAY (That's 9am Thu in SriLanka)
>>>update agenda for next week in
>>>http://wiki.apache.org/ws/ChatAgenda
>>>
>>>thanks,
>>>
>>>alek
>>>
>>>http://wiki.apache.org/ws/ChatAgenda/20041124
>>>      
>>>

-- 
The best way to predict the future is to invent it - Alan Kay


Re: [Axis2] IRC chat log 2004-11-24

Posted by Sanjiva Weerawarana <sa...@opensource.lk>.
I was going to make an alternate suggestion too but forgot:

How about introducing different node types to the OM: That way
the mapping of those nodes to Infoset items can be whatever
is desired and hence we're not constrained by having to shoehorn
stuff under the current OM structures only.

Now, while that should be enough to implement SOAP encoding I'm
still against doing it ;-).

Sanjiva.

----- Original Message ----- 
From: "Sanjiva Weerawarana" <sa...@opensource.lk>
To: <ax...@ws.apache.org>
Sent: Thursday, November 25, 2004 1:14 AM
Subject: Re: [Axis2] IRC chat log 2004-11-24


> I generally like Glen's MTOM/databinding approach, but the trickery
> around attributes etc. concerns me. Glen, there's some hint to that
> in the chat - about how keeping a Java object as a "child" makes
> it inconsistent with the possibility that serializing that will
> result in attributes for example.
>
> In particular, combining this approach with your favorite of SOAP
> encoding serialization can be really nasty .. a single Java object
> can mess with the XML Infoset in weird ways. Now if you want to
> say Axis2 won't support SOAP encoding I'm most definitely +1! ;-)
>
> Happy Thanksgiving to those of you in North America! Enjoy that
> turkey ..
>
> Sanjiva.
>
> ----- Original Message ----- 
> From: "Aleksander Slominski" <as...@cs.indiana.edu>
> To: <ax...@ws.apache.org>
> Sent: Wednesday, November 24, 2004 9:27 PM
> Subject: [Axis2] IRC chat log 2004-11-24
>
>
> > we have talked more about MTOM/XOP and how to make OM more
> > data-binding friendly.
> >
> >
> > next chat:
> > December 01, 2004 10pm EST *on* WEDNESDAY (That's 9am Thu in SriLanka)
> > update agenda for next week in
> > http://wiki.apache.org/ws/ChatAgenda
> >
> > thanks,
> >
> > alek
> >
> > http://wiki.apache.org/ws/ChatAgenda/20041124
> > [11/24/2004 8:52 AM] <Deepal> hi all
> > [11/24/2004 8:54 AM] <Srinath_> everybody is earliy :)
> > [11/24/2004 8:54 AM] <Harsha> Hi Deepal & the rest
> > [11/24/2004 8:55 AM] <Ajith> hello all
> > [11/24/2004 8:55 AM] <Deepal> BTW what is today agenda
> > [11/24/2004 8:58 AM] <Jaliya> Hi All
> > [11/24/2004 8:58 AM] -->| Chinthaka (~EC@220.247.247.140) has joined
> #apache-axis
> > [11/24/2004 9:00 AM] <alek_s> hi everybody
> > [11/24/2004 9:01 AM] <Harsha> Ajith & Srinath, Thanks for the help. Hope
I
> am not hassling you guys.
> > [11/24/2004 9:01 AM] <Chinthaka> hi all
> > [11/24/2004 9:01 AM] <Ajith> hi alek
> > [11/24/2004 9:01 AM] <alek_s> i think agenda is very undefined
> > [11/24/2004 9:01 AM] <Ajith> harsha : nope
> > [11/24/2004 9:01 AM] <alek_s> hi Chintaka
> > [11/24/2004 9:01 AM] <Jaliya> Hi Alek
> > [11/24/2004 9:01 AM] <dasarath> Hi all
> > [11/24/2004 9:01 AM] <Chinthaka> hi alek
> > [11/24/2004 9:01 AM] <alek_s> hi Jaliya
> > [11/24/2004 9:02 AM] <Chinthaka> yeah, agenda is not well defined
> > [11/24/2004 9:02 AM] <gdaniels> So let's pick something, then!
> > [11/24/2004 9:02 AM] <alek_s> i have just droppeed two items seems
> possible topics in
> > http://wiki.apache.org/ws/ChatAgenda
> > [11/24/2004 9:02 AM] <gdaniels> We could talk about turkey recipes :)
> > [11/24/2004 9:03 AM] <Ajith> :)
> > [11/24/2004 9:03 AM] <Jaliya> Shall we discuss what will be the client
> side API
> > [11/24/2004 9:03 AM] <Srinath_> I love we can taste that as well !
> > [11/24/2004 9:03 AM] <Chinthaka> recipes ? :D
> > [11/24/2004 9:04 AM] <dasarath> gdaniels likes turkey!!!
> > [11/24/2004 9:04 AM] <Chinthaka> :)
> > [11/24/2004 9:04 AM] <gdaniels> Jaliya: We could do that, but we might
> want to continue tying up the
> > loose threads we've got about engine/handlers and OM/MTOM...
> > [11/24/2004 9:04 AM] <Ajith> yeah that is a good idea
> > [11/24/2004 9:04 AM] <Jaliya> Ok, sure, We will finish it first
> > [11/24/2004 9:04 AM] <gdaniels> dasarath: Turkey's one of my favorites
:)
> > [11/24/2004 9:04 AM] <Srinath_> glen herd you organizing a dinner :)
> > [11/24/2004 9:05 AM] <Ajith> we can clear up some of the probs we have
> > [11/24/2004 9:05 AM] <alek_s> Turkey gravy caan be good or very good ...
> > [11/24/2004 9:05 AM] <gdaniels> Srinath: Yup, wanna come? :)
> > [11/24/2004 9:06 AM] <gdaniels> OK, so engine or OM, folks?  I vote OM
> first.
> > [11/24/2004 9:06 AM] -->| chathura (~chathurah@203.94.95.193) has joined
> #apache-axis
> > [11/24/2004 9:07 AM] <chathura> Hi all
> > [11/24/2004 9:08 AM] <alek_s> i am OK either way
> > [11/24/2004 9:08 AM] <gdaniels> (Don't all vote at once now :))
> > [11/24/2004 9:10 AM] <--| chathura has left #apache-axis
> > [11/24/2004 9:10 AM] -->| chathura (~chathurah@203.94.95.193) has joined
> #apache-axis
> > [11/24/2004 9:10 AM] <gdaniels> okay then, how about OM....
> > [11/24/2004 9:11 AM] <gdaniels> It seemed people in general were heading
i
> n similar directions with
> > MTOM stuff, with a few differences
> > [11/24/2004 9:11 AM] <gdaniels> The reason I'd put the "content" object
in
> the OMElement was to allow
> > for not only MTOM, but also data binding, to occur.
> > [11/24/2004 9:12 AM] |<-- Deepal has left irc.freenode.net (Read error:
> 104 (Connection reset by peer))
> > [11/24/2004 9:13 AM] <gdaniels> If this was a separate binary-content
> node, that could work too, but in
> > the data-binding case it would be a little weird since you'd have one
node
> potentially affecting the
> > attribute set of its parent node.
> > [11/24/2004 9:13 AM] <Ajith> oops a daisy we had a sudden "link
blackout"
> > [11/24/2004 9:13 AM] -->| Deepal (~deepal@220.247.242.146) has joined
> #apache-axis
> > [11/24/2004 9:13 AM] <Deepal> hi all
> > [11/24/2004 9:13 AM] <gdaniels> Ajith: Ah, I was wondering if something
> like that had occurred!
> > [11/24/2004 9:13 AM] <Deepal> we had a problem on our adsl link
> > [11/24/2004 9:13 AM] <gdaniels> You all were unusually quiet. :)
> > [11/24/2004 9:13 AM] <dasarath> lets have a quick recap
> > [11/24/2004 9:13 AM] <Ajith> Chinthaka and jaliya are still out i guess
> > [11/24/2004 9:13 AM] <Deepal> can we pls send us wt did u discuss
> > [11/24/2004 9:14 AM] <gdaniels> I asked "om or engine", and I voted om,
> and Alek said he didn't care,
> > so I started talking about om
> > [11/24/2004 9:14 AM] <Ajith> at least to know where we are headed
> > [11/24/2004 9:14 AM] <Ajith> ik
> > [11/24/2004 9:14 AM] <gdaniels> <gdaniels> It seemed people in general
> were heading in similar
> > directions with MTOM stuff, with a few differences
> > [11/24/2004 9:14 AM] <gdaniels> <gdaniels> The reason I'd put the
> "content" object in the OMElement was
> > to allow for not only MTOM, but also data binding, to occur.
> > [11/24/2004 9:14 AM] <gdaniels> <gdaniels> If this was a separate
> binary-content node, that could work
> > too, but in the data-binding case it would be a little weird since you'd
> have one node potentially
> > affecting the attribute set of its parent node.
> > [11/24/2004 9:15 AM] <Ajith> so glen, Why wouldn't you put it as a
"binary
> node" or something
> > [11/24/2004 9:16 AM] <gdaniels> Well, first of all because it's not
> binary. :)
> > [11/24/2004 9:16 AM] <gdaniels> I want to support regular beans which
map
> to/from XML too
> > [11/24/2004 9:16 AM] <Deepal> then wt is it ?
> > [11/24/2004 9:16 AM] <Deepal> is it base64 ?
> > [11/24/2004 9:16 AM] <gdaniels> and I think the mechanism can be shared
> > [11/24/2004 9:16 AM] <gdaniels> no
> > [11/24/2004 9:16 AM] <Ajith> at the OM level?
> > [11/24/2004 9:17 AM] <gdaniels> The objects can live at the OM level,
yes
> > [11/24/2004 9:17 AM] <gdaniels> The serialization framework is separate
> though
> > [11/24/2004 9:17 AM] <gdaniels> I want to be able to say:
> > [11/24/2004 9:17 AM] <gdaniels> OMElement el = new OMElement(qname,
> object)
> > [11/24/2004 9:18 AM] <gdaniels> omWriter.write(el) (or whatever syntax
we
> use)
> > [11/24/2004 9:18 AM] <gdaniels> The reason I think this fits is because
> it's good for both MTOM
> > optimizations and data binding.
> > [11/24/2004 9:18 AM] <gdaniels> Both of which we know we want to support
> > [11/24/2004 9:19 AM] -->| EC_ (~EC@220.247.246.61) has joined
#apache-axis
> > [11/24/2004 9:19 AM] <EC_> hi
> > [11/24/2004 9:19 AM] <gdaniels> did we lose Sri Lanka again?
> > [11/24/2004 9:19 AM] <chathura> and when we access this perticular
element
> area as pull stream we do what?
> > [11/24/2004 9:19 AM] <EC_> am I in ?
> > [11/24/2004 9:19 AM] <chathura> me too
> > [11/24/2004 9:19 AM] <dasarath> we are here
> > [11/24/2004 9:20 AM] <Ajith> EC : yeah you are :)
> > [11/24/2004 9:20 AM] <EC_> :)
> > [11/24/2004 9:20 AM] <gdaniels> chathura: The system would serialize the
> object and provide the pull events
> > [11/24/2004 9:20 AM] <chathura> do we push object to OM in tht case
right
> > [11/24/2004 9:20 AM] <gdaniels> chathura: right
> > [11/24/2004 9:20 AM] -->| Jaliya5712 (~Miranda@220.247.246.61) has
joined
> #apache-axis
> > [11/24/2004 9:21 AM] <EC_> can someone please paste the chat so far in
to
> my yahoo chat pleeeeeease,
> > I've lost a lot :(
> > [11/24/2004 9:21 AM] <chathura> and if the object doenst get pushed
before
> serialisation does the
> > serialiser get the object reference
> > [11/24/2004 9:21 AM] <Jaliya5712> I also want a copy
> > [11/24/2004 9:21 AM] <dasarath> what are the pull events for a binary
> node?
> > [11/24/2004 9:22 AM] <gdaniels> chathura: Which kind of "serialization"
do
> you mean?  Writing the
> > Object to OM, or writing the XML to a stream?
> > [11/24/2004 9:22 AM] <dasarath> is there anything like TEXT in the case
of
> the text event for binary
> > data as well?
> > [11/24/2004 9:22 AM] <chathura> om to xml
> > [11/24/2004 9:22 AM] <gdaniels> dasarath: The same as the pull events
for
> either the base64 content or
> > "<xbinc:Include...>"
> > [11/24/2004 9:23 AM] <dasarath> I was getting at how to pass the binary
> data to the application through
> > pull events?
> > [11/24/2004 9:23 AM] <gdaniels> chathura: When we want to write out the
> XML text, the Object would need
> > to get serialized by the data binding system (via a
SerializationContext)
> > [11/24/2004 9:23 AM] <EC_> but glen : u have put binary data inside the
> parent element
> > [11/24/2004 9:23 AM] <gdaniels> dasarath: I'm not sure what you mean
> exactly - can you give a
> > use-case/example?
> > [11/24/2004 9:24 AM] |<-- Chinthaka has left irc.freenode.net (Read
error:
> 110 (Connection timed out))
> > [11/24/2004 9:24 AM] |<-- Jaliya has left irc.freenode.net (Read error:
> 110 (Connection timed out))
> > [11/24/2004 9:24 AM] <EC_> hi
> > [11/24/2004 9:24 AM] <Ajith> glen :  that is what is not clear to me.
are
> we "burning" some kind of
> > serilaisation into OM?
> > [11/24/2004 9:24 AM] <gdaniels> Ajith: No, just the framework for it.
> > [11/24/2004 9:24 AM] <dasarath> if its serialized as base64 the pull
> events are straight forward
> > meaning its another text event
> > [11/24/2004 9:24 AM] <alek_s> i have posted current chat to
> > http://wiki.apache.org/ws/ChatAgenda/20041124/ChatLog
> > [11/24/2004 9:24 AM] <chathura> basically asking is ther a method called
> omElement.getObject() for the
> > seriliser in the Om to XML case?????
> > [11/24/2004 9:24 AM] <EC_> thankx alek :)
> > [11/24/2004 9:25 AM] <Jaliya5712> Thanks alek
> > [11/24/2004 9:25 AM] <Ajith> glen :  then we are framed to that
particular
> serlising method!
> > [11/24/2004 9:25 AM] <Ajith> say OM to Text
> > [11/24/2004 9:26 AM] <gdaniels> Ajith: The "serializing method" is just
> handing off responsibility to a
> > SerializationContext - that's pretty abstract.
> > [11/24/2004 9:26 AM] <alek_s> Glen: i do not like that you havce a
special
> treatment for DataHandler  -
> > user can not decide how DataHandler content should be serialized as it
is
> speciall in
> > BaseWriter.serialize()
> > [11/24/2004 9:27 AM] <gdaniels> alek_s: Yeah, I was just whipping off a
> quick sketch, but wanted to
> > distinguish MTOM stuff from data binding stuff somehow.  Other
> suggestions?
> > [11/24/2004 9:27 AM] <alek_s> why not have something like marker
interface
> that elements can implement
> > if they want their own serialization?
> > [11/24/2004 9:28 AM] <gdaniels> alek_s: You mean specializing
OMElements?
> > [11/24/2004 9:28 AM] <Ajith> this is my view : we have the object model
> seperately and
> > serliasers/builders are things that interact with the OM by given
> interfaces
> > [11/24/2004 9:28 AM] <Ajith> so what ever the serialiser depends on the
> interface we give (such as pull)
> > [11/24/2004 9:28 AM] <alek_s> so if XopInclude includes this interface
it
> will ask seialize to
> > write/serializeBinary() itself
> > [11/24/2004 9:29 AM] <gdaniels> Ajith: So how do I associate
object/binary
> content with the XML then?
> > [11/24/2004 9:29 AM] |<-- FR^2 has left irc.freenode.net (Read error: 60
> (Operation timed out))
> > [11/24/2004 9:29 AM] =-= EC_ is now known as Chinthaka
> > [11/24/2004 9:29 AM] <alek_s> class XopInclude extends OMElementImpl
> implements XmlSerializable
> > [11/24/2004 9:29 AM] <Ajith> we have a MTOM writer inside the seriliser
> that will generate the correct
> > serlisation depending on the node
> > [11/24/2004 9:30 AM] <Chinthaka> why XOPInclude extends Element ?
> > [11/24/2004 9:30 AM] <Ajith> with the assumption that we have a
binaryNode
> in OM
> > [11/24/2004 9:30 AM] <gdaniels> Ajith: Where does the object content
live
> though?
> > [11/24/2004 9:30 AM] <Chinthaka> isn't it just extend OMText ?
> > [11/24/2004 9:31 AM] <alek_s> XopInclude *is* XML Infoset Element
> Infotmation Item (eii)
> > [11/24/2004 9:31 AM] <Ajith> why, we have a node that specifically
carries
> binaryContent at OM level
> > [11/24/2004 9:31 AM] <gdaniels> alek_s: So also class ObjElement extends
> OMElement implements
> > XmlSerializable?
> > [11/24/2004 9:31 AM] <alek_s> example: <xop:Include
> xmlns:xop='http://www.w3.org/2004/08/xop/include'
> > href='cid:http://example.org/my.hsh'/>
> > [11/24/2004 9:31 AM] <gdaniels> Ajith: What about data binding?
> > [11/24/2004 9:31 AM] <alek_s> Glen: yes - that is what i was thinking
> > [11/24/2004 9:31 AM] <Ajith> hmmmm
> > [11/24/2004 9:32 AM] <gdaniels> alek_s: The <xop:Include> never actually
> appears in the infoset though
> > [11/24/2004 9:32 AM] <Chinthaka> alek : what I meant was content of
> XOPInclude
> > [11/24/2004 9:32 AM] <gdaniels> The infoset has the actual binary in it,
> and <xop:Include> is purely a
> > serialization optimization
> > [11/24/2004 9:32 AM] <alek_s> XopInclude is in XOP Infoset
> > [11/24/2004 9:32 AM] <Ajith> I was thinking of data binding by a given
> pull interface
> > [11/24/2004 9:32 AM] <alek_s> and XOP iNfoset is just transformation of
> XML Infoset
> > [11/24/2004 9:33 AM] <dasarath> XopInclude is in XOP Infoset?
> > [11/24/2004 9:33 AM] <Ajith> But we can bind a binary content to a given
> java object
> > [11/24/2004 9:33 AM] <Ajith> Is it?
> > [11/24/2004 9:33 AM] <alek_s> i think OM represent XML Infoset in
> different stages of transformation?
> > [11/24/2004 9:33 AM] <gdaniels> Ajith: See, I want to support building
an
> XML tree that has Objects
> > hanging off it at certain points, but not others.  I also want to
support
> deserializing a particular
> > place in the XML to Object and caching the result.
> > [11/24/2004 9:33 AM] <alek_s> including case when we have Java objects
> that will be later transfromed
> > to XML Infoset
> > [11/24/2004 9:33 AM] <Ajith> hmmmm
> > [11/24/2004 9:34 AM] <Ajith> Now i see your point
> > [11/24/2004 9:34 AM] <alek_s> Glen: i agree completely!
> > [11/24/2004 9:34 AM] -->| _chris_
> (~chris@pcp04631447pcs.gambrl01.md.comcast.net) has joined #apache-axis
> > [11/24/2004 9:35 AM] <gdaniels> alek_s: +1 to different stages of
> transformation, but I don't think the
> > <xop:Include> should ever appear in the OM model itself...?
> > [11/24/2004 9:35 AM] <Ajith> but wont this "stored object" corrupt our
> nice architecture
> > [11/24/2004 9:35 AM] <gdaniels> Ajith: I don't know. :)  I hope not.
> > [11/24/2004 9:35 AM] <gdaniels> The only problem I can see with it is if
> you've got different data
> > binding frameworks working on the same piece of XML (and therefore using
> different mappings)
> > [11/24/2004 9:36 AM] <gdaniels> I think that's going to be pretty rare
> > [11/24/2004 9:36 AM] <Ajith> glen : this is what we had in mind
> > [11/24/2004 9:37 AM] <Ajith> we expose a pull event stream from Om so
that
> by converting it into sax we
> > can use any data binding tool
> > [11/24/2004 9:37 AM] <gdaniels> I'd like to try it anyway, and see what
it
> looks/feels like.  If we can
> > get it right, I imagine the API being *really* useful/easy for Java/XML
> programming.
> > [11/24/2004 9:37 AM] <Ajith> such as XMLbeans that use a sax interface
> > [11/24/2004 9:37 AM] <gdaniels> Ajith: Now you're talking about
> deserializing
> > [11/24/2004 9:37 AM] <gdaniels> That sounds fine.
> > [11/24/2004 9:37 AM] <gdaniels> I definitely want to support what you
just
> said.
> > [11/24/2004 9:38 AM] <Ajith> hmmm
> > [11/24/2004 9:38 AM] <gdaniels> But also I'd like to have a
> getObjectValue() (or whatever) API which
> > uses a configured data binding framework to do that work for you IF one
> has been configured
> > [11/24/2004 9:38 AM] <Chinthaka> OM -> StAX --> SAX --> databinding
> > [11/24/2004 9:38 AM] <alek_s> glen: XopInclude for me is very similair
to
> hanging Java Objects in XML
> > tree - something that is not in XML Infoset but can be tranformed to
> infoset (for XopInclude --> BASE64)
> > [11/24/2004 9:38 AM] <Chinthaka> databinding --> SAX --> OM
> > [11/24/2004 9:38 AM] <gdaniels> The nice thing about that API is that
you
> can use it BOTH for getting
> > MTOM content and for getting Java databinding content
> > [11/24/2004 9:39 AM] <Ajith> Glen :  what I am little bit worried is
> burning in an "object" inside OM
> > [11/24/2004 9:39 AM] <gdaniels> alek_s: Yes, except that data binding
can
> also affect attributes,
> > whereas binary content cannot.
> > [11/24/2004 9:39 AM] <alek_s> getObjectValue(ctx <list of
data-bindings>)
> > [11/24/2004 9:39 AM] <gdaniels> Ajith: I understand the concern.
> > [11/24/2004 9:39 AM] -->| FR^2
(~FRQuadrat@pD956E3D3.dip0.t-ipconnect.de)
> has joined #apache-axis
> > [11/24/2004 9:39 AM] <gdaniels> Ajith: But essentially we're doing that
> with XmlBinary/XopInclude too,
> > aren't we?
> > [11/24/2004 9:40 AM] <alek_s> glen: during data-binding it should be
> possible to create any XML Infoset ...
> > [11/24/2004 9:40 AM] <Ajith> yeah : what I had in mind is we store it in
a
> generic "binary node"
> > [11/24/2004 9:41 AM] <gdaniels> ok
> > [11/24/2004 9:41 AM] <gdaniels> here's a use case
> > [11/24/2004 9:41 AM] <gdaniels> let me show you what I want to do for
> serializing
> > [11/24/2004 9:41 AM] <gdaniels> OMElement container = new
> OMElement("root");
> > [11/24/2004 9:42 AM] <gdaniels> OMElement child1 = new
OMElement("child");
> > [11/24/2004 9:42 AM] <gdaniels> child1.setObjectContent(book1);
> > [11/24/2004 9:42 AM] <gdaniels> OMElement child2 = new
OMElement("child");
> > [11/24/2004 9:42 AM] <gdaniels> child2.setObjectContent(book2);
> > [11/24/2004 9:42 AM] <gdaniels> container.addChild(child1);
> > [11/24/2004 9:42 AM] <gdaniels> container.addChild(child2);
> > [11/24/2004 9:42 AM] <gdaniels> omWriter.write(container);
> > [11/24/2004 9:42 AM] <gdaniels> <end>
> > [11/24/2004 9:43 AM] <gdaniels> Is that reasonable to want?
> > [11/24/2004 9:43 AM] <dasarath> that's OK but
> > [11/24/2004 9:43 AM] <alek_s> all good except for last line
> > [11/24/2004 9:43 AM] <Ajith> hmmmm , that seems quite a "developer
> friendly" piece of code :)
> > [11/24/2004 9:43 AM] <dasarath> we stayed away from that so far right?
> > [11/24/2004 9:43 AM] <alek_s> i think writer should be configured with
> data bindings
> > [11/24/2004 9:43 AM] <gdaniels> Ajith: Darned right!
> > [11/24/2004 9:43 AM] <gdaniels> :)
> > [11/24/2004 9:43 AM] <gdaniels> alek_s: Yes, I was assuming that had
> already happened
> > [11/24/2004 9:44 AM] <alek_s> also i would not store "object content" in
> OMElement as a special content
> > [11/24/2004 9:44 AM] <alek_s> but just as any other child
> > [11/24/2004 9:44 AM] <gdaniels> OMWriter omWriter = new
> OMWriter(outstream, dataBindingContext)
> > [11/24/2004 9:44 AM] <gdaniels> alek_s: but it is special, alas.
> > [11/24/2004 9:44 AM] <alek_s> child1.addChild(content)
> > [11/24/2004 9:44 AM] <gdaniels> alek_s: in particular, it can serialize
> attributes
> > [11/24/2004 9:44 AM] <Ajith> glen :  how is this bool object serialised
?
> > [11/24/2004 9:44 AM] <alek_s> why is it special? content will be
> transformed to XML Infoset during writing
> > [11/24/2004 9:44 AM] <Ajith> I mean where is it configured
> > [11/24/2004 9:45 AM] <gdaniels> alek_s: So making it a child would break
> the model of "child"
> > [11/24/2004 9:45 AM] <alek_s> so it should be treated as potential XML
> Infoset
> > [11/24/2004 9:45 AM] <alek_s> assumed XML Infoset until found guilty
> (exception)
> > [11/24/2004 9:45 AM] <gdaniels> Ajith: which bool object?
> > [11/24/2004 9:45 AM] <alek_s> brb
> > [11/24/2004 9:47 AM] <gdaniels> Here's the thing.  I want Axis (and OM
in
> particular) to be as
> > "developer friendly" as possible.  Otherwise what's the point?
> > [11/24/2004 9:47 AM] <gdaniels> We know we want to support MTOM anyway.
> > [11/24/2004 9:47 AM] <gdaniels> So it seems to me like there's a lot of
> potential overlap between
> > reading/writing binary objects (Image, byte[], etc) and reading/writing
> data-bound objects
> > [11/24/2004 9:48 AM] <gdaniels> If we can make a single
> structure/framework/API work for both, that
> > seems like it would be really cool.  If not, no problem, but I want to
> explore it fully.
> > [11/24/2004 9:49 AM] <alek_s> back
> > [11/24/2004 9:50 AM] <alek_s> glen: i agree with it 110%
> > [11/24/2004 9:50 AM] <gdaniels> I wonder if we lost Sri Lanka again...or
> if they're just meditating. :)
> > [11/24/2004 9:51 AM] <Chinthaka> meditating ???
> > [11/24/2004 9:51 AM] <Jaliya5712> No conected
> > [11/24/2004 9:51 AM] <chathura> hmmm
> > [11/24/2004 9:51 AM] <dasarath> not at all
> > [11/24/2004 9:51 AM] <alek_s> i jave just posted update dlog to wiki
> > [11/24/2004 9:51 AM] <alek_s> just in case
> > [11/24/2004 9:52 AM] <alek_s>
> http://wiki.apache.org/ws/ChatAgenda/20041124/ChatLog
> > [11/24/2004 9:52 AM] <gdaniels> So Alek and I seem to be on the same
page
> on this general idea... others?
> > [11/24/2004 9:52 AM] <Jaliya5712> So we will support binary object
> representation on OM althouhg it is
> > not in the infoset?
> > [11/24/2004 9:52 AM] <gdaniels> Jaliya5712: ??
> > [11/24/2004 9:53 AM] <Jaliya5712> It is me, Jaliya
> > [11/24/2004 9:53 AM] <Srinath_> hi sorry for trouble if somebody know
can
> someone let me know how to
> > revert a commit (I seem to have mess up ws-site and need to revert))
> > [11/24/2004 9:53 AM] <dasarath> are we not over engineering here?
> > [11/24/2004 9:53 AM] <Ajith> glen : sorry had to take a call , I meant
the
> "book" object
> > [11/24/2004 9:53 AM] <gdaniels> Jaliya: I know it's you - I didn't
> understand what you were asking :)
> > [11/24/2004 9:53 AM] <gdaniels> dasarath: I don't think so yet, no.
> > [11/24/2004 9:54 AM] <Jaliya5712> Are we going to inclued binary node to
> OM?
> > [11/24/2004 9:54 AM] <gdaniels> dasarath: This seems pretty easy to
build
> to me so far.
> > [11/24/2004 9:54 AM] <dasarath> I may be wrong but this is what I
> understood, say if u want to send a
> > Boolean object
> > [11/24/2004 9:54 AM] <dasarath> as the return type
> > [11/24/2004 9:54 AM] <gdaniels> Jaliya: That's what we're discussing...
> > [11/24/2004 9:54 AM] <dasarath> u directly attach it to the OM
> > [11/24/2004 9:55 AM] <alek_s> i very much like implicity of this
> > [11/24/2004 9:55 AM] <dasarath> but that can be done without this
feature
> as well
> > [11/24/2004 9:55 AM] <alek_s> it makes working with XML Infoset simple
and
> allows multiple tranformations
> > [11/24/2004 9:55 AM] <alek_s> when final "pure" XML Infoset is built in
> stages
> > [11/24/2004 9:55 AM] <gdaniels> dasarath: Yes, you could always use an
> external data binding system
> > [11/24/2004 9:55 AM] <alek_s> (s)implicity
> > [11/24/2004 9:56 AM] <Jaliya5712> Alek:Yes
> > [11/24/2004 9:56 AM] <dasarath> my concern is
> > [11/24/2004 9:56 AM] <dasarath> why not leave the data binding stuff to
> the external
> > [11/24/2004 9:56 AM] <dasarath> data binding systems
> > [11/24/2004 9:56 AM] <gdaniels> dasarath: Because we need to do MTOM,
> right?
> > [11/24/2004 9:56 AM] <dasarath> and let OM expose a minimal interface
for
> them to ride on top of OM
> > [11/24/2004 9:57 AM] <gdaniels> dasarath: If we're doing MTOM and
actually
> optimizing (i.e. NOT writing
> > the whole object to base64 in all cases), we need someplace to put
> java.awt.Images or DataHandlers.
> > [11/24/2004 9:58 AM] <Jaliya5712> If we have custom nodes in OM then can
> we let some other code to do
> > the databinng?
> > [11/24/2004 9:58 AM] <gdaniels> dasarath: So Alek and I are suggesting
> that since we need that anyway,
> > and the semantics are very similar to that of data binding, why not use
a
> single mechanism?
> > [11/24/2004 9:58 AM] <Jaliya5712> So it shoule also be included, I think
> > [11/24/2004 9:58 AM] <Jaliya5712> in OM
> > [11/24/2004 9:59 AM] <dasarath> can't we get around the MTOM case in a
> much simpler if we do not
> > consider this
> > [11/24/2004 9:59 AM] <gdaniels> No one is suggesting that you should not
> be able to plug-and-play your
> > actual data binding frameworks like Castor, XmlBeans, etc....
> > [11/24/2004 10:00 AM] <gdaniels> dasarath: I'm not sure.  How would you
> MTOM-encode a java.awt.Image?
> > [11/24/2004 10:00 AM] <alek_s> i have been around topic of serialization
> and deserialization for years
> > [11/24/2004 10:00 AM] <dasarath> for OM it will be a binary data stream
> > [11/24/2004 10:01 AM] <alek_s> building it on top of SAX and DOM was
> painful and sometimes very complicated
> > [11/24/2004 10:01 AM] <gdaniels> dasarath: What does it look like for
the
> programmer, I mean?
> > [11/24/2004 10:01 AM] <alek_s> we have chnace now to "custom fit" OM to
> what we need
> > [11/24/2004 10:01 AM] <Ajith> glen : bTW if we binarize an AWT image how
> can .net recreate it?
> > [11/24/2004 10:01 AM] <gdaniels> alek: +1 (but you knew that :))
> > [11/24/2004 10:02 AM] <gdaniels> Ajith: You serialize it using MTOM as a
> MIME "image/jpg"
> > [11/24/2004 10:02 AM] <alek_s> i would have wrapper object (such as
> XopInclude) that would be
> > serialized with mime type image/png
> > [11/24/2004 10:02 AM] <Ajith> glen : aah
> > [11/24/2004 10:02 AM] <gdaniels> There's nothing JavaCentric there,
Ajith
> > [11/24/2004 10:02 AM] <gdaniels> png, jpg, whatever :)
> > [11/24/2004 10:02 AM] <alek_s> i think pretty much everybyd will suport
> MTOM including foremost Microsoft
> > [11/24/2004 10:03 AM] <Ajith> i get it , so you want to transfer items
> like image objects into specific
> > media types in transport
> > [11/24/2004 10:03 AM] <dasarath> when deserializing are we creating
> different binary objects like awt.Image
> > [11/24/2004 10:03 AM] <gdaniels> yes yes
> > [11/24/2004 10:03 AM] <gdaniels> in particular, images, byte arrays, and
> XML documents can be optimized
> > that way
> > [11/24/2004 10:03 AM] <dasarath> in OM
> > [11/24/2004 10:03 AM] <Ajith> ok I get it
> > [11/24/2004 10:04 AM] <dasarath> say OMElement.getObjectValue->returns
an
> awt.Image
> > [11/24/2004 10:04 AM] <gdaniels> dasarath: Well they go somewhere. :)
> We're deciding how and where.
> > [11/24/2004 10:04 AM] <Ajith> but the prob is having this non Om object
> hanging around with the Om!
> > [11/24/2004 10:04 AM] <gdaniels> dasarath: that's exactly what I want to
> see, yes.
> > [11/24/2004 10:04 AM] <gdaniels> Ajith: We could easily have options
which
> control whether to cache it
> > or not.
> > [11/24/2004 10:04 AM] <alek_s> that is what i have in mind too
> > [11/24/2004 10:04 AM] <dasarath> but don't u think that's too much to
ask
> from OM
> > [11/24/2004 10:04 AM] <gdaniels> We want OM to be "tunable" for given
use
> cases
> > [11/24/2004 10:05 AM] <gdaniels> dasarath: No, absolutely not.
> > [11/24/2004 10:05 AM] <gdaniels> Remember - you're not asking OM to do
ALL
> the work, OM also works with
> > a data binding framework.
> > [11/24/2004 10:05 AM] <dasarath> but
> > [11/24/2004 10:05 AM] <dasarath> this implies that
> > [11/24/2004 10:05 AM] <gdaniels> OM also works with a XOP/MTOM
"framework"
> which is just the
> > DataHandler/activation framework in Java
> > [11/24/2004 10:06 AM] -->| Essington (~Essington@essington.user) has
> joined #apache-axis
> > [11/24/2004 10:06 AM] <Ajith> glen :  you have a very attractive point
> there but I am not sure whether
> > that is ok!
> > [11/24/2004 10:06 AM] <dasarath> data binding stuff is working before
the
> method getObjectValue returns
> > [11/24/2004 10:06 AM] <dasarath> meaning data-binding is not on top of
OM
> but IN it
> > [11/24/2004 10:06 AM] <alek_s> glen: i think MTOM should be more generic
> than "just DataHandler/activation
> > [11/24/2004 10:06 AM] <gdaniels> alek_s: Sure
> > [11/24/2004 10:06 AM] <gdaniels> dasarath: It's accessible THROUGH OM,
but
> not INSIDE OM.
> > [11/24/2004 10:07 AM] <gdaniels> Guys, I have to run unfortunately...
> > [11/24/2004 10:07 AM] <dasarath> but now OM has to be aware of this data
> binding
> > [11/24/2004 10:07 AM] <gdaniels> got another meeting coming up
> > [11/24/2004 10:07 AM] <dasarath> k
> > [11/24/2004 10:07 AM] <gdaniels> I'll read rest of log, and pls continue
> conversation on email
> > [11/24/2004 10:07 AM] <dasarath> we'll go for a prototype as see
> > [11/24/2004 10:07 AM] <alek_s> i will be commiting to SVN my MTOM "toy"
> coe
> > [11/24/2004 10:07 AM] <gdaniels> bye for now all!
> > [11/24/2004 10:08 AM] <dasarath> bye glen
> > [11/24/2004 10:08 AM] |<-- gdaniels has left irc.freenode.net ()
> > [11/24/2004 10:08 AM] <alek_s> code should be in general similiar to
Glen
> but more support for XML
> > Infoset transformations
> > [11/24/2004 10:09 AM] <alek_s> want to call today chat finished?
> > [11/24/2004 10:09 AM] <dasarath> yes why not
> > [11/24/2004 10:10 AM] <dasarath> its 9.00
> > [11/24/2004 10:10 AM] <alek_s> no it is 10.10 :)
> > [11/24/2004 10:10 AM] <dasarath> ;)
> > [11/24/2004 10:10 AM] <chathura> :d
> >
> >
> >
>
>


Re: [Axis2] IRC chat log 2004-11-24

Posted by Sanjiva Weerawarana <sa...@opensource.lk>.
I generally like Glen's MTOM/databinding approach, but the trickery
around attributes etc. concerns me. Glen, there's some hint to that
in the chat - about how keeping a Java object as a "child" makes
it inconsistent with the possibility that serializing that will
result in attributes for example.

In particular, combining this approach with your favorite of SOAP
encoding serialization can be really nasty .. a single Java object
can mess with the XML Infoset in weird ways. Now if you want to
say Axis2 won't support SOAP encoding I'm most definitely +1! ;-)

Happy Thanksgiving to those of you in North America! Enjoy that
turkey ..

Sanjiva.

----- Original Message ----- 
From: "Aleksander Slominski" <as...@cs.indiana.edu>
To: <ax...@ws.apache.org>
Sent: Wednesday, November 24, 2004 9:27 PM
Subject: [Axis2] IRC chat log 2004-11-24


> we have talked more about MTOM/XOP and how to make OM more
> data-binding friendly.
>
>
> next chat:
> December 01, 2004 10pm EST *on* WEDNESDAY (That's 9am Thu in SriLanka)
> update agenda for next week in
> http://wiki.apache.org/ws/ChatAgenda
>
> thanks,
>
> alek
>
> http://wiki.apache.org/ws/ChatAgenda/20041124
> [11/24/2004 8:52 AM] <Deepal> hi all
> [11/24/2004 8:54 AM] <Srinath_> everybody is earliy :)
> [11/24/2004 8:54 AM] <Harsha> Hi Deepal & the rest
> [11/24/2004 8:55 AM] <Ajith> hello all
> [11/24/2004 8:55 AM] <Deepal> BTW what is today agenda
> [11/24/2004 8:58 AM] <Jaliya> Hi All
> [11/24/2004 8:58 AM] -->| Chinthaka (~EC@220.247.247.140) has joined
#apache-axis
> [11/24/2004 9:00 AM] <alek_s> hi everybody
> [11/24/2004 9:01 AM] <Harsha> Ajith & Srinath, Thanks for the help. Hope I
am not hassling you guys.
> [11/24/2004 9:01 AM] <Chinthaka> hi all
> [11/24/2004 9:01 AM] <Ajith> hi alek
> [11/24/2004 9:01 AM] <alek_s> i think agenda is very undefined
> [11/24/2004 9:01 AM] <Ajith> harsha : nope
> [11/24/2004 9:01 AM] <alek_s> hi Chintaka
> [11/24/2004 9:01 AM] <Jaliya> Hi Alek
> [11/24/2004 9:01 AM] <dasarath> Hi all
> [11/24/2004 9:01 AM] <Chinthaka> hi alek
> [11/24/2004 9:01 AM] <alek_s> hi Jaliya
> [11/24/2004 9:02 AM] <Chinthaka> yeah, agenda is not well defined
> [11/24/2004 9:02 AM] <gdaniels> So let's pick something, then!
> [11/24/2004 9:02 AM] <alek_s> i have just droppeed two items seems
possible topics in
> http://wiki.apache.org/ws/ChatAgenda
> [11/24/2004 9:02 AM] <gdaniels> We could talk about turkey recipes :)
> [11/24/2004 9:03 AM] <Ajith> :)
> [11/24/2004 9:03 AM] <Jaliya> Shall we discuss what will be the client
side API
> [11/24/2004 9:03 AM] <Srinath_> I love we can taste that as well !
> [11/24/2004 9:03 AM] <Chinthaka> recipes ? :D
> [11/24/2004 9:04 AM] <dasarath> gdaniels likes turkey!!!
> [11/24/2004 9:04 AM] <Chinthaka> :)
> [11/24/2004 9:04 AM] <gdaniels> Jaliya: We could do that, but we might
want to continue tying up the
> loose threads we've got about engine/handlers and OM/MTOM...
> [11/24/2004 9:04 AM] <Ajith> yeah that is a good idea
> [11/24/2004 9:04 AM] <Jaliya> Ok, sure, We will finish it first
> [11/24/2004 9:04 AM] <gdaniels> dasarath: Turkey's one of my favorites :)
> [11/24/2004 9:04 AM] <Srinath_> glen herd you organizing a dinner :)
> [11/24/2004 9:05 AM] <Ajith> we can clear up some of the probs we have
> [11/24/2004 9:05 AM] <alek_s> Turkey gravy caan be good or very good ...
> [11/24/2004 9:05 AM] <gdaniels> Srinath: Yup, wanna come? :)
> [11/24/2004 9:06 AM] <gdaniels> OK, so engine or OM, folks?  I vote OM
first.
> [11/24/2004 9:06 AM] -->| chathura (~chathurah@203.94.95.193) has joined
#apache-axis
> [11/24/2004 9:07 AM] <chathura> Hi all
> [11/24/2004 9:08 AM] <alek_s> i am OK either way
> [11/24/2004 9:08 AM] <gdaniels> (Don't all vote at once now :))
> [11/24/2004 9:10 AM] <--| chathura has left #apache-axis
> [11/24/2004 9:10 AM] -->| chathura (~chathurah@203.94.95.193) has joined
#apache-axis
> [11/24/2004 9:10 AM] <gdaniels> okay then, how about OM....
> [11/24/2004 9:11 AM] <gdaniels> It seemed people in general were heading i
n similar directions with
> MTOM stuff, with a few differences
> [11/24/2004 9:11 AM] <gdaniels> The reason I'd put the "content" object in
the OMElement was to allow
> for not only MTOM, but also data binding, to occur.
> [11/24/2004 9:12 AM] |<-- Deepal has left irc.freenode.net (Read error:
104 (Connection reset by peer))
> [11/24/2004 9:13 AM] <gdaniels> If this was a separate binary-content
node, that could work too, but in
> the data-binding case it would be a little weird since you'd have one node
potentially affecting the
> attribute set of its parent node.
> [11/24/2004 9:13 AM] <Ajith> oops a daisy we had a sudden "link blackout"
> [11/24/2004 9:13 AM] -->| Deepal (~deepal@220.247.242.146) has joined
#apache-axis
> [11/24/2004 9:13 AM] <Deepal> hi all
> [11/24/2004 9:13 AM] <gdaniels> Ajith: Ah, I was wondering if something
like that had occurred!
> [11/24/2004 9:13 AM] <Deepal> we had a problem on our adsl link
> [11/24/2004 9:13 AM] <gdaniels> You all were unusually quiet. :)
> [11/24/2004 9:13 AM] <dasarath> lets have a quick recap
> [11/24/2004 9:13 AM] <Ajith> Chinthaka and jaliya are still out i guess
> [11/24/2004 9:13 AM] <Deepal> can we pls send us wt did u discuss
> [11/24/2004 9:14 AM] <gdaniels> I asked "om or engine", and I voted om,
and Alek said he didn't care,
> so I started talking about om
> [11/24/2004 9:14 AM] <Ajith> at least to know where we are headed
> [11/24/2004 9:14 AM] <Ajith> ik
> [11/24/2004 9:14 AM] <gdaniels> <gdaniels> It seemed people in general
were heading in similar
> directions with MTOM stuff, with a few differences
> [11/24/2004 9:14 AM] <gdaniels> <gdaniels> The reason I'd put the
"content" object in the OMElement was
> to allow for not only MTOM, but also data binding, to occur.
> [11/24/2004 9:14 AM] <gdaniels> <gdaniels> If this was a separate
binary-content node, that could work
> too, but in the data-binding case it would be a little weird since you'd
have one node potentially
> affecting the attribute set of its parent node.
> [11/24/2004 9:15 AM] <Ajith> so glen, Why wouldn't you put it as a "binary
node" or something
> [11/24/2004 9:16 AM] <gdaniels> Well, first of all because it's not
binary. :)
> [11/24/2004 9:16 AM] <gdaniels> I want to support regular beans which map
to/from XML too
> [11/24/2004 9:16 AM] <Deepal> then wt is it ?
> [11/24/2004 9:16 AM] <Deepal> is it base64 ?
> [11/24/2004 9:16 AM] <gdaniels> and I think the mechanism can be shared
> [11/24/2004 9:16 AM] <gdaniels> no
> [11/24/2004 9:16 AM] <Ajith> at the OM level?
> [11/24/2004 9:17 AM] <gdaniels> The objects can live at the OM level, yes
> [11/24/2004 9:17 AM] <gdaniels> The serialization framework is separate
though
> [11/24/2004 9:17 AM] <gdaniels> I want to be able to say:
> [11/24/2004 9:17 AM] <gdaniels> OMElement el = new OMElement(qname,
object)
> [11/24/2004 9:18 AM] <gdaniels> omWriter.write(el) (or whatever syntax we
use)
> [11/24/2004 9:18 AM] <gdaniels> The reason I think this fits is because
it's good for both MTOM
> optimizations and data binding.
> [11/24/2004 9:18 AM] <gdaniels> Both of which we know we want to support
> [11/24/2004 9:19 AM] -->| EC_ (~EC@220.247.246.61) has joined #apache-axis
> [11/24/2004 9:19 AM] <EC_> hi
> [11/24/2004 9:19 AM] <gdaniels> did we lose Sri Lanka again?
> [11/24/2004 9:19 AM] <chathura> and when we access this perticular element
area as pull stream we do what?
> [11/24/2004 9:19 AM] <EC_> am I in ?
> [11/24/2004 9:19 AM] <chathura> me too
> [11/24/2004 9:19 AM] <dasarath> we are here
> [11/24/2004 9:20 AM] <Ajith> EC : yeah you are :)
> [11/24/2004 9:20 AM] <EC_> :)
> [11/24/2004 9:20 AM] <gdaniels> chathura: The system would serialize the
object and provide the pull events
> [11/24/2004 9:20 AM] <chathura> do we push object to OM in tht case right
> [11/24/2004 9:20 AM] <gdaniels> chathura: right
> [11/24/2004 9:20 AM] -->| Jaliya5712 (~Miranda@220.247.246.61) has joined
#apache-axis
> [11/24/2004 9:21 AM] <EC_> can someone please paste the chat so far in to
my yahoo chat pleeeeeease,
> I've lost a lot :(
> [11/24/2004 9:21 AM] <chathura> and if the object doenst get pushed before
serialisation does the
> serialiser get the object reference
> [11/24/2004 9:21 AM] <Jaliya5712> I also want a copy
> [11/24/2004 9:21 AM] <dasarath> what are the pull events for a binary
node?
> [11/24/2004 9:22 AM] <gdaniels> chathura: Which kind of "serialization" do
you mean?  Writing the
> Object to OM, or writing the XML to a stream?
> [11/24/2004 9:22 AM] <dasarath> is there anything like TEXT in the case of
the text event for binary
> data as well?
> [11/24/2004 9:22 AM] <chathura> om to xml
> [11/24/2004 9:22 AM] <gdaniels> dasarath: The same as the pull events for
either the base64 content or
> "<xbinc:Include...>"
> [11/24/2004 9:23 AM] <dasarath> I was getting at how to pass the binary
data to the application through
> pull events?
> [11/24/2004 9:23 AM] <gdaniels> chathura: When we want to write out the
XML text, the Object would need
> to get serialized by the data binding system (via a SerializationContext)
> [11/24/2004 9:23 AM] <EC_> but glen : u have put binary data inside the
parent element
> [11/24/2004 9:23 AM] <gdaniels> dasarath: I'm not sure what you mean
exactly - can you give a
> use-case/example?
> [11/24/2004 9:24 AM] |<-- Chinthaka has left irc.freenode.net (Read error:
110 (Connection timed out))
> [11/24/2004 9:24 AM] |<-- Jaliya has left irc.freenode.net (Read error:
110 (Connection timed out))
> [11/24/2004 9:24 AM] <EC_> hi
> [11/24/2004 9:24 AM] <Ajith> glen :  that is what is not clear to me. are
we "burning" some kind of
> serilaisation into OM?
> [11/24/2004 9:24 AM] <gdaniels> Ajith: No, just the framework for it.
> [11/24/2004 9:24 AM] <dasarath> if its serialized as base64 the pull
events are straight forward
> meaning its another text event
> [11/24/2004 9:24 AM] <alek_s> i have posted current chat to
> http://wiki.apache.org/ws/ChatAgenda/20041124/ChatLog
> [11/24/2004 9:24 AM] <chathura> basically asking is ther a method called
omElement.getObject() for the
> seriliser in the Om to XML case?????
> [11/24/2004 9:24 AM] <EC_> thankx alek :)
> [11/24/2004 9:25 AM] <Jaliya5712> Thanks alek
> [11/24/2004 9:25 AM] <Ajith> glen :  then we are framed to that particular
serlising method!
> [11/24/2004 9:25 AM] <Ajith> say OM to Text
> [11/24/2004 9:26 AM] <gdaniels> Ajith: The "serializing method" is just
handing off responsibility to a
> SerializationContext - that's pretty abstract.
> [11/24/2004 9:26 AM] <alek_s> Glen: i do not like that you havce a special
treatment for DataHandler  -
> user can not decide how DataHandler content should be serialized as it is
speciall in
> BaseWriter.serialize()
> [11/24/2004 9:27 AM] <gdaniels> alek_s: Yeah, I was just whipping off a
quick sketch, but wanted to
> distinguish MTOM stuff from data binding stuff somehow.  Other
suggestions?
> [11/24/2004 9:27 AM] <alek_s> why not have something like marker interface
that elements can implement
> if they want their own serialization?
> [11/24/2004 9:28 AM] <gdaniels> alek_s: You mean specializing OMElements?
> [11/24/2004 9:28 AM] <Ajith> this is my view : we have the object model
seperately and
> serliasers/builders are things that interact with the OM by given
interfaces
> [11/24/2004 9:28 AM] <Ajith> so what ever the serialiser depends on the
interface we give (such as pull)
> [11/24/2004 9:28 AM] <alek_s> so if XopInclude includes this interface it
will ask seialize to
> write/serializeBinary() itself
> [11/24/2004 9:29 AM] <gdaniels> Ajith: So how do I associate object/binary
content with the XML then?
> [11/24/2004 9:29 AM] |<-- FR^2 has left irc.freenode.net (Read error: 60
(Operation timed out))
> [11/24/2004 9:29 AM] =-= EC_ is now known as Chinthaka
> [11/24/2004 9:29 AM] <alek_s> class XopInclude extends OMElementImpl
implements XmlSerializable
> [11/24/2004 9:29 AM] <Ajith> we have a MTOM writer inside the seriliser
that will generate the correct
> serlisation depending on the node
> [11/24/2004 9:30 AM] <Chinthaka> why XOPInclude extends Element ?
> [11/24/2004 9:30 AM] <Ajith> with the assumption that we have a binaryNode
in OM
> [11/24/2004 9:30 AM] <gdaniels> Ajith: Where does the object content live
though?
> [11/24/2004 9:30 AM] <Chinthaka> isn't it just extend OMText ?
> [11/24/2004 9:31 AM] <alek_s> XopInclude *is* XML Infoset Element
Infotmation Item (eii)
> [11/24/2004 9:31 AM] <Ajith> why, we have a node that specifically carries
binaryContent at OM level
> [11/24/2004 9:31 AM] <gdaniels> alek_s: So also class ObjElement extends
OMElement implements
> XmlSerializable?
> [11/24/2004 9:31 AM] <alek_s> example: <xop:Include
xmlns:xop='http://www.w3.org/2004/08/xop/include'
> href='cid:http://example.org/my.hsh'/>
> [11/24/2004 9:31 AM] <gdaniels> Ajith: What about data binding?
> [11/24/2004 9:31 AM] <alek_s> Glen: yes - that is what i was thinking
> [11/24/2004 9:31 AM] <Ajith> hmmmm
> [11/24/2004 9:32 AM] <gdaniels> alek_s: The <xop:Include> never actually
appears in the infoset though
> [11/24/2004 9:32 AM] <Chinthaka> alek : what I meant was content of
XOPInclude
> [11/24/2004 9:32 AM] <gdaniels> The infoset has the actual binary in it,
and <xop:Include> is purely a
> serialization optimization
> [11/24/2004 9:32 AM] <alek_s> XopInclude is in XOP Infoset
> [11/24/2004 9:32 AM] <Ajith> I was thinking of data binding by a given
pull interface
> [11/24/2004 9:32 AM] <alek_s> and XOP iNfoset is just transformation of
XML Infoset
> [11/24/2004 9:33 AM] <dasarath> XopInclude is in XOP Infoset?
> [11/24/2004 9:33 AM] <Ajith> But we can bind a binary content to a given
java object
> [11/24/2004 9:33 AM] <Ajith> Is it?
> [11/24/2004 9:33 AM] <alek_s> i think OM represent XML Infoset in
different stages of transformation?
> [11/24/2004 9:33 AM] <gdaniels> Ajith: See, I want to support building an
XML tree that has Objects
> hanging off it at certain points, but not others.  I also want to support
deserializing a particular
> place in the XML to Object and caching the result.
> [11/24/2004 9:33 AM] <alek_s> including case when we have Java objects
that will be later transfromed
> to XML Infoset
> [11/24/2004 9:33 AM] <Ajith> hmmmm
> [11/24/2004 9:34 AM] <Ajith> Now i see your point
> [11/24/2004 9:34 AM] <alek_s> Glen: i agree completely!
> [11/24/2004 9:34 AM] -->| _chris_
(~chris@pcp04631447pcs.gambrl01.md.comcast.net) has joined #apache-axis
> [11/24/2004 9:35 AM] <gdaniels> alek_s: +1 to different stages of
transformation, but I don't think the
> <xop:Include> should ever appear in the OM model itself...?
> [11/24/2004 9:35 AM] <Ajith> but wont this "stored object" corrupt our
nice architecture
> [11/24/2004 9:35 AM] <gdaniels> Ajith: I don't know. :)  I hope not.
> [11/24/2004 9:35 AM] <gdaniels> The only problem I can see with it is if
you've got different data
> binding frameworks working on the same piece of XML (and therefore using
different mappings)
> [11/24/2004 9:36 AM] <gdaniels> I think that's going to be pretty rare
> [11/24/2004 9:36 AM] <Ajith> glen : this is what we had in mind
> [11/24/2004 9:37 AM] <Ajith> we expose a pull event stream from Om so that
by converting it into sax we
> can use any data binding tool
> [11/24/2004 9:37 AM] <gdaniels> I'd like to try it anyway, and see what it
looks/feels like.  If we can
> get it right, I imagine the API being *really* useful/easy for Java/XML
programming.
> [11/24/2004 9:37 AM] <Ajith> such as XMLbeans that use a sax interface
> [11/24/2004 9:37 AM] <gdaniels> Ajith: Now you're talking about
deserializing
> [11/24/2004 9:37 AM] <gdaniels> That sounds fine.
> [11/24/2004 9:37 AM] <gdaniels> I definitely want to support what you just
said.
> [11/24/2004 9:38 AM] <Ajith> hmmm
> [11/24/2004 9:38 AM] <gdaniels> But also I'd like to have a
getObjectValue() (or whatever) API which
> uses a configured data binding framework to do that work for you IF one
has been configured
> [11/24/2004 9:38 AM] <Chinthaka> OM -> StAX --> SAX --> databinding
> [11/24/2004 9:38 AM] <alek_s> glen: XopInclude for me is very similair to
hanging Java Objects in XML
> tree - something that is not in XML Infoset but can be tranformed to
infoset (for XopInclude --> BASE64)
> [11/24/2004 9:38 AM] <Chinthaka> databinding --> SAX --> OM
> [11/24/2004 9:38 AM] <gdaniels> The nice thing about that API is that you
can use it BOTH for getting
> MTOM content and for getting Java databinding content
> [11/24/2004 9:39 AM] <Ajith> Glen :  what I am little bit worried is
burning in an "object" inside OM
> [11/24/2004 9:39 AM] <gdaniels> alek_s: Yes, except that data binding can
also affect attributes,
> whereas binary content cannot.
> [11/24/2004 9:39 AM] <alek_s> getObjectValue(ctx <list of data-bindings>)
> [11/24/2004 9:39 AM] <gdaniels> Ajith: I understand the concern.
> [11/24/2004 9:39 AM] -->| FR^2 (~FRQuadrat@pD956E3D3.dip0.t-ipconnect.de)
has joined #apache-axis
> [11/24/2004 9:39 AM] <gdaniels> Ajith: But essentially we're doing that
with XmlBinary/XopInclude too,
> aren't we?
> [11/24/2004 9:40 AM] <alek_s> glen: during data-binding it should be
possible to create any XML Infoset ...
> [11/24/2004 9:40 AM] <Ajith> yeah : what I had in mind is we store it in a
generic "binary node"
> [11/24/2004 9:41 AM] <gdaniels> ok
> [11/24/2004 9:41 AM] <gdaniels> here's a use case
> [11/24/2004 9:41 AM] <gdaniels> let me show you what I want to do for
serializing
> [11/24/2004 9:41 AM] <gdaniels> OMElement container = new
OMElement("root");
> [11/24/2004 9:42 AM] <gdaniels> OMElement child1 = new OMElement("child");
> [11/24/2004 9:42 AM] <gdaniels> child1.setObjectContent(book1);
> [11/24/2004 9:42 AM] <gdaniels> OMElement child2 = new OMElement("child");
> [11/24/2004 9:42 AM] <gdaniels> child2.setObjectContent(book2);
> [11/24/2004 9:42 AM] <gdaniels> container.addChild(child1);
> [11/24/2004 9:42 AM] <gdaniels> container.addChild(child2);
> [11/24/2004 9:42 AM] <gdaniels> omWriter.write(container);
> [11/24/2004 9:42 AM] <gdaniels> <end>
> [11/24/2004 9:43 AM] <gdaniels> Is that reasonable to want?
> [11/24/2004 9:43 AM] <dasarath> that's OK but
> [11/24/2004 9:43 AM] <alek_s> all good except for last line
> [11/24/2004 9:43 AM] <Ajith> hmmmm , that seems quite a "developer
friendly" piece of code :)
> [11/24/2004 9:43 AM] <dasarath> we stayed away from that so far right?
> [11/24/2004 9:43 AM] <alek_s> i think writer should be configured with
data bindings
> [11/24/2004 9:43 AM] <gdaniels> Ajith: Darned right!
> [11/24/2004 9:43 AM] <gdaniels> :)
> [11/24/2004 9:43 AM] <gdaniels> alek_s: Yes, I was assuming that had
already happened
> [11/24/2004 9:44 AM] <alek_s> also i would not store "object content" in
OMElement as a special content
> [11/24/2004 9:44 AM] <alek_s> but just as any other child
> [11/24/2004 9:44 AM] <gdaniels> OMWriter omWriter = new
OMWriter(outstream, dataBindingContext)
> [11/24/2004 9:44 AM] <gdaniels> alek_s: but it is special, alas.
> [11/24/2004 9:44 AM] <alek_s> child1.addChild(content)
> [11/24/2004 9:44 AM] <gdaniels> alek_s: in particular, it can serialize
attributes
> [11/24/2004 9:44 AM] <Ajith> glen :  how is this bool object serialised ?
> [11/24/2004 9:44 AM] <alek_s> why is it special? content will be
transformed to XML Infoset during writing
> [11/24/2004 9:44 AM] <Ajith> I mean where is it configured
> [11/24/2004 9:45 AM] <gdaniels> alek_s: So making it a child would break
the model of "child"
> [11/24/2004 9:45 AM] <alek_s> so it should be treated as potential XML
Infoset
> [11/24/2004 9:45 AM] <alek_s> assumed XML Infoset until found guilty
(exception)
> [11/24/2004 9:45 AM] <gdaniels> Ajith: which bool object?
> [11/24/2004 9:45 AM] <alek_s> brb
> [11/24/2004 9:47 AM] <gdaniels> Here's the thing.  I want Axis (and OM in
particular) to be as
> "developer friendly" as possible.  Otherwise what's the point?
> [11/24/2004 9:47 AM] <gdaniels> We know we want to support MTOM anyway.
> [11/24/2004 9:47 AM] <gdaniels> So it seems to me like there's a lot of
potential overlap between
> reading/writing binary objects (Image, byte[], etc) and reading/writing
data-bound objects
> [11/24/2004 9:48 AM] <gdaniels> If we can make a single
structure/framework/API work for both, that
> seems like it would be really cool.  If not, no problem, but I want to
explore it fully.
> [11/24/2004 9:49 AM] <alek_s> back
> [11/24/2004 9:50 AM] <alek_s> glen: i agree with it 110%
> [11/24/2004 9:50 AM] <gdaniels> I wonder if we lost Sri Lanka again...or
if they're just meditating. :)
> [11/24/2004 9:51 AM] <Chinthaka> meditating ???
> [11/24/2004 9:51 AM] <Jaliya5712> No conected
> [11/24/2004 9:51 AM] <chathura> hmmm
> [11/24/2004 9:51 AM] <dasarath> not at all
> [11/24/2004 9:51 AM] <alek_s> i jave just posted update dlog to wiki
> [11/24/2004 9:51 AM] <alek_s> just in case
> [11/24/2004 9:52 AM] <alek_s>
http://wiki.apache.org/ws/ChatAgenda/20041124/ChatLog
> [11/24/2004 9:52 AM] <gdaniels> So Alek and I seem to be on the same page
on this general idea... others?
> [11/24/2004 9:52 AM] <Jaliya5712> So we will support binary object
representation on OM althouhg it is
> not in the infoset?
> [11/24/2004 9:52 AM] <gdaniels> Jaliya5712: ??
> [11/24/2004 9:53 AM] <Jaliya5712> It is me, Jaliya
> [11/24/2004 9:53 AM] <Srinath_> hi sorry for trouble if somebody know can
someone let me know how to
> revert a commit (I seem to have mess up ws-site and need to revert))
> [11/24/2004 9:53 AM] <dasarath> are we not over engineering here?
> [11/24/2004 9:53 AM] <Ajith> glen : sorry had to take a call , I meant the
"book" object
> [11/24/2004 9:53 AM] <gdaniels> Jaliya: I know it's you - I didn't
understand what you were asking :)
> [11/24/2004 9:53 AM] <gdaniels> dasarath: I don't think so yet, no.
> [11/24/2004 9:54 AM] <Jaliya5712> Are we going to inclued binary node to
OM?
> [11/24/2004 9:54 AM] <gdaniels> dasarath: This seems pretty easy to build
to me so far.
> [11/24/2004 9:54 AM] <dasarath> I may be wrong but this is what I
understood, say if u want to send a
> Boolean object
> [11/24/2004 9:54 AM] <dasarath> as the return type
> [11/24/2004 9:54 AM] <gdaniels> Jaliya: That's what we're discussing...
> [11/24/2004 9:54 AM] <dasarath> u directly attach it to the OM
> [11/24/2004 9:55 AM] <alek_s> i very much like implicity of this
> [11/24/2004 9:55 AM] <dasarath> but that can be done without this feature
as well
> [11/24/2004 9:55 AM] <alek_s> it makes working with XML Infoset simple and
allows multiple tranformations
> [11/24/2004 9:55 AM] <alek_s> when final "pure" XML Infoset is built in
stages
> [11/24/2004 9:55 AM] <gdaniels> dasarath: Yes, you could always use an
external data binding system
> [11/24/2004 9:55 AM] <alek_s> (s)implicity
> [11/24/2004 9:56 AM] <Jaliya5712> Alek:Yes
> [11/24/2004 9:56 AM] <dasarath> my concern is
> [11/24/2004 9:56 AM] <dasarath> why not leave the data binding stuff to
the external
> [11/24/2004 9:56 AM] <dasarath> data binding systems
> [11/24/2004 9:56 AM] <gdaniels> dasarath: Because we need to do MTOM,
right?
> [11/24/2004 9:56 AM] <dasarath> and let OM expose a minimal interface for
them to ride on top of OM
> [11/24/2004 9:57 AM] <gdaniels> dasarath: If we're doing MTOM and actually
optimizing (i.e. NOT writing
> the whole object to base64 in all cases), we need someplace to put
java.awt.Images or DataHandlers.
> [11/24/2004 9:58 AM] <Jaliya5712> If we have custom nodes in OM then can
we let some other code to do
> the databinng?
> [11/24/2004 9:58 AM] <gdaniels> dasarath: So Alek and I are suggesting
that since we need that anyway,
> and the semantics are very similar to that of data binding, why not use a
single mechanism?
> [11/24/2004 9:58 AM] <Jaliya5712> So it shoule also be included, I think
> [11/24/2004 9:58 AM] <Jaliya5712> in OM
> [11/24/2004 9:59 AM] <dasarath> can't we get around the MTOM case in a
much simpler if we do not
> consider this
> [11/24/2004 9:59 AM] <gdaniels> No one is suggesting that you should not
be able to plug-and-play your
> actual data binding frameworks like Castor, XmlBeans, etc....
> [11/24/2004 10:00 AM] <gdaniels> dasarath: I'm not sure.  How would you
MTOM-encode a java.awt.Image?
> [11/24/2004 10:00 AM] <alek_s> i have been around topic of serialization
and deserialization for years
> [11/24/2004 10:00 AM] <dasarath> for OM it will be a binary data stream
> [11/24/2004 10:01 AM] <alek_s> building it on top of SAX and DOM was
painful and sometimes very complicated
> [11/24/2004 10:01 AM] <gdaniels> dasarath: What does it look like for the
programmer, I mean?
> [11/24/2004 10:01 AM] <alek_s> we have chnace now to "custom fit" OM to
what we need
> [11/24/2004 10:01 AM] <Ajith> glen : bTW if we binarize an AWT image how
can .net recreate it?
> [11/24/2004 10:01 AM] <gdaniels> alek: +1 (but you knew that :))
> [11/24/2004 10:02 AM] <gdaniels> Ajith: You serialize it using MTOM as a
MIME "image/jpg"
> [11/24/2004 10:02 AM] <alek_s> i would have wrapper object (such as
XopInclude) that would be
> serialized with mime type image/png
> [11/24/2004 10:02 AM] <Ajith> glen : aah
> [11/24/2004 10:02 AM] <gdaniels> There's nothing JavaCentric there, Ajith
> [11/24/2004 10:02 AM] <gdaniels> png, jpg, whatever :)
> [11/24/2004 10:02 AM] <alek_s> i think pretty much everybyd will suport
MTOM including foremost Microsoft
> [11/24/2004 10:03 AM] <Ajith> i get it , so you want to transfer items
like image objects into specific
> media types in transport
> [11/24/2004 10:03 AM] <dasarath> when deserializing are we creating
different binary objects like awt.Image
> [11/24/2004 10:03 AM] <gdaniels> yes yes
> [11/24/2004 10:03 AM] <gdaniels> in particular, images, byte arrays, and
XML documents can be optimized
> that way
> [11/24/2004 10:03 AM] <dasarath> in OM
> [11/24/2004 10:03 AM] <Ajith> ok I get it
> [11/24/2004 10:04 AM] <dasarath> say OMElement.getObjectValue->returns an
awt.Image
> [11/24/2004 10:04 AM] <gdaniels> dasarath: Well they go somewhere. :)
We're deciding how and where.
> [11/24/2004 10:04 AM] <Ajith> but the prob is having this non Om object
hanging around with the Om!
> [11/24/2004 10:04 AM] <gdaniels> dasarath: that's exactly what I want to
see, yes.
> [11/24/2004 10:04 AM] <gdaniels> Ajith: We could easily have options which
control whether to cache it
> or not.
> [11/24/2004 10:04 AM] <alek_s> that is what i have in mind too
> [11/24/2004 10:04 AM] <dasarath> but don't u think that's too much to ask
from OM
> [11/24/2004 10:04 AM] <gdaniels> We want OM to be "tunable" for given use
cases
> [11/24/2004 10:05 AM] <gdaniels> dasarath: No, absolutely not.
> [11/24/2004 10:05 AM] <gdaniels> Remember - you're not asking OM to do ALL
the work, OM also works with
> a data binding framework.
> [11/24/2004 10:05 AM] <dasarath> but
> [11/24/2004 10:05 AM] <dasarath> this implies that
> [11/24/2004 10:05 AM] <gdaniels> OM also works with a XOP/MTOM "framework"
which is just the
> DataHandler/activation framework in Java
> [11/24/2004 10:06 AM] -->| Essington (~Essington@essington.user) has
joined #apache-axis
> [11/24/2004 10:06 AM] <Ajith> glen :  you have a very attractive point
there but I am not sure whether
> that is ok!
> [11/24/2004 10:06 AM] <dasarath> data binding stuff is working before the
method getObjectValue returns
> [11/24/2004 10:06 AM] <dasarath> meaning data-binding is not on top of OM
but IN it
> [11/24/2004 10:06 AM] <alek_s> glen: i think MTOM should be more generic
than "just DataHandler/activation
> [11/24/2004 10:06 AM] <gdaniels> alek_s: Sure
> [11/24/2004 10:06 AM] <gdaniels> dasarath: It's accessible THROUGH OM, but
not INSIDE OM.
> [11/24/2004 10:07 AM] <gdaniels> Guys, I have to run unfortunately...
> [11/24/2004 10:07 AM] <dasarath> but now OM has to be aware of this data
binding
> [11/24/2004 10:07 AM] <gdaniels> got another meeting coming up
> [11/24/2004 10:07 AM] <dasarath> k
> [11/24/2004 10:07 AM] <gdaniels> I'll read rest of log, and pls continue
conversation on email
> [11/24/2004 10:07 AM] <dasarath> we'll go for a prototype as see
> [11/24/2004 10:07 AM] <alek_s> i will be commiting to SVN my MTOM "toy"
coe
> [11/24/2004 10:07 AM] <gdaniels> bye for now all!
> [11/24/2004 10:08 AM] <dasarath> bye glen
> [11/24/2004 10:08 AM] |<-- gdaniels has left irc.freenode.net ()
> [11/24/2004 10:08 AM] <alek_s> code should be in general similiar to Glen
but more support for XML
> Infoset transformations
> [11/24/2004 10:09 AM] <alek_s> want to call today chat finished?
> [11/24/2004 10:09 AM] <dasarath> yes why not
> [11/24/2004 10:10 AM] <dasarath> its 9.00
> [11/24/2004 10:10 AM] <alek_s> no it is 10.10 :)
> [11/24/2004 10:10 AM] <dasarath> ;)
> [11/24/2004 10:10 AM] <chathura> :d
>
>
>