Moodbile Spec
Contents |
Moodbile Webservices Specification
Moodbile Spec is a specification of (web)services for supporting the integration of external apps with the LMS. The Moodbile Spec (web)services are not bound to a specific Webservices protocol. The Services need to be implemented in the LMS side. For the version 0.2 of the Moodbile Spec we provide the Moodbile Server for Moodle v0.2 as a reference implementation for Moodle
The current version of Moodbile Spec can be found here Moodbile WS Documentation v0.2.
Understanding the Moodbile Spec on Moodle
Since its version 2.0 on 2010 Moodle implements native webservices. The previous picture represents the native Moodle Webservices Architecture and how Moodbile Server for Moodle implements it.
- Moodle implements an API of core functions providing the logic of the Learning Management System.
- There is a layer of so called external methods that implement the services that Moodle offers to the outside.
- Moodle implements some connectors that transform the external methods into webservices, each connector implement a different protocol.
- Moodbile implements an API of external methods designed to interact with external apps like mobile learning apps. Some of this methods are based on the Moodle Core or the Moodle own external layer (5, and 6) , other are implemented specifically by Moodbile. Moodbile uses some Moodle native webservices connectors, but it also implement some connectors on its own.
Why the Moodbile Spec ?
We are designing the Moodbile Spec to be protocol agnostic and LMS agnostic. Actually we are only working with Moodle as core LMS, but we would like to implement the Moodbile Spec for other LMS (Like Sakai or OLAT for example) so the developers that use Moodbile Spec will be able to deploy their apps on these platforms too.
Why not to simply use the native Moodle external Layer ?
The Moodle official distribution doe snot implement (yet) enough services to develop the kind of apps we have in mind. By implementing Moodbile Server for Moodle we put a collection of services in the hands of developers hoping this services will find its way into Moodle trunk.
What about authentication
One of the webservices connectors provided by Moodbile implements Oauth, enhancing the security for Mobile Apps.
Webservices protocols ?
In addition to the Moodle Native Webservices Connectors, Moodbile Server for Moodle implements several additional connectors. ' Native Moodbile webservices protocols'
- JSON-AJAX
- JSON-P With OAuth Authentication
- JSON-RPC
- JSON-RPC With OAuth Authentication
- REST With Oauth Authentication
See the discussion page about Moodbile Spec and Sakai

