Wednesday, December 26, 2007

MindLib, application development simplified!

As a real brief introduction, MindLib is a feather weight framework that helps glue with NHibernate and thus dramatically simplify the development of applications. Its main features includes:
  • transparent session management that supports both OpenSessionInView and LongSession pattern - transparent here means that you don't needs to know what pattern to use, the framework will automatically chose one based on the current conversation status - see item 5.
  • generic DAO base that eliminates the need for developers to interact with NHibernate session - they don't even needs to know what NHibernate session is - guaranteed.
  • easy stateful field support that make UserControl and Page no longer stateless - the values of particular fields of UserControl or Page will be persistent over multiple http requests. All you need to do is to mark a field of your UserControl or Page with an attribute. The life span of such fields can be fine grained.
  • transparent multiple databases support. "transparent" here means that your classes do not need to designate which database to use, the framework will automatically figure out. Basically you write your application like it's using one database.
  • easy conversation support. The meaning of the term "conversation" here is very close to the conversation concept introduced in the Seam framework. Easy here means that you don't need to define a conversation - you just call the framework to start a long conversation and call the framework to finish it when you are done - only two lines of code is needed.
MindLib is already setup as GPL open source project on and I just released 1.3 Beta1.
Now I am building the project wiki site where you can find more information about MindLib.
I already finished the introduction and quick start guide.