WSDL と JAX-RPC ソフトウェア特論 第 10 回 / 2004-07-20. お知らせ レポート課題を出しています。 提出は 7/30 ( 金 ) まで。

Slides:



Advertisements
Similar presentations
SPSSによるHosmer-Lemeshow検定について
Advertisements

物理演算を利用したビデオエフェクタの 作成 浅野益弘. 研究内容 経緯 NiVE ( Nico Visual Effects )用のエフェ クトプラグインの作成 本プラグインにより動画作成にかかる 時間と手間の短縮と省力化を目指す.
レポート書き方. おしいレポート よく調べてある それぞれの、1文の言っていることは正 しい しかし、全体として、何が言いた いのかわからない 内容の重要だが、全体の構成も重 要である.
東京工科大学 コンピュータサイエンス 亀田弘之
7.n次の行列式   一般的な(n次の)行列式の定義には、数学的な概念がいろいろ必要である。まずそれらを順に見ていく。
第 3 回 iPhone アプリ開発勉強会 Objective-C 基礎講座 - インスタンスメソッド - 三井 相和.
9.線形写像.
時間的に変化する信号. 普通の正弦波 は豊富な情報を含んでいません これだけではラジオのような複雑な情報 を送れない 振幅 a あるいは角速度 ω を時間的に変化 させて情報を送る.
麻雀ゲーム 和島研究室 ソ 小林巧人
5.連立一次方程式.
相関.
―本日の講義― ・平均と分散 -代表値 -ぱらつき(分散・標準偏差等) ・Excelによる演習
ノイズ. 雑音とも呼ばれる。(音でなくても、雑 音という) 入力データに含まれる、本来ほしくない 成分.
広告付き価格サービ ス 小園一正. はじめに 世の中には様々な表現方法の広告があり ます。その中でも私たち学生にとって身 近にあるものを広告媒体として取り入れ られている。 価格サービス(無料配布のルーズリー フ)を体験したことにより興味を惹かれ るきっかけとなった。主な目的は、これ.
素数判定法 2011/6/20.
フーリエ係数の性質. どこまで足す? 理想的には無限大であるが、実際に はそれは出来ない これをフーリエ解析してみる.
1章 行列と行列式.
本宮市立白岩小学校. 1 はじめに 2 家庭学習プログラム開発の視点 ① 先行学習(予習)を生かした 確かな学力を形成する授業づく り ② 家庭との連携を図った家庭学習の習慣化.
プログラミングⅠ( 1 組) 第 9 回
フーリエ級数. 一般的な波はこのように表せる a,b をフーリエ級数とい う 比率:
プログラミング入門2 第4回 式文 代入式 論理演算子 ループの脱出、スキップ 情報工学科 篠埜 功.
3.エントロピーの性質と各種情報量.
9.通信路符号化手法1 (誤り検出と誤り訂正の原理)
Excelによる積分.
1 6.低次の行列式とその応用. 2 行列式とは 行列式とは、正方行列の特徴を表す一つのスカ ラーである。すなわち、行列式は正方行列からスカ ラーに写す写像の一種とみなすこともできる。 正方行列 スカラー(実数) の行列に対する行列式を、 次の行列式という。 行列 の行列式を とも表す。 行列式と行列の記号.
計算のスピードアップ コンピュータでも、sin、cosの計算は大変です 足し算、引き算、掛け算、割り算は早いです
線形符号(10章).
1 0章 数学基礎. 2 ( 定義)集合 集合については、 3セメスタ開講の「離散数学」で詳しく扱う。 集合 大学では、高校より厳密に議論を行う。そのために、議論の 対象を明確にする必要がある。 ある “ もの ” (基本的な対象、概念)の集まりを、 集合という。 集合に含まれる “ もの ” を、集合の要素または元という。
複素数.
4.プッシュダウンオートマトンと 文脈自由文法の等価性
1 0章 数学基礎. 2 ( 定義)集合 集合については、 3セメスタ開講の「離散数学」で詳しく扱う。 集合 大学では、高校より厳密に議論を行う。そのために、議論の 対象を明確にする必要がある。 ある “ もの ” (基本的な対象、概念)の集まりを、 集合という。 集合に含まれる “ もの ” を、集合の要素または元という。
システムプログラム論 課題 大村 廉. 課題 Java を用いて Producer / Consumer 問題を解決する MyBuffer クラスを –Synchronized キーワード –Semaphore クラス (java.util.concurrent.Semaphore) を用いてそれぞれ作りなさい.
信号測定. 正弦波 多くの場合正弦波は 0V の上下で振動する しかし、これでは AD 変換器に入れら れないので、オフ セットを調整して データを取った.
1 9.線形写像. 2 ここでは、行列の積によって、写像を 定義できることをみていく。 また、行列の積によって定義される写 像の性質を調べていく。
通信路(7章).
結城諒 司 吉田成 樹 完成予定図 O N! 7セグLE D ランダム表 示 OF F ? 数字が出たら 勝ち!!
3.正方行列(単位行列、逆行列、対称行列、交代行列)
学習者の意欲を高める音読指導の 一時例 1 Speak を使った 音読指導 鈴木政浩(西武文理大学)
プログラミング演習B ML編 第3回 2010/6/15 (コミ) 2010/6/16 (情報・知能) 住井 ~sumii/class/proenb2010/ml3/
論理回路 第1回. 今日の内容 論理回路とは? 本講義の位置づけ,達成目標 講義スケジュールと内容 受講時の注意事項 成績の評価方法.
伝わるスライド 中野研究室 M2 石川 雅 信. どのようなスライドを作れば良 いか 伝えたいこと.
C言語応用 構造体.
実装の流れと 今後のスケジュール 03k0014 岸原 大祐. システム概要 天気データをもとに、前向き推論をし ていき、親の代わりに子供に服装、持 ち物、気をつけることなどを教える。
Department of Computer Science, Graduate School of Information Science & Technology, Osaka University コーディングパターンに基づ くコード補完ツールの試作 大阪大学 大学院情報科学研究科 ○ 伊達 浩典.
DirectX を使った操作が簡単な2 D 格闘ゲームの制 作 ソ20003 蛯名敏規
3.多項式計算アルゴリズム べき乗の計算 多項式の計算.
プログラミング演習B ML編 第3回 2006/7/4 (通信コース) 2006/7/12 (情報コース) 住井 ~sumii/class/proenb2006/ml3/
HSPによる学習機能付き シューティングゲームの製作
移動エージェントプログラムの 動作表示のためのアニメーション言 語 名古屋大学情報工学コース 坂部研究室 高岸 健.
1 プログラミング言語論 第13回 プログラムの意味論と検証 (2) 表示的意味論 担当:犬塚. 2 表示的意味論 denotational semantics  表示的意味論では、プログラムの要素とそれが 意味するものを対応付ける。 変数 式 文 A B … A+2 2B+C A:=A+2 if.
1 プログラミング言語論 第5回 手続き呼出し 担当:犬塚. 2 今日の講義 手続きや関数などの呼出しに関わること  手続きの宣言、手続きの定義  名前の束縛とスコープ  ブロック構造  スコープ規則  引数渡し  引数渡しと評価(計算)方式.
プログラミングⅠ( 2 組) 第 1 回 / pLB1.pptx.
「ネット社会の歩き方」レッスンキット プレゼンテーション資料集 15. チャットで個人情報は 言わない プレゼンテーション資料 著作権は独立行政法人情報処理推進機構( IPA )及び経済産業省に帰属します。
8.任意のデータ構造 (グラフの表現とアルゴリズム)
プログラミング入門2 第3回 複合文、繰り返し 情報工学科 篠埜 功.
リファクタリング支援のための コードクローンに含まれる識別子の変更内容分析 井上研究室 工藤 良介 1.
Linguistic Markup with XML 言語資料の XML によるマークアップ XML でマークアップされた 言語資料の検索と加工 千葉庄寿 ( 麗澤大学 )
コンピュータ活用 第9 週 制作技術ー3 : 双方向通信 CGI システムと環境変数. クライアントとサーバーとの間の双方向通信の考え方 URL を送信し て HTML 文書返信 データ送信 (cgi) 入力に対する応答 データ入力 閲覧ソフトか ら 応答内容表示 クライアン ト サーバー データ受.
メニューに戻る メニューに戻る | 前表示スライド 前表示スライド G*power 3 の web ページ Windows はこちら Mac はこちら ダウンロード後,実行してインストール.
第14回 プログラムの意味論と検証(3) 不動点意味論 担当:犬塚
実験5 規則波 C0XXXX 石黒 ○○ C0XXXX 杉浦 ○○ C0XXXX 大杉 ○○ C0XXXX 高柳 ○○ C0XXXX 岡田 ○○ C0XXXX 藤江 ○○ C0XXXX 尾形 ○○ C0XXXX 足立 ○○
プログラミング演習( 1 組) 第 8 回
音の変化を視覚化する サウンドプレイヤーの作成
プログラミングの基礎知識 プログラミングの手順と重要概念 アルゴリズム. プログラミングの手順 コーディング エディタなどでコードを記述 コンパイル・インタープリタ 実行可能な形に翻訳 デバッグ(虫取り、不具合の調整) 完成!
HCC Hair Color Change. メンバー ソ 渋谷麻美 ソ 渋谷麻美 ソ 清野理衣子 ソ 清野理衣子 ソ 三上貴大 ソ 三上貴大.
Self-efficacy(自己効力感)について
Factory Method Pattern S. Yukita
今日の内容 高階関数  関数を値として扱う 関数を引数にとる 関数を返す関数 プログラミングの例題  クイックソート.
2015/11/19. To foster Historical Thinking Skill by Creating Story Necessary Relationships and Elements of Characters In historical learning, historical.
腎臓移植 腎臓移植の前に、ドナー両方の腎臓は機 能的に良好でなければならない。ドナー の両方の腎臓が機能的に健康であること を保証するために、多数の試験が行われ ている。
Presentation transcript:

