Comments
Description
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