DUICUO

西安交通大学におけるオープンソースソフトウェアに基づくデジタルキャンパス構築の実践と経験

オープンソースソフトウェアの応用

西安交通大学は、統一的な計画、段階的な実施、プラットフォーム重視、統合アプリケーション、サービス指向という建設原則を堅持し、デジタルキャンパス構築の全体計画を提案しました。その中で、「統一認証・認可プラットフォーム」は、集中的なユーザー管理、集中的な認可、そして連携型マルチ認証システムのソリューションを提供します。「統一データ交換プラットフォーム」は、データベースやWebサービスなどの様々な方法を通じて、異種システムのデータ統合問題を解決します。そして、「集中情報ポータルプラットフォーム」(旧称:統一情報ポータルプラットフォーム)は、個々のユーザーのための統一された情報アクセスポイントの問題を解決し、新規構築システムのアプリケーション統合や部門横断的なビジネスプロセスリエンジニアリング(BPR)のための優れた個人ユーザーアクセスプラットフォームを提供します。デジタルキャンパスプラットフォームの構築には、オープンソースソフトウェアを採用しました。

当校の関連オープンソースソフトウェアの詳細は以下のとおりです。

1. ディレクトリ サービスおよび認証システム データベースは OpenLDAP を使用します。

OpenLDAPは、www.openldap.orgプロジェクトグループによって開発・保守され、OpenLDAPライセンスに基づいてリリースされている、軽量ディレクトリアクセスプロトコル(LDAP)のオープンソース実装です。現在、Windows版とLinux版が提供されています。OpenLDAPは主に、slapd(スタンドアロンLDAPデーモン)、slurpd(独立したLDAP更新およびレプリケーションデーモン)、LDAPプロトコルライブラリ、関連ユーティリティソフトウェア、サンプルクライアントの4つの部分で構成されています。

本校のデジタルキャンパスのユーザー情報は、様々なアプリケーションシステムから取得されています。「ユーザーセンターシステム」を構築することで、これらの散在するユーザーリソースを、権威ある信頼性の高いユーザーリソース情報データベースに統合することができます。これにより、学校全体でユーザーを一元管理し、ユーザー情報の過度な分散や不整合を回避できます。そのため、約30のアプリケーションシステムに認証サービスを提供できる、100万人規模のユーザーデータベースを設計する必要があります。必要な技術仕様は次のとおりです。

ログイン時に取得したユーザーの個人情報に基づき、ディレクトリベースのユーザー個人情報照会システムを構築します。パフォーマンス要件:60万人のユーザーに対して、応答時間は通常1秒未満、ピーク時の応答時間は3秒未満である必要があります。

ディレクトリ内にユーザーIDデータベースを構築します。将来の拡張性とデータ同期メカニズムを考慮します。150万人以上のユーザーをサポートします。

ユーザー ID データベースと認証システム間のインターフェイスを確立します。このインターフェイスは開いている必要があります。

複数のプロトコルをサポートする認証ゲートウェイを構築します。これは、交通大学の実際の使用に適しており、3,000 を超える Radius クライアント認証要求をサポートし、数万の同時認証要求をサポートする必要があります。

上記の要件に基づくと、OpenLDAP では私たちのニーズを満たすことができず、要件を満たすには多くの設計作業が必要になります。以下に、私たちのアプローチとアイデアをいくつか示します。

OpenLDAPはトランザクション処理をサポートしていません。プラットフォームのソフトウェア開発者のアーキテクチャは、システム設計においてLDAPとRDBを連携させるソリューションを巧みに採用しています。高速クエリと認証サービスはLDAP上に実装されており(30以上の個人情報項目はすべてLDAP上に保存されています)、そのコピーはリレーショナルデータベースに保存されます。リレーショナルデータベースとLDAP間の一貫性は、永続化レイヤーの適用によって保証されています。

OpenLDAPパフォーマンス強化:アプリケーショントラフィックの分割により、異なるアプリケーション認証およびクエリ要求をプライマリLDAP、セカンダリLDAP、またはパーティションLDAPに手動で分散することで、アプリケーションにおけるLDAPの全体的なアーキテクチャを最適化しました。現在、デジタルキャンパスには3台のLDAPサーバーがあり、異なるアプリケーションからのサービス要求を処理しています。もちろん、最悪のシナリオでは、1台のLDAPサーバーのみが稼働している場合、すべてのアプリケーション負荷がその1台のLDAPサーバーに集中します。この場合、認証要求は満たされますが、ユーザープロファイルのクエリ要求はRDBにプッシュされます。

その他の LDAP 拡張機能: 具体的には、eduPerson クラスの拡張機能が採用されており、スキーマは学校のデータ標準に従って計画されています。

2. シングル サインオン サービスは YelaCAS を使用します。

