The last Microsoft PDC in LA, California revealed a series of new codenames for the evolving OS and projects of Microsoft. My goal in this article is to generally describe these codenames and these forming products. The most nourished and accelerated projects are the Whidbey, the Yukon and the Longhorn.
The Whidbey is the next CLR (which currently assigned with version 1.2), this brand new CLR is, as of the old one, also coming with Integrative Developing Environment (IDE). The most projective advantage of the Whidbey IDE is it allows developers to use the new CLR features with new productivity enhancements to create new projects. This version is a 64 bit system by its nature.
The major advantages of Whidbey (on top the current .Net) are:
- Support in C++ like Templates which call Generics that enables to create classes to handles parametric type determined and replaced in compile time.
- Enhanced IDE which allow changing code during run time (Like VB 6.0).
- Significant Web developing adjustments which include, inter alia, visual inheritance and 40 more web controls and building blocks to handle authentication, personalization, navigation and more.
- Full integration with the upcoming MS-SQL server (i.e. the ability to implement assemblies within the database)
- Engagement of the ObjectSpaces tool to allow access to the DB through ORM (Object Relational Mapping, designed to map the relational Datasets to instanced objects with attributes of retrieving and updating)
- A sophisticated tool for Architecture design and verification (codename: Whitehorse)
- New packaging and distribution mechanism (Clickonce) which making distribution of windows application much easier.
Whidbey is distributed among Beta project participators and expected to be released in the last quarter of 2004 together with the Yukon.
Yukon is the new database application of MS which designated to replace the traditional MS-SQL. This stunning project is designed to work interactively with Whidbey and web applications. The new enhancements, improvement and additions of the Yukon are:
- Implementation and running of Whidbey assemblies within the DB (enables creating of functions, triggers, store procedures and user define types with Whidbey).
- Yukon implements an internal "listener" for HTTP requests and can serve web services with data without the need of using an IIS.
- Support of server side cursors together with ADO.NET, a mechanism which raises events in the case of data in specific query is changed due to a newer call.
- XML is adopted as a basic type in the Yukon and can be retrieved and updated directly by XQuery like mechanism (no more conversion of SQL types to XML)
- Engagement of a asynchronies message queuing as integral part of the database to enable asynchronous operation with guaranteed operation execution.
- Internal reports generator.
- Common table expressions (CTE) which are named result of a specific query and can be used as a table (temporary result table)
Laguna (SQL CE 3.0) will ship with Yukon. Laguna include: Multi-User support, DTS support, ACID transaction support, query Optimization hints, data designer support via Whidbey IDE and SQL Workbench integration.
Yukon is expected to be released in the last quarter of 2004 together with the Whidbey.
Last but not least is the revolutionary Longhorn. The Longhorn is very different from Microsoft OS's exist today. It is an engagement of operating system and information platform, many of its components based on the .Net architecture and its core services exposed via objects and not ordinary API functions. Longhorn has extremely improved the user interaction with data and the knowledge management mechanism of windows. Longhorn also applies the benefit of using GPU when playing video and audio data.
The focusing in information and knowledge management can be seemed in 3 different sub-systems which together occasionally called the WinFx systems.
- Avalon, is the presentation manager of Longhorn. The presentation is now managed in a vector format which overcomes pixels format when changing sizes for fonts and images. The Avalon also been transformed through a "webification" process of the windows applications. The outstanding aspect of taking windows programming in the "web route" is that developing of windows forms is based on XML. (actually the specific format for this purpose is XAML) The XAML allows developing of visual components, text, animation and more benefits didn’t exist before. As in web development, behind XAML file we can find another file that handle events and logic. XAML and the code behind files compiled into an assembly using a new build tool the MSBUILD. Alternatively, we might let Whidbey use MSBUILD for us. Whidbey can recognize Longhorn SDK and able to create a suitable Longhorn projects. Actually the following Whidbey visual studio version (that used in Longhorn) codename is Orcas. The Avalon serve as visualization infrastructure of Longhorn by supplying visualization needs of windows and web application as well. For those who interested in the compatibility for older application and systems, it definitely exists. It’s worth mention that you can easily combine win32, WinForms (developed by .Net) and Avalon applications.
- ·Indigo, is the subsystem of Longhorn which responsible for connectivity, transactions and collaboration. Like Avalon it preserves the compatibility for older systems but allows new abilities. The SOA (Service Oriented Architecture) is the new architecture which leads the Indigo. The idea behind the SOA is very simple, it based on the assumption that systems connectivity should relay on transmissions of messages which instanced by services of the operating system. This puts the SOA as the harbinger of several principles to come: 1. No more stand alone applications today, only interactive Systems. 2. The "intimate relationship" between applications (i.e. Binary Contract) has failed; a service and message transmission oriented connection is easier to implement and to maintain. 3. Messaging base dialog between systems isn’t serial or reliable. Messages can arrive in other order from which they have been sent and can not arrive at all. 4. Transmissions between applications are from now on explicit and direct (not through proxy). It is important to remember that Indigo was designed to implement the SOA principles. Programmers which have develop Indigo occasionally relate to him as the perfect balance of COM+, Remoting and web service served in a collection of connectivity namespaces.
- WinFS is the information and storage platform of Longhorn. The main duty of this platform is the management of the files Metadata and the data streams (which are stored on different storage medias – e.g. hard drives). This separation allows WinFs to store the Metadata in different location (with reference to the data stream) and to managed it separately, the benefit is for the programmers which are now able to create complex connections between files and to group them together in logical groups, defined by the user needs and logic. It's extremely simple to create entity and to relate several files and entities to that entity. The result is that it's very easy to retrieve the relative entities and files of a given entity. The retention of the metadata also gives the benefit of query variety, for example a SQL query can be used to retrieve metadata.
Longhorn is distributed between MS OEM testers in its very preliminary stage. We can expect the announcement of the release version in the year of 2006.
Although these codenames represent an early stage platforms, we the developers community should start running this systems and start learning their hidden treasures. I believe those who will hurry to do so will find this adventure fascinating but more important it will give them and their organization a tremendous competitive edge. And remember, it is better to investigate, learn and evolve then to stay behind.