1 / 27

LAMS 2.0 Architecture

LAMS 2.0 Architecture. Agenda. LAMS 2.0: Technical Aims Architecture Technologies LAMS Core LAMS Tool Contract External Tools. LAMS 2.0 Aims. Improve scalability Modular Architecture (tool plug-ins) Interoperability Internationalisation. LAMS 2.0 Features “Tech Stuff”. Scalability

fritz-dale
Download Presentation

LAMS 2.0 Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LAMS 2.0 Architecture

  2. Agenda • LAMS 2.0: Technical Aims • Architecture • Technologies • LAMS Core • LAMS Tool Contract • External Tools

  3. LAMS 2.0 Aims • Improve scalability • Modular Architecture (tool plug-ins) • Interoperability • Internationalisation

  4. LAMS 2.0 Features“Tech Stuff” • Scalability • Multiple authentication mechanism • LAMS Tools Contract • Easy add/import new activity tools • Support for multiple databases • External Tool Wrapper

  5. LAMS 1.0.x vs LAMS 2.0Architecture Comparison

  6. LAMS 1.0.x vs LAMS 2.0Architecture Comparison LAMS 2.0 Architecture

  7. LAMS Technologies JBoss Appserver LAMS 2.0 Tool A Core Functions and Services Webserver (Apache, IIS) Users Web Browser Tool B HTML (JSPs) and XML over HTTP Tool C Hibernate Oracle

  8. Frameworks and Class Libraries: The Biggies • Spring: The glue holding LAMS together. Handles transactions, accesses the service bean in the tool and core modules, etc. • Hibernate: Database Layer. Service caching is done using Hibernate and JBOSS. • Struts: Web Layer

  9. Frameworks and Class Libraries: Some More • Too many to name them all, but to a few: • Axis for Webservices • Jakarta Commons • JFreeChat for Charts • Quartz for Scheduling • Log4J for Logging • WDDX: XML based Flash to Java Communication

  10. LAMS Scalability JBoss Cluster Jboss 1 DB Cluster Oracle Jboss 2 Webserver Load balancer Oracle Jboss 3 Jboss 4

  11. LAMS Core

  12. Questions on Architecture?

  13. Tools & Tools Contract • LAMS is one EAR, with the tools as “almost” independent web applications within the EAR. • Set of expected behaviours, registered URLs and API calls that a LAMS Tool has to implement to "talk" to LAMS Core. • Clear separation between Design and Tool Content. • http://wiki.lamsfoundation.org/display/lams/Tool+Contract Stores andmanagesDesigns My LAMS Tool Manage its own content Author LAMS Core Admin Tool Contract Learner Monitor Services

  14. My LAMS Tool Author Contract/API Admin Contract/API Learner Contract/API Monitor Contract/API Services API Author Admin Learner Monitor Services

  15. My LAMS Tool • Authoring URL <lams base path>/<tool's authoringurl>&toolContentID=123&contentFolderID=123A...D123 • Default Tool content • Author environment must have three mandatory tabs: Basic, Advanced and Instructions • Preview URL<lams base path>/<tool's preview url>&toolSessionID=123Often the same as learning with a mode=author flag • Import/Export: supply an object which is converted to/from XML Author Contract/API Author Contract/API Author

  16. My LAMS Tool • Monitor URL • <lams base path>/<tool's monitor url>&toolContentID=123&contentFolderID=11A..D2 • Implement Summary, Instructions, Edit Activity and Statistics tabs. • Allow edit and hide entries (when required). • Learner Progress • “Looking over the learner’s shoulder” • <lams base path>/<tool's learner progress url>&userID=<learners user id>&toolSessionID=123 • Export Portfolio URL • Export all of the lesson data:<lams base path>/<tool's export portfolio url>&mode=teacher&toolContentID=123 • Export as if you were a learner:<lams base path>/<tool's export portfolio url>&mode=learner&toolSessionID=231&userID=10 Monitor Contract/API Monitor Contract/API Monitor

  17. My LAMS Tool • Learners URL • <lams base path>/<tool's learner url>&toolSessionID=123 • Handles Define later, Lock on Finish, Run offline • Notify Sequencing Engine of users’ completion • Export Portfolio URL • <lams base path>/<tool's export portfolio url>&mode=learner&toolSessionID=231 Learner Contract/API Learner Contract/API Learner

  18. My LAMS Tool • Edit “Default Tool Content” • Reuses authoring url, with the tool content id = default tool content id. • Future: Administration URL • Provide statistics about Tool usage • General view of Tools metadata (tool version, etc) Admin Contract/API Admin Contract/API Admin

  19. My LAMS Tool • Chat/IM server • Potentially any Jabber server, currently using Wildfire. • Journal and notes • In authoring the author selects whether or not to display a notebook entry screen at the end of the tool’s screens. The notebook entries are stored centrally, not in the tool. • Content repository • Add/Remove content • Add new versions of content • Stream content to users Services API Services API Services

  20. Tool Writer’s Helps • Rename Utility: Start by copying an existing tool and modifying. Needs more work! • Custom Tags for common buttons, fields, controlling stylesheets, etc • Automatic Internationalisation and Localisation via LocaleFilter. Just use the standard JSTL tags.

  21. Questions on the Tool Contract?

  22. External Tool Wrappers An external tool can be used as normal LAMS Tools using the tool wrapper. Effectively, Moodle, .LRN or Sakai tools can be used as native LAMS tools (including advanced features as groupings, branching, define in monitor, etc). We hope to develop a generic tool wrapper that tool writers can use to wrap up other tools. ExternalToolWrapper Author External Tool Admin Learner Tool Contract Tool Contract Monitor Stays the same Customise Services

  23. External Tool Wrapper(Sakai Example) The LAMS/Sakai wrapper provides another level of abstraction to bundle Sakai activities as LAMS native tools that you can drag and drop create learning sequences just like any other tool Author ExternalToolWrapper (provided by LAMS) Test Engine Admin WS/Sakai API Learner Tool Contract Monitor Services

  24. LAMS External Tool JBoss Appserver LAMS 2.0 Tool A Core Functions and Services Webserver Users Web Browser Tool B Tool Adapter HTML (JSPs) and XML over HTTP Web Services & URL Calls Hibernate Test Engine Oracle

  25. LAMS External Tool

  26. Questions? • http://wiki.lamsfoundation.org/ • Online Help: LAMS Documents • Developer Doc: LAMS 2.0 • http://lamscommunity.org/

More Related