Yale CASは、イェール大学が開発したシングルサインオン(SSO)システムです。以下の利点があります。比較的成熟したSSOシステムであり、導入も比較的容易です。オープンソースコミュニティは非常に活発です。一部の商用製品もCASをベースにしており、幅広いクライアントソフトウェアをサポートしています。また、現在主流の開発プラットフォームをすべてサポートし、uPortalとの統合性も優れています。

3. ポータルサービスはJA-SIG uPortalを使用しています

uPortalは、JA-SIGがJava、XML、XSLプロジェクトに基づいて開発したオープンソースのポータルプラットフォームです。現在のリリースには、Webサービスチャネル、権限、ユーザーグループ管理などが含まれています。uPortalでは、必要に応じて新しい機能を追加できます。高等教育機関向けに設計されており、一部の企業では共同コミュニティを構築するためのフレームワークとしても活用されています。uPortalには、次のような利点があります。

uPortal は、現在普及している Java ポータル アプリケーションに優れたサポートを提供する JSR-168 標準を完全にサポートしています。

これは北米および世界中の何百もの大学で広く使用されており、大学のデジタル キャンパスに適していることが実践により実証されています。

Saki、Model、Bb などの教育管理ソフトウェアとの統合をサポートするモジュールがすぐに利用可能であり、これらは多くの大学で正常に実装されています。

もちろん、uPortal には次のような欠点もあります。

バージョン 2.x では、ドラッグ アンド ドロップがサポートされていないなど、ユーザー カスタマイズ機能はあまり優れていませんでした。これはバージョン 3.0 以降で改善されていますが、商用ポータル サーバーに比べるとまだ遅れています。

特に、Windows SPS サーバーのサポートが不十分で、利用可能な技術ドキュメントがあまり豊富ではなく、教育管理以外の開発コンポーネントも商用ポータル ソフトウェアほど豊富ではありません。

uPortal 自体には情報統計やアクセス統計が組み込まれていないため、ユーザーの使用状況統計を取得するための独自のソフトウェアを開発しました。

4. データ交換 ETL ツールとして Kettle を使用します。

ケトルとは、やかんのことです。プロジェクトリーダーのマットによると、様々なデータをやかんに入れて、必要な形式で取り出すことができるシステムだそうです。このシステムには、以下の利点があります。

商用製品に匹敵する ETL ツールキット。

視覚的な ETL 設計をサポートし、非常に使いやすい Java ベースのグラフィカル インターフェイスを提供します。

Javascript プログラミングをサポートし、複雑なデータ変換のカスタマイズを可能にします。

システムの最大の欠点は、ETLツールがデータ交換のニーズをすべて満たすことができなかったことです。そこで、パートナー企業は、当社のデジタルキャンパス構築要件に基づき、メタデータ管理システムとデータ交換監視システムを開発しました。これら2つのシステムの改良により、データ交換の管理・監視、そしてデータ標準の標準化管理が可能になりました。

5. アプリケーション サーバーは JBoss を使用します。

JBossはJ2EEベースのアプリケーションサーバーです。JBossのコードはLGPLライセンスに基づいているため、商用アプリケーションで無償で利用でき、料金は一切かかりません。2006年に、このプロジェクトは著名な米国企業Red Hatに買収されました。多くの大学が既にこのシステムを主要なアプリケーションサーバーとして採用しているため、その特徴を以下にまとめます。

JBoss はアプリケーションのクラスタリングをサポートしており、これによりアプリケーションの負荷分散装置のコストを削減できます。

JBossは非常に効率性が高く、比較的小さなメモリとハードディスク容量でアプリケーションサーバーを稼働させるのに十分です。IA32アーキテクチャで16GB以上のメモリを搭載したサーバーに、JBossの複数のインスタンスをデプロイすることをお勧めします。

インストールが簡単で、ホットデプロイメントをサポートし、Webサーバーと同じJVMで動作します。つまり、サーブレットからEJBへの呼び出しはネットワークを経由しないため、実行効率が大幅に向上し、セキュリティ性能も向上します。

JBoss はオープンソースで無料です。

多くのプロジェクトでは、アプリケーション サーバーとして JBoss を使用しています。JBoss は非常に成熟しており、技術サポート ドキュメントもすぐに入手できます。

6. オペレーティングシステムは主に国産のLinuxを採用しています。

サーバーOSとしてのLinuxの利点については、詳しく説明する必要はありません。私たちのプロジェクトで国産DC版Linuxを採用した主な理由は、以下のとおりです。

IA-32 サーバーは新しいチップセットを使用するため、国内で開発された Linux ディストリビューションは、より多くのドライバーのサポートを提供できます。

本校のデジタルキャンパスで使用されているストレージシステムは、2004年1月に購入したHP EVA5000です。マルチパスとデバイスサポートの面では、国産Linuxディストリビューションが優れた導入実績を提供していました。これは、後のシステム統合において大きな強みとなりました。