WSDL と JAX-RPC ソフトウェア特論 第 10 回 /

お知らせ レポート課題を出しています。 提出は 7/30 ( 金 ) まで。

きょうの目標 WSDL と JAX-RPC の関係について理解 する。

Google Web APIs と スタブの生成

Google Web APIs を使うに は? Google の Web サー ビスにアクセスする ためのクライアント プログラムと、スタ ブが必要になる。

スタブの生成 (1) Google Web APIs に付属している WSDL から生成する。自分でプログラ ミングする必要はない。 生成には、 JWSDP に含まれている wscompile というツールを使う。 wscompile を実行すると、 32 個のクラ スファイルが生成される。

スタブの生成 (2) 生成されたスタブ GoogleSearchService GoogleSearchService_Impl GoogleSearchPort GoogleSearchPort_Stub GoogleSearchResult ResultElement などなど

クライアントプログラムの作 成 クライアントプログラムでは、スタブ を利用して Google の Web サービスに アクセスする。

クライアントプログラムと WSDL の対応

WSDL の全体的な構造 ……

WSDL の各要素の概要 service 要素では、主にエンドポイントを指定 する。 binding 要素では、主に Web サービスの通信 の方法について定める。 portType 要素は、 Java のインタフェースに相 当する。 Message 要素では、 portType 要素の input ・ output 要素で使われる型を指定する。 types 要素では、 XML Schema を使って、 新 しい型を定義する。

