Feature Wiki
Tabs
REST Service
Page Overview
[Hide]1 Description
The plugin has been made available for everyone of the ILIAS community as open source software at Github.com (see link below).
https://github.com/hrz-unimr/Ilias.RESTPlugin
Its core features are:
- Extensibility. This is done by a modular architecture based on the SLIM REST framework.
- Secureness. A permission system that controls access to (an possibly evolving) API for various REST clients. This is done by an implementation of OAuth2 (RFC6749) including Bearer Tokens.
- Personalizable. using the internal role based system, operations on resources can only be applied for users which have the appropriate permissions.
1.1 AK, 19 Feb 2014
- We need a strategy to decentralize controllers into the the different components. Typically components register things in their service.xml/module.xml files. 15 Sep 2014: Max made a proposal for a service discovery concept in the Workflow Engine SIG.
- For the authentication, I would like to Stefan to work out some concept. Supporting different methods like basic auth or certificates definitely makes sense.
- We need a good way to re-use code that is already used in the usual web-front-end scenario. E.g. permission checking, parameter validation, and "use case / interaction" logic. This should not be part of rest controllers. They should only include logic related to the handling of rest-requests and responses. This is the main architecture part.
- I am not sure if we need a WSDL-like spec of the whole interface. The request and response structures must be well-defined and documented. Something like JSON Schema, see also this page. 15 Sep 2014: Again the use of Service Discovery and ADT concepts should be helpful here.
- We need a versioning of the api, something like /rest/v1/... /rest/v2/... should be sufficient
- We need implementation guidelines for the different REST verbs. Do we only use GET/POST? What would it need to make use of PUT/PATCH/... (I didn't check it, but at least PUT should be possible)
2 Additional Information
- Idea / concept: Stefan Schneider, Universität Marburg (schneider@hrz.uni-marburg.de)
- Funding: Required
- Maintainer: tbd
- Development: Feature is to be developed by tbd
- Test cases: tbd
3 Discussion
JF 20 Aug 2012: A general REST interface brings up some questions on the ILIAS architecture that we would like to adress in a workshop of the developers. We started to make developer meetings of the core developers in April 2012. We will schedule a next meeting after 4.3 is stable and propose to make the architecture the main topic. Stefan, we will contact you and invite you to the meeting.
MB 14 Mar 2014: The Introducing Workflow Engine can be extended to offer RESTful webservices. I strongly support a REST Service that allows for modular extension and that supports "industry-common" lightweight authorization.
JF 15 Sep 2014: We support the idea to move forward with a general REST service for ILIAS 4.6. We will continue to discuss the technical details. Since xAPI will not be ready for 4.5, xAPI may be based on a general REST solution, too.
4 Implementation
Last edited: 27. Mar 2015, 16:44, Kunkel, Matthias [mkunkel]