Tim made the point that "web services" are about performing remote operations. When viewed in high contrast, "web services" build a web of interconnected verbs, while "semantic web" builds a web of interconnected nouns. It was encouraging to see a journalist relaying the message that the two worlds will be complimentary, rather than succumb to the typical Zoroastrian storyline.
4:05:56 PM
What is a Data Model Delegate? A new article on the Groove Dev Zone sheds some light on the concept. Its an idea that we've been working toward with our own tool APIs. Many Groove tools are built using reusable "Engine" components. For example, we provide a record based engine called, not surprisingly, RecordSetEngine. This is an API that distributes a collection of records, and allows a tool to set fields or add and remove records. A Data Model Delegate, or DMD, provides a type safe wrapper around an Engine by providing an abstraction in the tools problem domain. For example, the Discussion Tool DMD hides records and instead provides interfaces like IGrooveDiscussionEntry. We provide support for marking a component as the "Delegate" component in a tool. And an API for accessing the component, as well as its identity using its SupportedType. For example, the discussion tool defines the supported type:
"urn:groove.net:tools.platform.Discussion"
This identifier allows code external to the tool to discover the type of DMD it can expect to find. It is conceptually a lot like an interface ID. This system makes it easy for a tool to connect to Groove Web Services. The GrooveTools service uses the Delegate component and SupportedType to determine which web service to use for the underlying tool. EIS also provides support for connecting to components using DMDs and Supported Types.
So if you're building a new tool, it is worth it to understand these concepts and consider providing DMD support.