Developer Guide to Migration and Interoperability in "Longhorn"

 

Preface

Karsten Januszewski
Microsoft Corporation

October 2003
Sample updated June 2004

Applies to:
   Longhorn Community Technical Preview releases (both PDC 2003 and WinHEC 2004)
   Note: The downloadable sample code is based only on the Longhorn Community Technical Preview, WinHEC 2004 Build (Build 4074)

Download the code samples described in this book.

Contents

What Is Covered in this Version of the Guide
What Will Be Covered in Future Versions

Welcome to the Developer Guide to Migration and Interoperability in "Longhorn." The guide, in its current form, is a first look at some of the important issues to consider in light of the significant changes encompassed by the new APIs in Microsoft's next operating system, codenamed "Longhorn." This release of the guide provides alpha patterns and practices. The content—including nomenclature, code samples, APIs, and guidance—may change in future releases. The guide is also an alpha in that it is incomplete. Several key areas are not addressed, but will be in future editions. The guide will be incrementally iterated over and expanded significantly moving forward.

Note   Each new version of the guide will receive an incremented version number.

Below is a discussion of exactly what is covered in this version of the guide and a roadmap to topics that will be addressed in future editions.

What Is Covered in this Version of the Guide

The first chapter presents a roadmap of what "Longhorn" means for application developers. This chapter, titled "The 'Longhorn' Opportunity," presents the Microsoft vision, outlining the advances of the next operating system at a high level.

In addition to introducing these core advances, the first chapter outlines a spectrum of approaches for capitalizing on the "Longhorn" opportunity, with the understanding that many organizations have a significant investment in an existing code base. With this investment in mind, the first chapter offers a set of approaches for moving forward, based on different scenarios and requirements. At one extreme is the possibility of not touching a line of code, as "Longhorn" has the goal of 100 percent backward compatibility with existing applications. All current APIs—both Win32® APIs and .NET APIs—will be available in "Longhorn," such that applications will continue to run as expected on the operating system. At the other extreme is completely rewriting and rearchitecting an application from the ground up. Understanding this spectrum—and where a given application fits in the spectrum—is critical to moving forward.

The second chapter, "Preparing For Longhorn Today," continues with high level guidance, this time from an architectural perspective. It delves into the important structural and foundational decisions that can be made now to be ready for the future. In specific, this chapter looks at two areas key to being equipped for "Longhorn," the importance of a service-oriented architecture (SOA) and the importance of managed code.

The third chapter outlines the latest recommendations and thinking on interoperability between managed and unmanaged code from Microsoft. This chapter first looks at the different technology options for interoperability and then drills into specific, low level recommendations for each technology, based on the current engineering practices at Microsoft. This chapter is relevant to more than just developing applications for "Longhorn." It provides guidance for any managed/unmanaged interoperability scenario.

The next two chapters discuss one of the core enhancements provided in "Longhorn," presentation. Because of the significant overhaul of the presentation layer in "Longhorn," existing user interfaces—whether based on Microsoft Foundation Classes (MFC), ActiveX® controls, or Windows Forms—will appear markedly different when featured on the new operating system. Thus, there is a compelling reason to rethink the presentation layer of such applications. Certainly, however, existing applications have an investment in their current user interface, including market and user experience testing, custom developed controls, third party controls, patented technology, and more. The purpose of the guide is to help developers negotiate how best to address their current presentation layer in light of "Longhorn."

The goal of these two chapters is to provide developers and architects with the ability to assess and analyze an application and make informed decisions about when to interoperate with the new presentation capabilities versus when to migrate their code. The following existing technologies are reviewed: Win32, MFC, ActiveX controls, and Windows Forms. Each of these technologies is compared with the new presentation subsystem's (code-named "Avalon") capabilities, looking at differences and similarities between the existing technology and the new framework, so a developer considering migration will have an understanding of how existing technologies map to new technologies. Then, each chapter provides detailed guidance on interoperability, including code samples that demonstrate exactly how to interoperate. These samples can be used as references for how to take an incremental approach to providing an enhanced user experience with the new presentation model.

What Will Be Covered in Future Versions

This alpha version of the Developer Guide to Migration and Interoperability in "Longhorn" does not cover a number of important topics. Guidance will be forthcoming in subsequent releases as well as through other publication vehicles. Some topics include the following:

The "Longhorn" communications subsystem (code-named "Indigo")

  • Migrating and interoperability with existing Web services
  • Migrating and interoperability with existing .NET Framework remoting
  • Migrating and interoperability with Web Services Enhancement (WSE) Versions 1 & 2

Other

  • Migrating configuration and state
  • Authoring a manifest for an existing application
  • Taking advantage of new set-up and installation technologies
  • Migrating test suites and automation
  • Maintaining two code bases and writing adaptive applications that can run down level

Continue to Chapter 1: The "Longhorn" Opportunity

© 2003 Microsoft Corporation. All rights reserved.

Microsoft, Win32, Windows, Windows NT, Windows Server, WinFX, and ActiveX are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.