Conversion Project

I'm not sure what is going on with the SQLite .Net project, but patience has never been my strong suite and they still haven't produced an official .Net 4/VS2010 version despite stating that they would start on it after VS2010 was officially released. And since there has been an unofficial port kicking around since VS2010 Beta I find it hard to believe that this is a difficult thing for them to churn out, so they are most likely not active on it any longer.

So since I've stopped being lazy, I've become impatient, so I fired up VS 2008 and opened the old project for Veronica and I'm starting to write an application using Fluent nHibernate to convert the existing SQLite database into SQLServer 2005. Her old server has a legit version of SQL Server 2005, but I'm going to place it on the XPS or the Desktop server with a SQLServer Express installation. My goal is still to keep the project running on legit free software, though this will mean parting from the Open Source goal.

Veronica's database is small enough to be practical to run on a SQL Server Express instance. After about 3 months on the old software the SQLite database is only now approaching 1MB. So even assuming that over time the system gets more use time (business picks up) and we can assume a rate of growth where the database averages a 1MB in one month (over 3 times the current growth in her busiest season so a VERY safe number given her capacity) and assuming that the database would be say another 5 times larger inside of SQL Express (again I think a very safe assumption), then we would have 4000 % 5 months of activity before it grew too large which is 800 months or almost 67 years. And seriously, by that time I'm confident we can start purging some old data probably buying her into 100 years of life for the software. And honestly, if it would only last 5 on that architecture it would be fine with me, after that point we will probably be looking into a new architecture anyway.

So, first step is rewriting the mapping in Fluent nHibernate mapping files instead of the old XML files. From what I saw online it will be much easier in the long run to have 2 completely different DB engines running with Fluent nHibernate than doing it myself in old school nHibernate. Plus I like Fluent nHibernate now that I've been working with it and I wanted an excuse to use before. Also, when I move to .Net 4, I want to be able to use Fluent nHibernate, and since I should be able to simply re-use the Mapping files, I'm also doing some of the work for the future project.

Once the database conversion is done, SQL Server should be fully supported in VS2010 and .Net 4 I should be able to start on a WPF or Silverilght 4 version of he application, something I'm actually fairly excited about.

By the way... in case this wasn't obvious. I still hate EMF! Personal opinion entirely. But after my experiences with DevTracker, I never want to touch that hunk of garbage again. I STILL don't have that thing working outside of Cassini and it is crashing on the connections to the 2 databases (the one created by default with the project to store users and passwords and the one with the actual business logic in it). It should have been a sign when we chose not to use it at work. They are huge Microsoft advocates and we still went with nHibernate. I'll simply have to host a WCF service if I want to do a Silverlight 4 application. At least I know how to get that up and running (and hey VS knows how to deploy that properly too!)

So, back to the grind... rewriting mapping files is far from fun.

Comments

Popular Posts