- Microsoft Azure: Enterprise Application Development
- Richard J.Dudley Nathan A.Duchene
- 452字
- 2025-02-28 10:03:57
AppFabric is another part of Azure with "fabric" in its name. AppFabric was originally known as BizTalk Services, and then later as .NET Services. Unlike the Azure Fabric or the Azure Fabric Agent, AppFabric is not a low-level controller/manager of the virtual machines. Instead, AppFabric provides the Service Bus, Access Control services, and connection components.
The Service Bus is the functionality that serves as a bridge between on-premises applications and Windows Azure. The Service Bus also facilitates bidirectional communication between two non-Azure applications.
Bridging local and Azure applications is useful in certain cases such as if there is information in our local warehouse management system (WMS) we want to make visible to our clients via an Azure-based portal we develop. If our WMS has an API we'd like to manifest directly to our partners, we can also use the Service Bus to abstract the WMS API. In this case, we'd register our WMS's endpoint with the Service Bus, which would then create a public set of its own endpoints. We'd provide the Azure endpoint URIs to our partners to be consumed by their applications. When a call is made against the public endpoints, Azure queues that client request and passes it to our WMS. Our WMS responds to Azure's request, and Azure sends the data on to our partner. The Azure Service Bus handles the discovery and registration of the endpoints, and handles the NAT as well. In terms of securing our WMS, no one needs to know our private IP address, and we limit our firewall to a smaller list of IPs to allow through.
In the Service Bus examples, we'd obviously need a way to limit access to the application or endpoints. This is one of many places where the Access Control functionality of AppFabric is important. Access Control issues security tokens that can be consumed by Azure and non-Azure applications via REST (SOAP has been announced but was not in place at the time of writing). Access Control is a claims-based identity service, similar to OpenID or Microsoft's LiveID.
AppFabric also incorporates projects codenamed Dublin and Velocity. Both Dublin and Velocity are standalone projects that can be used with both Azure and more traditional applications. At the time of writing, these projects were announced but not released, so more detailed information should be gathered directly from Microsoft. Project Dublin is an effort to enhance the management of .NET 4 WCF and WF services as well as IIS management and monitoring. Dublin utilizes PowerShell commandlets and IIS integration.