[Pipet Devel] http protocol
J.W. Bizzaro
bizzaro at geoserve.net
Fri Feb 25 10:32:32 EST 2000
Brad Chapman wrote:
>
> > adheres to the http 4.0 protocol.
Err, sorry. I guess it's HTTP 1.0. HTML is 4.0.
> My idea was that the web front would take care of all of the
> serving for web pages, and the middle would only supply this Loci
> Transfer Protocol (ie. XML back and forth).
Xactamundo.
> I figure that whoever does
> the web front can use whatever server/helper programs that they need,
> and I was just throwing Apache/Zope out there as ideas, since Gary
> expressed some concern about the feasibility of things. I think
> getting a loci front going in a web browser will take a lot of
> creativity, so any tools that can help shouldn't be a problem!
Okay.
> Besides, if you get to require "monster" Gnome and Gtk for the
> front end you are designing, I think anyone working on the web front
> end could also require Zope/Apache :)
Touche ;-)
> But, as I said, I don't know anything about web design, so
> whatever people want to use is fine with me!
The Web front-end of Loci will require some creativity, but the developers
won't be suffering from a lack of tools. As you mentioned, there are many,
many tools out there for Web content generation. I think we can therefore
worry less about the needs of Loci's Web front-end and focus instead on being
innovative.
> Right, baby steps all of the way. I just uploaded my first baby step
> with sockets to get the front and middle talking on a single machine.
> I wrote a barely functional middle "socket" server based heavily on
> the design of the microscope server, and then redirected the
> connection stuff so it goes through the socket. So now we actually
> have clean language independent separation between one small part of
> the front and middle (yay!).
Yippie!
> Okay, right now I have the middle socket server and the main Loci
> program start up via two different scripts (to make it easier for me
> to test things) so to start Loci now you need to first run:
>
> ./startMiddle.py &
>
> and then:
>
> ./loci &
Well, you just hit on something I knew we would have to deal with. The script
'loci' in the root directory should be a command-line program that launches the
fronts and middle as separate processes. Right now, it has some Gnome stuff in
it, which it should NOT. This is a left-over from before our change in
directory structure.
Don't worry about making the 'loci' script work right, Brad. I want to add
that to my personal TODO.
> So it looks like we'll start doing things with sockets and see
> where it goes....
Good.
> I think that initially sockets are simpler, but I think things
> might get more difficult as we want to do more complicated things.
> This is where I think corba might be more suitable.
> But you are right, maybe we should start with sockets and then see
> if problems/limitations develop. Then maybe I'll be able to make a
> better case for corba...
If there is a glaring problem with using ordinary sockets, and CORBA can do
everything we want and better than sockets can, we'll use CORBA.
> > Loci can use corba and http, having the appropriate extensions for
> > them. But we have to keep Loci as a protocol-agnostic broker for
> > communications.
>
> This makes sense, but I only want to have to support one communication
> protocol from the front to the middle for now. Otherwise stuff will
> get waaay too complicated for my brain to handle.
I wouldn't characterize Loci's brokerage of different communications protocols
as being front-to-middle communication.
NOTE: THE MIDDLES BROKER COMMUNICATIONS BETWEEN BACK-ENDS! And there is NO
DIRECT COMMUNICATION BETWEEN FRONTS AND BACKS!
Front talks to middle
Middle talks to front
Middle talks to middle
Middle talks to back
Back talks to middle
>>Back talks to back<< (when connection has been brokered)
Here's a flowchart:
+-------+
| Front |
+-------+
| /|\
| |
SOCKET | | SOCKET
| |
\|/ |
+--------+
| Middle |/______________
+--------+\ |
/ \ |
SOCKET / \ SOCKET | SOCKET
/ \ |
+-----+/_/ \_\+-----+____|
| |\ /| |
| Back|_______________\|Back |_________\
| | ANY PROTOCOL /| | ETC. /
+-----+ +-----+
Can ya diggit? Yes I can!
Cheers.
Jeff
--
+----------------------------------+
| J.W. Bizzaro |
| |
| http://bioinformatics.org/~jeff/ |
| |
| BIOINFORMATICS.ORG |
| The Open Lab |
| |
| http://bioinformatics.org/ |
+----------------------------------+
More information about the Pipet-Devel
mailing list