Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "LAMS 2.0 Architecture. LAMS 2.0 Architecture Agenda LAMS 2.0: Technical Aims Architecture Technologies LAMS Core LAMS Tool Contract External Tools."— Presentation transcript:

1

2 LAMS 2.0 Architecture

3 Agenda LAMS 2.0: Technical Aims Architecture Technologies LAMS Core
LAMS Tool Contract External Tools

4 LAMS 2.0 Aims Improve scalability Modular Architecture (tool plug-ins)
Interoperability Internationalisation

5 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

6 LAMS 1.0.x vs LAMS 2.0 Architecture Comparison

7 LAMS 1.0.x vs LAMS 2.0 Architecture Comparison

8 Core Functions and Services
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

9 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

10 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

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

12 LAMS Core Common: Common services and data structures, common css files and images. lams.jar, lams-central.war Admin: Group and User Administration, System Administration lams-admin.jar, lams-admin.war Author: Supports Authoring Client – saving, opening designs, import and export of designs. lams-central.war Monitor: Supports Add Lesson and Monitor Clients lams- monitoring.jar, lams- monitoring.war Learner: Supports Learner Client. Includes the progress engine. lams-learning.jar, lams-learning.war

13 Questions on Architecture?

14 Tools & Tools Contract Manage its own content My LAMS Tool LAMS Core
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. Stores and manages Designs My LAMS Tool Manage its own content LAMS Core Author Admin Tool Contract Learner Monitor Services

15 My LAMS Tool Author Admin Learner Monitor Services Author Contract/API
Admin Contract/API Learner Contract/API Monitor Contract/API Services API Author Admin Learner Monitor Services

16 My LAMS Tool Author Contract/API
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=123 Often 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

17 My LAMS Tool Monitor Contract/API Monitor Monitor URL Learner Progress
<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

18 My LAMS Tool Learner Contract/API Learners URL Export Portfolio 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

19 My LAMS Tool Admin Contract/API Future: Administration URL Admin
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

20 My LAMS Tool Services API Services Chat/IM server Journal and notes
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

21 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.

22 Questions on the Tool Contract?

23 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. External Tool Wrapper Author External Tool Admin Learner Tool Contract Tool Contract Monitor Stays the same Customise Services

24 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 External Tool Wrapper (provided by LAMS) Test Engine Admin WS/Sakai API Learner Tool Contract Monitor Services

25 Core Functions and Services
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

26 LAMS External Tool

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


Download ppt "LAMS 2.0 Architecture. LAMS 2.0 Architecture Agenda LAMS 2.0: Technical Aims Architecture Technologies LAMS Core LAMS Tool Contract External Tools."

Similar presentations


Ads by Google