Developing the Microsoft Business Framework


Hello, World!

I am a Development Lead on the Microsoft Business Framework, with responsibilities for XmlSerialization, Web Services and the Web Service Designer.  I have opinions on almost every topic going (I even have opinions on “not having an opinion”).  I have been at Microsoft for a little over 4 years and intend to never leave.  As a Developer I tend to think and talk about features in the small;  I will leave it to my program management and architecture colleagues to paint the larger picture for you.

We are currently working on version 1.0 of the Business Framework.  It will offer a collection of class libraries and a set of Visual Studio hosted development tools.  The class libraries support the creation and deployment of an object layer around a set of database tables that we call Business Entities and a means of assigning Business Logic to the appropriate tier in your architecture Business Operations and Collaborations.  Obviously MBF does much more than that but in the main the extra features support and extend the scenarios enabled by Entities, Operations and Collaborations.

The following list of features supported by our runtime is far from exhaustive but may give you a flavour of what is coming:




Runtime Metadata service

Object – Data Mapping

Data Location policy

Role based security

Service Binding

Service Activation and Remoting




Serialization/Deserialization of Entities

Web Service integration

XSD Schema generation from a graph of Entities

Brokered Events

Administration / Configuration tools

Reliable Operations

Business Intelligence

Business Intelligence Programing model



The following lists the tools and features which we will provide as an add-in to Visual Studio again it’s not exhaustive and the names will probably change closer to release.

Business Entity Designer

Web Service Designer

Component editor

Visual Studio Project Integration

Code generation

Metadata explorer

Metadata editor

Business Intelligence Wizard

Map designer

The Microsoft Business Framework is 100% managed code, written from the ground up in C# using the Whidbey toolset.  We sit on top of a host of new technologies the database persistence is ObjectSpace, the Visual Studio modelling tools are written on top of Whitehorse, the Business Intelligence technology works against Yukon, the Mbf Serializer integrates seemlessly with the .Net Framework Xml Serialization stack and Business Operations are exposed as ASP.Net Web Services.

One of the more interesting and challenging aspects of our team is that it is geographically diverse.  This causes us interesting challenges that are new to most of us.  I will undoubtedly mention this fact again in the future since it has an important fact on how we develop.  There are four locations where MBF is developed – by developed I mean features are designed and coded.  The four locations are Redmond, Fargo – North Dakota, Findlay – Ohio and Copenhagen – Denmark (although it seems silly to qualify Wonderfull … Wonderfull … Copenhagen).  What this means is that scheduling tele-conferences between locations is pretty tricky, Copenhagen goes home before Redmond gets to work; when it is required to tele-conference the Redmond members get in early and the Copenhagen attendees stay late.

I am most closely involved in the Web Services integration, the Web Services Designer, Xml Serialization and Web Services and tangentially involved with the Entity Designer.  I will mainly use this column to discuss these features as well as general MBF programming model issues and what life is like at Microsoft.

If there is any topic you would like to discuss feel free to ask.  If I don’t have an opinion – and you already know that I will – I will try to corral someone who really understands and get them to help out.

My next post will describe how we integrate with the .Net Framework serializer to enable Entity serialization.  Hopefully it will include some code if I can remember how to program.



SDE Lead – MBF Web Services, Redmond

This posting is provided “AS IS” with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at:

