This is place to store information about the services related Pod beans, as well as to alternative runtimes environments, and the different parts of those runtime environments.
Examples of runtime environments:
- Student Runtime launched from portal
- Preview runtime launched from authoring tool during authoring.
- Userdata Debugging runtime launched to test userdata creation.
Service interfaces and classes:
net.sf.sail.core.session.SessionDataService
- provides the offering
- returns UserS from userids
- returns AgentService given a SessionContext
net.sf.sail.core.session.SessionConfiguration
- provides session uuid, participants (UsersUuidS), SessionDataService
net.sf.sail.core.session.SessionFactory
- given a SessionConfig it returns a SessionContext
- it has 2 types of contexts : LearningSession and BasicSession
net.sf.sail.core.beans.SessionContext
- implements BeanContextServices through BeanContextServicesSupport
- contains SessionContext.ServiceProvider that implements BeanContextServiceProvider
- provides net.sf.sail.core.beans.service.SessionService and net.sf.sail.core.beans.service.AgentService
- it creates a net.sf.sail.core.session.DefaultSessionService for the SessionService
- the AgentService is setup by SessionContext.setDataService which gets a SessionDataService and calls
getPersistenceService on it.
- provides life cycle "services" to the launching framework: initiate, start, tryToTerminate,
- provides startTime, stopTime, sessionId, sessionDataService, getOffsetMilliseconds
java.beans.beancontext.BeanContextServices
- provides an interface to beans needing services.
- contains BenContextServiceProviderS that are delegated to when a service is requested by a bean
Current launch sequence for preview
- PreviewSessionConfiguration is created from a curnitUrl
- LaunchGenericSession.launchSession is called with sessionConfig
- launchSession shows progress bar gui
- create a SessionContext object with SessionFactory.getLearningSession(sessionConfig)
- the SessionContext class is instanciated
- a SessionDataService is requested from sessionConfig.getSessionDataService()
- this is added to the SessionContext object
- the offering is returned from the data service and added to the SessionContext
- the users are returned from the sessionConfig and added to the SessionContext
- the curnit is requested from the offering and assembled
- the root pod is found in the curnit and added to the SessionContext
- calls session.initiate()
- registers ServiceProvider with peer beancontextservices (the peer is probably "this")
- fires a SessionEvent.INITIATE
- calls session.start()
- saves the start time and fires SessionEvent.START
Current launch sequence for pas learner runtime
- xml file is passed to LaunchGenericSession.getSessionConfiguration
- XmlSessionConfiguration is loaded using XStream from an xml file.
- passes this session configuration to LaunchGenericSession.launchSession
- continues the same as preview sequence
Labels
(None)