スタブの生成 (1) // (1) スタブの生成 GoogleSearchPort_Stub stub = (GoogleSearchPort_Stub) (new GoogleSearchService_Impl().getGoogleSearchPort());

スタブの生成 (2) 省略せずに書いたソース GoogleSearchService service = new GoogleSearchService_Impl(); GoogleSearchPort port = service.getGoogleSearchPort(); GoogleSearchPort_Stub stub = (GoogleSearchPort_Stub)port;

スタブの生成 (3) service 要素の名前との対応 GoogleSearchService service = new GoogleSearchService_Impl(); ……

スタブの生成 (4) GoogleSearchService インタフェース GoogleSearchService_Impl GoogleSearchService の実装クラス

スタブの生成 (5) portType 要素の名前との対応 GoogleSearchPort port = service.getGoogleSearchPort();......

スタブの生成 (6) GoogleSearchPort_Stub stub = (GoogleSearchPort_Stub)port; GoogleSearchPort インタフェース GoogleSearchPort_Stub GoogleSearchPort の実装クラス この後は、この GoogleSearchPort_Stub を操 作して、 Google の Web サービスにアクセス する。

スタブにエンドポイントを 設定する (1) // (2) スタブにエンドポイントを設定する stub._setProperty( Stub.ENDPOINT_ADDRESS_PROPERTY, “ ” );

スタブにエンドポイントを 設定する (2) エンドポイント = Web サービスを提供 している URL この Web サービスは、 と いう URL にアクセスする。 <soap:address location= "

