Tuesday, January 08, 2013

Serving up essential development information on "Web Services and Extensibility for Windows Server 2012 Essentials"

The Windows Server Essentials and Small Business Server Blog - Web Services and Extensibility for Windows Server 2012 Essentials

Hi, I’m Mike Chen, program manager for the Windows Server Essentials team, and today I would like to share with you the extensibility story for Windows Server 2012 Essentials.

I’ll start with an overview of the extensibility points across Dashboard, Launchpad, Remote Web Access, and Health Monitoring. As you know, Windows Server 2012 Essentials is a hybrid solution that connects your on-premises environment to the cloud service. We will use cloud service integration scenarios when we talk about the extensibility points; these extensibility points can also be used by non-service-integration add-ins.

Let’s take a look at the Windows Azure Online Backup add-in (for more information, see the blog post Windows Azure Online Backup and Windows Server 2012 Essentials).


In the preceding screenshot, add-ins can be used in the Dashboard in four places:

  1. Top-level tab. Usually, as a standalone feature, most add-ins will have a separate tab. We recommend that you use all capital letters for the names of your tabs to be consistent with other built-in tabs. A top-level tab will own its standalone content space in the content area.
  2. Sub-tabs. To logically separate your features, you can have multiple sub-tabs under your top-level tab. If you own a separate top-level tab, you will naturally group sub-tabs together. If your add-in doesn’t create a top-level tab (for example, your add-in provides additional manageability for storage), you can add a sub-tab to the tab in question instead.
  3. Main panel. Different add-ins typically have different requests. While you can build your main panel from a blank panel, you can also leverage the list view in the SDK if you’re managing a list of objects, such as users or folders.
  4. Task panel. When you manage a list of items or a service, you usually need per item tasks and global tasks. When you leverage the list view, the Dashboard allows you to register per item tasks where you can perform tasks on a single item, such as removing a folder. It also allows you to perform global tasks, which apply to the entire add-in functions, such as registering your service.


Client-side integration is also interesting when you write an add-in to integrate with online services.

  • Launchpad. Most of the service integration, such as Office 365 Integration, provides value to end users where they need to have shortcuts to the new functionality they get from add-ins. In this case, you can extend the Launchpad by adding an additional shortcut.
  • Remote Web Access. Remote Web Access allows you to provide links on the Homepage, as well as provide your own page.
  • Health Integration. If the online service has dependencies on the client, such as agents running on the client or settings on the client, you can implement health monitoring rules on the client so that the monitoring results can be rolled up to the admin view. (Note that health integration is able to monitor the server as well.)


Web service platform

Anywhere Access is important for home and business environments today


I never jumped onto the Windows Home Server wagon, though I had wanted to and thought about it a good bit. If there had been a v3 I would have. In hindsight, I guess I'm glad I missed it... That said, I'm still interested in Windows Server 2012 Essentials and how it might be that WHS "v3". I'm kind of waiting on if it gets picked up by some top tier OEMS though...

Anyway, anytime there's officially supported extensibility and API's, that makes it that much more attractive to me. I doubt I would ever actually extend it, but that fact that I could, well, that's cool.. :)

No comments: