I am about to begin a large project of retrofitting about 6 applications to use iMIS login accounts instead of our existing custom solution. If I understand the iMIS stack correctly, all we will need are the iBO assemblies (and some other assemblies) and an iMIS database for the things I will need to do.
I was wondering if it would work and if it would be a good idea for me to use nothing other than the aforementioned assemblies and a copy of a clean iMIS database (plus any changes that come in from those who make changes to the iMIS database schema). I.e., Visual Studio would be on my machine, the .dll's would be on my machine, and the database could be either on my machine or in on a server or VPC somewhere. No iMIS installation, Web services, or admin UI's involved.
Of course, I want to _also_ (but less frequently) use a VPC with an iMIS environment to make sure that everything works right. QA testing will be done here as well.
Will this work? Is it a good idea?
EDIT:
The motivation for this is two-fold:
First, if there is some variable about the iMIS environment that causes some things to work that shouldn't, or other things to not work that should, I would like to know about it. Testing without an iMIS environment as well as with one will reveal any variables between the two. I would like to know what about the iMIS environment is required, and how to handle any changes made therein. A good test harness run without the environment should, in theory, help ensure change-proof software.
The other reason is performance. I will be running many automated tests frequently, there is limited hardware on the VPC server(s), and there are limited VPC's. I want to shorten the feedback cycle if possible, catching 80% percent of the bugs via faster unit and integration tests w/o the iMIS environment, and the other 20% with an actual iMIS environment.
Don't you have it all covered if you've got a VPC with iMIS?
Not sure I understand your intent. It sounds like you want to do some iMIS development without having "iMIS" running, but then you indicate that you'd also have a virtual machine with iMIS on it to make sure everything works right. Doesn't that sort of mean that you've got everything you need to do development, including the front-end client to QA with?
Personally I don't think you should do any development (replete with testing) without the iMIS client front and center. Developing against SQL only is not a good idea, you'll want to test (often) the results of your development via the client. Having had to support attempts by other developers that had access to iBO and SQL but nothing else, it's not pretty to find out that all the work they did blew up as soon as someone opened up an ID in iMIS.
Just my opinion.
Jake