Partager via


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:

Operations

Entities

Collaborations

Runtime Metadata service

Object - Data Mapping

Data Location policy

Role based security

Service Binding

Service Activation and Remoting

Validation

Caching

Configuration

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.

 

Kevin

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: https://www.microsoft.com/info/cpyright.htm"

Comments

  • Anonymous
    February 27, 2004
    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?

  • Anonymous
    February 27, 2004
    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

    Kevin

  • Anonymous
    February 27, 2004
    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?

  • Anonymous
    February 27, 2004
    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.

  • Anonymous
    February 27, 2004
    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).

  • Anonymous
    February 28, 2004
    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...

  • Anonymous
    February 28, 2004
    Do you plan to start any pre-alpha program? Damir, Microsoft Regional Director Germany

  • Anonymous
    February 28, 2004
    The comment has been removed

  • Anonymous
    February 29, 2004
    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?

  • Anonymous
    March 08, 2004
    Hi

    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.

  • Anonymous
    April 22, 2004
    Is it possible to develop Payroll system?

  • Anonymous
    April 22, 2004
    Yes it is extremely important for us that our framework will be able to develop applications similar to a Payroll system.

  • Anonymous
    April 22, 2004
    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.

  • Anonymous
    April 26, 2004
    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)

  • Anonymous
    April 27, 2004
    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

  • Anonymous
    May 08, 2004
    As a Damir Tomicic I am also interested in been envolved in Alpha/Beta program!

    Could you tell us more about this possibility?

  • Anonymous
    May 10, 2004
    Hi!

    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. lalit_khatter@hotmail.com
    thanks
    Lalit

  • Anonymous
    May 24, 2004
    Hi,

    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

  • Anonymous
    June 04, 2004
    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, ...).

  • Anonymous
    June 22, 2004
    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

  • Anonymous
    June 26, 2005
    TrackBack From:http://www.cnblogs.com/jm_tek/archive/2005/06/27/181813.html

  • Anonymous
    June 26, 2005
    TrackBack From:http://www.cnblogs.com/jm_tek/archive/0001/01/01/181813.html

  • Anonymous
    September 19, 2008
    PingBack from http://www.i2e.com.es/blog/?p=74

  • Anonymous
    May 28, 2009
    PingBack from http://paidsurveyshub.info/story.php?title=kevin-ransom-developing-the-microsoft-business-framework

  • Anonymous
    June 15, 2009
    PingBack from http://mydebtconsolidator.info/story.php?id=5380

  • Anonymous
    June 16, 2009
    PingBack from http://workfromhomecareer.info/story.php?id=2812

  • Anonymous
    June 16, 2009
    PingBack from http://fixmycrediteasily.info/story.php?id=2826