Web Architecture

Robert La Quey robertl1 at home.com
Mon Nov 29 18:44:29 GMT 1999


As a proponent of SML and a relative unknown to this list I have
for the most part lurked for over six months now and tried to my 
homework like a good little boy. I am however a confirmed Simpleton,
both by bias and training (physics) and hence am fatally attracted to
Don Park's assault upon complexity. I had hoped to lurk and study
a bit longer but the pace of events demands I rush to publish. 

The main reason for SML is to provide a much more solid intellectual
foundation on which to build the higher level tools and abstractions
while at the same time maintaining continuity, if not compatibility,
with XML. In one sense SML is a crack in the wall of the entire edifice 
of Web Architecture which has been building up over the last few years. 
Surely an architecture this important deserves public discussion. 

The Web is too important to be left to the Experts. 

Dan Brickley provided a decent starting place for my education with 
several URLs. To wit:

	from which one is quickly led to the Dublin Core see:

Now one finds a large architectural edifice being 
implemented upon XML. My contention is that it is still
not too late to examine this entire edifice closely.

Is this architecture as elegant yet powerful as possible? 

Or is it full of kruft and legacy krusts as is XML? 

In a private message to Dan Bricker I asked,

>What is the architectural vision of the W3 for the World Wide Web
>and its future? I would like to see this stated as clearly and
>succintly as possible in one place. The Webdata article above 

>Web Architecture: Describing and Exchanging Data
>W3C Note 7 June 1999
>authored by Tim Berners-Lee, Dan Connolly and Ralph R. Swick 
>describes one such vision. The NOTE-rdfarch by Timbl shows the
>origins of this vision and puts it into a historic perspective. 

Does the unneeded complexity in XML continue to pollute 
the higher levels which accomodate themselves to XML as 
a foundation technology? or as I suspect 

Will starting from a simpler but equally general foundation
i.e. SML lead to a simpler and more general architecture? 

Or is it simply "too late" and do we have to live with what 
has been created by the W3 in closed WGs forever? 

XML smacks of an implementation that was begun and completed 
before the real goals were known. Either a lack of clarity 
in the founders' vision of	where to go from here or poor 
communication of that vision, perhaps induced by the massive 
political problems attendant upon such an effort lead to 
implementation is being worked on before the goals were clearly set.

Or perhaps the goals were clearly set but so dominated by 
the historic situation that it was difficult to see forward. 

Is the result, XML, a compromise and a bloat, actually in conflict 
with the construction of a simpler and more powerful higher level 

If true then how do we go forward? 

We need to understand "What" we are trying to do before
deciding "How" we are going to do it, although saddly, this 
is anot always a luxury we are afforded. This is a point 
that David Meggisson has refered to several times albeit
somewhat obliquely. The point of all of these exercises
is not just employment, intellectual stimulation and good
conversation but rather to build useful applications that
have value to others. Perhaps the W3 working groups have 
much greater clarity on these issues than does the XML-DEV 
but those WGs are unfortunately not open and hence I can 
only speculate. 

Does the open community think that it is obvious from the 
work product of the W3 WGs that they do have a very clear 
high level view of the problems to be solved?

Does the W3 have a clear vision of the future of the Web? 

Where is that best articulated for the Simpleton who would 
like to become less ignorant? 

So I would like to ask a simple basic question,
"What are we trying to do?" I will provide one
tentative answer (not intended as final or dogmatic,
based more on ignorance and bias than knowledge)
in an attempt to provoke response. 

Here is one Simpletons synopsis of the WebData article 
authored by Tim Berners-Lee, Dan Connolly and Ralph R. Swick 

Layer Purpose                            Example/Description
3) application  				e.g. [PICS], [OCS], [RSS]

2) Resource Description Framework  	Dublin Core 
						Describes a particular choice of 
						data structures (property lists)
						to be used by applications

1) XML	or SML					ML used for data serialization 
						and transport

0) Namespaces					Unique way of identifying names

My choice of putting Namespaces at the bottom is a guess but is 
if I correctly understand implicit in the Web Architecture being
proposed. If this is wrong please correct me. 

Tools, e.g. parsers, XSLT, (quite a long list) are then used with 
the components of these layers to aid in manipulation and transformation. 
The point of it all is to build useful applications. 

Immediately a question arises. 

Perhaps it is obvious that property lists are the best way to do
everything. That is less obvious to me. I have used many different 
data structures in my own programming efforts. Lists certainly 
have their purposes ... but only lists? I hate to think of representing
some things in lists. 

Does the use of RDF specialize the choice of data structures used 
by applications too soon? 

Are property lists the way to go? 

Another view, one I suspect (but am not yet prepared to
defend until death) would lead to a simpler core is: 

Layer Purpose                            Example/Description
3) application  				e.g. [PICS], [OCS], [RSS]

2a) Resource Description Framework  	Dublin Core 
						Describes a particular choice of 
						data structures (property lists)
						to be used by applications
2b) Other Application Oriented Data Structures (or objectlets)

2) Object Definition				Standard way to represent objects
						in SML 

1) SML						ML used for data serialization 
						and transport and IDL

0) Namespaces					Unique way of identifying names

There is certainly question as to whether the Object Definition should be
to one side and RDF is an application of OD. Other choices of fundamental 
data structure would be other apps of OD. 

Any actual choice or definition of these layers must be almost 
mathematical in its demand for simplicity and power. One must
refuse excess complexity as the cost of power. 

Is this a difficult quest? 

Certainly, but do not accuse, as some have done, the Simpletons of 
being lazy or script kiddies. Let's raise the tone of this discussion. 

One important use of SML will be as an Interface Definition Language (IDL) 
for and SML-RPC web of distributed objects ala Dave Winer and others
beautiful insight and work. This is aimed at replacing CORBA and DCOM
which also have major complexity problems. 

Has anyone defined a list define a list of applications e.g. 
SML<=>RDBMS mapping, PICS, etc and asked,

What are the common components that can be factored out 
and provided as general services available to the 
application builder?

How do we layer these onto SML? 

My contention is that the Model Splitting induced by the use of 
attributes in XML, as discussed by Didier PH Martin and further 
clarified by Clark C. Evans very interesting and accurate comments 
on recursion, is a "Bad Thing".  And further, that having a single 
low level data model i.e. SML is the "Good Thing". It is almost 
the same story as that of Copernicus and Ptolemy, and we know who 
got that right. 

"For knowledge add one thing everyday, for wisdom remove one." 
	passed to me by C. H. Ting 

It is time for removal. 


Bob La Quey

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo at ic.ac.uk the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)

More information about the Xml-dev mailing list