Architecture Documentation
From OSPDocs
Introduction
This architecture documentation seeks to provide a basic understanding of the working of USIP OSP to help developers and integrators quickly get up to speed with its use. Its assumed that anyone reading this document has a basic understanding of what the OSP does and looks like to someone at either the player, facilitator or author levels.
We will start by discussing our technology stack, and common programming procedures. Then, to get a good feel for what the basic objects involved in creating a simulation are, we will discuss what a basic simulation page is and what object it contains. From this basic understanding we then move to specific sub-systems of the tool and the major objects and processes contained in each. A simulation has many parts: it has the part that maintains user information, a part that maintains the basic scenario information, a part that maintains how particular players have performed, a part that manages communication from the server to the client where the player is working, etc. We will walk through all of these sub-systems.
In Appendix A we will discuss some of the considerations that have lead us to this architecture. In Appendix B, we discuss how we will be facilitating the integration of third party tools. There is a wealth of free software out there, and we would be foolish to ignore it. But integrating software is never easy. To take as much advantage as possible of the ‘open source software revolution’, we will do whatever we can to spell out how we can work with other people’s products.
Table of Contents
- Introduction (above)
- Technology Stack and Common Programming Procedures
- Technology Stack
- Common Programming Procedures
- A Simulation Page
- Header Section
- Simulation Section
- Main Simulation Objects
- Universal Architecture Subsystems
- USIP OSP Auditing
- USIP OSP Internationalization
- USIP OSP Logging
- Network Architecture
- Web Cache
- Persistence
- User administration
- USIP OSP Web Interface Pages
- User Schema Information
- Simulation Authoring Architecture Subsystems
- Simulation Creation Wizard
- Simulation
- Simulation Section Creation
- Base vs. Customized
- External Sections
- The Base Sim Section Table
- Simulation Section Assignments
- Defining Simulation Sections
- Simulation Playing Architecture Subsystems
- Simulation Sharing Architecture Subsystems
- Appendix A: Design Considerations and Phased Development
- Design Considerations
- Phased Development
- Appendix B: APIs
- Communicating with Simulation Sections
Next: A Simulation Page