How to pass 70-513 Windows Communication Foundation 4 Development

My experience preparing for and gaining the TS Windows Communication Foundation Development 4 certification. The (~7 year old) WCF stack to my suprise, is much larger than I ever gave it credit for. 70-513 successfully pointed me toward a number of “off the beaten track” topics, so much so, that I actually quite enjoyed preparing for this exam. Lots of emphasis in the exam on topics such as routing, diagnostics, transactions, sessions and discovery. ...

April 29, 2012 · 6 min

F# Cheatsheet

The VS11 beta includes a really slick cheatsheet style F# language reference. A gem for groking F# syntax. The samples are grouped into modules. A module is just a collection of value, function and type definitions. To execute the code in F# Interactive, highlight a line of code and then either type Alt-Enter, or right-click and choose “Send to Interactive”. To start F# Interactive, see the “View” menu. For more about F#, see: http://fsharp.net ...

April 23, 2012 · 32 min

T4 Template Custom Host and BizTalk Pipeline

Frameworks like ASP.NET are well equipped with templating engines, and more so now with the extensibility that ASP.NET MVC offers (can run with the awesome Razor view engine, or swap in a view engine of your liking such as the excellent Spark view engine). Simply put, a views template is responsible for transforming a model into a representation. A T4 text template is a mixture of text blocks and control logic that can generate a text file. The control logic is written as fragments of program code in Visual C# or Visual Basic. The generated file can be text of any kind, such as a Web page, or a resource file, or program source code in any language. ...

April 16, 2012 · 6 min

WCF Error Handling using IErrorHandler and log4net

When its comes to managing and supporting WCF services, like any software, having insight into erroronous situtions is essential. There are several ways to go about this that are specific to WCF, such as enabling a trace listener for example. A more customisable option involves fleshing out an IErrorHandler. As put by MSDN, provides the necessary hooks to run custom error processing logic. Allows an implementer to control the fault message returned to the caller and optionally perform custom error processing such as logging. ...

April 11, 2012 · 3 min

Autofac Your WCF

Autofac (a .NET IoC container) makes .NET code better. Simple. Controlling the way software interacts with it’s components (dependencies) is one powerful way to the increase its “bendability”. Bendability meaning how well a chunk of software is able to cope with change (this is inevitable). WCF’s unique object model (bindings, endpoints, behaviors, contracts, etc) can make doing IoC more of a challenge, however Autofac’s native WCF integration comes to the rescue. ...

March 22, 2012 · 3 min

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