Would the engine as a seperate webapp do better under heavy load, even though we are dealing with intra-process communication. What have you seen in the fields that work well?
Once a course is launched, load from the course is either content requests, which don’t hit the SCORM Engine, or the periodic postbacks of course state. These postbacks are by default every 10 seconds if there is dirty course state. If load does become an issue then this commit frequency can be set longer quite safely, 10 seconds is a very conservative figure.
An advantage of keeping the SCORM Engine as a separate webapp is that you could then distribute it independently of your LMS web apps if you wanted to spread the load over multiple servers (the SCORM Engine is stateless). Also deployment is much easier if you keep the SCORM Engine as a separate webapp.