In the previous
post we discussed the 3 main concepts that make up Windows Azure AppFabric:
- pre-built services that provide valuable capabilities developers can use when
developing applications. This reduces the time and complexity when building the
application, and allows the developer to concentrate on the core application
Applications - capabilities that enable you to assemble, deploy, and manage
a composite application that is made up of several different components, as a
single logical entity.
Infrastructure - capabilities that make it seamless to get the benefit of the
cloud, such as: elastic scale, high availability, high density, multi-tenancy,
In this post we will start discussing the first concept, the
pre-built services we provide as part of the Middleware Services.
The Middleware Services include 5 services:
Service Bus -
provides secure connectivity and messaging
Access Control -
provides identity and access control capabilities to web applications and
Caching - provides a
distributed, in-memory application cache
provides common integration and business user enablement capabilities
Composite App -
enables building applications that are made up of a composite of services,
components, web services, workflows, and existing applications
These services are open and interoperable across languages
(.NET, Java, Ruby, PHP...) and give developers a powerful pre-built "class
library" for next-generation cloud applications. Developers can use each
of these as stand-alone services, or combine them as part of a broader
Focus on Service Bus and Access Control
In this post we cover the Service Bus and the Access
Control services which are already available as production services with
full Service Level Agreements (SLA). The Caching
service is available as a Community Technology Preview (CTP), and the Integration and Composite App services will also be released in CTPs later in 2011.
The Service Bus provides a solution for connectivity and
messaging. Connectivity is about enabling connections between different
components and services. Once you are able to connect the different components,
Messaging enables you to support
different messaging protocols and patterns.
The Service Bus facilitates the construction of distributed
and disconnected applications in the cloud, as well as hybrid applications composed
of both on-premises and the cloud services. In addition, the Service Bus
provides these capabilities in a
secure manner. You do not have to open your firewall or install anything
inside your network. It also removes the need for the developer to worry about
delivery assurance, reliable messaging and scale.
The image below illustrates the central role of the Service
Bus as it connects hybrid cloud and on-premises environments using different
protocols and patterns, as well as initiating direct connections between two
different on-premises endpoints for increased efficiency:
As noted earlier, the Service Bus is a production service,
supported by a full SLA. But this is a good opportunity to mention our LABS/Preview environment.
The LABS/Preview Environment: Feedback Wanted
In addition to the
production services that are supported by the full SLA, the LABS/Preview environment gives you a preview of the
enhancements and capabilities we are planning to add to the production services
in the near future. We want to get your feedback through this environment. Make
sure to provide us with feedback on our CTPs in the Windows
Azure AppFabric CTP Forum.
It is important to note that the services in this
environment are free to use and have no SLA.
For instance, in the latest CTP release of Service Bus we
are showcasing improvements and enhancements that will be released in the next
update of the production service, such as: Durable Messaging, Load Balancing, and improved management. You can find
more details here.
The next update
to the production service, which will include these capabilities, will be in a
For a more in-depth and technical overview of the Service
Bus, please use the following resources:
PDC 10 recorded session: Windows Azure AppFabric
Service Bus Futures
PDC 09 recorded session: Lessons Learned: Building
On-Premises and Cloud Applications with the Service Bus and Windows Azure
Whitepaper: A Developer's
Guide to Service Bus for the Windows Azure AppFabric
- Clemens Vasters's blog
- Wade Wegner's blog
Azure Platform Forums and specifically the Connectivity
Service Bus Programming
Guide on MSDN
The Access Control service provides identity and access
control solutions for web applications and services. The service provides integration
with standards-based identity providers, including enterprise directories such
as Active Directory, and web identities such as Windows Live ID, Google, Yahoo!
Instead of the user having to create a new user and password
for each application, and instead of the developer having to write different
sets of code to support all these different identities, the service enables the developer to write the code once to work with the Access Control service,
and the service takes care of federating with all these different identities.
Identity and access control are complicated to implement in
any application, but if you want to support various types of identities across
both on-premises and cloud it becomes even more complicated. The image below
illustrates how the Access Control service abstracts all this logic from the
application itself, allowing the developer to focus on the application logic:
Like the Service Bus, the Access Control is a production
service supported by an SLA.
In the latest CTP
release of the Access Control service we added powerful capabilities such as:
integration with Windows Identity Foundation (WIF), out-of-the-box support for
Windows Live ID, Google ID, Yahoo! and Facebook, out-of-the-box support for
ADFS v2.0, etc. You can find more details here.
The next update to the production Access Control service
that will include all the enhancements will also be in a few months.
For a more in-depth and technical overview of the Access
Control service, please use the following resources:
PDC 10 recorded session: Identity
& Access Control in the Cloud
- PDC 10 recorded session: Management of your Access Control Service Namespace
MSDN Magazine article: Re-Introducing
the Windows Azure AppFabric Access Control Service
Whitepaper: A Developer's Guide to Access Control
for the Windows Azure AppFabric
- Vittorio Bertocci's blog
- Justin Smith's blog
- Wade Wegner's blog
Azure Platform Forums and specifically the Security
Programming Guide on MSDN
If you want to check out our CTP services in the
LABS/Preview environment and get a preview of what is planned to be released in
the near future, just visit https://portal.appfabriclabs.com/,
sign up and get started.
As illuminated in this post, the Windows Azure AppFabric
Middleware Services help make the work of a developer a lot easier by providing
ready-to-use services that solve complicated problems.
Tune in to the next post in this series to learn about the
other Middleware Services and how they also help solve the
challenges faced by developers.
Other places to learn more on Windows Azure AppFabric are:
Azure AppFabric website and specifically the Popular Videos under the
Featured Content section.
Azure AppFabric developers MSDN website
If you still haven't already taken advantage of our free
trial offer, click on the image below and start using Windows Azure AppFabric
Finally, please leave your comments and questions in the
comments section below.
Itai Raz, Product Manager