mini_s2axis2

S2Axis2 による Web2.0
らくらく実践
2006/05/14
Seasar Conference 2006 Spring
鈴木 貴典
http://d.hatena.ne.jp/szk-takanori/
© Copyright the Seasar Foundation and the others 2006. all rights reserved.
1
目次
1.
2.
3.
4.
Webサービスの課題とS2Axis2
Axis2で変わるWebサービス
「Yahoo! Webサービス」3分クッキング
S2Axis2の機能一覧
© Copyright the Seasar Foundation and the others 2006. all rights reserved.
2
Webサービスの課題とS2Axis2
Webサービスの課題
S2Axis2
SOAPの専門知識が必要みたい
だけど、全く知りません
DICON定義が書ければOK
サービスのXML定義を作成して、
デプロイして・・・って、そもそも
サービスを公開するのが面倒
POJOのクラスをWebサービスと
して公開できます
WSDLからスケルトンを自動生
成するツールがあるようだけど、
使い方を覚えるまでが大変
WSDLを利用しなくても、サービ
スを呼び出せます
セキュリティやパフォーマンスが
心配
Axis2が解決してくれます
© Copyright the Seasar Foundation and the others 2006. all rights reserved.
3
Axis2で変わるWebサービス
1. パフォーマンスの向上
–
–
メッセージ指向 > RPC指向
StAX(XMLパーサ仕様) > DOM/SAX
2. 同期/非同期メッセージのサポート
–
–
–
同期型要求応答形式(Request/Response)
一方向形式(Oneway)
非同期型コールバック形式(Callback)
3. REST (Representational State Transfer)
これらの機能をS2Axis2として提供します
© Copyright the Seasar Foundation and the others 2006. all rights reserved.
4
同期/非同期メッセージのサポート(1/3)
同期型要求応答形式(Request/Response)
①Webサービスの呼び出し
③処理結果の通知
②サーバでの
処理
サーバから応答を受信するま
で、処理はブロックされる。
© Copyright the Seasar Foundation and the others 2006. all rights reserved.
5
同期/非同期メッセージのサポート(2/3)
一方向形式(Oneway)
①Webサービスの呼び出し
サービス呼び出し後は、処理を継続。
戻り値や例外の検出はしない。
②サーバでの
処理
© Copyright the Seasar Foundation and the others 2006. all rights reserved.
6
同期/非同期メッセージのサポート(3/3)
非同期型コールバック形式(Callback)
コールバック
オブジェクト
①Webサービスの呼び出し
③処理結果の通知
②サーバでの
処理
サービスを呼び出した後は、処理を継続。
サーバから応答を受信すると、コールバックオ
ブジェクトが呼び出される。
© Copyright the Seasar Foundation and the others 2006. all rights reserved.
7
REST
• RESTって何?
– HTTPのクエリパラメータ形式で、Webサービス
が呼び出せる。
– こんな感じ。
Yahoo!検索Webサービス
http://api.search.yahoo.co.jp/WebSearchService/V1/webSearch?
appid=YahooDemo&query=%e6%b2%96%e7%b8%84&results=2
• 何がいいの?
– 簡単で、理解しやすい。
– Amazon、Yahoo、Google、はてな の公開Web
サービスで既に利用されている。
© Copyright the Seasar Foundation and the others 2006. all rights reserved.
8
「Yahoo! Webサービス」3分クッキング
材料
インタフェース
4 LOC
DTO
18 LOC
テストコード
22 LOC
DICON
少々
下ごしらえ
•Yahoo! Webサービス検索のAPIを調べておきましょう。
http://developer.yahoo.co.jp/search/web/V1/webSearch.html
© Copyright the Seasar Foundation and the others 2006. all rights reserved.
9
S2Axis2の機能一覧
機能
No
S2Axis S2Axis2
1 同期型要求応答形式メッセージ
○
○
2 一方向形式メッセージ
×
○
3 非同期型コールバック形式メッセージ
×
△
4 タイプマッピング
○
△
5 WSDLの利用
○
△
6 ハンドラ/モジュールのデプロイ
○
△
7 WSDDのデプロイ
○
△
8 REST
×
△
(一部実装済み)
○:実装済み △:今後実装予定 ×:実装なし
© Copyright the Seasar Foundation and the others 2006. all rights reserved.
10