DIGITAL LIBRARY
DESIGN OF REST CLIENT ARCHITECTURE FOR COURSE RESOURCES DOWNLOAD AND PACKAGE
1 Sofia University (BULGARIA)
2 Technical University-Sofia (BULGARIA)
About this paper:
Appears in: INTED2016 Proceedings
Publication year: 2016
Pages: 6513-6521
ISBN: 978-84-608-5617-7
ISSN: 2340-1079
doi: 10.21125/inted.2016.0535
Conference name: 10th International Technology, Education and Development Conference
Dates: 7-9 March, 2016
Location: Valencia, Spain
Abstract:
One of the main functionality of each Learning Content Management System is to support and deliver different learning resources. They can be used and reused for learning content or activity representing digital and web-based modular resource like image, video or audio file, text, etc. Nowadays, each course author has a numerous collection of learning resources which represent specific area of knowledge and related to the latest available achievements of science and culture.

In current research the famous learning content management system Moodle is examined wich has both most important stakeholders of learning process - students and teachers. This platform gives the ability of teachers to enrol students, organize and create courses, provide learning materials, examine assignments and exams of students. From the student side, there is the ability to attend to online courses, submit their assignment and read materials provided by the teacher.

The Moodle platform, world’s most used learning platform, has one disadvantage: there is no easy way for students and for teachers to export, save to external media or backup the whole course resources, which was created by students and teachers. All of them can be viewed online, but they cannot be saved to the hard drive or distributed easily to other physical media.

In this context, we have been motivated to propose performance-increasing approach that retrieves available course resources for downloading and packaging and design and create a software client architecture, which connects to a remote server that runs the Moodle platform.

Each software system can be decomposed into submodules that provide related set of services. The architectural design is the first step in the design process, establishing a basic structure that identifies the primary components and the communication between them. The architecture affects robustness, distributability and maintainability of the system. In the paper we discuss which the primary design aspect is.

One of the major issues is that we have to cope with huge number of course data. To address such challenge, the performance should be the leading design element. One way to achieve this is using the concurrency property, providing the ability to run several computations. For better results, we divide our architecture so, that there is a submodule, which will be independent from the rest and it has to manage all the processes that will be running.

Using the Moodle’s Web Service API, а web service function, which wraps up the retrieving of course details and resources, is created and exposed for external use. The application consumes this web service to deliver all available resources of a given course, with the addition of some features, such as keeping the internal structure of course organization, downloading different types of resources and packaging. To prevent security issues, a user token is needed for successfully connection to the Moodle server which is given by the administrator of the platform.

We summarized the key objectives that one must follow for achieving fully satisfaction of the user requirements. Solution overview was presented to describe the basic idea of the developed application. We have provided an architectural design that describes the key concepts when building the application including the architectural style, modular decomposition, control styles and conceptual algorithm to improve the performance of the application.
Keywords:
Software architecture, software tool, Representational State Transfer (REST), e-learning, web engineering.