[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: A bunch of components, but no mandated organization - reas
> -----Original Message----- > From: Roger L. Costello [mailto:costello@m...] > Sent: Friday, January 14, 2005 8:42 AM > To: 'XML Developers List' > Subject: RE: A bunch of components, but no mandated > organization - reasonable? > > Hi Folks, > > Many thanks for the outstanding messages! > > Yesterday Michael Kay made an insightful observation. He > noted that there can be an effective exchange of information > when there exists a "protocol" > between the exchanging parties: > > > Of course it's possible to set up a system in which anyone who > > receives a customer record is expected to interpret it as meaning > > "please update the information you hold on this customer". Equally, > > it's possible to set up a system in which anyone who receives a > > customer record is expected to interpret it as meaning > "please phone > > this customer and find out what he wants". Any bunch of > bits you send > > me is meaningful if we've agreed a protocol, and > meaningless otherwise. > > Thus, if there exists a protocol between us then I can > dynamically assemble a bunch of components and send them to > you. And you will be able to dynamically understand my assembly! > > Let me give some concrete examples. > > Example - Trash Collection A perfect example of GIGO :) > Every Wednesday morning I bring all my trash out to the front > of my house. > During the day a trash collector comes along and picks up the > trash. When I return home in the evening the trash is gone. > > Information (trash) was exchanged. And it occurred without > a-priori knowledge by either party of the specific > transaction that would occur. Is that really true? The person(s) that collected it had knowledge of what to recognize and pick up - that is, they did not pick up (hopefully) a cat that walked by, or the grass at the front of the house, or a tree (assuming they could). They recognized the perinent components and how they related to what was around them. So I would say that this is not fully supportive of the notion of non a-priori knowledge. Kind Regards, Joseph Chiusano Booz Allen Hamilton Strategy and Technology Consultants to the World > The exchange was possible because: > > (1) Each party understood the components (containers of trash), and > > (2) There existed a protocol between the sender (me) and the > receiver (the trash collector). > > The protocol employed: "I give, you take". > > Example - Browsers > > I have created some HTML pages and placed them on my web > site. When your browser visits my web site it will make > effective use of the stuff that I have put in my HTML pages. > > Again, information was exchanged. And it without a-priori > knowledge by either party of the specific transaction that > would occur. The exchange was possible because: > > (1) Each party understood the components (HTML documents), and > > (2) There existed a protocol between the sender (my web > server) and the receiver (your browser). > > The protocol employed: "I give, you take". > > I suspect that the "I give, you take" protocol is a common, > powerful protocol. Can you think of other common, powerful protocols? > > Summary: Transferring Information using a Shared Grammar > versus a Shared Protocol > > Given a bunch of components, how can the information in those > components be effectively transferred between you and I? We > seem to be narrowing in on two approaches: > > 1. Shared Grammar: craft an XML Schema that completely lays > out the order and number of occurrences of each component. > That is, completely specify the grammar for the components. > The grammar (XML Schema) is then the contract between sender > and receiver. > > 2. Shared Protocol: define an exchange protocol. The form of > the assembly of components that are sent is unspecified and > irrelevant. > > [Tangential comment: there is a philosopher, Karl Popper, who > wrote (paraphrasing), "The quickest way to move a science > forward is through the use of provocative conjectures". In > the spirit of Karl Popper I thus make the following > provocative conjecture.] > > Conjecture: Information exchange using shared protocols is a > superior approach to information exchange using shared grammars. > > In other words, when you create an XML Schema simply declare > a bunch of independent components, but don't mandate any > particular ordering of them. > > [Another tangential comment: Popper says that after making a > conjecture it is important to test the conjecture. So, let's > test the conjecture.] > > Test 1: Support for information exchange in a dynamically changing > environment: the Shared Protocol approach is a "loosely > coupled" approach. > That is, the nature of the "payload" is irrelevant (I use the > term "payload" > here as it just dawned on me that HTTP is a "protocol" and > the information transferred using the HTTP protocol is called > a "payload"). > > Conversely, the Shared Grammar approach is not well-suited to > dynamic environments. Witness the great amount of effort and > coordination that is required to alter an XML Schema. > > Test 2: ??? (What are some other tests that might be applied > to the two > approaches?) > > /Roger > > > > > > > > ----------------------------------------------------------------- > The xml-dev list is sponsored by XML.org > <http://www.xml.org>, an initiative of OASIS > <http://www.oasis-open.org> > > The list archives are at http://lists.xml.org/archives/xml-dev/ > > To subscribe or unsubscribe from this list use the subscription > manager: <http://www.oasis-open.org/mlmanage/index.php> > >
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|