Integrity in the Hands of the Client

Howard Katz howardk at paradigmdev.com
Fri Nov 21 17:18:51 GMT 1997


Mark, would you mind expanding just a bit on the following paragraph?
I'm not seeing what your point is:

	BTW, this is the same reason that a stream of serialized-to-XML
Java 
	objects won't have a DTD.  The structure of a set of objects is
only 
	guaranteed to be known at runtime.  But these streams will still
be 
	well-formed.

Thanks,

Howard Katz

> -----Original Message-----
> From:	Mark Baker [SMTP:markb at iosphere.net]
> Sent:	Friday, November 21, 1997 9:08 AM
> To:	Joe Lapp
> Cc:	xml-dev at ic.ac.uk
> Subject:	Re: Integrity in the Hands of the Client
> 
> On Fri, 21 Nov 1997, Joe Lapp wrote:
> > In this posting I'm going to be a little bold and propose that both
> > the XML and DOM specifications are flawed.
> 
> Bold's good.  I like bold.
> 
> But I'm going to be just as bold and suggest that it is your use of 
> XML/DOM that is giving you problems, not the specs themselves.
> 
> >The existence of these
> > flaws ride on the assumption that we care to use SGML/XML to create
> > domain models for data where the data evolves over time.
> 
> Okay, so let's investigate how XML (and a couple words on DOM) are,
> IMO, 
> just fine for this.
> 
> > I'm also
> > assuming that it is unacceptable for the client objects of a
> document
> > to maintain the integrity of the document.
> 
> Amen.  Once you've done encapsulation and data-hiding, there's no
> going back.
> 
> > Suppose we want to create a document that contains information about
> > books and about the authors of those books, and suppose we require
> > that whenever the document has a book, it also has information about
> > the author of the book.  The document will reside on a server, and
> > one or more administrators will populate the document from their
> > clients.  Other users will be free to browse the document.
> > 
> > We need to design the DTD for this document.  Here is our first
> pass:
> 
> Ok, let me stop you right there.
> 
> A DTD is a fixed statement of structure.  If you use one, you better
> be 
> darned sure that that structure isn't going to change anytime soon.
> As 
> we see from your example, you were struggling to define that structure
> 
> (as anybody would have given the same task).
> 
> So, what to do?
> 
> Go finer-grained.  Ask yourself what doesn't change over time.  In
> this 
> example, you know that you have books and authors.  So why not give
> each 
> of those their own document type?
> 
> Furthermore, the relationship itself between a book and an author
> might 
> also be treated as a document type.
> 
> Sound too funky?  Consider that that's exactly what is done in 
> loosely coupled structural OO work, or before that, first-normal-form 
> entity/relationship schemas.
> 
> CORBA has the Relationship service for just this kind of functionality
> 
> for objects.  Objects can create, destroy, type, and navigate directed
> 
> relationships at runtime.
> 
> Maybe for this example, it's a bit heavy-weight.  I'm not sure.  But 
> with just an author DTD, a book DTD, and XML-Links, you could get the 
> same job done - perhaps not quite as flexibly (since dependancies are 
> introduced within the documents themselves), but just as functionally 
> capable.
> 
> BTW, this is the same reason that a stream of serialized-to-XML Java 
> objects won't have a DTD.  The structure of a set of objects is only 
> guaranteed to be known at runtime.  But these streams will still be 
> well-formed.
> 
> > I have not been able to find a way to have the document server force
> > clients to ensure that whenever they add a book, that book is
> > associated with some author.  Clients are given the responsibility
> > of maintaining the integrity of the document.
> 
> The OMG's OMA has a place holder for a "Rules Facility" that does
> exactly 
> this.  It allows arbitrary rules (including structural) to be hung off
> 
> the ORB as objects/documents, and the ORB is responsible for enforcing
> these 
> rules.
> 
> See, for example;
> 
> http://www.jeffsutherland.org/oopsla97/rouvellou.html
> 
> > The DOM model allows us to manage documents from a client, so long
> > as clients assume part of the responsibility for maintaining object
> > model constraints.
> 
> That depends who the 'client' is.  If it's a traditional application, 
> then yes, that's bad.  But it might be something on another "level" 
> (hopefully you'll understand what I mean by that by these examples), 
> such as a Rules Facility or Persistence service, in which case it's ok
> - 
> because their job is to maintain the internal integrity of the object.
> 
> >However, if we decide that the document server
> > is responsible for maintaining these constraints, then the DOM
> > model as it is currently architected will not suffice, since its
> > document-update operations are not architected around transactions.
> 
> I don't see the need for two reasons.  First, I would never use DOM 
> (or any other mechanism) to try and break the encapsulation of my 
> documents.  Second, as I stated in my last message, transactions are
> an 
> overrated means of reasoning about distributed systems.  They try and 
> make distributed processing look like local processing, when we now
> know 
> how impractical that view is.
> 
> MB
> --
> Mark Baker, Ottawa Ontario CANADA.                Java, CORBA, XML,
> Beans
> http://www.iosphere.net/~markb               distobj at acm.org
> ICQ:5100069
> 
>    Will distribute business objects for food.
> 
> 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/
> To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
> (un)subscribe 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)

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/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe 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