W3C home > Mailing lists > Public > xml-dist-app@w3.org > February 2001

RE: [AMG] : PPT of diagram

From: Scott Isaacson <SISAACSON@novell.com>
Date: Fri, 09 Feb 2001 10:36:48 -0700
Message-Id: <sa83c844.067@prv-mail20.provo.novell.com>
To: <mark.baker@canada.sun.com>, <ksankar@cisco.com>, <moreau@crf.canon.fr>, <marting@develop.com>, <skw@hplb.hpl.hp.com>, <ohurley@iona.com>, <frystyk@microsoft.com>, <john_ibbotson@uk.ibm.com>, <marc.hadley@uk.sun.com>, <Lynne.Thompson@unisys.com>, <nick.smilonich@unisys.com>, <ylafon@w3.org>
Cc: <xml-dist-app@w3.org>
> I am somewhat confused about why we would want to describe this as a
> request/response interaction?

The diagram does have arrows on both ends of the  horizontal message lines! But, if it is request/response,  the diagram does not have identifiers for the messages (M3, M4??) coming back in response to M1 and M2 (where notation Mx = XML Protocol message x).

Let's assume it is just one-way: "SendMessage".  Do I understand the diagram correctly with the following psuedo-code:


// XMLP Application Code for ApplicationNodeI
DoWork(XMLPProtocolHandler R, XMLPProtocolHandler S)

	XMLPProtocolProcessor L;
	XMLPMessage M1 = new XMLPMessage();
	XMLPBlock B1, B2;

	L = getSendingProcessor();
	B1 = S.DoWork();
	B2 = R.DoWork();
	M1.Destination("Application_NodeVI");  // Is this really the destination?


// XMLPProtocolProcessor code for M
ReceiveMessage(XMLPMessage M1)

	// How did M know to process M1 if the dest was Application_NodeVI?
	// Does is process all messages and let T decide to take action or not?

	XMLPProtocolHandler T = getHandler();



// XMLPProtocolHandler code for T
DoWork(XMLPMessage M1)

	XMLPBlock B1, B3;

	B1 = M1.getFirstBlock();

	// Does T have a test to see if B1 is really there? If so it makes
	// B3, else it leaves it alone?

	B3 = process(B1);


// XMLPProtocolProcessor code for N
ReceiveMessage(XMLPMessage M1)

	// The code in this instance of SendMessage binds to a new UP


// XMLP Application Code for ApplicationNodeV
DoWork(XMLMessage M1)

	XMLPProtocolProcessor P;
	XMLPMessage M2 = new XMLPMessage();
	XMLPBlock B2, B3, B4, B5;
	XMLPProtocolHandler U, V;

	// How does O know to process M1 if the dest was Application_NodeVI?

	P = getSendingProcessor();

	B2 = M1.getFirstBlock();
	B3 = M1.getNextBlock();

	U = getHandler(B2);
	V = getHandler(B3);

	B5 = U.DoWork(B2);
	B4 = V.DoWork(B3);




// XMLP Application Code for ApplicationNodeVI
DoWork(XMLMessage M2)

	XMLPBlock B4, B5;
	XMLPProtocolHandler W, X;

	B4 = M1.getFirstBlock();
	B5 = M1.getNextBlock();

	W = getHandler(B5);
	X = getHandler(B4);




Scott A. Isaacson
Received on Friday, 9 February 2001 12:37:50 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 22:01:11 UTC