...

10. ISE 近藤 仁 WebSphere sMash アナウンスメント © 2008 IBM & ISE Corporation

by user

on
Category: Documents
18

views

Report

Comments

Transcript

10. ISE 近藤 仁 WebSphere sMash アナウンスメント © 2008 IBM & ISE Corporation
WebSphere sMash アナウンスメント
10.可用性とワークロード管理
ISE 近藤 仁
© 2008 IBM & ISE Corporation
WebSphere sMash アナウンスメント
目次
ƒ RESTful SOA
ƒ プロキシー構成、クラスター構成とQoS
ƒ セッション・アフィニティ
– zsessionid
– apacheRouteID
ƒ URIUtils
ƒ Same-Origin ポリシーの解決
ƒ キャッシング
ƒ 他製品連携
– WebSphere Application Server
– WebSphere Virtual Enterprise
2
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
RESTful SOA
3
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
RESTful SOA
ƒ RESTful SOAはWWWを最大限に活用するSOAの1形態
–
HTTPベース
–
リソースに対するステートレスなCRUD処理
–
データ・フォーマットはJSON , XML , ATOM
–
AJAXを用いたRIAとの連携
ƒ RESTfulSOAのモチベーション
–
アーキテクチャに制約をかけることで高い整合性、スケーラビリティ、開発生産性を実
現
ƒ エンタープライズSOAのモチベーション
–
WS-*はデータそのものではなく、ヘッダーで扱う非機能要件
• 直接コントロールの及ばない外部と非機能要件を取り決めたい場合に有用
–
4
サービス信頼性向上のためにはWS-ReliableMessagingやSOAP/JMSが効果的な選
択
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
RESTful SOAの優位性 1/3
ƒ
シンプル
–
ƒ
普遍性
–
ƒ
暗黙の制約によるシンプルなアーキテクチャ
• プロトコルはHTTP or HTTPS
• 最小限の基盤機能
HTTPをアーキテクチャの中心にAJAXのような普遍性のある技術を利用
サービス利用のための負荷を最小限に
–
Javascript Webのクライアント・サイドで最もよく利用される言語
–
Web上の膨大な事例
•
•
5
コピー&ペースト プログラミング
最小限の開発ツール
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
RESTful SOAの優位性 2/3
ƒ
ƒ
キャッシュの利用(HTTP GET)
–
リソースごとに一意のURIとステートレス実装によりキャッシュ適用が容易に
–
標準化されたHTTPのキャッシュ仕様で最大限のパフォーマンス向上
スケーラビリティー
–
一般的なルーターやスプレーヤーによるシンプルなクラスタリング
–
リソースごとの一意のURIによりシンプルなパーティショニングも可能
•
例:
POST /foo/{user}/bar – [a-l]* to server1
[m-z]* to server2
ƒ
6
テスト
–
HTTPベースかつステートレスなのでテストもシンプルに
–
既存のテスト・フレームワークの適用も簡単
–
オリジナルのテストクライアントも作成しやすい
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
RESTful SOAの優位性 3/3
ƒ
ƒ
セキュリティ
–
リソースごとの一意のURIなので認証・認可もかけやすい
–
暗号化にはHTTPSを
–
認証にはHTTP上で利用可能なトークンを
ナビゲーション
–
ハイパーリンクによるナビゲーションを活用
•
•
•
7
例
GETによるコレクションの取得でメンバーのURIを取得
次ページ/前ページ/冒頭へ/最後へ などのページリンクも実装しやすい
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
プロキシー構成、クラスター構成、
セッション・アフィニティ
8
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
クラスター構成とQuality of Service (QoS)
ƒ
ƒ
ƒ
9
WebSphere sMashランタイムはクラスタリングをサポート
–
サービスの可用性を向上
–
ワークロードのキャパシティを向上
–
リソース利用率の向上
sMashランタイムによるスケーラビリティ強化
–
要求に応じてリソースの割り当てを増強
–
スケール・アップ、スケール・アウト両側面のスケーラビリティ
Websphere sMashのスケーラビリティー強化の為の連携
–
Apache HTTP Serverによるリバース・プロキシー
–
WebSphere Virtual Enterprise連携
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Apache HTTP serverによるプロキシー/クラスタリング構成
ƒ
Apache HTTP Serverによるリバース・プロキシー構成
–
Apacheがスプレーヤーおよびロード・バランサーとして稼動
•
–
ƒ
DMZ上への配置
HTTPリクエストをバックエンドのsMashアプリケーションにルーティング
Apache HTTP Serverによるクラスター構成
–
垂直クラスター、水平クラスターともにサポート
•
水平クラスター : sMashアプリケーションを別筐体に配置
–
•
垂直クラスター : sMashアプリケーションを同一筐体に別ポートで構成
–
–
プロセス(アプリケーション単位)障害対応、リソース利用率向上
sMash側に特別な設定は必要なし
•
10
ノード障害対応、リソース割り当ての増強
ただしアプリケーション内で絶対パスが使用されている場合URIUtilを利用
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Apache HTTP serverによるプロキシー構成
–
ƒ
以下前提は2006/7現在の最新version 2.2.9
Apache HTTP Serverのhttpd.confでmod_proxyを有効に
–
mod_proxy、mod_proxy_http、mod_rewriteモジュールをロード
–
リバース・プロキシー構成の為、ProxyRequests はoffにセット
–
Proxyスタンザの追加
•
–
URLリライトの有効化
•
–
アクセス制御
リライト・ルールによりリクエストの最後にスラッシュを追加
ProxyPassとProxyPassReverseを設定
•
ProxyPass : アプリケーションのネームスペースを指定
–
–
•
11
その他コネクション・タイムアウトやリトライ設定など
status=+Hでホット・スタンバイ構成
ProxyPassReverse : リダイレクトされた応答ヘッダのLocationを正しく書換え
http://www.projectzero.org/sMash/1.0.x/docs/zero.devguide.doc/zero.core/ProxyConfiguration.html
http://httpd.apache.org/docs/2.2/ja/mod/mod_proxy.html
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
参考:Apache HTTP serverによるプロキシー構成
ƒ
設定例 (httpd.conf)
//コメントアウトを外す
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so
ProxyRequests Off
<Proxy>
Order deny,allow
Allow from all
</Proxy>
RewriteEngine on
RewriteRule ^/mycontextroot$ /mycontextroot/ [R]
ProxyPass /mycontextroot/ http://<host1名>:<ポート1>/mycontextroot/
ProxyPassReverse /mycontextroot/ http://<host1名>:<ポート1>/mycontextroot/
12
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
参考:コンテキスト・ルート
ƒ グローバル・コンテキストでの設定
– zero.configで/config/contextRootを設定
– アプリケーションごとに一意に設定
• URIとしてホスト名:ポート番号に続けて指定
– デフォルトはコンテキスト・ルートなし
• ルート・アクセス
zero.configでのコンテキスト・ルート設定
# HTTP port (default is 8080)
/config/http/port = 8081
#コンテキスト・ルート設定
/config/contextRoot="/mycontextroot"
13
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
sMashのアクセス・ログなど
ƒ Apahceのaccess-logライクなログ出力
– 割り振り確認等で有効
– グローバル・コンテキストでの設定
• zero.configで/config/accessLoggingにtrueを設定
• <アプリケーション・ルート>/logs/access-log
• フォーマット:
<hostname or IP> [<local time>] <http method> <Request URI> <status code> <bytecount>
ƒ リクエスト/レスポンスのダンプログ出力
– グローバル・コンテキストでの設定
• zero.configで/config/requestLoggingでtrueを設定
– 開発環境のみでの利用を推奨
– 全リクエスト・レスポンスをダンプ出力
• <アプリケーション・ルート>/logs/request-log-xxxxxxxx
• HTTPメソッド、リクエストURI、ヘッダー情報、リクエスト/レスポンスデータ
14
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
RESTとステート
ƒ REpresentational State Transfer (Roy Fielding)
– リソースはステート(state representation)を持つ
– HTTPはステートをリモート・アプリケーションに送付するために利用
– HTTPのメソッドでリソースを操作
ƒ サーバーサイド・プログラムはセッションを利用した(ステートフルな)作
りにしないことが望ましい
– ただしsMashはサーバー・サイドでのセッション利用に対応
15
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Apache Web serverによるクラスタリング構成
Internet
DMZ
S
S
Apache
mod_proxy
クライアント
Internet
DMZ
S
port 9081
port 9082
port 9083
垂直
クラスター
rep
S
S
クライアント
16
Apache
mod_proxy
S
水平
クラスター
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
クラスタリングの為のアプリケーション配置
ƒ パッケージング
package
– zero package
publish
– 水平クラスターの場合はパッケージングし別筐体へコピー
zip
zip
ƒ パブリッシュ
– zero publish
– 水平クラスターの場合別筐体のzero-repositoryへパブリッシュ
sMash
sMash
ƒ 配置
– zero create
create
– 垂直クラスターの場合それぞれ別名で配置
リポジトリー
モジュール
ƒ 設定
– コンテキスト・ルート等の設定はそのまま
– 垂直クラスターの場合zero.configで別ポートを設定
※各コマンドの詳細は09.導入とシステム管理セッションを参照
– 垂直クラスターにおける複数アプリケーション配置の簡素化は今後のリリースで対応予定
17
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
セッション・アフィニティ構成 1/2
ƒ zsessionidもしくは固定のapacheRouteIDのセットを設定可能
– zero.configで/config/apacheRouteIDにメンバーのID値を設定
– グローバル・コンテキスト /user の利用時にsetCookieされる
• zsessionid=1217563618031cbf1eddc88ef69ac15a432fbfbf876daa72058759845c04.<apacheRoute
ID>
• apacheRouteID=route.<apacheRouteID>
– apacheRouteIDの場合、イベント・ハンドラーを新規追加
– グローバル・コンテキストを利用したセッション引継ぎは今後のリリースで対応予定
setCookie
resp
クライアント
req
cookie zsessionid=xxxx.mem1
バランサーによる
stickysession設定
18
mod_proxy
S
apacheRouteID=“mem1”
S
apacheRouteID=“mem2”
S
apacheRouteID=“mem3”
zero.config
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
セッション・アフィニティ構成 2/2
ƒ httpd.confでbalancerによるstickysessionを設定
– mod_proxy、mod_proxy_httpを有効に
– バランサー・モジュール mod_proxy_balancer.so のロード
– Proxyスタンザでバランサーの定義
• クラスターメンバーとなるアプリケーションごとにBalancerMemberでURIとzero.config
で指定したapacheRouteIDを指定
– LocationMatchスタンザでバランサーに対する
ProxyPass,ProxyPassReverseの設定
• ProxyPassでstickysessionの指定
– zsessionidもしくはapacheRouteID
19
※詳細は
http://www.projectzero.org/sMash/1.0.x/docs/zero.devguide.doc/zero.core/ProxyConfiguration.html
http://httpd.apache.org/docs/2.2/ja/mod/mod_proxy.html
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
参考:zsessionid構成 設定例 1/2
ƒ
設定例 (zero.config メンバー1のみ)
–
垂直クラスターの場合、ポート番号を重複しないように変更
–
apacheRouteIDの設定を行い、httpd.confのBalancerMemberと合わせる
# ポート番号指定
/config/http/port = <ポート>
#メンバーIDの指定
/config/apacheRouteID=“<メンバーID1>”
#コンテキスト・ルート指定
/config/contextRoot=“<コンテキスト・ルート>"
20
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
参考:zsessionid構成 設定例 2/2
ƒ
設定例 (httpd.conf)
ProxyRequests Off
<Proxy balancer://mycluster>
BalancerMember http://<host1名>:<ポート>/<コンテキスト・ルート>/ route=<メンバーID1>
BalancerMember http:// <host2名>:<ポート>/<コンテキスト・ルート>/ route=<メンバーID2>
</Proxy>
<LocationMatch "/zemp" >
Order allow,deny
Allow from all
ProxyPass balancer://mycluster stickysession=zsessionid nofailover=Off
ProxyPassReverse balancer://mycluster
</LocationMatch>
21
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
参考:apacheRouteID構成 設定例 1/2
ƒ
設定例 (zero.config メンバー1のみ)
–
新規イベントハンドラーを追加
# ポート番号指定
/config/http/port = <ポート>
#メンバーIDの指定
/config/apacheRouteID=“<メンバーID1>”
#コンテキスト・ルート指定
/config/contextRoot=“<コンテキスト・ルート>"
# イベント・ハンドラーの追加
/config/handlers += [{
"events" : "sendingHeaders",
"handler" : "zero.core.context.zones.support.ApacheRouteAdder.class"
22
}]
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
参考:apacheRouteID構成 設定例 2/2
ƒ
設定例 (httpd.conf)
ProxyRequests Off
<Proxy balancer://mycluster>
BalancerMember http://<host1名>:<ポート>/<コンテキスト・ルート>/ route=<メンバーID1>
BalancerMember http:// <host2名>:<ポート>/<コンテキスト・ルート>/ route=<メンバーID2>
</Proxy>
<LocationMatch "/zemp" >
Order allow,deny
Allow from all
ProxyPass balancer://mycluster stickysession=apacheRouteID nofailover=Off
ProxyPassReverse balancer://mycluster
</LocationMatch>
23
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Apache Web Serverのロード・バランシング
ƒ mod_proxyのロード・バランシング・アルゴリズム指定
ƒ ProxyPassのlbmethodで指定
– balancer://のケースで有効なパラメータ
– byrequests:リクエスト数に応じた負荷分散
– bytraffic:転送量のバイト数に応じた負荷分散
– デフォルトは byrequests
httpd.conf
ProxyPass balancer://mycluster nofailover=Off lbmethod=bytraffic
ProxyPassReverse balancer://mycluster
24
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
参考:グローバル・コンテキスト関連パラメータ(抜粋)
ƒ スレッドプールの最大最小サイズ
– /config/maxThreads
– /config/minThreads
ƒ HTTP
– /config/http/readTimeout :読み込みタイムアウト
– /config/http/keepAliveTimeout : Keep-Alive接続のタイムアウト
ƒ HTTPセッション:アイドル・タイムアウト
– /config/userZoneIdleTimeout
ƒ ZSO
– /config/zso/recycle/enable:maxRequests/idleTimeoutによるJVMリサイクルの有効化
– /config/zso/recycle/idleTimeout:最後のリクエストを受けてからJVMがリサイクルされるまでの
最大秒数
– /config/zso/recycle/maxRequests:JVMリサイクルされるまでに処理すべき最大リクエスト数
※詳細は
http://www.projectzero.org/sMash/1.0.x/docs/zero.devguide.doc/zero.core/GlobalContextReference.html
http://www.projectzero.org/sMash/1.0.x/docs/zero.devguide.doc/zero.management.zso/ZSOManagementExt
ensions.html
25
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
IBM JDK sMash専用のJavaオプション
ƒ IBM Java6 SR1 からZero option (-Xzero)が導入
– IBM Java6 SR1 は sMash1.0製品版に含まれる
– 共有クラス・サポートの拡張
• 複数JVM間でのzipデータ、Stringリテラルの共有
– 同一筐体上で多くのJVMが起動する場合に特に有効
– sMash 1.0のデフォルト設定
https://www.projectzero.org/sMash/1.0.x/docs/zero.devguide.doc/zero.core/JVMConfiguration.html
S
S
JVM
JVM
S
S
JVM
JVM
S
zipキャッシュ
JVM
JVM
S
.jar
26
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
ModProxyによるSame-originポリシーの解決
ƒ ModProxyによるAjaxリクエストのSame-Originポリシーの解決
– mod_proxy、mod_proxy_http、mod_rewriteを有効にし、リライト・
ルールを定義
– 例:“/ajax/(www.)projectzero.org” のURLに対するAJAXリクエストを
/ajax/に続いて指定されたアドレスへ転送
– リライト・ルールの設定はURIを限定することが望ましい
ProxyPassReverse /ajax/ http://
RewriteRule ^/ajax/((www¥.)?projectzero.org)? http://$1 [P,L]
ProxyPass / http://localhost:8080/
S
XHR
別ドメイン
27
Apache
mod_proxy
オリジナル
ドメイン
S
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
URIUtil 1/2
ƒ リンク指定は独立性の観点からページ相対パスを推奨
– リバース・プロキシーを前段に配置するケース
– コンテキスト・ルートを設定したケース
リクエストURL : http://host/greeting.gt/more
<!-- 絶対パス -->
<img src="http://host/images/absolute.jpg">
<!-- ルート相対パス -->
<img src="/images/root.jpg">
<!-- ページ相対パス -->
<img src="images/page.jpg">
http://host/images/absolute.jpg
http://host/images/root.jpg
http://host/greeting.gt/images/page.jpg
http://host/images/absolute.jpg
http://host/images/root.jpg
http://host/sample/images/page.jpg
コンテキストルート(/sample)を指定
リクエストURL : http://host/sample/greeting.gt
28
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
URIUtil 2/2
ƒ URIUtilはsMashアプリケーション内で相対パス/絶対パスURIを構成
するためのユーティリティ
– getRelativeUriの利用による相対パスの生成
<!-- アプリケーション・ルートからの相対パス計算(コンテキスト・ルートも自動計算) -->
<img src="<%= getRelativeUri("/images/absolute.jpg") %>">
<img src="<%= getRelativeUri("/images/root.jpg") %>">
<!-- スクリプト位置からの相対パス -->
<img src="<%= getRelativeUri("images/page.jpg") %>">
– その他クエリー・パラメータを含むURIの生成、絶対パスの生成など
https://www.projectzero.org/javadoc/latest/CORE/API/zero/core/utils/URIUtils.html
– 絶対パスを利用する必要がある場合、GCの外部URI prefixを利用
• URIUtilが絶対パス生成時にこの値を利用
/config/externalUriPrefix = "http://www.projectzero.org"
29
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
キャッシング
30
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
キャッシング 1/2
ƒ スループット向上の為にキャッシング利用
ƒ Entity Tags(Etags)
– ヘッダーに含まれるハッシュ値による情報更新の判断
– sMashは全ての静的コンテンツにデフォルトセット
• /config/fileserver/setEtag で変更可能
– sMashでのハッシュ生成・ヘッダーへのセット例
import zero.core.etags.Etag;
...
String concatenatedInformation = …/* ハッシュを生成する元データ */
String etag = Etag.computeHashedValue(concatenatedInformation);
...
Etag.setEtagHeader(etag);
ƒ 最新更新日(Last-Modified)
– sMashはRFC1123に従って最終更新日をレスポンス・ヘッダーに含める
headers.out.['Last-Modified'] = new zero.util.HttpDateFormat().format(new Date()))
31
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
キャッシング 2/2
ƒ Validation
– conditional GET / PUTのEtag/最終更新日をベースとした前提条件
ヘッダーを検証
• PUTの場合、PreconditionValidator ユーティリティを利用
Etag
"XQKYDuEkhaGGL/ee8U/jRA=="
Last-Modified
Tue, 29 Jul 2008 02:27:24 GMT
Cache-Control
max-age=0, must-revalidate
If-Modified-Since
Tue, 29 Jul 2008 02:27:24 GMT
If-None-Match
"XQKYDuEkhaGGL/ee8U/jRA=="
更新がないと判断された場合
304 Not Modified
32
S
Validation
全ての条件を満たす場合のみ
リクエストを実行
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
他製品連携
33
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
WWW
REST
sMashの位置づけ
WebSphere sMash
REST
スクリプト
クライアント
アセンブル
REST
スクリプト
JavaScript
サービス
RSS
フロー
REST
サービス
JSON
エンタープライズ
システム
JSON
サービス
+ dojo
or
ATOM
REST
スクリプト
or
HTML
SOAP
HTTP
Java SE
ƒ RESTfulサービスの実装
– アジャイルなWebアプリケーション基盤
ƒ エンタープライズSOAとのブリッジ
– サーバー・サイド・マッシュアップ・エンジン
34
サービス
ATOM
SOAP
WSDL
JSON
サービス
JMS
サービス
JMS
JMS
Provider
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
RESTfulサービスとJava Webサービス(RPCサービス)
ƒ RESTfulサービス
– アプリケーション・アーキテクチャに制約を設けることで高い整合性、ス
ケーラビリティ、開発生産性
– 特殊な開発ツールなしにサービスの利用が可能
– AJAXなどのRIAとの相性がよい
ƒ Java Webサービス(RPCサービス)
– 細やかなセキュリティ設定やトランザクション、メッセージ信頼性などエン
タープライズ環境における様々な非機能要件を相互運用性を保ちつつ満
たす
– 開発ツールによる自動生成をベースとしたサービス開発
35
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Feature Pack for Web2.0 との関連
ƒ RESTfulサービスの稼動環境としてはsMashが適合
– FP for Web2.0 でのRESTfulインターフェース実装は、JSON4Jなどのラ
イブラリを利用した独自実装が必要
ƒ FP for Web2.0 v1.0はWAS上で稼動する既存JavaEEのWeb2.0
スタイルなクライアントへの公開が主目的
ƒ sMashによるWAS JavaEE資産の呼び出し
– JAX-RPC,JAX-WSにより公開されるXML(SOAP)サービス
– RPCアダプターにより公開されるJSON(HTTP)-RPCサービス
– JMS
ƒ sMashによる既存WAS資産の再利用
– エンタープライズSOAとRESTful SOAのブリッジ
36
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
WebSphere Application Server連携
WebSphere sMash
WebSphere
Application Server
JSON
スクリプト
アセンブル
SMD
JSON-RPC
XML
フロー
FP for
Web2.0
サービス
サービス
XML
XML
ƒ Situationalアプリケーション
JMS
– アジャイルなフロントエンド開発 JMS
Java SE
ƒ RESTfulインターフェースで公開
ƒ 複数サービスのマッシュアップ
– 既存WAS資産の再利用
37
WSDL
ATOM
FP for
WS
サービス
ME
ƒ エンタープライズアプリケーション
サービス
– 豊富な非機能要件サポート
Java EE
ƒ 既存資産をサービスとして公開
– Webサービス
– FP for Web2.0
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Websphere XD Virtual Enterprise連携
ƒ WebSphere Virtual Enterprise (WVE)
– ノード・グループと動的クラスター、オンデマンド・ルーター(ODR)によ
り仮想化を実現
ƒ WebSphere Virtual Enterprise (WVE) はsMashアプリケーション
を仮想化
– WVEはsMashアプリケーションが利用するリソースを仮想的なリソー
スプールに集約し利用効率を最大化
– sMashアプリケーションの可用性とパフォーマンスを最大化
– WVEはsMashアプリケーションのプロビジョニングをサポート
– アプリケーションの優先付けによる流量制御機能を提供
– sMash,WAS,WAS CEといった混合環境のサポート
38
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
WVE 連携 サンプル・トポロジー
ODRをWebSphere sMashの前段に配置
39
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
Websphere XD Virtual Enterprise連携
ƒ WVE ODRはハイエンドなHTTPプロキシー・サーバー
– バックエンドのsMashサーバーに負荷分散
– WebSphere Application Server Network Deploymentのプロキ
シー・サーバーの高機能バージョン
– リクエストを優先度付けし、ポリシーに基づいてフロー制御
• QoSに基づいた制御の実現
• sMashアプリケーションのオーバーロードを流量制御により防ぐ
– 動的クラスターのメンバーとしてアプリケーションの配置機能を統合
ƒ ODRのARFM(Autonomic request flow manager )によるクラスタ
リング
– キューイングされたリクエストを重みに応じてディスパッチ
– 動的にサーバー間の重みを調整
– リクエスト量の急増などの環境変化に対応
40
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
まとめ
ƒ RESTful SOA
ƒ クラスター構成とQoS
– mod_proxyによるシンプル・クラスタリング
ƒ セッション・アフィニティ
– sMashはzsessionidとapacheRouteIDを負荷
– mod_proxyによるセッション・アフィニティ
ƒ URIUtils
– 相対パス、絶対パスの生成
ƒ Same-Origin ポリシーの解決
ƒ キャッシング
– Etagと最新更新日
ƒ 他製品連携
– WAS
– WVE
41
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
参考情報
ƒ Infocenter
http://publib.boulder.ibm.com/infocenter/wsmashin/v1r0/index.jsp
ƒ projectzero.org
http://www.projectzero.org/
ƒ Apache HTTP Server v2.2 マニュアル
http://httpd.apache.org/docs/2.2/ja/
ƒ FeaturePack for Web2.0 ワークショップ資料
http://www-06.ibm.com/jp/software/websphere/developer/was/wv61/feature_pack/web20/ws/
42
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
御清聴ありがとうございました
43
© 2008 IBM Corporation
WebSphere sMash アナウンスメント
© IBM Corporation 2008. All Rights Reserved.
ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独自の見解を反映したものです。それらは情報提供の目的のみで提供され
ており、いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく、またそのような結果を生むものでもありません。本プレゼンテーションに含まれ
ている情報については、完全性と正確性を帰するよう努力しましたが、「現状のまま」提供され、明示または暗示にかかわらずいかなる保証も伴わないものとします。本プレゼ
ンテーションまたはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じた場合も、IBMは責任を負わないものとします。 本プレゼンテーション
に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも、IBMソフトウェアの使用を規定する
適用ライセンス契約の条項を変更することを意図したものでもなく、またそのような結果を生むものでもありません。
本プレゼンテーションでIBM製品、プログラム、またはサービスに言及していても、IBMが営業活動を行っているすべての国でそれらが使用可能であることを暗示するものでは
ありません。本プレゼンテーションで言及している製品リリース日付や製品機能は、市場機会またはその他の要因に基づいてIBM独自の決定権をもっていつでも変更できるも
のとし、いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したものではありません。本資料に含まれている内容は、参加者が開始する活
動によって特定の販売、売上高の向上、またはその他の結果が生じると述べる、または暗示することを意図したものでも、またそのような結果を生むものでもありません。
パフォーマンスは、管理された環境において標準的なIBMベンチマークを使用した測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、
ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて
変化します。したがって、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。
記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使用したか、またそれらのお客様が達成した結果の実例として示されたものです。実際の環境
コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。
以下は、International Business Machines Corporationの米国およびその他の国における商標。IBMの全商標のリストについては、
www.ibm.com/legal/copytrade.shtmlをご覧ください。
AIX, CICS, CICSPlex, DB2, DB2 Universal Database, i5/OS, IBM, the IBM logo, IMS, iSeries, Lotus, OMEGAMON, OS/390, Parallel Sysplex, pureXML, Rational,
RCAF, Redbooks, Sametime, Smart SOA, System i, System i5, System z , Tivoli, WebSphere, z/OS.
JavaおよびすべてのJava関連の商標およびロゴは Sun Microsystems, Inc.の米国およびその他の国における商標。
Microsoft, Windows, Windows NT および Windowsロゴは Microsoft Corporationの米国およびその他の国における商標。
Intel, Intelロゴ, Intel Inside, Intel Insideロゴ, Intel Centrino, Intel Centrinoロゴ, Celeron, Intel Xeon, Intel SpeedStep, Itanium, Pentium は Intel Corporationまたは子会
社の米国およびその他の国における商標または登録商標。
UNIXはThe Open Groupの米国およびその他の国における登録商標。
Linuxは、Linus Torvaldsの米国およびその他の国における商標。
その他の会社名、製品名およびサービス名等はそれぞれ各社の商標。
44
© 2008 IBM Corporation
Fly UP