Microsoft Business Framework - MBF
I saw the other day a presentation and working bytes of MBR. Basically its build in ability, of visual studio, that extends the traditional approach to model driven development toward “model aware application server”. Using MBR you can define your business entity regardless of technical dependencies using metadata that serve as layer of abstraction between your code (business entity) and the technology that your code using. As you are using design time visual studio tools (including schemas, designers and tools) MBF generate code for your definitions and provide framework to run your entities at runtime.
First of all it looks amazing! I think that we really should wait for MBR release. Personally I would be more then happy to be a part of that effort and to influence on MBF outcomes.
I’m very excited from MBF because as I see it, with little of effort, we (MS community) could have real application server (such as J2EE, JBOSS, etc’). there is anyway a frame work that generate and run business entities (probably a container is hidden there, to host entities). If that framework will adopt some architecture principles that enable containing and providing services for contained entities (such as Interceptor stuck, manage extension, naming services, etc’) we will have some kind of application server (that serve as level of indirection between business code and the tech. it running on). If someone follow me in the last year, it was one of my major complains about Microsoft in the enterprise field.
There are some points that I'd like to mention, hoping that the right people in Microsoft will read then.
- Think about adding Enterprise Architecture framework that will be part of MBR. Don’t invent yours, use TOGAF or Zachman frameworks. It’s essential to create application architecture and design, which follows enterprise architecture. It will be nice to see how decision that I made through application architecture match enterprise architecture and which AE rule/IT strategy target I follow. Such mechanism could help a lot to EA governing phase.
- As I saw in the demo, MBF is based on Table module pattern of managing domain logic. It will be awesome to see MBF able treating business logic as domain model pattern as well. Usually systems that need such a framework are complicate one and using domain model make more reasonable then table module.
- Don’t make such a strong relation between MBF and rich client / SOA systems. If the framework supposes to indirect my code from the technology that my code is using, then I might choose other Architecture pattern for my system rather then rich client. My system goals are to solve one or several of my enterprise needs, therefore my system should follow my enterprise architecture. My enterprise architecture might not use rich client as guide principles for inner enterprise reasons. In the end of the day it doesn’t matter which architecture pattern I choose I’ll have business entities that I want to host.