2017 Fiscal Year Research-status Report
Development of a learning platform for sharing data and functions with Web API
Project/Area Number |
17K00490
|
Research Institution | Oita University |
Principal Investigator |
吉崎 弘一 大分大学, 学術情報拠点, 准教授 (10351785)
|
Project Period (FY) |
2017-04-01 – 2020-03-31
|
Keywords | 情報システム / 学習支援システム / 学習プラットフォーム / Web API / REST API / Client Side Rendering |
Outline of Annual Research Achievements |
本研究で構築する学習プラットフォームの要素技術として、主に学務情報の連携と認証/認可に関する技術について調査と検証を行った。学務情報の連携については、REST APIを用いることができる標準規格のIMS OneRosterを利用することを決め、同規格を用いた学務情報システム(SIS: Student Information System)と学習支援システム(LMS: Learning Management System)の連携についての技術的な検証を行った。また、後者の認証/認可については、LDAP, Shibboleth, JWT, Oauth2 等の技術の調査などを行った。
Web APIを介して取得したデータを利用するWebクライアントのアーキテクチャには、SPA (Single Page Application) と CSR (Client Side Rendering)を採用することとした。同アーキテクチャに基づたアプリケーション開発には、オープンソースのJavaScriptフレームワークであるVue.jsを用いることとし、試験的に開発したWebアプリケーションをRuby on Rails 5で実装した APIサーバに接続させることで、ルーティングやクライアントサイドでのデータ保持の手法について確認した。
上記のプラットフォームを構築するための要素技術の研究に加え、プラットフォームの機能的な特徴となるテキストアノテーションに関する機能拡張も行った。この研究では、学習コンテンツとしてPDFファイルをWebシステム内に表示できるようにした上で、PDFファイル内の選択テキストにハイライトを表示し、そのテキスト情報をシステムのデータベースに保持する機能を、学習支援システムLePoに実装した。
|
Current Status of Research Progress |
Current Status of Research Progress
3: Progress in research has been slightly delayed.
Reason
学習プラットフォーム上の全ての処理に対して、サーバ側でWeb APIを整備し、クライアント側でUIを構築するCSR (Client Side Rendering)アーキテクチャは、アプリケーションサーバとクライアントを疎結合にし、システムの開発・運用に柔軟性をもたらす。その一方で、SSR(Server Side Rendering)で構築した既存のWebシステムを、Web API と CSRで構成するアーキテクチャに移行することは、多大な労力を必要とする。本研究で利用する予定の学習支援システムもSSRアーキテクチャで既開発であり、このアーキテクチャの移行が滞っている。今後、段階的、または部分的なアーキテクチャの移行について、具体的な手法を決定する必要がある。
なお、本研究で開発する学習プラットフォームの中核をなす、学習支援システムLePoについては、オープンソースソフトウェアとして、2017年8月にGitHubに公開した。また、PDFファイルへのテキストアノテーション機能については、2018年3月に情報処理学会第80回全国で報告した。
|
Strategy for Future Research Activity |
2017年度に試験的に開発したAPIサーバ/CSRアプリケーションを発展させ、教学を支援する複数のAPIサーバ/CSRアプリケーションを開発する。その際には、本研究で開発するシステムだけではなく、既存のオープンソースソフトウェアとのAPI連携についての検討・実証実験を進める。また、プラットフォームとして各々のアプリケーションに提供する機能を整備し、SSO (SIngle Sign-On)、学務情報の提供に加え、学習ログの保存、ログ解析をするための機構を実装することを予定している。
また、本研究で利用する学習支援システムLePoは、Ruby on Railsのバージョン5.0で開発しているが、これを2018年度中にバージョン5.1にアップデートすることを予定している。このアップデートにより、各種JavaScriptライブラリを用いたフロントエンド開発が、より効率的に行えるようになる。
オープンソースソフトウェアとして公開した学習支援システムLePoについては、より広く利用されるようにするため、現在は部分的な実装に留まっているUIの英語化とマニュアルの整備を行う予定である。
|
Causes of Carryover |
研究に必要な機材の発売が遅れたため。
|