Planning a TechEd session.
April 22, 2010 Leave a comment
For the last 18 months, I’ve had the privilege of contributing to the Microsoft TAP programs for Visual Studio 2010 & .NET 4 and AppFabric (previously code named as Dublin). These TAP programs are coming to a close with Visual Studio 2010 and .NET 4 now shipping, and AppFabric shipping in H1 2010.
As part of the TAP engagement, I’ll be in New Orleans in June to present an interactive session discussing Windows Workflow Foundation 4, Windows Communication Foundation 4 and AppFabric ( in particular the ‘Dublin’ components). The goal of this blog is to capture the thought process that goes into preparing for the session and to provide a detailed reference for the attendees. I hope that the usefulness of the content extends beyond this primary audience and the .NET community as a whole can find something of interest.
The first, and possibly most difficult, question is what shall I talk about? What do I think people will find interesting? The real challenge is condensing 12 months of hands-on experience into a single hour of relevant and approachable material. I’ve attended a number of TechEd conferences in the past, in Europe and New Zealand so I have an idea of the sessions that I found interesting so I’ll start there. I’ll post a link to this blog in the session description so that you can tell me what you like to see covered, just email me: stefan.sewell at aderant.com.
Right now I have the following high level breakdown for the talk:
1. Setting the Context
The basics, I work for ADERANT as a software architect. ADERANT is an Independent Software Vendor (ISV) producing enterprise solutions for the legal and professional services market. At the very core of the software is the ability to track the work completed and expenses incurred for a project (aka matter), this is billed out to the client the work was performed for. From this grossly simplified view of the world, we then can add in client management, resource planning, budgeting, time capture, expense management, eBilling, profitability projection and much more. We basically provide software to run a law firm and some of the worlds largest law firms are running on ADERANT Expert. In a subsequent post I’ll expand on the challenges we face writing software for global companies.
2. Overview of our Software and Approach
Having covered off what we do, I’ll next talk about how we do it from a 10,000 ft view. ADERANT Expert is a suite of products built on the Microsoft stack. It’s origins go back over 30 years but in the last 10 years we’ve undertaken a major architectural overhaul moving from a client-server architecture predominantly written in unmanaged C++ to a service architecture built on the .NET 4.0 platform. The current version of the software, Expert Golden Gate, is written on .NET 3.5 and shortly we’ll be releasing an enhanced .NET 4 based version.
In moving from .NET 3.5 to .NET 4, we made several refinements to our architecture based on two factors: firstly lessons learned from the field and secondly new features shipping in .NET 4 which allowed us to replace infrastructure that we had written in-house with out of the box functionality from Microsoft. We are a products company selling to the legal market, we don’t want to have to develop the infrastructure to support our products, we want that from our chosen platform. I’ll compare our NET 3.5 approach with our NET 4.0 approach highlighting the changes we made and why.
1. Examples
The next section is a drill down into some examples of how we use .NET 4 and AppFabric. First example will be our task concept, which is a human-based workflow activity. This is a non-trivial example that will show:
• Using our DesignStudio add-in for VS2010 which allows firms to create their own custom workflow processes. These processes can include human tasks such as data entry and approval.
• How a process is published as a workflow service and hosted in IIS under AppFabric management.
• The flow of services call made as part of a tasks’ lifecycle, this will include a discussion on correlation of service calls to workflow instances.
Having demonstrated a running workflow instance, we can then have a look at the tracking data captured by AppFabric and review it through the dashboard.
A second worked example I’d like to cover is deployment. An SOA brings with it a significant complexity around deployment and management of services. AppFabric goes some way to address this by providing a centralized monitoring store for WF and WCF events as well as providing a Powershell administration API. At ADERANT we gone a step further and created a deployment runtime and declarative deployment model. The runtime uses the AppFabric powershell API to provide a ClickOnce-style deployment mechanism for servers, including automated deployment into an application farm. At this point I can discuss the horizontal scale out options that AppFabric provides for Workflow Services.
With two significant examples there will be plenty of potential for discussion as this is billed as an interactive session.
1. Futures and Wrap Up
By now I should have covered what we are leveraging in .NET 4 and AppFabric today, and there are a couple of futures to mention that we are interested in, most notably Azure & AppFabric.
So there we have my initial plan, let me know what you think…