Microsoft unveiled another wide-ranging architecture change at this year's Professional Developers' Conference. Danny Bradbury decodes the jargon and finds out what it means for your business.
When Bill Gates said in his opening keynote that this year's Microsoft Professional Developers' conference would be a landmark event, he was not kidding. Sometimes these events, at which Microsoft developers from across the world gather to update their skills and gain an insight into the company's technical architecture, are simply "business as usual". With this one, Windows developers got more than they bargained for, as the company unveiled a set of historic architecture changes that will be rolled out over the next few years.
The high point for developers at this year's conference came on the first day, when Microsoft executives started up the long-awaited Longhorn operating system in public for the first time. The code, still at an early stage of development and not scheduled to ship until 2006, represents the biggest change to the Windows client since Windows 95 was released, said Gates.
Attendees, many of whom only just made it to the Los Angeles venue as bush fires ravaged the countryside around the city, thundered applause as Microsoft's Windows user experience product manager Hillel Cooperman nervously took them through the system. Microsoft breaks the innovations in Longhorn down into three areas: the Avalon graphics engine; the WinFS storage architecture; and Indigo, representing the ongoing development of the .net web services architecture.
Avalon is probably the most stunning part of Longhorn, simply because it is the most visually stimulating. The company has replaced existing 2D and 3D graphics engines with a single, vector-based model supporting true 3D graphics. What is important here is not so much the fancy 3D user interface controls that it can embed into the system, as the architecture surrounding them.
"We think people want one world," said group Microsoft's vice-president for platforms Jim Allchin, explaining that the company will merge the web and Windows programming models. Longhorn will use an XML-based markup language called XAML, which was likened to an "enhanced HTML" in the company's documentation. This will be used to describe document layout with particular reference to Windows controls, and a client application using procedural code can access an XAML document from anywhere to describe how it looks and, to a certain extent, what it does.
WinFS was the second strand to the Longhorn story. A unified, object-based storage system, it uses an XML schema to layer metadata on top of files stored in the operating system. Unlike the Win32 storage system, WinFS enables all compliant applications to access the same data items, which are categorised to include things such as contacts. From a business perspective, this removes the fragmentation between applications that use different files to represent the same real-world object. Today, for example, if you update a person's contact details in Outlook, you may need to separately update the same person's details in your accounts database. In Longhorn, all roads lead to WinFS; update one item and all applications see it.
WinFS shares some basic functionality with Yukon, the code-name for the next version of SQL Server. The products share the same core relational storage engine.
The company has made equally drastic changes to the SQL Server product as it has to the Windows client. For example, Yukon now supports the Common Language Runtime, meaning that you can write stored procedures in any CLR-supported language, such as C#.
Perhaps the most significant update was the inclusion of a native XML data type, meaning that XML can now be stored natively inside the database alongside relational data. Diehards will be nervous about this, because it expands the database away from the traditional relational model, but it does open up new possibilities such as extensible data types and the ability to make data self-describing, which is useful when creating front-end applications.
With Yukon at the back end, and Longhorn firmly positioned on the client PC, the messaging service that will tie them all together is Indigo. Essentially the ongoing development of the .net web services infrastructure, the Indigo application programming interface comes with a range of transactional services that will also help developers to build distributed server-based applications.
As the company moves towards Indigo, senior executives are starting to be a little more candid about .net. "Many parts of .net version one are thinly layered on top of the old goop," said Windows architect and XML guru Don Box, adding that the company is spearheading the move from an object-oriented programming model to a service-oriented architecture in which boundaries between enterprises, people and services take precedence and software objects do not need to share everything with one another.
This continues the move towards web services based on XML schemas, which of course is what Microsoft has been pushing since .net was introduced. "We do not share classes - we share schemas," explained Box. Indigo will ship as part of Longhorn but will not rely on it. It will also run on Windows XP, Windows Server 2003 and Longhorn Server.
This concentration on boundaries will underpin Microsoft's focus on trust relationships, which forms a key part of its "trustworthy computing" strategy, said Craig Mundie, Microsoft's chief technical officer and senior vice-president. However, the company's federated identity strategy, based on Passport, seems to be moving slowly. In the short-term users can look forward to XP service pack 2, he said, adding that the firewall will be on by default, the auto-update mechanism will be on by default, and "people will have to specifically go in and turn it off".
Meanwhile, Microsoft is preparing the Next Generation Secure Computing Base (formerly Palladium), its hardware-supported security mechanism, for shipment in Longhorn. Unfortunately, many resellers will ship this switched off by default, said company insiders. Clearly, the Trustworthy Computing strategy has a long way to go before the reality matches the rhetoric.
What do Microsoft's announcements mean for UK IT managers?
In the short term, the announcements will have little impact on UK IT managers because with Longhorn not shipping until 2006, and unlikely to be adopted by many companies until some years after that, there is no rush to change what you are doing.
On the other hand, Microsoft's strategy going forward will be significant in the long term, both from a political and a technical perspective.
Longhorn The unification of web and rich-client programming in Avalon blurs the line between the browser and the client-side application. In Longhorn, both client-side software and web-based applications can use XAML files to define their look and feel, and applications can run in the browser or a client window.
In practice, combined with new one-click deployment functionality within Whidbey, the forthcoming update to the Visual Studio.net integrated development environment, this means that you will be able to provide Windows-specific applications that run from the web, or that deploy themselves as rich clients with a single click.
This could be particularly beneficial in closed environments that have standardised on the Windows platform, but beware of using it for customer-facing applications - standards are still important, and Macintosh users will continue to bristle at anyone favouring the Windows platform in a web environment, for example.
WinFS WinFS is not as drastic as it sounds, and will not replace NT File System. Instead, it sits on top of NTFS and only handles files in the "My Documents and Settings" part of the file structure. The application programming interface will be engineered to deal with Win32 applications and files, making it backwards compatible.
Microsoft said WinFS will lead to increased productivity among office workers, as they find themselves able to manage and find their files more easily, and create relationships between the information. The information agent that will ship as part of WinFS will prove useful to some companies, which can program applications around it for rules-based notification.
Indigo The Indigo messaging architecture will take the company along the "with service"-based path that it has already drawn for itself. This will keep developers happy.
Anyone who has already implemented .net applications will need to undertake various levels of re-engineering work. If you have coded using ASP.net web services and have used the latest version of the company's Web Services Enhancements toolkit, then Indigo will be compatible with your existing binaries.
Com+ and MSMQ users will have to upgrade to Longhorn if they are to expose their existing systems as web services via Indigo. The real losers as Microsoft shifts its focus yet again are users of Microsoft's .net Remoting technology, who will not be supported in Indigo, although Microsoft promises a code migration path.
The company says migration will be simple, but developers that Computer Weekly spoke to at the conference were sceptical, and expected migration to be harder than the supplier made out.
Web services If you have not yet adopted XML or a service-oriented architecture as the basis for your IT infrastructure you are in good company. Most of the UK has been holding back on web services because of a lack of critical mass, along with reservations about performance, reliability and cost recovery. But getting some of your developers up to speed now would be a good idea, because although it will be some years before the majority of companies embrace this model, it pays to be prepared.
Conference at a glance
- Longhorn Windows OS demonstrated
- Emphasis on Avalon vector-based graphics engine - unification of web/rich client programming model
- WinFS to provide unified storage in Longhorn
- Next-generation messaging architecture (Indigo) will build on .net, taking the company further towards a service-oriented model
- Windows Tablet PC SDK 1.7 Alpha released updated with support for ink on the web, better contextual support for handwriting recognition and a real-time stylus
- Windows Mobile Smartphone Developer Kit announced with the latest version of Windows Mobile for Smartphone 2003
- SQL Server Yukon demonstrated with new features including support for native XML data types, and better language support
- Visual Studio.net Whidbey demonstrated with enhanced tools.
What's coming up?
2003 Developer preview of Longhorn Windows client operating system
First half of 2004 XP Service Pack 2, featuring tighter security; Beta 1 of Longhorn; Lonestar (new edition of Tablet PC OS)
Second half of 2004 Whidbey (next version of Visual Studio.net IDE); Yukon version of SQL Server
2005 Orcas version of Visual Studio.net, with support for Longhorn's interfaces, data storage model and tools
2006 Longhorn Windows client operating system.