Integrating Integrators – BizTalk, Windows Azure, Windows Workflow, and Beyond

AppFabric

This is the top level group for Microsoft AppFabric. Find blogs, samples, videos, and learning resources for Platform Azure AppFabric and Windows Server AppFabric here.

AppFabric Community Blogs via Syndication

Bloggers with a focus on Server AppFabric or Azure AppFabric. All content is property of the original blog owner.
  • AppFabric Community Blogs via Syndication

    AppFabric WCF HTTP Service Template

    Windows Communication Foundation (WCF) is Microsoft’s unified programming model for building service-oriented applications. Windows Server AppFabric provides tools for managing and monitoring your web services and workflows. WCF HTTP Service is a service that can be accessed by a simple HTTP POST/GET request and can return responses in plain XML and in JSON formats. The AppFabric WCF HTTP Service template brings these two products together providing the following features: Monitor the calls...
  • AppFabric Community Blogs via Syndication

    WF4 Performance Tip–Cache Activities

    When you create a new WorkflowConsole application you will see a line of code like this 1: WorkflowInvoker.Invoke( new Workflow1()); Looks innocent enough right? If you were only going to invoke this activity once this is not a problem.  But what if you were going to invoke this activity thousands of times? Suppose you wanted to use the activity in a WCF Service? What would the performance characteristic be? You need to understand what happens when you create and invoke an activity. There is...
  • AppFabric Community Blogs via Syndication

    WF4 Workflow Episodes

    I remember at PDC08 when Kenny Wolf was introducing WF4 he said a workflow is kind of like a college student.  Most of the time it lays around sleeping (and drinking beer) and occasionally it wakes up (when an assignment is due) and does a pulse of work and then goes back to sleeping and drinking beer.  Kenny called this a “pulse of work”, I like to call it a Workflow Episode. When you run a Workflow the activities will run until one of the following happens The workflow completes The workflow...
  • AppFabric Community Blogs via Syndication

    WF4 Collection Activities and Object Equivalence

    This morning while reviewing sample code I ran across the collection activities.  Working with these activities is fairly straightforward but there are some issues that you should be aware of that can impact the behavior of your workflow. These issues are familiar to .Net developers because they impact the basics of object equivalence and how the collection classes behave. However many workflow developers are building workflow activities that are meant to be used by non-developers. For this...
  • AppFabric Community Blogs via Syndication

    WF4: How to Unit Test a Workflow that calls a WCF Service

    “The important point is that our test can’t control what that dependency returns to our code under test or how it behaves (if we wanted to simulate an exception, for example). That’s when we use stubs .” – The Art of Unit Testing - Roy Osherove, Yesterday morning I received an email from Ryo in Belgium who asked for help in unit testing a workflow. Ryo had read my previous posts on Microsoft.Activities.UnitTesting .XamlInjector and wanted to use it to test his workflow...
  • AppFabric Community Blogs via Syndication

    WF4 Workflow Service Data Validation Design

    In my previous previous post on the WCF Fault Spike and the other post on 4 Tenets of Service Oriented Data Validation I discussed some options and best practices for service data validation with WCF.  In this post I want to consider how the same scenario applies to WF4. Download Sample Code – WCF Service Fault and Validation Example I created an application that ran three scenarios each resulting in an exception thrown from the service and a web UI page then shows what the sender can do based...
  • AppFabric Community Blogs via Syndication

    WCF: 4 Tenets of Service Oriented Data Validation

    Remember the 4 tenets of SOA?  One of them is that Boundaries are explicit.  When somebody sends data to your service it is just like when you cross an international border into another country.  Just a couple of hours drive north of us in Redmond is the border crossing to Canada.  When you cross into Canada or back into the United States you have to stop your car and the border agents do their job.  Their job is to make sure that you have proper documentation and that you...
  • AppFabric Community Blogs via Syndication

    WCF Spike FaultContract, FaultException<TDetail> and Validation

    Ready to have some fun… Today I spent the day investigating WCF FaulContracts and FaultException and some best practices for argument validation.  I’m going to do the same in a future post on Workflow Services but I felt it best to really understand the topic from a WCF point of view first. Investigation Questions What happens when a service throws an exception? What happens if a service throws a FaultException? What happens if the service operation includes a FaultContract and it throws a FaultException<TDetail>...
  • AppFabric Community Blogs via Syndication

    WF4: How Tracking Helped Me Write a Better Unit Test

    This morning I’ve been working on how to support cancelling a workflow via a CancellationToken.  The details of that are not important right now but what is really cool is how I was able to test this. Scenario: Caller requests Cancellation via a CancellationToken and the UnhandledExceptionAction is Cancel Given An activity that contains a CancellationScope The CancellationScope body has an activity that will create a bookmark and go idle The CancellationScope has a CancelHandler with a WriteLine...
  • AppFabric Community Blogs via Syndication

    WF4 Versioning Spike: How To Unit Test Activity Versioning

    With the work I’ve been doing on versioning I’ve had to write unit tests that verify the behavior I expect from the helper classes in Microsoft.Activities.dll .  If you want to verify that your assembly versioning strategy is working correctly you may have to do similar testing.  This sort of testing is tricky… in this post I’ll share with you my solutions to some tough problems. Test Problem: Multiple Versions of the Same Assembly in a Test Run There is only one deployment directory for...
  • AppFabric Community Blogs via Syndication

    Assembly.Load, Version Numbers and Unsigned Assemblies

    Never assume anything, test everything All these years I assumed that Assembly.Load() would respect version numbers if specified in the FullName string.   As I’ve been adding more test coverage to Microsoft.Activities I found that Assembly.Load does not work that way. Suppose you have an assembly named ActivityLibrary and you deploy V1 but you try to load V2 // This call will succeed and happily load V1 if it finds ActivityLibrary.dll Assembly.Load( "ActivityLibrary, Version=2.0.0...
  • AppFabric Community Blogs via Syndication

    WF4 Versioning Spike: IIS Hosted Workflow Services

    In my previous post , I’ve been exploring how changing the version of an ActivityLibrary affects a workflow.  In this post I want to explore how Workflow Services behave. The good news – as far as I can tell, they behave exactly as they should behave loading the assembly version they were built with.  For this test I have a Workflow Service that uses an activity from ActivityLibrary1 and we will run through a similar set of scenarios deploying a Workflow Service (.xamlx) to a web site hosted...
  • AppFabric Community Blogs via Syndication

    WF4 Activity Versioning Solution

    In my last post I showed you how the _XamlStaticHelper class uses different semantics when loading assemblies referenced by XAML files. Today I’m going to show you a solution I’ve built into the Microsoft.Activities library that can help you apply standard CLR behavior when loading referenced assemblies. endpoint.tv - How To Make WF4 Load the Assemblies You Really Want   Strict Assembly Resolution for Compiled Workflows Step 1: Download and reference Microsoft.Activities.dll Download the latest...
  • AppFabric Community Blogs via Syndication

    WF4 Spike: Activity Versioning, GAC and Loose XAML

    In agile software development , a spike is a story that cannot be estimated until a development team runs a timebox ed investigation. The output of a spike story is an estimate for the original story. - SearchSoftwareQuality.com Definitions Update 1/8/2011: For a solution to these problems see this post .  Special thanks to Krisragh for his help with this post. For this spike I want to answer the following questions What happens when a V1 workflow loads a V2 activity? What happens when a V2...
  • AppFabric Community Blogs via Syndication

    Workflow on Windows Azure Research

    Our team is busily working on some great new stuff to bring first class support for Workflow to Windows Azure.  We want to hear from you so we can be sure to deliver on what you need. Drop me a line if you want to chat and you Have workflow (WF3/ WF4) solutions running on Azure or other cloud systems today Have workflow (WF3/ WF4) solutions on-premises and moving that solution to Azure in the next 3 months Have solutions running on Azure today and are contemplating adding Workflow to your solution...
  • AppFabric Community Blogs via Syndication

    endpoint.tv - A Better State Machine Driven WPF UI

    I couldn't leave this one alone. While I was making the last episode I said that there was possibly another strategy for detecting states and transitions and that was to use Tracking data. In this episode I'll show you a better way to implement our WPF UI using the Model View View-Model (MVVM) pattern that does not require the state machine to have actvitivities to notify the model of state changes. The source including some really cool unit tests that make use of Microsoft.Activities.UnitTesting...
  • AppFabric Community Blogs via Syndication

    New Release Microsoft.Activities.UnitTesting 1.71

    Just posted a new release of Microsoft.Activities.UnitTesting This release incorporates the Task Parallel Library to greatly simplify test code. Episodes You can now create a task that will run an episode of work in the workflow. An episode is simply a pulse of work that the workflow runs. For example an episode might look like the following Thread Action host Run the workflow host Wait for idle Workflow Activity 1 Workflow Activity 2 (creates a bookmark) Workflow Invoke Idle delegate - host sets...
  • AppFabric Community Blogs via Syndication

    Book Review: Windows Workflow Foundation 4 Cookbook

    Andrew Zhu works for Microsoft in Shanghai and has been using WF4 since the very early days.  He frequently answers questions on our internal mailing list and on the WF Forums so when I heard that he was writing a book about WF4 I knew it would be a good one. I just got my electronic copy and I have to say it looks great.  Of course it covers the basics but also gets into great detail especially in the chapter on rehosting the WF designer, it’s definitely on my recommended list. Check it...
  • AppFabric Community Blogs via Syndication

    WCF and AppFabric Auto-Start

    Auto-start is a really cool feature of Windows Server AppFabric. Recently I was asked about how you can do some kind of process initialization in your code with Auto-start (which the documentation implies that you can do). This led to a discussion with a number of questions that we want to address What does Auto-start really do? How much faster is the first call to my service if I use Auto-start? How can I write code that is called when the service is auto-started? endpoint.tv - WCF and AppFabric...
  • AppFabric Community Blogs via Syndication

    How to consume a WCF Service from a WF4 Workflow

    Recently I saw a message on the WF4 Forum where someone was asking for help learning how to consume a WCF service from a Workflow. In this post I’m going to walk through how you can consume a WCF service from a Workflow where both the service and the workflow live in the same web site. This should be simple, but unfortunately it is not as simple as it should be. Create an ASP.NET Web Application Start Visual Studio 2010 and Create a new ASP.NET Web Application Add a new WCF Service to the project...
Page 1 of 38 (753 items) 12345»