国産の Linux ディストリビューションの機能、性能、安定性、セキュリティは、基本的に他の Linux ディストリビューションと同様です。

ユーザーエクスペリエンス

本校のデジタルキャンパス支援プラットフォームプロジェクトは2007年に開始され、採択されました。1年以上運用され、6万人近くのユーザーが利用しています。8つの大規模MISシステムと12の中規模業務システムはすべてこのプラットフォーム上に構築されています。また、6つの小規模業務システムと3つの部局横断的な学校レベルの業務プロセス統合システムをこのプラットフォーム上で独自に開発しました。運用と開発の経験に基づき、オープンソースソフトウェアを用いてデジタルキャンパスを構築することのメリットとデメリットは以下のとおりであると考えています。

アドバンテージ

1. 総所有コスト(TCO)を削減する

オープンソースのサービス指向アーキテクチャ(SOA)サポートプラットフォームを全面的に採用することで、大学はSOAプラットフォームのソフトウェアコストを100万元以上(同規模の他大学と比較して)節約しました。さらに、ほとんどのオープンソースソフトウェアは、汎用性が高く安価なLinuxおよびIA32アーキテクチャサーバーをサポートしています。デジタルキャンパスプラットフォーム用に、4つのマルチコアプロセッサと16GBのメモリを搭載したハイエンドのIA32サーバーを8台購入しました。また、データ交換サービスを提供するブレードサーバーセンター(すべてのブレードで合計44GBのメモリを搭載)も設置しています。これらのIA32アーキテクチャサーバーの価格は100万元未満でした。これらすべてのサーバーの合計コストは、商用のOracle RACサーバー(IBM Powerアーキテクチャを使用)をインストールするコストの半分にすぎません。これらのサーバーコンポーネントは比較的安価で、互換性があり、大量生産・販売されているため、一般的な大学のデジタルキャンパスに最適なハードウェアソリューションです。

同時に、デジタルキャンパス全体では、マルチベンダー開発および自己統合モデルを採用しているため、デジタルキャンパスソリューション全体でのシステム統合コストも数十万元節約できます。

もちろん、すべてのサーバーはLinuxをOSとして採用しているため、サーバーOEMが提供するLinux OSのコストも非常に低く抑えられています。さらに、Linuxコードを搭載しているため、拡張やカスタマイズが容易です。これにより、無料のVPN、Radius、CAなどのアプリケーションソリューションの利用など、他のアプリケーションソフトウェアとの統合コストをある程度削減できます。

これらのソフトウェア プログラムはすべてオープン ソース コミュニティによって保守およびサポートされているため、学校のソフトウェア プラットフォームの年間保守コストが削減され、学校の IT アプリケーション用の一般的なソフトウェアへの投資が削減され、その分を他の IT 支出に充てることができます。

2. ソフトウェアのパフォーマンスは簡単に拡張できます。

当社は、VPN、OpenLDAP、YelaCAS、uPortal、JBossといったカスタム開発を数多く手がけてきました。これらのカスタマイズにおいて、パフォーマンスは中心的な要件となっています。ソフトウェアのパフォーマンスは、統合環境におけるストレステストのパフォーマンス要件に主眼を置いていることを理解しています。そのため、オープンソースソリューションのアーキテクチャを理解し、一定期間の運用観察を行うことで、パフォーマンスのボトルネックを特定し、多くのユーザーのニーズを満たすシステムをカスタマイズ・開発することが可能です。

3. デジタルキャンパスでの議論を自主的に管理し、チームをトレーニングできる。

デジタルキャンパス開発における自律性の実現が不可欠かどうかは議論の余地がある。しかし、中国北西部に位置する本学は、運営資金とITインフラへの継続的な投資が限られている。そのため、デジタルキャンパス開発における自律性を獲得することで、タイムリーなITサービス(主にアプリケーションの迅速な開発能力)を提供し、アプリケーションシステムへの投資と保守コストを削減すると同時に、ITインフラ開発を通じて大学の教育、研究、経営を支援することが可能となる。そのため、本学の意思決定者は、ITサービス部門の育成と関連プロジェクトの実施を通じて、大学のデジタルキャンパス開発における自律性と影響力を徐々に獲得していくという重要な戦略を採用した。

チームビルディングも、本校のITサービス部門の重要な任務の一つです。本校では、様々な手段を用いてチームビルディングと技術スキル研修を実施し、技術基盤の技術レベルを大幅に向上させました。

4. オープンソースソフトウェアへの傾向は避けられません。

