With the recent release of the pre-release Beta 3 version of Microsoft Windows Server codename "Longhorn", there are some interesting under-the-cover ways to see first-hand how the Service Modeling Language is used to provide configuration data for the installation, configuration, and removal of server roles and features. This model-based configuration management is accomplished through a set of interfaces known as the "Server Manager Experience".

First: You might want to visit a few places to learn about Microsoft Windows Server "Longhorn" status and features:

Now: On the Server Manager link (above), you will learn about the new commandline configuration interface known as "Servermanagercmd.exe". This [scriptable] commandline tool has two very useful options (or switches) that can be used to obtain information about use of System Definition Model (SDM), a key source in the foundation of released Service Modeling Language (SML). By launching a CMD.exe shell, you can obtain the full listing of switches by typing:

C:\> Servermanagercmd.exe <enter>
C:\> Servermanagercmd.exe /? <enter>

Using a Beta3 version of Microsoft Windows Server "Longhorn" running in my office, I can select the -install, the -whatif, and the -logfile switches to PROPOSE an installation of one of the server features WITHOUT putting bits on the server. Instead, an output [text] logfile captures the needed configuration discovery, determination, and installation tasks for review.

So - where is the SML? Here's a quick look into the configuration modeling activity, in action (running as an Administrator on this server):

C:\> Servermanagercmd.exe -install web-ftp-publishing -whatif -logpath c:\MyWhatifReport.txt
Starting discovery
Discovery complete.

Note: Running in 'WhatIf' Mode.

Skipping  [Web server (IIS)] Web Server (IIS) because it is already installed on this computer.

Specified for installation: [Web Server (IIS)] FTP Publishing Service
Specified for installation: [Web Server (IIS)] FTP Management snap-in
Specified for installation: [Web Server (IIS)] FTP Server


As you can see from the above shell command and comments, using "What If" mode prevented actual installations of the requested IIS Role Service "FTP Publishing Service". When discovery between the existing system and the model data is performed, it is noted that a successful installation requires the FTP Publishing Service, MMC snap-in, and Server software, but IIS Web Server is not required since it is present.

Finally, by viewing the "What If" logfile, we can see some clarifying source-of-information strings (shown below in truncated format, for reference only):

datetime:[DISCOVERY] #---- Begin discovery
datetime:[DISCOVERY] Information (Id=2) DiscoverTree: ({http://schemas.microsoft.com/sdm/Windows/ServerManager/Computer/2005/09}Computer)
datetime:[DISCOVERY] Information (Id=3) DiscoverGuests: ({http://schemas.microsoft.com/sdm/Windows/ServerManager/Computer/2005/09}Computer)
datetime:[DC-NativeMethods]          basicInfo.MachineRole: DsRole_RoleMemberServer
datetime:[ComputerState]               No reboot pending...
datetime:[DC-NativeMethods]          IsDsRoleOperationNeedReboot() : False
datetime:[WindowsProvider]            Volume:: DriveLetter='C:\', Name='C:\', FS='', Capacity=Ntfs, FreeSpace=250057060352

Items of note include the identification of the SDM (a modeling implementation from Microsoft, and a key source of SML Specification) Schema context used for Discovery, and call to known Providers for pre-installation configuration data.