[Pipet Devel] J.W. Bizzaro; TODO 20000218

Brad Chapman chapmanb at arches.uga.edu
Thu Feb 24 09:20:45 EST 2000


> We'll have to come up with a complete 'vocabulary' for _any_ 
front-end and
> for
> the middleware.  We're defining a (rather odd) API here.

Agreed!

> I was planning on getting gi to puke out some XML tags as things are 
done by
> the user.  I think this will help you see what the middleware has to 
respond
> to.  Let's work at developing the vocabulary piecemeal rather than
> all-at-once.

This makes sense, and is the approach I've been using with the other 
xml so far. I started trying to have a DTD, but I change things so 
much right now as I'm learning, that it doesn't make sense to do this. 
As things become clearer this would be something to do.

I started making the front talk to the middle via xml in the changes I 
just committed. I've started with connections, and I made the front 
send the middle the following XML:

	<front>
	  <connect>
	    <input id = 'workspace1/workspace2/container1.xml'/>
	    <output id = 'workspace1/workspace2/viewer2.xml'/>
	  </connect>
	</front>

This is just a semi-modification on what you were talking about before 
(to make it valid XML so I can use DOM to work with it). I figured 
that other actions can be a modification of this.
    Right now I'm just passing the info as a big string o' XML and 
parsing it from this. I took a little look at the httplib library in 
the python distribution, and it seems like it might be useful (at 
least, there are send and reply functions to call). Maybe I'll try 
playing with this, but as you said, I'm not positive how to do it 
with "streaming" data. We'll see, I guess...
 

>    <middle workspace_add id="blabla1"
> icon="back/private/container/locusx.icon">
> (symbol comes from knowing the locus type)
>    <middle workspace_add id="blabla1" type="processor">
>    <middle workspace_add id="blabla1" interface>
> (now the middleware gives the interface description)
>        <text value="This is a locus">
>        <okay value="Okay">
>    </middle>

What kind of information do you want the middle to give to the front? 
Would something like:

<middle>
  <connect_reply>Error: Loci cannot be connected</connect_reply>
</middle>

be sufficient. I think we should keep the chatting to a minimum since 
we have 
to deal with everything we pass. So, if you send the middle a request 
to connect it either does it and returns "Success: Loci connected" or 
send an "Error" if it cannot. Then the front can decide what it wants 
to do. How does this sound?
    Even though it is a mess to untangle them, it will be pretty cool 
to have the middle and front finally free!

Brad 






More information about the Pipet-Devel mailing list