The name has changed, but the concept is the same. Microsoft’s push into the Web services market, formerly code-named HailStorm, is now Microsoft .NET My Services. This is something of a misnomer, of course, because any platform that supports SOAP can use the services; their use isn’t restricted to .NET. And as usual, little has changed from the original SDK except the marketing. The code is solidifying, and Microsoft is gearing up to get the word out.

Putting users in the driver’s seat
.NET My Services is a set of XML Web services that makes it easier to integrate the silos of information that exist today. The services put users in control of their own data and information, protecting personal information and providing a new level of ease of use and personalization, according to Microsoft. From the developer’s perspective, the services provide a platform-neutral method of accessing information about your users.

More specifically, there are two development uses of .NET My Services. First, we can create our own silos with HailStorm-in-a-box, which is what everyone will be receiving at the PDC. Second, we can consume someone else’s services in our applications, which is how many of us will be using the system going forward. Over time, large hosting providers will probably be providing .NET My Services hosting, into which we will be able to tie our applications.

The services of .NET My Services
In the current SDK—the first with the new name—eight of the eventual 14 services have been developed and will be distributed to developers for testing (playing?) at the PDC. These services require SQL Server 2000 SP1 and some SOAP handler, such as SOAP Toolkit 2.0 or .NET, to run.

  • myCalendar—If you are familiar with the Exchange calendaring objects, you’ll recognize this one. It allows selective updating, too, so airlines can adjust your schedule based on flight availability, or your boss can add that meeting to your list.
  • myCategories—This is a Palm Pilot-like set of categories that will be used to organize data throughout the silos. For example, you might label a contact or appointment with a Home or Work category.
  • myContacts—This service functions like the Exchange contact list. If you save a number on your cell phone, that number could be available on the speed dial of your home phone or viewable on your Palm Pilot.
  • myFavoriteWebSites—This service offers more features than the Favorites on your browser. It can manage where the silo information goes and how it gets there. It also allows for the basics: Log on anywhere and see your favorites.
  • myLists—It’s tough to tell what this service will end up offering. Perhaps a simple data storage service for shopping lists? We’ll have to wait and see.
  • myProfile—This service stores everything about you, except payment information: name, rank, and serial number; directions to your house; favorite color. You get the picture.
  • myServices—You can think of this as a user’s security toolbox. It will allow the user to give someone access to specific services. So, for instance, if you walk into a store and want it to use your profile to send you something in the mail, you could use your WAP phone to log on and give them access via this service.
  • myWallet—This is essentially the Microsoft Wallet as it stands today except that it uses SOAP. It handles credit card and bank information.

Developing with .NET My Services
Microsoft is providing .NET My Services Data Manipulation Language as the core data-manipulation language supported by .NET My Services. The language describes six primary types of operations. These commands are all bound by the rules of the particular service schema they are being used against.

  • Insert
  • Delete
  • Replace
  • Update
  • Query
  • SubscriptionResponse

The function each provides is rather self-explanatory, and developers familiar with an object-oriented system of development will be quite comfortable with this language. Essentially, it provides a data access layer to be integrated into existing COM or .NET applications using .NET My Services.

The key to all of these services is Passport, which is a universal login for Web sites and services. Microsoft plans to move it into a more global e-commerce platform for authentication, similar to the way that ATMs are linked worldwide. Passport already has more than 165 million registered users. It will be an integral part of the Windows XP platform, scheduled for release on Oct. 25, 2001, as well as of .NET My Services.

In a September press release, Microsoft announced that Passport would play in the same sandbox with other verification systems, like client certificates from VeriSign, Inc., and Yahoo Id. This has the potential for providing users with a single sign-in function for all their surfing and e-commerce.

Where are we headed?
Web services are quickly gaining press and quietly gaining momentum. For instance, Wrox Press, Inc., plans to release at least five books on the topic this fall. (May I recommend Professional ASP.NET Web Services? I hear the authors are knowledgeable!) Also, Yahoo is planning a series of Office-like applications that use Web services for information transfer.

.NET My Services is going head-to-head against similar services offered by other software makers, such as IBM and HP. Maybe a lesson was learned from the instant messaging fiasco, and some interoperability will be available. Either way, the centralizing of some consumer information will be inevitable, and that has the potential to allow insightful developers to provide a whole new level of functionality to their users.