ぬまのそこ

namazuのゆるいエンジニアブログ

TUT CSCのおはなし

はじめに

この記事は「TUT AdventCalender」の18日目の記事です。

adventar.org

適当にTwitterで流れてきたのを見つけたので埋めました。

何を書こうか悩みましたが、私は大学ではCSCの人なので、CSCについて書いておこうとおもいます。

CSCとは?

www.teu.ac.jp

これです。CSCと一般に大学内で言うとキャリアサポートセンター(通称キャリクソ)に解決されてしまうので気を付けてください。 卒論ではCSCという単語は使えません。ちゃんと説明して、以後CSCと表記と書かないといけない。

場所は八王子キャンパスのカタケン地下1Fにあるよ。ただ、あそこはたいてい電気ついてない。あそこにブレードサーバとかPCがいくつかあってそれで動いてます。

CSCはなにしてるの?

gyazo.com

これの開発、運用をやってる。 といえばたくさんの人に通じる。

ただ学生ポータルはCSCの中ではおまけ案件で、最近の本筋ではないけどね。

あと本学のMoodleの運用もやってるよ。 来年サーバのリプレイスをするらしい。

実際に誰がいるの?

CSの田胡教授が偉い人だよ。

CSの田胡研究室の一部の学生がこのクラウドサービスセンタの開発をやってるよ。

学生はなんかサービスを開発して消えていくものなので、運用に関しては助手?の先生がけっこうやってるよ。

最近はなにしてるの?

人によりやってることが違いすぎるのであれですが、

www.teu.ac.jp

このでいぷらの教育支援とか(これは田胡研じゃなくてでいぷらの研究室が参画してるはず)

www.teu.ac.jp

これは私がリプレイスしたのでいまはたぶん動いていないけど、こういうクラウドインフラっぽいソフト作ったりとか

www.itmedia.co.jp

だいぶ昔になっちゃうけど2代目?のポータル作ったりとか

こんなことをしているはず。

学生ポータルについてご紹介する

CSCの昔の人たちが作った、1年のキャリクソでひたすら文句が出る、ポータルについて

  • 歴史
  • 全体構成
  • 動作概要

的なのをご紹介します。 ポータルは基本卒論ネタになっていて情報公開がされているので、私がここに書いても問題はないはず。

ポータルの歴史

今の人はたぶんほとんど知らないけど、ポータルは何回か作り直されています。

昔のPortal

f:id:kituneko-510:20171218150337j:plain

ふるい。 今の1代前のポータルなはず。 卒論から引っ張り出してきた。  今のポータルと基本的にやってることは同じなはず。 あとで説明しようと思うけど基幹部分は同じ。

あとポータルじゃないけどASSITとかいうMoodleの前バージョンもあったんやで。

今のPortal

できたのは多分4年前だと思う。 それ以後はあまり手を入れていない。

今後のPortal

上の方からこうしろああしろって感じのが出ている。 具体的には学内サイトとシームレスに結合しろ。 みたいな感じ。

どうなるかわからないけど田胡研の開発のメインラインになることはないかなぁ?感。

現在ポータルの基本のAPIの整備を研究室の誰かさんがしているのでこれでなんかしていく感じかな?

全体構成とか

gyazo.com

卒論を調べればわかるのだが、こんな感じ。 本番のそっくり構成をそのまま載せるのはよくないかなーとおもったので。本番とかなり似た状態のテスト環境の構成を載せる。

随所に闇を抱えている。 闇を説明していったほうが楽しいと思うのでいくつか書いていく。

闇その1: JavaRMI

RMIって知っていますか? リモートメソッド呼び出しのことです。  上の構成図にもありますが、hornetとneptuneってのがDBと通信してるんです。 これはJavaRMIサーバ側になっていて、ポータルのアプリとかのクライアントはすべてこのRMI呼び出しで名簿とか講義情報を取ったりします。 このhornetとかneptuneは全体の基盤になってる部分なのでそう変えられません。 このRMIサーバ側はJava7で動いています。 なので基本Java7以外使えません^_^

portalが依存しているのは大したこと無いのですが、教務システムとかでもたしか依存しているはずなのでそうそう手がでない。

これは闇。

闇その2: (多分)誰も知らないApacheの独自拡張モジュール

ポータルとかにはシングルサインオンが設定してあります。 グーグルのOpenIDの認証を要求するやつ。 あれはどうやってるかっていうとフロントエンドのWebサーバ(Apache)に独自に開発したモジュールをロードさせて、そのモジュールで追加させたディレクティブで認証を掛けたり、掛けなかったりを制御しています。

このモジュール。 たぶん今ビルドできる人いません。 まぁ大したことやってるわけじゃないんで置き換えるのはすぐですけど。

あ、あとApacheのバージョンも古いです^_^; 

これは闇。

闇その3 : フロントとサーバサイドを分離できないJavaServletの上に作られた独自フレームワーク

なんかJavaServletの上に独自に作ったフレームワークかぶせて現在のポータルは動作しています。 あの当時は良かったかもしれないけど今の基準から考えると厳しい。

時代は変わるもんなんですね。。。。。。

https://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=164798&item_no=1&attribute_id=1&file_no=1

こちらその卒論(修士論文)になります。

あとフロントといえば、CSSはSCSSで書いてあるんだけど、これのプリコンパイルや、JSのミニファイをMavenでやってたりする。 

これは闇。

いっぱい闇を抱えてて楽しい。

さいご

今日はTUTのカレンダーということで弊学のCSCのご紹介をしました。 いっぱい闇の紹介をしたのですが、イケイケな後輩がなんかポータルで頑張ってくれるそうなので、来年はぜんぶイケイケな感じになって闇は晴れることでしょう。

私は今日研究室に行ったらボスに「卒論マダー??」って言われてしまったので、CSCのことは何もかも後輩に任せてさっさと卒論を書きます。 

おしまい。