Comments (29)

  1. chadb says:

    I’d like to know more about the business functionality behind MBF and what ISV’s can do (or will be able to do) to extend it/integrate with it… Any pointers there?

  2. Kevin Ransom says:

    The Framework is designed to be very flexible with a large number of extension points. Many of our primary use cases are driven by ISV and System Integrator extensibility

    To give you some brief examples:

    An Entity can be (rather simplistically) thought of as an object that can be persisted and retrieved from a Database.

    An operation represents some substantial piece of business logic, "Create new customer", "Validate credit references", "Produce packing list", could be examples of operations.

    A Collaboration can be thought of as some code that can be used to perform a specific calculation against some fields on an Entity or Operation.

    An ISV could produce an application that included a Full suite of Entities, Operations and Collaborations. It would undoubtedly also have UI, Web Services, Security and lots of other pieces that MBF helps with.

    A third party ISV might have a customer who’s requirements were nearly matched by the original ISV application. He could then licence the original application and independently, without needing access to the source code specialize or extend it’s Business logic to suite the exact requirements of the third party ISV, by extending the operations and collaborations.

    Future articles will delve into specific details of our development model, and those discussions will naturally cover extensibility.

    I hope this helps


  3. dcl says:

    What is different about the work you are doing in XML serialization?

    Why would I use it versus the many other capabilities that are available to me?

  4. Kevin Ransom says:

    That is a good question and the reason I wanted to make it the subject of my next Art. The XmlSerialization that we are doing is about making Business Entities compatible with the .Net XmlSerializer rather than producing yet another serialization API.

    As they stand Entities would not serialize with the .Net Serializer, so we have used extension mechanisms built in to the XmlSerializer that allows the .Net XmlSerializer to hand off the serialization work to us.

  5. dt says:

    It would be helpful to understand how exactly one can remote an agent and how that supports an SOA architecture with its services and the tiers (workspace and service).

  6. Mehran Nikoo says:

    All of the items you mentioned are nice stuff. In terms of the end result, how do is map to Whidbey? All these features can be part of the development environment e.g. Whidbey.

    Maybe this question is silly but what is MBF? Is it a product? Guidelines? both…

  7. Damir says:

    Do you plan to start any pre-alpha program? Damir, Microsoft Regional Director Germany

  8. Hi Mehran,

    for a high level overview of what MBF means, you can have a look at the slides of a MBF session from PDC03:

    Hope this Helps,


  9. Peter Morris says:

    I am very interested in Model Driven Architecture in general, I have been developing Win32 apps using MDA for a couple of years now.

    I’m just wondering how much chance there is of me being included on a beta programme so that I can offer feedback and also get a feel for how the framework works?

  10. Dietrich Birngruber says:


    I ask you as a technician: How is MBF related to "other" business frameworks? As we all know, some of them “were not so successful” (e.g. Taligent …).

    Anyway, if I look at MBF from 10.000 miles above the ground it looks interesting. I am curious to see how MBF evolves – and of course to read your next blogs 😉

    Thx + Regards,

    Dietrich B.

  11. uzi says:

    Is it possible to develop Payroll system?

  12. Kevin Ransom says:

    Yes it is extremely important for us that our framework will be able to develop applications similar to a Payroll system.

  13. uzi says:

    We have a Payroll systemb with few hundreds customers.

    We like to think about the next generation.

    can you provide us an immediate map how to program it.

  14. Stephen Girolami says:

    As an ISV, we have many customers with varying deployment needs. Will the MBF place any restrictions on the deployment of an application? (e.g. smart client)

  15. Chris Garty says:

    It is a pity that some of the base classes haven’t been released with Whidbey.

    We are starting our next phase of development in Whidbey and want to leverage MBF when it is released as well.

    Hopefully it won’t be too hard to refactor our architecture to work with MBF. If you could provide some architectural guidance for use with MBF it could make those future changes much simpler.

    – Chris

  16. As a Damir Tomicic I am also interested in been envolved in Alpha/Beta program!

    Could you tell us more about this possibility?

  17. Lalit Khatter says:


    Can we get detail information about the MBF? I have keen interest in understanding this new tech to me–I recently heard about this–.

    you can send details to me at my mailbox i.e.



  18. Raju Ganapathiraju says:


    Is it similar to Oracle’s ADF (Application Development Framework or BC4J). Why not then license Oracle ADF and gain some advantage! They are already ahead in this area by about 5 years.

    Thanks, Raju

  19. Kevin, I am curious about the "extension mechanisms built in to the XmlSerializer" that you quoted back in february. Are you talking off the whidbey timeframe? Because, right now, XmlSerialization is very very limited and really imposes huge tweaks to a businss model (you need a public parameterless constructor, collection need to have Add, IXmlSerializable is undocumented and dataset-hardcoded, …).

  20. Bias Fortes says:

    Please, could you talk about the Remoting and Enterprise Services integration with MBF ?

    How will Remoting and Enterprise Services works with MBF ?

    People are saying that Remoting is going away… Is it true ?

    Best Regards,

    Bias Fortes