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
© Copyright 2024 ExpyDoc