Thanks again.
In the mean time I've managed the following:
Hence, I'm going to clean up the whole thing, add more tests and tell the rest of the team that we should be able to pull this one off. In the end I'll have a good testing environment where I can develop and try out all commands we may want to implement, all by using a service that can be deployed on any machine I want so that even if it will malfunction the problem will not propagate to the main application (the only issue will be with the R-related functions). I also haven't touched R.Net code itself, nor R, so in terms of licensing I think we should be on the clear.
Will post the news here once I'll have more tests done.
Thanks skyguy and all the devs in the project!
Sergio
In the mean time I've managed the following:
-
WCF RESTUFL service that includes all the code that talks with R, it will have one endpoint for each different function that we may need. This project (as well as the Sliverlight client host) run directly on IIS, not the VS Development Server, as this allows me to test security and stability in a configuration that is almost identical to what will run in production.
-
Testing App that follows our paradigm: Sliverlight client, Business Layer via CSLA, CSLA command objects will access the WCF service.
-
Two "Test" commands implemented: the first receives data, the second a plot.
The whole thing is stable, unless I stop debugging while the service is executing something. If I do this, the next time the service tries to access the R.Net engine the IIS working process starts saturating a CPU and never returns; can't blame it, as in these conditions all the necessary cleanups aren't performed, but the main process remains active as it's running via IIS, clicking STOP(debug) just detaches the debugger. To avoid this problem I can just recycle the worker process, and when the automatic recycling happens the box returns quiet in all cases.
Hence, I'm going to clean up the whole thing, add more tests and tell the rest of the team that we should be able to pull this one off. In the end I'll have a good testing environment where I can develop and try out all commands we may want to implement, all by using a service that can be deployed on any machine I want so that even if it will malfunction the problem will not propagate to the main application (the only issue will be with the R-related functions). I also haven't touched R.Net code itself, nor R, so in terms of licensing I think we should be on the clear.
Will post the news here once I'll have more tests done.
Thanks skyguy and all the devs in the project!
Sergio