reducing project delivery time, we decided to review the OPFs we have and adopt one(?) for development.
We considered the following OPF and not so OPF frameworks:
- Artemis Object Persistence Framework
- Microsoft Data Access Application Block
- Ado.Net (Traditional)
- Ado.Net 2.0 Database Factories
We decided to not rate 4 and 5 (ADO.Net and Ado.Net 2.0 Db Factories) since they are fundamental and the others
rely on them.
We did acknowledge the easy of use for small applications and the fact that 5 (Db Factories) can support other
data providers beside SqlServer.
The serial numbers are used as keys.
To rate, we came uo with a number of criteria that have immediate consequences on our everyday coding:
- Open sourced
- Best Practises: Not MS Best practices per se. We attached best practice to stuff like not having to hack ugly
codes tp provide some functionalities, e.g. connecting to other databases, creating an object just to return a
- Out of the box support for other databases beside SqlServer
- Support for persisting datasets/typed datasets
- Development speed/Ease of use.
- Active support/development.
We rate on a yes/no basis only. Yes = 1 and no = 0
NHibernate and Microsoft data application block DAAB tied on point and after some more debate we agreed:
- Since almost all splashers job use a SqlServer backend, all new projects consider it as a first option except:
- The project uses a data source different from SqlServer and is significantly large, we consider NHibernate first. If small, we consider the traditional Ado.Net or ADO.Net Db factories.
- We continue to support Artemis OPF because of legacy projects.