Yet another wonderful TechEd came to an end in the always sunny city of Eilat, and this year I decided to bury myself in the Software Development track – an Enterprisey in Geeksland – and for a very good reason: I was dead curious about WinFS; after all, it has been almost three years since I first met this marvelous creature in the Strategic Architects Forum in Redmond.
At that event, three years ago, I became obsessed with WinFS which I thought was "an interesting beginning of a semantic repository". Semantic networks were omni-present in every innovative architecture, product or solution that Microsoft showed us: Dynamic Systems Initiative, Live Communication Server with Service mobility features etc. - clearly these solutions had to have something like WinFS as a shared, semantic repository, holding together the different objects and their graph-style inter-relationships.
So now, three years later, it was time to reap the fruit. And indeed, all along the opening keynotes, I was sitting with a smile on my face, while the energetic presenters repeated over and over again how Service Management (WCF), GUI (WPF), Workflow (WWF) and Identity (InfoCards) are all parts of WinFS. I was as happy as one could be. Darn, I thought, these guys are genius! They put the semantic Information layer on top of the Engines. Information is preceding Tools, isn't it brilliant?
Furthermore, it's in a complete alignment with the management-by-information approach I've been discussing in this blog for a while, so it looked like "yet another Q.E.D."...
I called this courageous move by Microsoft "The Toolsmith Strikes Back".
But then I woke up and realized it was nothing but a dream! It was not WinFS they were mentioning, but rather WinFX - a marketing (i.e. meaningless) abbreviation for "Windows Frameworks". "Hey", I cried, "bring me back my WinFS!". But WinFS was nowhere to be found.
Well, actually that's incorrect: although physically absent, the spirit of WinFS was all over the place. WinFX is meaningful only because WinFS is doing a great job behind the scenes, of linking all the WinFX components together, and making the tacit semantic relations among all windows objects explicit and accessible. Differently put, the four WinFX engines are "managed code" just because WinFS carries them all on his back, enabling us to manage by knowing which User can access which UI, and which UI invokes which Service that, in its turn, invokes which Workflow. This crucial managerial knowledge comes from WinFS.
So if I were Microsoft, I would be replacing WinFX with WinFS, placing the later on top of all other frameworks - a concrete, unifying, omni-framework. This is where WinFS justly belongs.