...

SCA Feature Pack for WAS V7.0 - 管理と QoS

by user

on
Category: Documents
41

views

Report

Comments

Transcript

SCA Feature Pack for WAS V7.0 - 管理と QoS
SCA Feature Pack for WAS V7.0
-管理とQoS-
日本IBMシスエムズ・エンジニアリング(株)
Webインフラストラクチャー
植田 佳明
Disclaimer
ƒ 当資料で提供する技術情報は、各製品の出荷前コードに基づくものを含みま
す。
ƒ この資料は日本アイ・ビー・エム株式会社ならびに
日本アイ・ビー・エム システムズ・エンジニアリング株式会社の正式なレ
ビューを受けておりません。
ƒ 当資料は、資料内で説明されている製品の仕様を保証するものではありませ
ん。
ƒ 資料の内容には正確を期するよう注意しておりますが、この資料の内容は
2009年7月現在の情報であり、製品の新しいリリース、PTFなどによって動作、
仕様が変わる可能性があるのでご注意下さい。
ƒ 今後国内で提供されるリリース情報は、対応する発表レターなどでご確認くだ
さい。
Page 2
Agenda
ƒ アプリケーション管理
– SCAアプリケーションのパッケージング
– アプリケーションデプロイ
– プロパティ・参照の変更
– ポリシー構成
ƒ QoS
– QoSとは
– トランザクションポリシー
– インタラクションポリシー
ƒ まとめ
ƒ 参考資料
ƒ (参考) SCAアプリケーションデプロイ手順
Page 3
アプリケーション管理
アプリケーション開発後の管理項目
ƒ 管理手段
–管理コンソール
–wsadmin
ƒ 管理可能な項目
–デプロイ
–起動停止
–構成変更
Page 5
SCAアプリケーションのパッケージング
ƒ SCAコントリビューション
– コンポジット、コンポーネント実装などを含むSCAパッケージ
– JAR / WAR / EAR形式などでパッケージングが可能
ƒ sca-contribution.xmlファイル
– コントリビューション・ドキュメントと呼ばれる
– SCAコントリビューションがランタイム環境にどのようにデプロイされるかを定義
– META-INF以下に配置
sca-contribution.xmlの例
<?xml version="1.0" encoding="UTF-8"?>
<contribution xmlns="http://www.osoa.org/xmlns/sca/1.0">
<deployable composite="ns1:MySCAComposite" xmlns:ns1="http://mysca"></deployable>
</contribution>
Page 6
(参考) compositeファイル
ƒ <コンポジット名>.compositeファイル
– 一般的にSCDLという名前で呼ばれる
– コンポジット内のコンポーネントやサービスなどの構造、設定を記述
例:MySCAComposite.composite
<?xml version="1.0" encoding="UTF-8"?>
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:yoursca="http://yoursca" autowire="false"
name="MySCAComposite" targetNamespace="http://mysca">
<component name="MySCAComponent0">
<implementation.java class="mysca0.MySCAServiceImpl0"/>
<service name="MySCAService0">
<interface.java interface="mysca0.MySCAService0"/>
<binding.ws/>
</service>
<reference name="mySCAReference" target="MySCAComponent/MySCAService">
<interface.java interface="mysca.MySCAService"/>
</reference>
<property name="property01" type="xsd:string">test</property>
</component>
<property many="false" mustSupply="false" name="composite_property"
type="xsd:int">999</property>
</composite>
Page 7
SCAドメインとWASセル
ƒ SCAドメイン
– Aseembly Specificationの定義は「1つの組織によってコントロールされるビジネス上の機能の
集まりを表す領域」
– ワイヤリングやプロパティーなどの機能が有効となる境界
– SCAコントリビューションは1つのドメイン内にデプロイされる
ƒ WASではSCAドメインをセルと対応させている
WASセル
に対応
Page 8
デプロイの実施
ƒ SCA FPではSCAアプリケーションをBLA(Business Level Application)として構
成
– パッケージングされたSCAアプリケーションをアセットとしてインポートし、BLAに登録
– Java EEパッケージングから独立して利用することが可能
BLA
JAR
アセット
ZIP
RAD 7.5.2
SCA Tools
WAR
WAS 7.0.0.3
SCA FP
※詳細は当資料の「(参考) SCAアプリケーションデプロイ手順」を参照
Page 9
(参考) Business Level Application(BLA)とは??
ƒ BLAは複数コンポーネント(EAR/WAR/JARなど)をひとつのビジネス・アプリ
ケーションとして関連付ける新しい管理モデル
– 複数のコンポーネントをまとめて管理可能
– J2EEパッケージング・モデルよりも柔軟な管理が可能
ƒ BLAを利用することにより従来のEARベース管理の制限から解放される
– J2EE パッケージ・モデルに依存
– Application=EAR という概念だけでは不十分なケースがある
– 操作できる単位がEAR単位である
Page 10
(参考)BLAのコンセプト図
BLA1
BLA
BLA2
(Composition)
Composition Unit
(Application Metadata,
Deployment Information)
Enterprise
Application
Web
Module
Library
Enterprise
Application
Web
Module
従来の方法で
EARをデプロイすると
Asset無しでCUが作成
Asset
(Application Binaries)
EAR
WAR
Java
Library
WAR
Page 11
アプリケーションの起動/停止
ƒ デプロイ後のSCAアプリケーションの起動停止や構成変更などは管理コンソー
ルから実施可能
ƒ 起動 / 停止
– BLAの起動、停止でおこなう
– [アプリケーション] – [アプリケーション・タイプ] – [ビジネス・レベルアプリケーション]
チェックボックスにチェックをつけて「開始」
または「停止」ボタンをクリック
Page 12
アプリケーションの構成変更
ƒ 構成変更はBLA内に構成されたアセットのレベルでおこなう
– [アプリケーション] – [アプリケーション・タイプ] – [ビジネス・レベル・アプリケーション] – [<BLA
名>] の「デプロイ済みアセット」のコンポジット名を選択
– 「SCAコンポジット・コンポーネント」や「SCAコンポジット・プロパティー」などの設定項目が存在
BLA内のデプロイ済みアセット
左図でデプロイ済みアセット選択時
Page 13
構成変更可能な項目
ƒ 下記のような項目の構成変更が可能
– プロパティー(コンポジット・コンポーネント)
– 参照ターゲット
– バインディング関連
– EJBバインディング
– Webサービスバインディング
コンポジット
プロパティ
リファレンス
サービス
コンポーネント
バインディング
•
•
•
SCA
WS
EJB
バインディング
•
•
•
SCA
WS
EJB
Page 14
プロパティーの変更 (1/3)
ƒ プロパティーを使用するとコンポーネント実装内のフィールドの値を外から与え
ることが可能
– コーディングを変えずにフィールドの値を変更可能
– @Propertyアノテーションを使用
ƒ デプロイ後、管理コンソールから値の変更が可能
Composite
Component
– 追加は不可
プロパティー使用例
@Property(name="property01",required=true)
protected String property01;
public String invoke0(String s) {
System.out.println("+++property01:"+property01+"+++");
System.out.println("+++MySCAService0 is invoked+++");
return mySCAService.invoke(s);
Page 15
プロパティーの変更 (2/3)
ƒ SCAプロパティの設定
@Property(name="property01",required=true)
protected String property01;
public String invoke0(String s) {
System.out.println("+++property01:"+property01+"+++");
System.out.println("+++MySCAService0 is invoked+++");
return mySCAService.invoke(s);
実装コード
ツールでの設定
Page 16
プロパティーの変更 (3/3)
ƒ 管理コンソールよりSCA プロパティを変更可能
– [アプリケーション] – [アプリケーション・タイプ] – [ビジネス・レベル・アプリケーション] –
[<BLA名>] – [デプロイ済みアセット/<コンポジット名>] – [SCAコンポジット・コンポーネ
ント/<コンポーネント名>] – [SCAコンポーネント・プロパティー/<プロパティー名>]
Page 17
参照ターゲットの変更 (1/2)
Composite
ƒ 参照のアクセス先を変更
ƒ 同一ドメイン内に複数の参照可能コンポーネントが
存在するときに利用可能
Component
アクセス先変更
Page 18
参照ターゲットの変更 (2/2)
ƒ 管理コンソールで変更可能
– [アプリケーション] – [アプリケーション・タイプ] – [ビジネス・レベル・アプリケーション] – [<BLA
名>] – [デプロイ済みアセット/<コンポジット名>] – [SCAコンポジット・コンポーネント/<コンポー
ネント名>] – [SCAコンポーネント参照/<参照名>] – [参照ターゲットURI]
Page 19
バインディング関連の変更 – EJBバインディング
ƒ EJBバインディングURI
– 参照先のEJBモジュールURIを変更可能
– [アプリケーション] – [アプリケーション・タイプ] – [ビジネス・レベル・アプリケーション] – [<BLA
名>] – [デプロイ済みアセット/<コンポジット名>] – [SCAコンポジット・コンポーネント/<コンポー
ネント名>] – [SCAコンポーネント参照/<参照名>] – [バインディング/EJBバインディングURI]
Composite
Component
binding
Page 20
バインディング関連の変更 – Webサービスバインディング
ƒ Webサービスバインディング使用時にはQoS実現の仕組みであるポリ
シーセットが使用可能
ƒ ポリシーセットとはQoS設定であるポリシーの集合
– QoS設定をDeploymentDescripterではなく、ポリシーに設定
ƒ WASではポリシー・セットとしてWS-Policyを実装
– Webサービス・アプリケーションに対してポリシー・セットを関連付け
ƒ 用語
– ポリシー・セット:ポリシーをまとめたもの
– ポリシー(タイプ):QoSを定義したもの
ポリシー B
B
Webサービス・
アプリケーション
attach !!
D
ポリシー D
ポリシー・セットA
①ポリシー・セットに含めるポリシーを選択
②ポリシーセットをアプリケーションに関連付け
Page 21
バインディング関連の変更 – Webサービスバインディング
ƒ ポリシーセットの設定
– [アプリケーション] – [アプリケーション・タイプ] – [ビジネス・レベル・アプリケーション] – [<BLA
名>] – [デプロイ済みアセット/<コンポジット名>] – [追加プロパティー]
– 参照側の場合は[参照のポリシー・セットおよびバインディング]
– サービス側の場合は[サービス・プロバイダーのポリシー・セットおよびバインディング]
Composite
Component
binding
Page 22
ポリシー・セットの作成とアタッチ
名前を入力
追加ボタンをクリックし、
リストから選択
リストから選択
関連づけたい対象を
チェックして、関連づけの
ボタンをクリックする
Page 23
QoS (Quality of Service)
QoSとは
ƒ サービスの性能、品質
ƒ 一般的に非機能要件に属する
非機能要件
機能要件/業務要件
アプリケーション
要件
データ要件
性能・品質要件
9パフォーマンス
9信頼性
9セキュリティー
9運用管理
制約
9予算
9スケジュール
9スキル
9配置場所/環境
9既存システム
9準拠する標準/規約
Page 25
SCAにおけるQoS
ƒ SCAでは2つの仕様でQoSを定義
– SCA Policy Framework
– SCAのQoS構成、インテント、ポリシー、ポリシーセットについて
– SCA Transaction Policy
– トランザクション関連
ƒ 以下の3つの概念が存在
– インテント
– QoSの特定の要素、アサーション。開発者が指定。
– ポリシー
– SCA各要素に対する制約、機能
– ポリシーセット
– ポリシーの集合体。開発者が設定したインテントをもとにデプロイヤーが指定。
Page 26
ポリシー
ƒ 実際はQoS構成のフレームワークとしてポリシーが用意されている
– インタラクションポリシー
– サービスおよびリファレンスに対するQoS
– Webサービスのポリシーの仕組みを使用
– 認証、機密性保護など
– 実装ポリシー
– コンポーネント実装に対するQoS
– SCA Feature Packではトランザクションポリシー、セキュリティポリシーをサポート
実装ポリシー
コンポーネント
インタラクションポリシー
相互アクション
コンポーネント
Page 27
インタラクションポリシー
ƒ リファレンスおよびサービス間でのデータ転送などの相互アクションに関する
QoSを定義
ƒ 以下のような設定が可能
– セキュリティー
– 認証
– 機密
– 整合
– 信頼メッセージ
ƒ Feature Pack for SCAではWebサービスバインディング使用時のみサポートさ
れる
– QoSを実装するにはインテントに対応するWebサービスポリシーセットを設定する必要
がある
Page 28
インテント
ƒ 特定のQoSの抽象的なアサーション
– authentication(認証必要)、managedTransaction.glocal(グローバルトランザクション想
定)など
– 仕様上の使い方としては開発者が設定することとなっている
– ポリシーにそれぞれ専用のインテントを指定することによりQoSを実現する
– インテントだけでQoS設定が可能なポリシーと別途ポリシーセット設定などが必要なポ
リシーがある
実装ポリシー
コンポーネント
グローバルトラン
ザクション想定
インタラクションポリシー
相互アクション
セット
managedTransacaion.globalインテント
コンポーネント
認証必要
セット
authenticationインテント
Page 29
セキュリティー設定方法
ƒ 開発者がインテントを設定
– authentication (認証) / confidentiality (機密) / integrity (整合)の3種類
– セキュリティを確保するレイヤーとして message / transport の2種類が存在
– インテントとして指定するときは上記の2つを組み合わせたものとなる
(例) authentication.transport
ƒ デプロイヤーがデプロイ時にインテントに必要なポリシーセットを設定
– ポリシーセットを設定するとインテントがポリシーセットに取り込まれる
Page 30
(参考)セキュリティーインテント設定例(RAD使用)
ƒ RAD7.5での設定例
– サービスを選択し、プロパティー – バインディング – WebServiceにてインテントを追加・削除可
能
Page 31
(参考)ポリシーセット設定例(管理コンソール使用)
ƒ 管理コンソール設定例
– Webサービスバインディングでインテントを指定した場合、BLAにアセットを登録すると
きに必要なポリシーセットが表示される
Page 32
トランザクションポリシー
ƒ 実装ポリシーのひとつでトランザクションに関するQoSのフレームワーク
– SCA Transaction Policy V1.0で定義されている
ƒ 宣言的なトランザクション設定が可能
– インテントの仕組みを利用
– コンポーネント、サービス、リファレンスごとに設定
コンポジット
リファレンス
サービス
コンポーネント
インテント
インテント
•
•
propagetesTransaction
suspendsTransaction
インテント
•
•
propagetesTransaction
suspendsTransaction
managedTransaction.global
Page 33
トランザクションインテント
ƒ グローバルトランザクション
インテント
対象
内容
managedTransaction.global
実装
実装ロジックをグローバルトランザクション
のもとで実行するように指定
propagatesTransaction
リファレンス/サービス
トランザクションコンテキストを伝播
suspendsTransaction
リファレンス/サービス
トランザクションコンテキストを伝播しない
インテント
対象
内容
managedTransaction.local
実装
ローカルトランザクションを実行
noManagedTransaction
実装
トランザクションなし
ƒ ローカルトランザクション
※(参考)WAS V7 InformationCenter -SCA トランザクション・インテント
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.soafep.
multiplatform.doc/info/ae/ae/csca_global_trans.html
Page 34
構成例
ƒ コンポーネントをまたがって一つのグローバルトランザクションを構成する例
– コンポーネントにはmanagedTransaction.globalインテント
– サービス、リファレンスにはpropagatesTransactionインテント
managedTransaction.global
DB更新
propagatesTransaction
managedTransaction.global
メッセージPUT
managedTransaction.global
Page 35
(参考)トランザクションインテント設定例(RAD使用)
ƒ RAD7.5ではGUIでインテントを設定可能
– コンポーネントの場合、コンポーネント選択 – プロパティー – 実装
Page 36
Webサービスバインディング使用時の注意点
ƒ グローバルトランザクションがWebサービスバインディングをまたがって構成さ
れる場合はポリシーセットの設定が必要
– トランザクションコンテキストをバインディングを通じて伝播させる必要がある
– WS-Transactionを含むようなポリシーセットをアタッチ
ƒ SCAバインディング、EJBバインディングの場合はデフォルトサポート
– バインディングに対する特別な設定は不必要
リファレンス
サービス
コンポーネント
コンポーネント
Webサービスバインディング
WS-Transaction
リファレンス
サービス
トランザクション
コンテキスト伝播
Webサービスバインディング
WS-Transaction
Page 37
(参考)バインディング、インテント、ポリシーセットの関係
ƒ バインディングごとに使用可能なインテントと必要なポリシーセットの関係
インテント
Webサービスバインディング
EJB / SCAバインディング
authentication.message
WS-Security ポリシー・タイプを含む
Web サービス・ポリシー・セット
サポートなし
confidentiality.message および
integrity.message
WS-Security ポリシー・タイプを含む
Web サービス・ポリシー・セット
サポートなし
authentication.transport
HTTPTransport ポリシー・タイプを
含む Web サービス・ポリシー・セット
(参照のみ)
サポートなし
confidentiality.transport および
integrity.transport
SSLTransport ポリシー・タイプを含
む Web サービス・ポリシー・セット
サポートなし
propagatesTransaction
WS-Transaction ポリシー・タイプを
含む Web サービス・ポリシー・セット
サポート有り
構成不要
※WAS V7 InformationCenter -要約インテントのマッピングおよびポリシー・セットの管理 から抜粋
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.soafep.
multiplatform.doc/info/ae/ae/twbs_sca_intent_policyset.html
Page 38
まとめ
ƒ SCAアプリケーション管理
– SCAアプリケーションのパッケージング
– 管理コンソールを用いて管理が可能
– アプリケーションデプロイ
– アプリケーション起動停止
– アプリケーション構成変更
ƒ SCAアプリケーションのQoS実装
– ポリシーとインテント
– インタラクションポリシー
– トランザクションポリシー
Page 39
参考資料
ƒ WAS V7.0 InformationCenter Feature Pack for SOA
– http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/topic/com.ibm.websphere.soafep.multi
platform.doc/info/welcome_nd.html
ƒ DeveloperWorks -WebSphere Application Server Feature Pack for SCAの理
解を深める: Part 3: SCA Feature Packで使用可能なインテントとポリシー– http://www.ibm.com/developerworks/jp/websphere/library/was/was7_sca/3.html
ƒ Education Assistant -IBM WebSphereR Application Server V7.0 Feature
Pack for Service Component Architecture Version: V1.0– http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.wasfp
sca/wasfpsca/wasfpsca10.html
ƒ Service Component Architecture Specifications
– http://www.osoa.org/display/Main/Service+Component+Architecture+Specifications
ƒ SCA Approach to Policy and Bindings
– http://www.osoa.org/download/attachments/250/SCA_Approach_To_Policy_and_Bindings.pdf?
version=1
Page 40
(参考) SCAアプリケーションデプロイ手順
SCAアプリケーションのデプロイ手順
0.
1.
2.
3.
4.
SCAアプリケーションのエクスポート
アセットの作成
BLAの作成
BLAへのアセット登録
SCAアプリケーションの起動
Page 42
SCAアプリケーションのエクスポート
ƒ 開発ツールからSCAアプリケーションをエクスポートする
エクスポート対象の
コンポジットを選択
Page 43
アセットの作成①
ƒ アセットのインポート
– アセットとして登録するjar/zipファイルをインポート
Page 44
アセットの作成②
ƒ アセット名の入力
Page 45
アセットの作成③
ƒ 正常完了のメッセージを確認後、保存
Page 46
BLAの作成①
ƒ 新規BLAの作成
Page 47
BLAへのアセット登録①
ƒ 新規作成したBLAへアセットを登録
Page 48
BLAへのアセット登録②
ƒ 登録可能なアセットが表示される。登録したいアセットを選択
Page 49
BLAへのアセット登録③
ƒ 登録時の設定はウィザードにより実行される。
– 仮想ホストのマップなどを実行
Page 50
BLAへのアセット登録④
ƒ ウィザード設定の確認
Page 51
BLAへのアセット登録⑤
ƒ 設定の保管
– 保存または検討
– NDの場合は他のアプリと同様にノード同期が必要
Page 52
SCAアプリケーションの起動①
ƒ BLAのレベルで起動させる
– 左のチェックボックスにチェックをして開始をクリック
Page 53
SCAアプリケーションの起動②
ƒ BLAに所属するアセットが全て起動
Page 54
Fly UP