SOAは2005年以降、ホットな話題となっており、現在では「オープンソースSOA」という用語が広く使われています。この用語は、主流のソフトウェア専門家がオープンソースソフトウェアを採用している具体的な例です。ますます多くのソフトウェアベンダーが、ソフトウェアの価値の一つがオープンソースコードであるという事実を受け入れています。今後、ベンダーが購入するソフトウェアの中で、重要なドキュメントの一つが、ソフトウェアコードの一部、あるいは全部のオープンソース化となることが予想されます。ApacheやオープンソースLinuxといったオープンソースソフトウェアの商用アプリケーションの成功は、ますます多くのユーザーにオープンソースの重要性を認識させています。もちろん、オープンソースは必ずしも無料、あるいは悪用されないことを意味するわけではありませんが、ソフトウェアの保守担当者にとって、オープンソースソフトウェアは、保守・管理担当者に、トレースやデバッグを行う際に、より多くのデバッグ方法とサポート情報を提供します。したがって、10年以上の業界経験に基づき、オープンソースソフトウェアは避けられないトレンドであると結論付けています。学校デジタルキャンパスプロジェクトの入札書類には、オープンソースSOAという用語を記載すべきです。

しかし、オープンソース ソフトウェアを実装すると、ユーザーはその欠点を深く体験することになります。

不十分

1. システム全体の統合の難しさ

本学のデジタルキャンパスは、デジタルキャンパスプラットフォーム、セキュリティ機器、ストレージデバイス、バックアップデバイス、各種サブシステムの展開計画などから構成されています。デジタルキャンパスプラットフォームとアプリケーションシステム全体は、6~7社のベンダーによって構築されています。そのため、実装は容易ではなく、調整も広範囲に及ぶため、各ベンダーの業務範囲を明確に定義する必要があります。特にベンダー間で紛争が発生した場合は、相違点を明確にし、論理的かつ証拠に基づいて交渉することが重要です。オープンソースソフトウェアの採用は、細部に問題が生じやすく、プロジェクトの成否はこれらの細部に大きく左右されます。そのため、システム全体の統合は非常に困難です。技術力の低い大学は、ソフトウェア開発会社の数を最小限に抑えるべきです。

2. ソフトウェアサポートが不十分

前述の通り、一部のソフトウェアは英語のドキュメントしか提供されておらず、国内の大学では導入経験がほとんどありません。例えば、本学がuPortalを導入した際、調査の結果、ポータルサーバーとしてuPortalを使用している大学は他にありませんでした。そのため、技術サポートは主に管理者が自力で解決するしかありませんでした。

3. いずれも、一部の機能とほとんどのパフォーマンス要件を満たすために二次開発が必要です。

オープンソースソフトウェアは本来、ある程度の汎用性を備えていますが、多くの場合、設計パラダイムが中国とは大きく異なる海外から調達されています。海外では、倫理やプライバシーなどに関する厳格な法的要件により、多くの機能を組み込むことができない場合もあります。さらに、多くのオープンソースソフトウェアは成熟度が比較的低く、その機能はまだ商業的に利用可能なレベルに達していません。しかし、中国の大学のアプリケーションニーズは非常に高く、設計者は大学の要件を満たすために、より複雑な機能を検討する必要があります。そのため、ユーザビリティを向上させるために二次開発が必要となることがよくあります。

4. ソフトウェアのセキュリティは議論の的となっている。

ソフトウェアはオープンソースであるため、セキュリティ上の脆弱性は容易に発見されます。しかし、オープンソースであるがゆえに、ユーザーは自らセキュリティ問題を調査することができます。そのため、エンドユーザーへの要求は高まり、長期間にわたり調査に相当な時間と労力を費やす必要があります。

5. メンテナンス作業量が多い

オープンソースソフトウェアは、一般的に成熟度が低いため保守性が低く、商用ソフトウェアと比較してユーザーフレンドリーな管理・保守ツールが不足しています。そのため、効果的に機能させるには専門技術者による綿密な保守が必要です。本校のデジタルキャンパスプラットフォーム完成後、情報ネットワークセンター開発研修部は、複数の学部横断的な業務プロセス統合システムを独自に開発し、2007年にはキャンパスカードシステムの構築と技術サポート業務を担いました。そのため、保守作業負荷も大きな課題となっています。

総じて、私たちはオープンソースソフトウェアを基盤としたデジタルキャンパスの構築に前向きな姿勢をとっており、「オープンソースSOA」という概念が、より多くのプロジェクトアーキテクトの日常的な議論にさらに深く浸透していくことを期待しています。上記の内容は、本学がオープンソースソフトウェアを用いてデジタルキャンパスプラットフォームを構築する過程における考察の一部を示したものであり、同業者の皆様からの批判や訂正を心より歓迎いたします。

[編集者のおすすめ]

  1. Linuxシステム上でNetwareサーバーを構成する方法
  2. 組み込み機器におけるLinuxシステム開発
  3. Linuxカーネルの仕組みを深く掘り下げる(1)