October 2005


Preferahbly as many as you can. Then you’ve got a really useful service that people can build into their applications.

Here’s one to look forward to: The BBC’s programme catalogue.

It turns out there’s a huge database that’s been carefully tended by a gang of crack BBC librarians for decades. Nearly a million programmes are catalogued, with descriptions, contributor details and annotations drawn from a wonderfully detailed controlled vocabulary.

7 million rows of data going back to the 1930s. Wow.

Preferahbly as many as you can. Then you’ve got a really useful service that people can build into their applications.

Here’s one to look forward to: The BBC’s programme catalogue.

It turns out there’s a huge database that’s been carefully tended by a gang of crack BBC librarians for decades. Nearly a million programmes are catalogued, with descriptions, contributor details and annotations drawn from a wonderfully detailed controlled vocabulary.

7 million rows of data going back to the 1930s. Wow.

Here’s a fascinating document from Microsoft Research detailing work on Singularity. It’s an OS designed to support languages like Java and C# – so has been designed to support partitioned memory spaces, and to handle dependable code.

SIPs are the OS processes on Singularity. All code outside the kernel executes in a SIP. SIPs differ from conventional operating system processes in a number of ways:

  • SIPs are closed object spaces, not address spaces. Two Singularity processes cannot simultaneously access an object. Communications between processes transfers exclusive ownership of data.
  • SIPs are closed code spaces. A process cannot dynamically load or generate code.
  • SIPs do not rely on memory management hardware for isolation. Multiple SIPs can reside in a physical or virtual address space.
  • Communications between SIPs is through bidirectional, strongly typed, higher-order channels. A channel specifies its communications protocol as well as the values transferred, and both aspects are verified.
  • SIPs are inexpensive to create and communication between SIPs incurs low overhead. Low cost makes it practical to use SIPs as a fine-grain isolation and extension mechanism.
  • SIPs are created and terminated by the operating system, so that on termination, a SIP’s resources can be efficiently reclaimed.
  • SIPs executed independently, even to the extent of having different data layouts, run-time systems, and garbage collectors.

SIPs are not just used to encapsulate application extensions. Singularity uses a single mechanism for both protection and extensibility, instead of the conventional dual mechanisms of processes and dynamic code loading. As a consequence, Singularity needs only one error recovery model, one communication mechanism, one security policy, and one programming model, rather than the layers of partially redundant mechanisms and policies in current systems. A key experiment in Singularity is to construct an entire operating system using SIPs and demonstrate that the resulting system is more dependable than a conventional system.

Something to keep an eye on – this could be the type of approach needed to deliver modular OSes that run on hypervisors.

Newsnight will be featuring a segment on the Web 2.0 movement and Flock in particular.

While I’m a definite Web 2.0 sceptic, I think Flock is an interesting example of a next generation client application, providing a single (relatively) consistent user interface to a number of different applications that expose functionality via web services and other open APIs such as ATOM.

There’ll be some shiny lucite Ship It awards on those desks in Redmond tonight, as according to head of Developer Tools Somasegar’s blog Visual Studio 2005 and .NET Framework 2.0 have shipped. The code will be on MSDN later today.

Microsoft’s first real SOA oriented development platform. I wonder what people will build with it…

InformationWeek’s article “Coming From Microsoft: ‘Hosted Everything’ ” doesn’t come as surprising after this year’s PDC and a conversation Mary and I had with Orlando Ayala (MS VP Small and Medium Solutions and Partner Group) a couple of weeks ago…

They’re seriosuly looking at how they offer services to the SME market place. While tools like the Centro version of Windows server (think of it as Small Business Server for medium-sized businesses) and the Dynamics approach to business applications, there’s a lot to be said for exposing platform components as hosted services – especially when you take into account the role of the Windows Workflow Foundation and Indigo – after all, most SMEs don’t have full time IT staff, so how can you hope to have them use Axapta or even Biztalk?

SOA for medium businesses is going to require hosted components – but components that can be remixed. Microsoft’s history of a relationship with the channel and ISVs make me think that it will provide tools that can be adapted to work the way your business works, rather than the other way around…

An interesting blog entry and associated Infoworld article from Jon Udell on The many meanings of metadata.

The solution is a complex recipe, but we can find many of the ingredients at work in the emerging discipline of SOA (service-oriented architecture). We use metadata to describe the interfaces to services and to define the policies that govern them. The messages exchanged among services carry metadata that interacts with those policies to enable dynamic behavior and that defines the contexts in which business transactions occur. The documents that are contained in those messages and that represent those transactions will themselves also be described by metadata.

It’s a concept that’s closely related to what I think of as one of the key tenets of the SOA philosophy: Interface-first Design.

You can’t have loosely-couple applications working together if you don’t know how you’re going to wire them together. You need to have a defined interface that can be used first as part of a test harness while you build and QA your service, and then as a contractual relationship between two businesses. The interface is the description of a services capabilities.

It really doesn’t matter what sites behind the interface, as long as the interface is stable.

Next Page »