Azure Essentials List

A living post of the tools, frameworks and guidance that have made life with Azure better. So we’ve had a big couple of months at Mexia working with Microsoft and the Azure Service Bus. Just in this small timespan, the platform has been evolving rapidly; a new version of the SDK (1.6) was dropped, offical documentation has undergone complete rewrites, the service bus pricing model was overhauled (for the better)… As a developer working with Azure, it is also very volitile grounds. The (ever growing) Azure community is doing an amazing job filing the many gaps that exist in the overall development experience, as the technology matures. ...

February 26, 2012 · 2 min

Azure Service Bus WRAP Token Renewal

Service Bus samples and documentation often cover how to request a token from Access Control Services via REST. Here we touch on caching said token, and consider its renewal upon expiry. The .NET Azure Service Bus API, from the Microsoft.ServiceBus and Microsoft.ServiceBus.Messaging namespaces, provide a number of useful abstractions when developing a brokered messaging solution. The API is nice, because is lets you focus on the business problem at hand, while keeping the boilerplate, protocol related interaction nicely tucked away. Example: ...

February 26, 2012 · 4 min

OAuth Certificate Authentication with ACS

My experience authenticating clients with the Windows Azure AppFabric Access Control Service (ACS) using X.509 certificates. Here’s the scenario. A consumer (Alice) wants to publish a message to the Azure AppFabric Service Bus, however before doing so, somehow needs to prove that she is in fact Alice. Taking a certificate based approach, requires Alice to craft a SAML token which amoung other things states “i’m Alice” (relying party scope), and signing this token with Alice’s (private key) certifcate. If Alice were to deliver this token to ACS (https://yournamespace.accesscontrol.windows.net/v2/OAuth2-13), and a relying party, rule group and service identity with Alice’s public key had been configured, ACS in return would give Alice another token (a SWT token by default) signed with a specified signing key, which Alice could use from that point to prove identity. ...

October 24, 2011 · 5 min

SharePoint 2010 Application Development

The SharePoint 2010 platform is dauntingly huge. Fortunately development certification 70-573 (Microsoft SharePoint 2010, Application Development) sticks to the bread and butter fundamentals that is applicable to all forms of custom SharePoint development. For the purposes of 70-573 you can pick up things like FAST, Excel Services, Form Services, Performance Point and toss them out the window. Concepts like lists, libraries, web parts, and delegate controls is what SharePoint development is really about. ...

September 15, 2011 · 2 min

Time Dimension Populate Script

Here is a very simple TSQL script that will flesh out a time dimension, for use with SQL Server Analysis Services (SSAS) cube, and can easily be molded to work with other vendor implementations. The AdventureWorks DW provides a nice reference implementation for a time dimension. Unfortunately provides no guidance around the actual population of the dimension. This script will provide a repeatable, configurable way of building out a similar implementation. ...

July 21, 2011 · 2 min

The BizTalk WCF SQL Binding and MSDTC

Highlights a common misconfiguration of the BizTalk WCF Adapter Pack 2.0 SQL binding. Here’s an interesting tale. If you find errors and BizTalk interesting. The following, very descriptive error (it’s true) occurs when you attempt to use the BizTalk WCF Adapter Packs (2.0) SQL binding with a remote SQL server database, that is not configured to allow remote DTC (Distributed Transaction Coordinator) sessions to take place. Error Description: System.Transactions.TransactionException: The partner transaction manager has disabled its support for remote/network transactions. (Exception from HRESULT: 0x8004D025) ---> System.Runtime.InteropServices.COMException: The partner transaction manager has disabled its support for remote/network transactions. (Exception from HRESULT: 0x8004D025) at System.Transactions.Oletx.ITransactionShim.Export(UInt32 whereaboutsSize, Byte[] whereabouts, Int32& cookieIndex, UInt32& cookieSize, CoTaskMemHandle& cookieBuffer) at System.Transactions.TransactionInterop.GetExportCookie(Transaction transaction, Byte[] whereabouts) --- End of inner exception stack trace --- Server stack trace: at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result) at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result) at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result) at System.ServiceModel.Channels.ServiceChannel.EndRequest(IAsyncResult result) The SQL machine needs to be opened up. This can be done by using the Component Services MMC snap in (comexp.msc). ...

July 11, 2011 · 2 min

.NET 4.0 GAC Post-build Event Command

For various design reasons .NET 4.0 has it’s own GAC, located here. %systemroot%\Windows\Microsoft.NET\assembly An updated version 4.0 of gacutil is available as a part of the Windows SDK. Here is a handy VS.NET “Post-build event command”, that will .NET 4.0 GAC your freshly baked assemblies. "%programfiles(x86)%\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\gacutil.exe" /i "$(TargetPath)"

July 9, 2011 · 1 min

BizTalk Custom WCF Behaviour

The ability to easily implement custom processing within the WCF stack, is one of the main reasons why WCF (Windows Communication Foundation) is such a rich programming paradigm compared to other ways of communication. WCF, when paired with BizTalk Server, opens up numerous extensibility options that were previously not possible. A particularly useful piece of WCF extensibility, is commonly referred to as behaviors. Behavior extensions are one of the components that differentiate WCF from other Web services technologies in the market. By using this feature, developers can add custom extensions that inspect and validate service configuration or modify run-time behavior in WCF client and service applications. Custom behavior extensions can exist at both the WCF service and client levels. Configuring a behavior on the call stack to a WCF service has no influence on the communication binding used to make the call. In fact, behaviors are typically invisible to the client because they are not displayed in the metadata that a service publishes. The client typically has no idea that the extensions are running during a call to a WCF operation. ...

June 26, 2011 · 5 min

SSO Configuration Road Block

Recently I’ve had the need to setup a BizTalk Server 2006 R2 virtual machine. Quietly confident about my experience with this version of BizTalk, I jumped in head first to quickly get a simple single server based installation configured on a 32-bit VMWare based VM. Lesson learned today; never, ever underestimate the obscure errors that BizTalk Server can produce. The install was smooth sailing. But when the time came to configure SSO, this happended: ...

November 24, 2010 · 2 min

BizTalk Server 2010 Prerequisite CAB Files

Exciting times! BizTalk Server 2010 is out and as per every major release of the product there are a fresh set of redistributable CAB links to hunt down. These links available from the official installation guides. Windows Server 2008 and 2008 R2 Language </td> <td valign="top" width="295"> Windows Server 2008 32-bit Edition ...

October 3, 2010 · 3 min