...

11. ISE 吉野 美喜男 WebSphere sMash アナウンスメント © 2008 IBM & ISE Corporation

by user

on
Category: Documents
18

views

Report

Comments

Transcript

11. ISE 吉野 美喜男 WebSphere sMash アナウンスメント © 2008 IBM & ISE Corporation
WebSphere sMash アナウンスメント
11. アプリケーション開発
ISE 吉野 美喜男
© 2008 IBM & ISE Corporation
WebSphere sMash アナウンスメント
Agenda
ƒ WebSphere sMash アプリケーション開発環境
– CLI (コマンド・ライン・インターフェース)
– アプリケーション・ビルダー (App Builder)
– Eclipse
• Groovy & Java
• PHP
ƒ Web ツール
ƒ デバッグとテスト
2
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
WebSphere sMash アプリケーション開発環境
ƒ 開発環境(開発ツール)のストラテジー概要
– スモール・フットプリント
– 初期導入の最小化
– 必要に応じてモジュールをダウンロード
– 直感的で修得が容易 “intuitive and easy to learn”
• 自分に適した開発環境(開発ツール)を選択可能
ƒ WebSphere sMash の開発環境(開発ツール)
– CLI (コマンド・ライン・インターフェース)
– アプリケーション・ビルダー (App Builder)
– Eclipse: WebSphere sMash が Eclipse プラグインを提供
– Groovy および Java 用
– PHP 用
ƒ Web ツール
– アプリケーション開発で役立つユーティリティー機能群を提供
3
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
開発環境(開発ツール)概要
ƒ CLI (コマンド・ライン・インターフェース)
– コマンド・ベース(non GUI)の作業環境
ƒ アプリケーション・ビルダー (App Builder)
– sMash アプリケーションとして実装された Web ベースの IDE
• sMash DE に含まれ、Project Zero コミュニティーでサポート
– Web ブラウザー・ベースの完全な開発環境で、以下の機能も提供
• アセンブル・フロー・エディター
• Dojo 対応のページ・エディター
ƒ Eclipse
– WebSphere sMash がプラグインを提供
• Groovy およびJava
• PHP
– アセンブル・フロー・エディターも使用可
– 現状では、Project Zero コミュニティーでサポート
4
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
開発環境(開発ツール)比較
アプリケーション・ビルダー
ƒ GUI による操作
ƒ 言語対応のエディター
ƒ ページ・エディター (Dojo対応)
CLI
ƒ モジュール(アプリケーション)の作成・起動・停止
ƒ モジュールの管理
(依存性解決・更新、パッケージ化、・・・)
ƒ モジュール・グループの管理
アセンブル・
フロー・エディター
ƒ ・・・
ƒ
ƒ
ƒ
ƒ
GUI による操作
言語対応のエディター、HTMLエディター
デバッガーによるデバッグ
他の Plug-in による機能拡張
Eclipse
5
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
CLI (コマンド・ライン・インターフェース)
6
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
CLI の概要
ƒ コマンド・ベース(non GUI)の作業環境で、
アプリケーション開発とアプリケーション実行用の基本機能を提供
ƒ CLI タスクのカテゴリー
– 依存性管理
– モジュール・クラスパス
– モジュール・タスク
– モジュール・グループ・タスク
– リポジトリー・タスク
ƒ 独自の CLI タスクを作成することも可能
Command line interface tasks
http://publib.boulder.ibm.com/infocenter/wsmashin/v1r0/topic/com.ibm.websphere.sMash.doc/core/zero.cl
i.tasks/docs/en/CliTasks.html
7
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
CLI の使用準備
ƒ 前提
– sMash または sMash DE
ƒ 準備
• PATH に JDK と sMash のパスを設定
• sMash の製品版の場合は、以下のディレクトリーを PATH に設定
– <sMash導入先>jre¥bin
– <sMash導入先>
8
(JDK)
(sMash)
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
CLI の使用
ƒ zero コマンド:
タスク
compile
create
encode
help
info
modulegroup
package
publish
recycle
repository
resolve
restdoc
rollback
runsql
search
start
stats
status
stop
switch
update
user
version
9
> zero [main-opts] <task> [task-args]
説明
モジュールの /java ディレクトリーにあるすべての Java ソース・ファイルをコンパイルします。
現行ディレクトリーに新規モジュールを作成します。
パスワードなどのストリングを構成ファイル内で使用するためにエンコードします。
指定したコマンドに関する文書を出力します。
ベース URL などの、アプリケーションに関する基本情報を返します。
モジュール・グループを管理します。
モジュールを zip ファイルとしてパッケージ化します。
モジュールをローカル・リポジトリーに公開します。
アプリケーションを再利用します。
リポジトリーを管理します。
モジュールの依存関係を判別します。 →モジュールの依存関係を解決します。
This command runs the RESTdoc tool and generates HTML documentation
for the application's REST APIs.
前回実行した resolve または update の結果を元に戻します。
データベースに対して SQL ファイルを実行します
リポジトリー内の一致するすべてのモジュールを検出し、出力します。
アプリケーションを開始します。
アプリケーションについて収集された現在の統計情報を返します。
アプリケーションのステータスを返します。
青文字のタスクは、アプリケーション・ルー
アプリケーションを停止します。
ト・ディレクトリーでのみ実行可能です。
モジュール・グループを切り替えます。
モジュールを最新の依存関係に解決します。
restdoc タスクは、zero.restdoc を追加する
ユーザーを作成および編集します。
と表示されます。
バージョン情報を表示します。
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
CLI を使用した PHP サポートの追加
ƒ PHP サポートをアプリケーションに追加する場合の手順
– PHP への依存性をアプリケーションに追加
• config/ivy.xml を編集し、以下のエントリーを dependencies エレメントに追加
– <dependency name="zero.php" org="zero" rev="[1.0.0.0,2.0.0.0["/>
• アプリケーションを停止し、依存性を解決
– zero stop
– zero resolve
– 必要に応じて、PHP 構成ファイル(config/php.ini)の設定を変更
– PHP スクリプトをアプリケーションの public ディレクトリーに追加(作成)
– アプリケーションを起動
– zero start
– ブラウザーから PHP スクリプトを実行
• 例: http://localhost:8080/<スクリプト名>.php
10
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
CLI の使用例: 単純な REST サービスの作成
11
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
CLI の使用例(1)
ƒ 新しいアプリケーションの作成
> cd (アプリケーション・ルート・ディレクトリーの親ディレクトリー)
> zero create zero.sample.helloworld
C:¥> cd demo
C:¥demo> dir /b
C:¥demo> zero create zero.sample.helloworld
CWPZT0511I: zero:zero.application.template: を解決しています
CWPZT0840I: モジュール zero.sample.helloworld が正常に作成されました
C:¥demo> dir /b
zero.sample.helloworld
12
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
CLI の使用例(2)
ƒ 依存性の追加
– zero.resource への
依存性を追加
• config/ivy.xml
<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="1.3">
・・・
<dependencies>
<dependency org="zero" name="zero.core" rev="[1.0.0.0, 2.0.0.0["/>
<dependency name="zero.resource" org="zero" rev="[1.0.0.0, 2.0.0.0["/>
</dependencies>
</ivy-module>
ƒ 依存性の解決
> cd (アプリケーション・ルート・ディレクトリー)
> zero resolve
C:¥demo> cd zero.sample.helloworld
C:¥demo¥zero.sample.helloworld> zero resolve
CWPZT0600I: コマンド resolve は正常に完了しました
13
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
CLI の使用例(3)
{
ƒ リソース・モデルの定義
– "greetings" というリソース・モデルを定義
• app/models/greetings.json
– リソース・モデルは DB のテーブルにマッ
プされる
ƒ 初期データの記述
– JSON ファイルに初期データを記述
• app/models/fixtures/initial_data.json
ƒ リソース・モデルと初期データは後続のステッ
プで DB にポピュレートする
14
"fields": {
"language": {
"type": "string",
"max_length": 20
},
"message": {
"type": "string",
"max_length": 128
}
}
[
}
{"type": "greetings",
"fields": {
"language": "English",
"message": "Hello!!!" }
},
{ "type": "greetings",
"fields": {
"language": "Spanish",
"message": "Hola!!" }
},
{"type": "greetings",
"fields": {
"language": "Greek",
"message": "Yassou!" }
}
]
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
CLI の使用例(4)
ƒ リソース・モデルと初期データを DB にポピュレート
> cd (アプリケーション・ルート・ディレクトリー)
> zero model sync
再度ポピュレートを行う場合は、
zero model reset を実行
C:¥demo¥zero.sample.helloworld> zero model sync
CWPZC9225I: デフォルトの Derby データベース構成を使用しています。 アプリケーション・ルートの db/resource にあります。
CWPZC9223I: 1 モデル・タイプが見つかりました
CWPZC9212I: SQL -> CREATE TABLE greetings (
language VARCHAR(20),
message VARCHAR(128),
id INTEGER PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY (START WITH 100, INCREMENT BY 1)
NOT NULL,
updated TIMESTAMP NOT NULL
)
を使用してタイプ -> greetings で作成されたテーブル ->
GREETINGS
15
File -> C:¥WebSphere¥sMash¥zero.sample.helloworld¥app¥models¥fixtures¥initial_data.json
CWPZC9214I: メンバーが作成されました
タイプ -> greetings
データ -> {message=Hello!!!, language=English}
・・・・
CWPZT0600I: コマンド model sync は正常に完了しました
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
CLI の使用例(5)
ƒ リソースへの REST によるアクセスを ZRM に委譲
– "ZRM.delegate()" の1行を Groovy スクリプトに記述
• app/resources/greetings.groovy
ZRM.delegate()
ƒ アプリケーションの始動
> cd (アプリケーション・ルート・ディレクトリー)
> zero start
C:¥demo¥zero.sample.helloworld> zero satart
アプリケーションが始動して、http://localhost:8080/ で要求を処理しています
CWPZT0600I: コマンド start は正常に完了しました
16
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
CLI の使用例(6)
ƒ アプリケーションの始動を確認
– デフォルト・インデックス・ページを表示
http://localhost:8080/
17
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
CLI の使用例(7)
ƒ アプリケーションのテスト
– Web ブラザーを使用してリソースの GET 要求を送信
http://localhost:8080/resources/greetings
18
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
CLI の使用例(8)
ƒ アプリケーションの停止
> cd (アプリケーション・ルート・ディレクトリー)
> zero stop
C:¥demo¥zero.sample.helloworld> zero stop
アプリケーションの状況は、STOPPED です
WPZT0600I: コマンド stop は正常に完了しました
19
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
アプリケーション・ビルダー (App Builder)
20
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
アプリケーション・ビルダーの概要
ƒ ブラウザー・ベースのIDE
– Web 上で直接アプリケーションを構築
可能
ƒ sMash アプリケーションとして実装
ƒ 開発ライフサイクル全体をカバー
– 作成、修正、テスト
ƒ アセンブル・フロー・エディター
– アセンブル・フロー作成用のビジュアル・
エディターを提供
ƒ Web ページ作成用のビジュアル・エディ
ターを提供
– Dojo 対応のページ・エディターを含む
ƒ sMash DE でのみ使用可能
21
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
アプリケーション・ビルダーの使用
ƒ 前提
– sMash DE
– Mozilla Firefox ver. 2
ƒ 起動
– sMash DE のインストール先ディレクトリーで startAppBuilder を実行
• 最初の起動時に、モジュールのダウンロードが行われる
• インターネットに接続できる状態で初期起動する
> startAppBuilder
アプリケーションが始動して、http://localhost:8070/ で要求を処理しています
CWPZT0600I: コマンド start は正常に完了しました
ƒ 使用
– ブラウザーで http://localhost:8070 にアクセス
補足: Silverstone ビルドでは、起動・停止コマンドが以下のように変更されています。
起動: AppBuilder start
停止: AppBuilder stop
22
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
初期画面
23
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
ページ・エディター
24
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
アセンブル・フロー・エディター
25
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
アプリケーション・ビルダーの更新
ƒ アプリケーション・ビルダーは改良が続けられている
ƒ 最新のアプリケーション・ビルダーに更新する場合は
– アプリケーション・ビルダーを停止
• stopAppBuilder
(Silverstone ビルドの場合は、AppBuilder stop)
– アプリケーション・ビルダーのディレクトリーに移動
• <sMashDE導入ディレクトリー>¥appbuilder
– 以下の CLI コマンドを実行
• zero modulegroup update
• zero update
App Builder
http://www.projectzero.org/zero/silverstone/latest/docs/zero.gettingstarted.doc/zero.gettingstarted.doc/Ap
pBuilder.html
26
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
アプリケーション・ビルダーの使用例:
単純な REST サービスの作成
27
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
アプリケーション・ビルダーの使用例(1)
ƒ 新しいアプリケーションの作成
– 「My Applications -> New Application」を選択
– アプリケーションの名前と作成先のディレクトリーを指定
28
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
アプリケーション・ビルダーの使用例(2)
ƒ 新しいアプリケーションの作成
– 作成完了
29
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
アプリケーション・ビルダーの使用例(3)
ƒ アプリケーションの変更を開始
– 作成したアプリケーション zero.sample.helloworld2 を選択
30
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
アプリケーション・ビルダーの使用例(4)
ƒ リソース・モデルの作成
– 「File Editor」タブを選択した状態で
「New File -> Model」を選択
– 名前 /app/models/greetings.json を
指定
ƒ 依存性の追加
– 依存性の欠落が検出され、自動的に
追加が促される
– 「Add」を選択
– これにより、依存性の追加と解決が行
われる
31
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
アプリケーション・ビルダーの使用例(5)
ƒ リソース・モデルを定義
– 作成したファイルにリソース・モデ
ルを定義
ƒ 初期データを記述
– 同様の手順で以下のファイルを
作成
• /app/models/
fixtures/initial_data.json
– 初期データを記述
32
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
アプリケーション・ビルダーの使用例(6)
ƒ リソース・モデルと初期データを DB にポピュレート
– 「Consle」タブに切り替え、「Command Prompt」を選択
– "zero model sync" を実行
再度ポピュレートを行う場合は、
– 実行結果を確認
33
zero model reset を実行
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
アプリケーション・ビルダーの使用例(7)
ƒ Groovy スクリプトの作成
– 「File Editor」タブに切り替え、
「New File -> Resource」を選択
– 以下の名前を指定
• /app/resources/greetings.groovy
– リソースへの REST によるアクセス
を ZRM に委譲
• "ZRM.delegate()" の1行を Groovy
スクリプトに記述
34
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
アプリケーション・ビルダーの使用例(8)
ƒ アプリケーションの始動
– 右上に表示されている Run ボタンをクリック
• 補足:「My Applications」に表示される Run ボタンでも始動できます。
35
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
アプリケーション・ビルダーの使用例(9)
ƒ アプリケーションのテスト
– Web ブラザーを使用してリソースの GET 要求を送信
http://localhost:8080/resources/greetings
36
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
アプリケーション・ビルダーの使用例(10)
ƒ ページ・エディターを使用した RIA クライアントの作成 (1)
– ファイル public/greetingsClient.html を作成
– ZRMストアを追加し、プロパティーを設定
• 「Variable Name」に greetingsDataStore を設定
• 「Resource Collection」に greetings を設定
37
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
アプリケーション・ビルダーの使用例(11)
ƒ ページ・エディターを使用した RIA クライアントの作成 (2)
– zero.resource.DataStore用データ・グリッドを追加(Drag&Drop)
Drag&Drop
38
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
アプリケーション・ビルダーの使用例(12)
ƒ ページ・エディターを使用した RIA クライアントの作成 (3)
– 追加したデータ・グリッドのプロパティーを変更
• 「Data Store」に greetingsDataStore を指定
• 「Read Only」を false に変更
39
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
アプリケーション・ビルダーの使用例(13)
ƒ ページ・エディターを使用した RIA クライアントの作成 (4)
– 完成
– 「Source」に切り替えて内容を確認
・・・
<body class="soria">
<span dojoType="zero.resource.DataStore" jsId="greetingsDataStore"
resourceCollection="greetings"></span>
<div dojoType="zero.grid.DataGrid"
name="DataGrid"
store="greetingsDataStore"
style="width: 500px; height: 300px; position: absolute; left: 10px; top: 10px;"></div>
</body>
40
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
アプリケーション・ビルダーの使用例(14)
ƒ RIA クライアントのテスト
http://localhost:8080/greetingsClient.html
41
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
アプリケーション・ビルダーの使用例(15)
ƒ アプリケーションの停止
– 右上に表示されている Stop ボタンをクリック
• 補足:「My Applications」に表示される Stop ボタンでも始動できます。
42
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Eclipse (Groovy と PHP 用の Eclipse プラグイン)
43
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Eclipse − Java と Groovy 用のプラグイン
ƒ 前提環境
– Windows, Linux または Mac
– Java SE Development Kit (JDK) 5.0 または 6.0
– Eclipse IDE for Java Developers 3.2.2 以降
ƒ Java と Groovy 用のプラグインをインストール
– WebSphere sMash Update Site からプラグインをインストール
• http://www.projectzero.org/zero/silverstone/latest/update/zero.eclipse
–最新の前提環境などは、下記 URL を参照
44
Project Zero Downloads > Project Zero Eclipse Plug-in for Java and Groovy
http://www.projectzero.org/download/eclipse_java.php
Installing and configuring: Eclipse for Java and Groovy
http://www.projectzero.org/zero/silverstone/latest/docs/zero.gettingstarted.doc/zero.gettingstarted.doc/Eclipse.html
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Eclipse − PHP 用のプラグイン
ƒ 前提環境
– Windows, Linux または Mac
– Java SE Development Kit (JDK) 5.0 または 6.0
– Eclipse PHP Development Tools (PDT) 1.0.3
ƒ PHP 用のプラグインをインストール
– WebSphere sMash Update Site からプラグインをインストール
• http://www.projectzero.org/zero/silverstone/latest/update/zero.eclipse.php
–最新の前提環境などは、下記 URL を参照
45
Project Zero Downloads > Project Zero Eclipse Plug-in for PHP
http://www.projectzero.org/download/eclipse_php.php
Installing and configuring: Eclipse for PHP
http://www.projectzero.org/zero/silverstone/latest/docs/zero.gettingstarted.doc/zero.gettingstarted.doc/EclipsePHP.html
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Eclipse − アセンブル・フロー・エディターの使用
ƒ 準備
– アプリケーションに以下の依存性を追加
• <dependency name=”zero.assemble.tooling” org=”zero” rev=”[1.1.0.0, 1.2.0.0[”/>
– 依存性を解決
ƒ 使用
– アプリケーションを起動
– Webブラウザで、以下の
URL にアクセス
http://localhost:8080/tooling/
–依存性の追加と解決、アプリケーションの
起動方法は、以下の使用例を参照
Project Zero ブログ >> Blog Archive >> Assemble Flow Editor起動方法:Eclipse編
http://www.projectzero.org/jblog/index.php/2008/07/07/assemble-floweditor%e8%b5%b7%e5%8b%95%e6%96%b9%e6%b3%95%ef%bc%9aeclipse%e7%b7%a8/
46
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Eclipse − モジュール・グループに関して
ƒ モジュール・グループは experimental のみ
– sMash DE と異なり、デフォルトではモジュール・グループ stable のモジュー
ルを使用できない
ƒ sMash DE と同様に stable のモジュール
を利用したい場合は、Preferences 画面
で以下の設定を変更
– ローカル・リポジトリー・ホーム
• 別ディレクトリーを指定
– リモート・リポジトリー・チェーン
https://www.projectzero.org/sMash/1.0.x/repo/base/
https://www.projectzero.org/sMash/1.0.x/repo/rte/
https://www.projectzero.org/sMash/1.0.x/repo/samples/
47
Project Zero ブログ >> Blog Archive >>WebSphere sMash Developer Edition (DE) のEclipseプラグインを導入する
http://www.projectzero.org/jblog/index.php/2008/07/07/websphere-smash-developer-edition-de%e3%81%aeeclipse%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%82%92%e5%b0%8e%e5
%85%a5%e3%81%99%e3%82%8b/
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Eclipse − Groovy サポートの有効化
ƒ Groovy サポート
– デバッガーによる Groovy スクリプトのデバッグ
• デバッガーでは、sMash のグローバル・コンテキス
トの内容も確認可
– コード・アシスト機能
ƒ Groovy サポートを有効にする
– プロジェクトのポップアップ・メニューで「Add
Groovy Nature」を選択
– Groovy スクリプトがコンパイルされ、bin-groovy
ディレクトリー内にクラス・ファイルが作成され、
ブレークポイントが設定できるようになる
48
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Eclipse の使用例: 単純な REST サービスの作成
49
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Eclipse の使用例(1)
ƒ 新しいアプリケーションの作成
– メニューから「File -> New -> Other…」を選択
– 「WebSphere sMash Application」を選択し、
アプリケーションの名前を指定
50
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Eclipse の使用例(2)
ƒ 依存性の追加
– zero.resource への依存性を追加するために、config/ivy.xml を開き(ダブ
ルクリック)、「追加」ボタンを選択
– 「依存関係の選択」に zero.resource が表示されない場合は、
「リポジトリーの管理」ボタンを選択
51
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Eclipse の使用例(3)
ƒ 依存性の追加 (続き)
– リモート・リポジトリーを検索し、zero.resource をダウンロード
52
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Eclipse の使用例(4)
ƒ 依存性の追加 (続き)
– zero.resource への依存性を追加
– config/ivy.xml を保存
保存
53
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Eclipse の使用例(5)
デフォルトで自動解決が有効になっているので、
この操作は省略できます。
ƒ 依存性の解決
– アプリケーションのポップアップから「WebSphere sMash
Tools -> Resolve」を選択
– 解決結果は、「Package Explore」の「Zero 解決ライブラ
リー」で確認可能
54
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Eclipse の使用例(6)
ƒ リソース・モデルの定義
• app/models/greetings.json
–ファイル内に記述する内容は、
–CLI や App Builder の使用例を参照
ƒ 初期データの記述
• app/models/fixtures/initial_data.json
ƒ Groovy スクリプトの作成
• app/resources/greetings.groovy
• Groovy スクリプトを作成する際に、Groovy サポート
の追加が促されるので、Yes を選択
自動的に有効にならない場合は、
プロジェクトのポップアップ・メニューから「Add Groovy Nature」を選択
55
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Eclipse の使用例(7)
ƒ リソース・モデルと初期データを DB にポピュレートする作業を行うために、
Run Configuration を作成
• ここでは一旦アプリケーションを始動し停止することで Run Configuration を自動
生成します
ƒ Run Configuration を作成するために、一旦アプリケーションを始動
– アプリケーション(プロジェクト)のポップアップから
「Run As -> WebSphere sMash Application」を選択
56
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Eclipse の使用例(8)
ƒ Run Configuration が作成されたので、アプリケーションを停止
– 「Console」の Terminate ボタンで停止
57
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Eclipse の使用例(9)
ƒ リソース・モデルと初期データを DB にポピュレート
– 作成された Run Configuration を開き、Program Arguments を run から
model sync に修正
再度ポピュレートを行う場合は、model reset を指定
– 「Apply」ボタン、
「Run」ボタンを選択し
ポピュレートを実行
58
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Eclipse の使用例(10)
ƒ ポピュレートの結果をコンソールで確認
59
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Eclipse の使用例(11)
ƒ アプリケーションの始動
– Run Configuration を開き、Program Arguments を run に復元
– 「Apply」ボタン、「Run」ボタンを選択し、アプリケーションを始動
60
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Eclipse の使用例(12)
ƒ アプリケーションのテスト
– Web ブラザーを使用してリソースの GET 要求を送信
http://localhost:8080/resources/greetings
61
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Eclipse の使用例(13)
ƒ アプリケーションの停止
– 「Console」の Terminate ボタンで停止
62
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Web ツール
63
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Web ツール概要
ƒ zero.core.webtools
– アプリケーション開発時に役立つユーティリティーを提供
– 本番用のアプリケーションではセキュリティーなどの観点から使用しない
• config/ivy.xml から zero.core.webtools の依存定義を除去
ƒ 提供する機能
– アプリケーションのデフォルト・インデックス・ページ (Web ツール用)
– リクエスト・データ・ ビューアー
– ユーザー・サービス・アプリケーション
• ファイル・ベースのユーザー・レジストリーの、Web ベースの管理機能
– 仮想ディレクトリー・ブラウザー
– 開発者向けのデフォルト・エラー・ページ
– Groovy コンパイル・エラー用のエラー・ページ
64
(zero.core の機能)
(zero.core の機能)
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Web ツール(1)
ƒ アプリケーションのデフォルト・イン
デックス・ページ
– Web ツール提供のもの
– 独自のインデックス・ページを作
成すると、このデフォルト・ペー
ジの表示が抑止される
– http://localhost:8080/
ƒ リクエスト・データ・ ビューアー
– ヘッダー、クッキー、パラメー
ターなどのリクエスト情報を表示
– http://localhost:8080/zero/web
tools/snoop.gt
65
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Web ツール(2)
ƒ ユーザー・サービス・アプリケーション
– ファイル・ベースのユーザー・レジスト
リーの、Web ベースの管理機能
– http://localhost:8080/zero/webtools/u
ser
ƒ 仮想ディレクトリー・ブラウザー
– 仮想ディレクトリー内のファイル一覧と、
選択したファイルの内容を表示
– 集積したファイルの一覧を表示
• ファイル一覧には、ファイルの提供元
モジュールの名前も表示
– App Builder の「Explorer」タブも同様の
機能を提供
– http://localhost:8080/zero/webtools/br
owser.gt
66
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
補足: zero.core の機能
ƒ 稼動モードに応じたデフォルトのエ
ラー・ページを提供
ƒ "development" モード
– デフォルト・エラー・ページ
• スタック・トレースを含むエラー・
ページ
– Groovy コンパイル・エラー用の
エラー・ページ
• Groovy コンパイル・エラー用の特
別なエラー・ページ
• コンパイル・エラーとソース・コード
を表示
ƒ "production" モード
– スタック・トレースなどを含まない
シンプルなエラー・ページ
– Groovy コンパイル・エラーの場合
も同様
z
67
z
ドキュメントでは Web ツールの機能となっていますが、稼動確認した範囲では zero.core の機能でした
config/zero.config 内の /config/runtime/mode の指定によりデフォルトのエラー・ページが変わります
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
restdoc Web ツール
ƒ zero.restdoc.webtools
– restdoc が生成したドキュ
メントを公開
– RESTリソースのテスト機
能を提供
– http://localhost:8080/res
ources/restdoc
zero.restdoc と zero.restdoc.webtools の
モジュール・グループは "experimental" です。
68
RESTdoc (zero.restdoc.webtools)
http://www.projectzero.org/zero/silverstone/latest/docs/zero.gettingstarted.doc/zero.restdoc/RESTdoc.html
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
デバッグとテスト
69
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
デバッグ:ログ出力によるデバッグ
ƒ アプリケーション内にデバッグ用のログ出力を埋め込む
– logger.<出力レベル> { "メッセージ" }
– 例:logger.FINEST { "Hello world." }
ƒ ログ出力設定のカスタマイズ
– 以下のディレクトリー内の logging.properties を、アプリの config 内にコピー
• <sMash導入Dir>¥zero-repository¥stable¥expanded¥zero.kernel-<VerRev>¥config
– ログ出力レベルのカスタマイズ(指定)
• .level=???
(sMashを含む、全体に対する指定)
• aaa.bbb.level=??? (特定のパッケージ&スクリプトに対する指定)
– ログ出力レベル
• SEVERE > WARNING > INFO > CONFIG > FINE > FINER > FINEST
ƒ 出力先
– logs ディレクトリー内の trace-0.0.log
– 注:error-0.0.log には、logging.properties 内の指定(デフォルト)により、INFO 以上
のメッセージしか出力されない
70
Logging from a Groovy Script
http://publib.boulder.ibm.com/infocenter/wsmashin/v1r0/topic/com.ibm.websphere.sMash.doc/core/zero.core
© 2008 IBM Corporation
/docs/en/GroovyHandlers.html#Logging_from_a_Groovy_Script
WebSphere sMash アナウンスメント
デバッグ:アクセス・ログの出力
ƒ HTTP 通信に関連した動作の解析で使用
ƒ sMash アクセス・ログの出力方法
– config/zero.config に /config/accessLogging=true を追加
ƒ ログの出力先
– logs ディレクトリー内の access-log
71
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
デバッグ:デバッガーの使用 (Eclipse)
ƒ デバッガーによるデバッグ
– ブレーク・ポイント
– ステップ実行
– 変数値の表示
– グローバル・コンテキス
トの表示
ƒ アプリケーション・ロジックの
詳細なデバッグ向き
72
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
デバッグ:AJAX / Dojoクライアント (1)
ƒ Firebug によるデバッグ (Firefox のみ)
– Firebug: http://getfirebug.com/
– 以下の機能を持つ強力なデバッグ・ツール
•
•
•
•
コンソール出力
HTML の表示/編集
スクリプト、CSSの表示/編集
ブレーク・ポイントの設定によるデバッグ、変数値の表示
ƒ Firebug Lite (Dojo同梱)によるデバッグ
– コンソール出力機能とコマンドによる変数値の表示機能などを提供
– Dojo の djConfig に "isDebug: true" を指定
ƒ ログ出力によるデバッグ
– Java Script 内にデバッグ用のログ出力を埋め込む
• console.<出力レベル>( "メッセージ" )
• 例: console.debug( "Hello world." )
– 出力先
• Firebug または Firebug Lite のコンソール
73
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
デバッグ:AJAX / Dojoクライアント (2)
ƒ Dojo に関連した問題解析のヒント
– dojo.js の代わりに dojo.uncompressed.js をロード
• dojo.js は実行時のパフォーマンスを向上させるために "圧縮" されている
• コードが読みにくいため、解析作業には不向き
– dojo. require() でロードしている箇所を <script> タグによるロードに変更
• dojo. require() でロードした Java Script には、Firebug でブレーク・ポイントを設定できない
・・・
<script type="text/javascript">
var djConfig = { parseOnLoad: true, isDebug: true };
</script>
<script type="text/javascript" src="dojo/dojo.js.uncompressed.js">
</script>
<script type="text/javascript" src="dojo/dnd/Container.js"></script>
<script type="text/javascript" src="dojo/dnd/Selector.js"></script>
<script type="text/javascript" src="dojo/dnd/Source.js"></script>
<script type="text/javascript" src="dojo/dnd/Avatar.js"></script>
<script type="text/javascript" src="dojo/dnd/Manager.js"></script>
・・・
74
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
まとめ
ƒ WebSphere sMash アプリケーション開発環境
– CLI (コマンド・ライン・インターフェース)
– アプリケーション・ビルダー (App Builder)
– Eclipse
• Groovy & Java
• PHP
ƒ Web ツール
ƒ デバッグとテスト
75
© 2008 IBM Corporation
Fly UP