...building hybrid clouds that can support any device from anywhere
Recently we see many customers (including service providers) are looking for samples or best practice guidance on integrating either the existing portal or develop a complete new portal to integrate with Windows Azure Pack (WAP) API to deliver the WAP based out-of-the-box cloud services such as Web Site Clouds, VM Clouds, Service Bus Clouds, SQL Servers, My SQL Servers to its tenants for consuming those services in a subscription based model. Here in this post I am going to explain and deliver a sample portal code (like the one below) developed based on Windows Azure Pack (WAP), Service Provider Foundation (SPF) and Virtual Machine Manager (VMM) of System Center 2012 R2. The sample portal is an ASP.Net, MVC 4, web application which implements WAP APIs for performing some common WAP and Virtual Machine (VM) operations using WAP’s Service Management API.
While most customers are able to develop their own portal using the published WAP Developer Kit document, we still see many customers asking for sample code that implements specific use cases or scenarios which can be used as an example to refer and extend to real world use case scenarios. Also, there are requirements where customers want to know more details behind implementing the Authentication logic for integrating with Service Management APIs both as Tenant and Administrator. The sample delivered here mainly addresses these two scopes and complements the information that is available in the WAP Developer Kit documentation, so for any latest up-to-date information on the WAP SDK, refer to the product documentation.
The sample portal code covers the following scenarios:
The sample portal code contains the following two parts or Visual Studio (VS) project in it:
For simplicity and from best practices perspective, the Service Management API layer integration is created in the form of a wrapper library which gives flexibility to use the same code across different types of portals such as Tenant and Administrator. Also, in the case of an upgrade in the Service Management API layer, it is enough to modify and build only the wrapper library as opposed modifying and building the complete portal code. Also in the sample code the wrapper library implements both Tenant and Admin related functions, whereas the portal code contains only the Tenant specific operations as it is for Tenant’s use only.
In a nutshell, the custom sample portal when implemented using WAP, SPF and VMM, it looks and connects in the layered order as depicted in the diagram below:
The sample portal code contains the following deliverables in it:
Readme for WAPWrapper sample.docx – This document describes the source code details on the wrapper library (WAPWrapper.csproj) VS project Readme for ContosoCloud sample (WAP version).docx – This document describes the source code details on the sample Contoso Portal (WAPContosoPortal.csproj) VS project Readme for Deploying ContosoCloud sample (WAP version).docx – This document describes the deployment details on the sample Contoso Portal
WAPWrapper – This folder contains the source code for the wrapper library (WAPWrapper.csproj) VS project WAPSamplePortal – This folder contains the source code for the sample Contoso Portal (WAPContosoPortal.csproj) VS project
Could you show how to use API steps? To call and create an pages
When try login with the Windows Azure Pack tenant account, the following error shows up:
Failed to login to WAP service...No MediaTypeFormatter is available to read an object of type 'User' from content with media type 'text/html'.
Any idea what is the cause?