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"