Google の検索処理 (1) // (3)Google の検索処理を呼び出す // “ xxxxx ” が ライセンスキー // args[0] が検索したい言葉 GoogleSearchResult result = stub.doGoogleSearch( “ xxxxx", args[0], 1, 10, false, "", false, "", "", "");

Google の検索処理 (2) stub.doGoogleSearch( …… ) GoogleSearchPort_Stub クラスは、 GoogleSearchPort インタフェースを実 装している。 GoogleSearchPort  WSDL の portType 要素に対応

Google の検索処理 (3) WSDL の portType 要素 <input message= "typens:doGoogleSearch"/> <output message= "typens:doGoogleSearchResponse"/>

Google の検索処理 (4) GoogleSearchPort インタフェー ス public interface GoogleSearchPort extends java.rmi.Remote { public byte[] doGetCachedPage(......) throws RemoteException; public String doSpellingSuggestion(......) throws RemoteException; public GoogleSearchResult doGoogleSearch(......) thorws RemoteException; }

Google の検索処理 (5) メソッド呼び出しと WSDL stub.doGoogleSearch( …… ); <input message="typens:doGoogleSearch"/> <output message= "typens:doGoogleSearchResponse"/>

Google の検索処理 (6) メソッドの引数 stub.doGoogleSearch( “ xxxxx", args[0], 1, 10, false, "", false, "", "", ""); doGoogleSearch メソッドには、 10 個の 引数がある。

Google の検索処理 (7) portType 要素での引数の指定 <input message= "typens:doGoogleSearch"/> <output message= "typens:doGoogleSearchResponse"/>

Google の検索処理 (8) message 要素での引数の指定 メソッドの 10 個の引数の定義は、ここにある。

Google の検索処理 (9) 引数のそれぞれの型 xsd:string は Java の String 型に、 xsd:int は Java の int 型にそれぞれ変換 される。

Google の検索処理 (10) doGoogleSeach の引数の型 public GoogleSearchResult doGoogleSearch( String key, String q, int start, int maxResults, boolean filter, String restrict, boolean safeSearch, String lr, String ie, String oe) throws RemoteException;

Google の検索処理 (11) メソッドの返値 GoogleSearchResult result = stub.doGoogleSearch( “ xxxxx", args[0], 1, 10, false, "", false, "", "", ""); GoogleSearchResult 型のオブジェクト が返値となる。

Google の検索処理 (12) portType 要素での返値の指定 <input message= "typens:doGoogleSearch"/> <output message= "typens:doGoogleSearchResponse"/>

Google の検索処理 (13) message 要素での返値の指定 <part name= “ return ” type="typens:GoogleSearchResult"/> メソッドの返値として、 GoogleSearchResult という型が定義されている。 具体的な定義は、 types 要素の中で

Google の検索処理 (14) types 要素での新しい型の指 定 <xsd:element name="documentFiltering" type="xsd:boolean"/> <xsd:element name="resultElements" type="typens:ResultElementArray"/>......

Google の検索処理 (15) types 要素と Java の型 types 要素で指定された型 (GoogleSearchResult) が、 Java のオブ ジェクトとなる。

検索結果の出力 (1) // (4) 検索結果の出力 ResultElement[] elements = result.getResultElements(); for (int i=0; i<10; i++) { System.out.println(i); System.out.println(elements[i].getTitle()); System.out.println(elements[i].getURL()); System.out.println(); }

検索結果の出力 (2) result のメソッド呼び出し result.getResultElements(); <xsd:element name="resultElements" type="typens:ResultElementArray"/>......

検索結果の出力 (3) GoogleSearchResult のプロパ ティ types 要素で定義された GoogleSearchResult には、いくつかの 子要素がある。 そうした子要素は、 Java オブジェクト の GoogleSearchResult ではプロパティ となっている。 getter (get + 子要素名のメソッド ) でアク セスできる。

検索結果の出力 (4) 返値が新しい型になる ResultElement[] elements = result.getResultElements(); <xsd:element name="resultElements" type="typens:ResultElementArray"/>......

検索結果の出力 (5) types 要素中の ResultElement 型......

検索結果の出力 (6) ResultElement オブジェクトの利 用 System.out.println(elements[i].getTitle()); System.out.println(elements[i].getURL());