標準化の視点から見た大学ICTシステムの統合 : 熊 本大学における事例研究
著者 中野 裕司
出版者 法政大学情報メディア教育研究センター
雑誌名 法政大学情報メディア教育研究センター研究報告
巻 33
ページ 22‑26
発行年 2019‑05‑10
URL http://doi.org/10.15002/00022791
法政大学情報メディア教育研究センター研究報告 Vol.33 法政大学情報メディア教育研究センター研究報告 Vol.33 (2019)
原稿受付 2018年10月18日 発行 2019年5月10日
標準化の視点から見た大学 ICT システムの統合 – 熊本大学における事例研究 –
University ICT System Integration from the Perspective of Standardization – Case Study at Kumamoto University –
中野 裕司1)
Hiroshi Nakano
1)熊本大学総合情報統括センター
In this paper, we introduce university system integration, especially the case study of Kumamoto University from the perspective of standardization. Under the university portal, various systems have constructed an environment in which users can seamlessly use them through single sign-on and data synchronization in various formats. In particular, data synchronization between SIS and LMS using IMS Enterprise enabled smooth change of LMSs. Recently, WebAPI, which is being introduced to web applications due to expandability and mashup possibility, has high real-time nature, but IMS Enterprise is premised on batch processing and it is difficult to synchronize data in real time. IMS OneRoster, a successor standard of IMS Enterprise, supports not only CSV but also WebAPI, it therefore can reflect on the LMS immediately after registration of subjects in SIS. It should be considered to introduce. Although such data synchronization tends to be considered as a site-level talk, it must be considered based on long-term strategy, because it occupies an important position in service improvement, cost reduction and security enhancement.
Keywords : IMS, Enterprise, OneRoster, WebAPI, LMS, SIS, SSO, CAS
1. はじめに
大学における
ICT
システムは、研究、教育、管 理等様々な目的のものがあり、多岐にわたる。ここ では、主に教育に関連するシステムについて考えて みよう。まず、入り口にあたる大学ポータルと認証 システムにはじまり、受講登録や成績管理を行う学 務情報システム(SIS)、授業の内容等を紹介するシ ラバスや時間割システム、学習コンテンツを置い たりe
ラーニングをサポートする学習管理システム(LMS)、学習成果をまとめたりリフレクションを 行う
e
ポートフォリオシステム等々、多くのシステ ムが存在する。本稿では、これらのシステムの連携と標準化と いった視点で、熊本大学の事例を紹介する。
2. 認証連携
認証システムに関しては、2006年度に、シング ル・サインオン(SSO)システムとしてCAS [1]を 導入し、大学ポータル、LMS等を手始めとして、
対応システムを徐々に拡大してきた。
生涯IDである熊本大学IDを導入することでIDの 名寄せ・統合を行い、CASゲートウェイによる新 旧IDのユーザから見たシームレスな連携を行い、
図1に示すような形となった[2]。ゲートウェイによ り、学認との接続も可能となった。
現在は、LMS、ポータルに加え、SIS、シラバ ス、図書館、授業アンケート、時間割、eポート フォリオ、学習成果可視化システム等の学習支援関 連システムだけでなく、大学評価、物品管理、安否 確認、オンラインストレージ、兼業等、20以上のシ
Copyright © 2019 Hosei University
法政大学情報メディア教育研究センター研究報告 Vol.33
ステムがSSO可能になっている。
このように、認証連携に関しては、SSOで多くの システムが連携し、ユーザから見たとき、どれかの システム(大学ポータルの場合が多いが)にログイ ンすると、他のほとんどのシステムがそのまま利用 できるといった環境にあるといえる。
しかし、様々なシステムで、そのユーザがどこの 所属で、どういう立場(学生の場合は学部、学年 等、教職員の場合職種、所属等)で、どのような科 目を受講(または担当)している等、共通のデータ が必要となるが、SSOだけではこのような情報は共 有することができない。次に、これらのデータ共 有・同期に関して示す。
3. データ連携
前述のように、大学における情報システムは、学 習支援関連だけでも、SIS、LMSをはじめ多岐に渡 り、それらに共通に必要なデータ、例えば、所属、
履修情報、成績等が存在する。これらのシステム間 で共有すべきデータは、学務システムが起源となっ ている場合が多いが、組織やデータの種類によって 例外もあろう。
熊本大学におけるこのようなデータの連携状況
を図2に示す。学生だけでなく教職員も含めた科目 履修(担当)情報や所属情報はSISが起源で、中間 サーバによるデータ変換を経て、標準規格である
IMS Enterprise [3]形式で、LMSにデータ同期を行っ
ている(詳細は次節で述べる)。LMS以外は、ほ とんどの場合、CSVやSQL形式で同期しており、そ れらの同期は夜間バッチによる1日1回である。図2において、IMS Enterprise以外のCSV、SQL 等は、標準規格に従っていないが、唯一、
LRS
(Learning Record Store)であるOpenLRWが標準規 格IMS Caliper [4]に従っている。これは、機能的に は、情報共有というより学習ログの収集であるが、
MoodleプラグインのCaliper log storeとOpenLRW両
者が同じ標準規格IMS Caliperをサポートしているた め、ほぼ両者の設定のみで容易にデータ接続が可能 になる例といえる[5]。4. IMS Enterprise によるデータ連携
前節で示したように、受講情報等のデータ連携 を
CSV、SQL、IMS Enterprise
等 で 実 現 し て い る が、その中で標準化の効果を示す例として、IMSEnterprise
によるデータ連携を取り上げる。IMS Enterprise
は、1999年にはすでにversion 1.01
が出された、科目及びその科目への登録者(学生、担当教員等)、登録者のプロフィール、最終成績等 を
XML
で記述する標準規格で、熊本大学が導入し た2004
年には、米国ではすでに多くのSIS
やLMS
で標準的にサポートされていた。熊本大学では、当時
WebCT
を導入しており、SISに登録された全科目とその登録者を
WebCT
に同期しようと考えた。WebCT
側は、独自規格とIMS Enterprise
をサポート していたが、SISはどちらもサポートしていなかっ た。どちらにせよ、なんらかの変換が必要であった ため、汎用性を考えてSIS
からIMS Enterprise
への 変換プログラムを作成し、夜間バッチで日々の同期 を開始した[5]。その結果、事務サイドが SIS
に科 目を登録すると、翌朝には、LMS上に当該科目が 生成され、学生がSIS
で受講登録を行うと、翌日に は、LMS上の当該科目に当該学生が登録されるよ うになった。さらに、2008年度、大学ポータル上 に時間割タブを設置し、SSOとの連携で、個々人 の時間割の科目名からLMS
の当該科目へ直接アク セス可能とした[6]。
この
IMS Enterprise
によるデータ同期が特に有効であったのは、図
2
に示される2
つのLMS
への 矢印部分である。これは、全学LMS
を、WebCT 図 1 統合ID
とシングル・サインオンの主な流れFigure 1 Main flow of university ID and Single Sign-On
図 2 履修情報等の共有の主な流れ Figure 2
Main flow of sharing course information etc.
法政大学情報メディア教育研究センター研究報告 Vol.33
か ら
Moodle
へ 切 り 替 え た と き、 両LMS
がIMS
Enterprise
をサポートしていたので、SISとの同期の同時並行運用と切り替えが非常にスムーズであっ たことである。
実際の
IMS Enterprise
形式のファイルを図3
に示 す。ここに書かれているのは、ある年度、学期の1
科目と、その科目に教員、学生各1
人ずつを登録し たもので、大学全体の受講登録をこの形式で表すと 膨大な大きさになり、例えばこのファイル全体では、単年度で約
60MB
になり、全体を同期するにはそ れなりの時間を要する。5. 今後の方向性と IMS OneRoster
前節で紹介した
IMS Enterprise
は比較的大きなXML
データとなり、また、データの送受信に関す る規格をもたず、リアルタイムではなく定期的な バッチ処理を前提としている。しかし、定期的な バッチ処理では、SISで受講登録をしてすぐにLMS
で授業の予習をするといった環境の構築は難しい。また、SISで登録した科目が、翌朝まではポータル の時間割に登録されない等といった問題は解決し難 い。
このようなリアルタイムのデータ同期を実現する ことのできる標準規格として、IMS Enterpriseの後 継的な標準規格の
IMS OneRoster [7]
がある。本規 格は、データの送受信形式としてREST
型のWeb
API、データ形式として JSON
をサポートしており、最近の
Web
アプリケーションとの親和性が高く、リアルタイム処理の実現に適している。一方で同規 格は
CSV
形式のデータもサポートしており、バッ チ処理も問題ないと思われる。図
4
に、科目情報をIMS OneRoster
のJSON
で記 述した例を示す(ほんの一部で、実際には多くの属 性がある)。このようなデータをどのようにして得 るかというと、例えば、バージョン1.1
の例を次に 示す。例えばすべての科目情報を得るには、HTTP のGET
で、https://imsglobal.org/ims/oneroster/v1p1/courses
の よ う に す る。 こ こ で、https://imsglobal.orgの 部 分は各サーバのものを用いるが、それ以外の
ims/
oneroster/v1p1/courses
の部分は、全くこの通りにし なければならない[7]。逆に言うと、規格に従って
いれば、ほとんど変更なしで別の組織の科目情報が 同じ形式で取得できる。また、最後のcourse
の部分(endpoint)を、
course/{id}
とすると特定の科目群が、/schools/{id}/courses
とすると、特定の学部の科目群 図 3 IMS Enterpriseによる科目情報の例Figure 3 A course specifocation by IMS Enterprise 法政大学情報メディア教育研究センター研究報告
Vol.33
Copyright © 2018 Hosei University
法政大学情報メディア教育研究センター研究報告Vol.33
としている。しかし、定期的なバッチ処理では、
SIS
で受 講登録をしてすぐにLMS
で授業の予習をするといった 環境の構築は難しい。また、SIS
で登録した科目が、翌 朝まではポータルの時間割に登録されない等といった 問題は解決し難い。このようなリアルタイムのデータ同期を実現することの できる標準規格として、
IMS Enterprise
の後継的な標準 規格のIMS OneRoster [7]
がある。本規格は、データの 送受信形式としてREST
型のWeb API
、データ形式とし てJSON
をサポートしており、最近のWeb
アプリケーショ ンとの親和性が高く、リアルタイム処理の実現に適して いる。一方で同規格はCSV
形式のデータもサポートし ており、バッチ処理も問題ないと思われる。図
4
に、科目情報をIMS OneRoster
のJSON
で記述 した例を示す(ほんの一部で、実際には多くの属性があ る)。このようなデータをどのようにして得るかというと、例 えば、バージョン1.1
の例を次に示す。例えばすべての 科目情報を得るには、HTTP
のGET
で、https://imsglobal.org/ims/oneroster/v1p1/courses
のようにする。ここで、https://imsglobal.org
の部分は各 サ ー バ の も の を 用 い る が 、 そ れ 以 外 のims/oneroster/v1p1/courses
の部分は、全くこの通りにし なければならない[7]
。逆に言うと、規格に従っていれば、ほとんど変更なしで別の組織の科目情報が同じ形式で 取得できる。また、最後の
course
の部分(endpoint)
を、<?xml version="1.0" encoding="UTF-8"?>
<enterprise>
<properties>
<datasource>WebCT</datasource>
<datetime>2015-10-09T02:35:44JST</datetime>
</properties>
...
<group>
<sourcedid>
<source>WebCT</source>
<id>2016-58-XXXXX</id>
</sourcedid>
<grouptype>
<scheme>LEARNING_CONTEXT_V1</scheme>
<typevalue level="90"/>
</grouptype>
<description>
<short>情報基礎A</short>
<long>情報基礎A 2016前期 教養教育</long>
</description>
<relationship relation="1">
<sourcedid>
<source>WebCT</source>
<id>2016-58-0000a</id>
</sourcedid>
<label/>
</relationship>
<relationship relation="1">
<sourcedid>
<source>WebCT</source>
<id>2016-00-0000a</id>
</sourcedid>
<label>Term</label>
</relationship>
</group>
<membership>
<sourcedid>
<source>WebCT</source>
<id>2016-58-XXXXX</id>
</sourcedid>
<member>
<sourcedid>
<source>kuLdap</source>
<id>YYYYYYYY</id>
</sourcedid>
<idtype>1</idtype>
<role roletype="03">
<status>1</status>
</role>
</member>
...
<member>
<sourcedid>
<source>kuLdap</source>
<id>16AtAAAAA</id>
</sourcedid>
<idtype>1</idtype>
<role roletype="01">
<status>1</status>
</role>
</member>
...
</membership>
...
</enterprise>
図
3 IMS Enterprise
による科目情報の例Figure 3 A course specifocation by IMS Enterprise
1科目目の登録開始
科目コード 科目名
部局コード
年度・学期コード
担当教員・受講者の登録開始 科目コード
職員番号 担当教員の登録開始
受講者の登録開始
学生番号
{ "course" : {
"sourcedId": " kumamoto-u -2016 -58-XXXXX "
"status" : "active "
"dateLastModified" : "2015-10-09T02:35:44JST "
"metadata" : { "duration" : "15"
}
"title" : "情報基礎A "
"schoolYear" : {
"href": "<科目の所属年度のURI>"
"sourcedId": " kumamoto-u -2016-00-0000a "
"type" : "academicSession"
}
"courseCode" : "2016-58-XXXXX "
"grade" : "1"
"subjects" : ["情報科学","情報倫理", "情報セキュリティ", ...]
"org" : {
"href": "https://www.kumamoto-u.ac.jp"
"sourcedId": "kumamoto-u"
"type" : "org"
} … } }
図
4 IMS OneRoster
による科目情報の例Figure 4 A course specification by OneRoster
25
法政大学情報メディア教育研究センター研究報告 Vol.33
コスト削減、セキュリティ強化にもつながるのでは ないかと考える。
6. おわりに
本稿では、システム連携に関して、特に標準化の 観点から熊本大学の事例を紹介した。
大学ポータルのもとで、各種システムが、SSO による認証連携と、様々な形式によるデータ連携に より、ユーザがシームレスにシステムを利用できる 環境を構築した。特に、IMS Enterpriseを利用した
SIS
とLMS
のデータ連携は、LMSのスムーズな移 行を可能にした。最近、拡張性やマッシュアップ可能性から
Web
アプリケーションに導入が進むWebAPI
は、リアル タイム性も高いが、IMS Enterpriseはバッチ処理を 前提としたものでリアルタイムでのデータ同期は難 しい。後継の規格である IMS OneRosterは、CSVだけでなく
WebAPI
に対応した規格で、SISで科目登録後すぐに
LMS
等に反映することが可能になるこ とを考えると、今後導入を検討すべきであろう。また、このようなデータ同期は、現場レベルの話 と考えがちだが、サービス向上、コスト削減、セキュ リティ強化において重要な位置を占め、中長期的な 戦略に基づいて行うことが重要と考える。
謝辞
本研究を行うにあたり、熊本大学の総合情報統括 センター教職員をはじめとする多くの方々にお世話 になったことを心から感謝します。また、本研究の一部は
JSPS
科研費15H02795
の助成を受けたものです。
参考文献 [1] CAS Project home
https://github.com/apereo/cas
[2]
永井孝幸,杉谷賢一,河津秀利,中野裕司, “
学 認対応認証基盤とユーザID
体系移行用CAS
ゲー トウェイの構築” ,
第11
回CLE
研究会, Vol.2013- CLE-11 No.20, pp.1-10, 2013.
[3] IMS Enterprise Specification
http://www.imsglobal.org/enterprise/index.html IMS Caliper specification
https://www.imsglobal.org/sites/default/files/
caliper/v1p1/caliper-spec-v1p1/caliper-spec-v1p1.
html
[4]
中野裕司, 槙原竜之輔 , 喜多敏博 , 戸田真志 , 久保
田真一郎
,
右田雅裕,
杉谷賢一, “ Caliper log store
等、様々な指定が可能になる[7]。さらに、endpoint
の後に、?を挟んでフィルターの記述も可能で
[7]、
何年度以前のものとか、特定の語彙を含む科目等の 抽出も可能な規格となっている。
また、図
2
に示すように、熊本大学では、新し くWeb
アプリケーションを導入する際に、拡張性、リアルタイム性、マッシュアップの可能性等を考 えて、WebAPI形式による構築を意識的に行ってき た。例えば、前節で紹介した大学ポータルの時間 割もバージョンアップの際に
WebAPI
型に変更した[8]。ただし、残念ながら、ほとんどの WebAPI
でやり取りされるデータ形式は標準規格に従っておら ず、たとえ
IMS OneRoster
をサポートしたSIS
があっ ても、この時間割システムが参照することはできな い。IMS OneRosterをサポートしているシステムは まだ少ないと思われるが、今から科目情報や受講者 情報等を扱うシステムを構築するのであれば、IMSOneRoster
を意識すべきであろう。しかし、データの同期等は、現場レベルの泥臭い 話で、なかなか大学全体の中長期的な戦略には組み 込まれ難いものであろう。計画性がないと、急に短 期間でデータ同期を行うことが必要になり、標準化
や
WebAPI
といった話にもなり難く、コストの裏付けもなく、独自形式の
CSV
やSQL
をスクリプトで 動かすといった形に陥りやすいと思われる。CIOを 中心とした中長期計画の戦略の中でも重要な課題と して扱うことで、長期的な目で見たサービス向上、法政大学情報メディア教育研究センター研究報告
Vol.33
Copyright © 2018 Hosei University
法政大学情報メディア教育研究センター研究報告Vol.33
としている。しかし、定期的なバッチ処理では、
SIS
で受 講登録をしてすぐにLMS
で授業の予習をするといった 環境の構築は難しい。また、SIS
で登録した科目が、翌 朝まではポータルの時間割に登録されない等といった 問題は解決し難い。このようなリアルタイムのデータ同期を実現することの できる標準規格として、
IMS Enterprise
の後継的な標準 規格のIMS OneRoster [7]
がある。本規格は、データの 送受信形式としてREST
型のWeb API
、データ形式とし てJSON
をサポートしており、最近のWeb
アプリケーショ ンとの親和性が高く、リアルタイム処理の実現に適して いる。一方で同規格はCSV
形式のデータもサポートし ており、バッチ処理も問題ないと思われる。図
4
に、科目情報をIMS OneRoster
のJSON
で記述 した例を示す(ほんの一部で、実際には多くの属性があ る)。このようなデータをどのようにして得るかというと、例 えば、バージョン1.1
の例を次に示す。例えばすべての 科目情報を得るには、HTTP
のGET
で、https://imsglobal.org/ims/oneroster/v1p1/courses
のようにする。ここで、https://imsglobal.org
の部分は各 サ ー バ の も の を 用 い る が 、 そ れ 以 外 のims/oneroster/v1p1/courses
の部分は、全くこの通りにし なければならない[7]
。逆に言うと、規格に従っていれば、ほとんど変更なしで別の組織の科目情報が同じ形式で 取得できる。また、最後の
course
の部分(endpoint)
を、<?xml version="1.0" encoding="UTF-8"?>
<enterprise>
<properties>
<datasource>WebCT</datasource>
<datetime>2015-10-09T02:35:44JST</datetime>
</properties>
...
<group>
<sourcedid>
<source>WebCT</source>
<id>2016-58-XXXXX</id>
</sourcedid>
<grouptype>
<scheme>LEARNING_CONTEXT_V1</scheme>
<typevalue level="90"/>
</grouptype>
<description>
<short>情報基礎A</short>
<long>情報基礎A 2016前期教養教育</long>
</description>
<relationship relation="1">
<sourcedid>
<source>WebCT</source>
<id>2016-58-0000a</id>
</sourcedid>
<label/>
</relationship>
<relationship relation="1">
<sourcedid>
<source>WebCT</source>
<id>2016-00-0000a</id>
</sourcedid>
<label>Term</label>
</relationship>
</group>
<membership>
<sourcedid>
<source>WebCT</source>
<id>2016-58-XXXXX</id>
</sourcedid>
<member>
<sourcedid>
<source>kuLdap</source>
<id>YYYYYYYY</id>
</sourcedid>
<idtype>1</idtype>
<role roletype="03">
<status>1</status>
</role>
</member>
...
<member>
<sourcedid>
<source>kuLdap</source>
<id>16AtAAAAA</id>
</sourcedid>
<idtype>1</idtype>
<role roletype="01">
<status>1</status>
</role>
</member>
...
</membership>
...
</enterprise>
図
3 IMS Enterprise
による科目情報の例Figure 3 A course specifocation by IMS Enterprise
1科目目の登録開始
科目コード 科目名
部局コード
年度・学期コード
担当教員・受講者の登録開始 科目コード
職員番号 担当教員の登録開始
受講者の登録開始
学生番号
{ "course" : {
"sourcedId": " kumamoto-u -2016 -58-XXXXX "
"status" : "active "
"dateLastModified" : "2015-10-09T02:35:44JST "
"metadata" : { "duration" : "15"
}
"title" : "情報基礎A "
"schoolYear" : {
"href": "<科目の所属年度のURI>"
"sourcedId": " kumamoto-u -2016-00-0000a "
"type" : "academicSession"
}
"courseCode" : "2016-58-XXXXX "
"grade" : "1"
"subjects" : ["情報科学","情報倫理", "情報セキュリティ", ...]
"org" : {
"href": "https://www.kumamoto-u.ac.jp"
"sourcedId": "kumamoto-u"
"type" : "org"
} … } }
図
4 IMS OneRoster
による科目情報の例Figure 4 A course specification by OneRoster
図 4 IMS OneRosterによる科目情報の例 Figure 4 A course specification by OneRoster
法政大学情報メディア教育研究センター研究報告 Vol.33 と
Open LRW
を 用 い たMoodle
上 の 学 習 履 歴 のログサーバへの
Caliper
標準形式による集積の取 り 組 み” ,
第25
回CLE
研 究 会, Vol.2018-CLE-25 No.11, pp.1-5, 2018.
[5]
中野裕司, 喜多敏博 , 杉谷賢一 , 松葉龍一 , 右田雅
裕
, 武藏泰雄 , 入口紀男 , 太田泰史 , 平英雄 , 辻一
隆
, 島本勝 , 木田健 ,
宇佐川毅, “ WebCT、学務情
報システムSOSEKI、教育用 PC
システムのデー タ 同 期” ,
第2
回WebCT
研 究 会 予 稿 集, pp.3-8, 2004.
関連サイト: http://www.cc.kumamoto-u.ac.jp/
sites/static/arcmit04/nakano.pdf
[6]
中野裕司, 杉谷賢一 , 喜多敏博 , 松葉龍一 , 久保田
真一郎
, 右田雅裕 ,
武藏泰雄, 入口紀男 , 木田健 ,
島本勝
,
辻一隆,
志村友行, 宇佐川毅 , “ SSO
によ るLMS
連携Web
時間割システムの開発” , 第 9
回CMS
研究会, pp. 79-82, 2008.
関連サイト: http://www.cc.kumamotou.ac.jp/sites/
static/arcmit07/portal.pdf
[7] IMS OneRoster v1.1 Final Specification
https://www.imsglobal.org/oneroster-v11-final- specification
[8]
中野裕司,
杉谷賢一,
永井孝幸,
宇佐川毅, “
授業時間割
Web API
とそのポータル時間割への応用