People have asked for more detail about what the axis represent in my original diagram: http://dotnetjunkies.com/WebLog/mwherman2000/archive/2005/02/08/52608.aspx. See below an updated version of the SRB trinity diagram.
An additional key thought is that there is a multi-dimensional continium between the simple through rich data formats/objects that live outside the WinFS store and the simple through fully supported structured data objects that live inside WinFS.
Cheers,
Michael.
Click here for this version of the diagram.
In reading http://weblog.infoworld.com/udell/2004/07/20.html (dereferenced from Jon Udell's Office DevCon report @ http://weblog.infoworld.com/udell/2005/02/04.html#a1168), I was intrigued by the synergy evident in the ROX trinity (relation/object/XML) that Quentin Clark, director WinFS program management, used to describe WinFS's support for WinFS objects (structured data), XML (semi-structured data) and unstructured data.
But what about other existing, every-day data/stream formats such as vCard contact infomation, LDIF (LDAP Data Interchange Format) schema and data files, CAD (computer-aided design) or seismic data? These are characterized by being non-Office (non-OLE structured storage) and non-XML but they are definitely structured and usually, streams. Where do they fit into the ROX trinity (and WinFS)?
Besides WinFS objects, XML and unstructured data, I believe there is a need for a fourth category in WinFS: “stream structures” and/or “stream datatypes“. These are needed to embrace existing, every-day data formats like vCards, LDIF and seismic data, etc.
The difference between a stream format being a stream structure and stream datatype is the extent to which its implementation (including property access and behaviors) is supported in WinFS.
If WinFS only supports property access/promotion/demotion features for a particular stream format, then I would suggest using the term stream structure for the format. If the WinFS/Yukon CLR support is used to add WinFS support for rich collections of behaviors and methods for a particular stream format, then a stream structure graduates into being a stream datatype.
To follow a consistent naming strategy, I'd rename unstructured data to simple streams: streams that WinFS does not provide a) any native or ISV support for property access (the pre-requisite to graduating to being a stream structure) nor b) any native or ISV support for a set of methods/behaviors (the pre-requisite to graduating to being a stream datatype).
Where does this leave the ROX trinity? What bothers me is that ROX doesn't map back to the "objects (structured data), XML (semi-structured data) and unstructured data" model very well.
If you consider the
- structured data (objects)
- stream datatypes (including XML with behaviors)
- stream structures (including XML without behaviors)
- simple streams
model I'm proposing, the trinity is really about SRB: Structuredness, Representation and Behaviors (or alternatively, PAM: Properties, Access and Methods) ...and the extent to which a particular data or stream format is supported in WinFS (native MS or ISV provided).
These 3 dimensions of the SRB (or PAM) trinity is illustrated in the following diagram:
Click here for this version of the diagram.
The SRB Trinity fully embraces traditional data and stream formats (regardless of their level of support in WinFS) as well as providing an effective framework for characterizing the different categories of data formats that have full WinFS support (structured data and stream datatypes) as well as partial WinFS support (stream structures with only property support) or no support (simple streams stored a blobs).
Cheers,
Michael Herman
Parallelspace Corporation - Developers of collaborative business solutions for Microsoft SharePoint Corporation - Developers of collaborative business solutions for Microsoft Microsoft SharePoint Products and Technologies Corporation - Developers of collaborative business solutions for Microsoft Microsoft Microsoft SharePoint Products and Technologies Products and Technologies Corporation.