Sakaiアプリケーション開発 - Ja Sakai コミュニティ

Business Consulting Services
Ja-Sakai Café
2009年 3月 17日
法政大学
常盤 祐司
[email protected]
© Copyright Hosei University
目次
 Sakai CLE
 Ja Sakai における展開
 課題
 方針
 対象
 プログラミングガイド
1
1
© Copyright Hosei University
Sakai CLE / Architecture
Sakai CLEはオープンソースにより構成されている
Sakai 2.x
Java Server Faces
Velocity
Java
1.5
Spring
Hibernate
Apache
SSL
mod_jk
WEBISO
Virtual
hosting
Tomcat 5.5
Oracle 9i/10g
MySQL 4.1
HSQL (demo)
2
2
© Copyright Hosei University
Ja Sakai における展開
各大学で開発されたツールおよび利用技術が他大学で再利用できる
Sakai
Tool
Sakai
Tool
Sakai
Tool
Sakai
Tool
Sakai
Tool
Sakai
標準
Sakai
標準
A大学
開発
B大学
開発
C大学
開発
Question
&
Testing
Syllabus
Sakai Application Framework (SAF)
User, Course
Commercial System
Integration
Adapter
Administrative System
Integration
Adapter
Academic
information
System
利用技術
SAML based Web SSO
SaaS
Integration
再利用可能なToolおよびAdapter
再利用可能なKnowhow
3
3
© Copyright Hosei University
課題
4
4
© Copyright Hosei University
方針
Sakaiプログラミング101
Sakaiの導入からアプリケーション組み込みまでの一連の操作
を習得する。
環境設定
Sakai導入
Sakai修正
Contrib モジュール追加
アプリケーション開発
デバッグ
Step by Stepでその通り操作すれば確実に完了する。
大学における一般的なICT環境を標準とする。
PC
Windows
Server Linux
5
5
© Copyright Hosei University
対象
プログラム開発体験のある学生、大学院生および社会人。
IDEおよびコマンドベースによる開発体験があれば望ましい。
6
6
© Copyright Hosei University
Sakai プログラミングガイド
http://bugs.ja-sakai.org/confluence/display/INSTALL/Home
A4にて98ページの分量
1. 前提
2. 開発環境概要
3. バージョン管理のセットアップ
4. 開発用PCのセットアップ
5. Sakaiのアプリケーション構造
6. Eclipseを使ったSakaiアプリケーション開発
7. Sakaiアプリケーションのデバッグ
8. 標準Toolのカスタマイズ
9. Contrib Tool組み込み方法
10.CSVファイルからuser、course、member登録のサンプルプログラム作成
11.プログラムを本番環境へリリース
付録-CSVファイルによるuser、course、member登録のプログラム一式
プログラム一覧
入力用CSVファイルレイアウト
参考文献
7
7
© Copyright Hosei University
1. 前提
以下の知識がある方を対象
Sakai CLEのインストール
eclipseを使ったjavaのWebアプリケーション開発
8
8
© Copyright Hosei University
2. 環境
本番環境
バージョン管理
Linux
Sakai CLE
MySQL
Linux
Subversion
checkout
commit
開発用PC
Windows
Sakai CLE
MySQL
OS:
IDE:
DB:
JVM:
Subversion:
Maven:
Tomcat:
DB Tool:
9
Windows XP SP2
Eclipse IDE for Java EE Developers (eclipse 3.4.1)
MySQL 5.0.51b
Java 1.5.0_16*
CollabNet Subversion Command-Line Client v1.5.4 (for Windows)
Maven 2.0.9
apache-tomcat-5.5.26
DbVisualizer 6.5.1
*:Java
1.6ではJava APIの違いによりSakaiのコンパイルでエラーとなる。 © Copyright Hosei University
9
3. バージョン管理のセットアップ
1)Subversionのインストール
a. バージョン管理サーバ環境
・Redhat Linux ES4
・rootで作業を行います。
・/root/src配下にソースをダウンロードして、展開します。
・apacheはインストールされているものとします。
b. Subversionの必要ソースをダウンロードします。
[root@host src]# wget http://subversion.tigris.org/downloads/subversion-1.5.5.tar.gz
[root@host src]# wget http://subversion.tigris.org/downloads/subversion-deps-1.5.5.tar.gz
[root@host src]# wget http://www.webdav.org/neon/neon-0.25.5.tar.gz
c. インストールします。
先ずは、neonをインストールします。
[root@host src]# tar zxvf neon-0.25.5.tar.gz
[root@host src]# cd neon-0.25.5
[root@host neon-0.25.5]# ./configure
[root@host neon-0.25.5]# make
[root@host neon-0.25.5]# make install
.
.
.
10
10
© Copyright Hosei University
4. 開発用PCのセットアップ
1) Javaのインストール
2) MySQLのセットアップ
3) Mavenのセットアップ
4) Subversionのセットアップ
5) Tomcatのセットアップ
6) MySQL JDBCドライバのセットアップ
7) Sakai Sourceのダウンロード
8) Sakai.propertiesのセットアップ
9) Sakaiのbuild
10)Tomcat と Sakaiの起動
11)DB Toolのセットアップ
12)Eclipseのセットアップ
11
11
© Copyright Hosei University
5. Sakaiのアプリケーション構造
app-name Tool名
+ api – interfacesなどの定義。Tomcatのshared\libに配備。
+ src - interfaces のソースなど
+ impl – api(interfaces)の実装。Tomcatのcomponentsに配備。
+ src – 実装のソース
+ test – ユニットテストコード
+ pack – Spring定義ファイルなど。implと一緒に、Tomcatのcomponentsに配備。
+ tool - ユーザインターフェース。Tomcatのwebappsに配備。
+ src - ユーザインターフェースのソースなど
+ java – javaのソースコード
+ webapp
+ app-name – JSF、JSPファイルなど
+ css
+ images
+ templates - RSF html templates
+ tools
+ WEB-INF - web.xml, applicationContext.xmlなど
12
12
© Copyright Hosei University
5. Sakaiのアプリケーション構造
フォルダ名
説明
{ap-name}-tool ツール本体。MVCモデルのコントローラ(controller)に相当するJavaクラス、
Viewに相当するVelocityファイル、ツールで使用する言語ファイルなどを配置
{ap-name}-api MVCモデルのモデル(model)に相当するJavaクラス(インターフェース部分)
を配置
{ap-name}-impl MVCモデルのビュー(view)に相当するJavaクラス(インターフェースを実装
したJavaクラス)を配置
13
13
© Copyright Hosei University
6. eclipseを使ったSakaiアプリケーション開発
1. Sakai App Builderのインストール
EclipseプラグインSakai App Builderを使いアプリケーション開発
Eclipse上で、
Help -> Software Updates -> Available Software -> Add Site
Location:http://source.sakaiproject.org/appbuilder/update/
[Sakai AppBuilder Feature]を選択して[Install]
2. Sakaiアプリケーションの作成
a. Sakai AppBuilderを使って、サンプルコード
を生成
File -> New -> Project
14
14
© Copyright Hosei University
7. Sakai アプリケーションのデバッグ
1. ロギングによるトレース
DEBUGレベルのログ出力設定
%CATALINA_HOME%\sakai\sakai.properties に以下の
5行を追加。
log.config.count=4
log.config.1 = ALL.org.sakaiproject.log.impl
log.config.2 = OFF.org.sakaiproject
log.config.3 = INFO.org.sakaiproject.db.impl
log.config.4 =
DEBUG.org.sakaiproject.mytool.logic.MytoolLogicImp
Tomcatを再起動して、ログを確認します。
2. eclipseでデバッグ
TomcatのJava Platform Debugger Architecture (JPDA)を
有効にすることで、eclipseから遠隔デバッグができるようにな
ります。
15
15
© Copyright Hosei University
8. 標準ツールのカスタマイズ
タスク: Profile Toolsに項目をひとつ追加する。
1) 標準Tool修正ガイドについて
2) Profile Tool画面への項目追加概要
3) Profile Tool画面JSPファイルへの項目追加
4) 画面表示用メッセージファイルの項目追加
5) Profileを定義するクラスの項目追加
6) HibernateのO/Rマッピング設定ファイルの項目追加
7) コンパイルとデプロイ
8) アプリケーションの動作確認
9) 参考情報
16
16
© Copyright Hosei University
9. Contrib Tool組み込み方法
タスク:
Sakai Contrib Toolsの1つである「JForum」をSakaiに組み込む
1)JForumの入手
2)JForumのセットアップ
17
17
© Copyright Hosei University
10. CSVファイルによる環境(user, course, member)設定
タスク: 用意したCSVファイルから各種登録を行う。
1) CSVインポートプロジェクトの作成
2) プログラム構造
3) ユーザ登録・更新の実装
4) ユーザ削除の実装
5) コースサイト登録・更新の実装
6) コースサイト削除の実装
7) サイトメンバー登録の実装
8) サイトメンバー削除の実装
18
18
© Copyright Hosei University
11. 本番環境へのリリース
タスク: 開発環境から本番環境へのリリース
1) 開発用PCのソースをバージョン管理サーバへ転送
2) バージョン管理サーバから本番環境へソースを転送
3) 本番環境でコンパイル
本番環境
バージョン管理
Linux
Sakai CLE
MySQL
Linux
Subversion
checkout
commit
開発用PC
Windows
Sakai CLE
MySQL
19
19
© Copyright Hosei University
参考文献
[1] http://bugs.sakaiproject.org/confluence/display/DOC/Install+Guide+-+Source…
Sakai 2.5 Source Install Guide:Sakai2.5のSourceから動作環境を作成する手順書
[2]http://bugs.sakaiproject.org/confluence/display/BOOT/Development+Environ…
Development Environment Setup Walkthrough:Sakaiの開発環境作成手順
[3] http://java.sun.com/javase/downloads/index_jdk5.jsp
Java SE Downloads - Previous Release - J2SE 5.0:J2SEのダウンロードサイト
[4] http://dev.mysql.com/downloads/
MySQL Downloads:MySQLダウンロードサイト
[5] http://maven.apache.org/
Apache Maven Project:SakaiのSourceをコンパイルする際に利用するプロジェクト管理ツール
[6] http://subversion.tigris.org/
Subversion(バージョン管理ツール)のダウンロードサイト
[7] http://tomcat.apache.org/download-55.cgi
Apache Tomcat:Apache Tomcat5.5のダウンロードサイト
[8] http://www.mysql.com/products/connector/j/
MySQL Connector/J:MySQLのJDBCドライバ
[9] http://www.minq.se/products/dbvis/download/install.jsp
Download DbVisualizer:データベースのGUIツールダウンロードサイト
[10] http://www.eclipse.org/downloads/
Eclipse Downloads:eclipse(統合開発ツール)のダウンロードサイト
[11] http://bugs.sakaiproject.org/confluence/display/BOOT/Sakai+application+…
Sakai application (tool) structure:Sakaiのアプリケーション構造
20
…..
20
© Copyright Hosei University