応用 Java(Java/XML) 第 10 回 2006 年 7 月 14 日 植田龍男. 後半の内容の予定 XPath (6/9) 、 XSLT (6/16) 名前空間 (Namespace) (6/16) XML 文書の妥当性の検証 (6/23) DTD, W3C XML Schema SOAP.

Slides:



Advertisements
Similar presentations
1 WSIF における Web サービス・メソッドの自動設 定 2004 年 3 月 23 日 越田高志 松江工業高等専門学校 情報工学科 電子情報通信学会 2004年総合 大会.
Advertisements

1 プリミティブ Web サービスの 入出力データに関する一考察 2005 年 3 月 21 日 松江工業高等専門学校 情報工学科 奈良先端科学技術大学院大学 情報科学研究科 越田高志 電子情報通信学会 2005年総合 大会.
© Copyright the Seasar Foundation and the others all rights reserved. 1 S2Axis2 による Web2.0 らくらく実践 2006/05/14 Seasar Conference 2006 Spring 鈴木 貴典.
応用 Java(Java/XML) 第1回 2006 年4月 14 日. 講義内容 (4/14) なぜ Java が重要なのか? なぜ XML が重要なのか? Java と XML の関係 パーサの概念 XML 関連のパッケージについて ファクトリのデザインパターン.
Web サービス II ( 第 13 回 )‏ 2008 年 1 月 9 日 植田龍男. 本日の目的 Web サービスの歴史と将来の展望 (1) WSDL 2.0 の登場 ‏ Jersey プロジェクト Ver 0.5 による開発.
ソフトウェア工学 知能情報学部 新田直也. オブジェクト指向パラダイムと は  オブジェクト指向言語の発展に伴って形成され てきたソフトウェア開発上の概念.オブジェク ト指向分析,オブジェクト指向設計など,プロ グラミング以外の工程でも用いられる.  ソフトウェアを処理や関数ではなくオブジェク.
WebサービスII (第12回)‏ 2007年12月19日 植田龍男.
モバイルエージェントシステムの実装 エージェント移動(状態とコードの一括移送) エージェント移動の特徴 システム構成 エージェントプログラム
2006年9月27日 植田龍男 Webサービス II (第1回) 年9月27日 植田龍男.
Webサービスに関する基本用語 Masatoshi Ohishi / NAOJ & Sokendai
第9回 2007年6月22日 応用Java (Java/XML).
2006年11月15日 植田龍男 Webサービス II (第8回) 年11月15日 植田龍男.
2006年11月22日 植田龍男 Webサービス II (第9回) 年11月22日 植田龍男.
~ 第6回 XMLコンソーシアムWeek ~ セキュリティ部会活動報告 セキュリティ部会 活動のご紹介
~ 第8回 XMLコンソーシアムDay ~ セキュリティ部会活動中間報告 セキュリティ部会のご紹介
Visual Studio 2005による XML Web サービス入門
Java I 第2回 (4/18)
第2章 ネットサービスとその仕組み(前編) [近代科学社刊]
SlothLib.Web.
背景 我々の研究室で開発しているJavaプログラム解析フレ ームワークでは,解析情報はメモリ上に保持される 問題点
WebサービスII (第10回) 2007年11月28日 植田龍男.
早稲田大学大学院理工学研究科 情報科学専攻修士2年 後藤滋樹研究室 坂本義裕
WSDL と JAX-RPC 年10月13日 Webサービス II (第3回) WSDL と JAX-RPC 年10月13日.
第5回 2007年5月25日 応用Java (Java/XML).
第4回 2007年5月11日 応用Java (Java/XML).
James 近畿大学 理工学部 情報学科 03-242 藤森浩忠.
XJ: XML Enhancements to Java の紹介
JavaとXML 2005年4月14日.
WebサービスII (第8回) 2007年11月14日 植田龍男.
バイナリ形式コンポーネントの 収集・解析・検索システムの開発
WSDL と JAX-RPC 年10月20日 Webサービス II (第4回) WSDL と JAX-RPC 年10月20日.
2005年10月6日 植田龍男 Webサービス II (第2回) 年10月6日 植田龍男.
RMI ソフトウェア特論 第6回 /
第8章 Web技術とセキュリティ   岡本 好未.
Webサービスを使った クライアント・プログラム
第12回 2007年7月13日 応用Java (Java/XML).
類似するコーディングパターンの 利用状況調査ツールの提案
第10回 2007年6月29日 応用Java (Java/XML).
SOAP/UDDI/WSDLによるB2Bシステムの開発
SOAP/UDDI/WSDLによるB2Bシステム構築の一事例
Webサービス II(第3回) 2007年10月10日.
第11回 2007年7月6日 応用Java (Java/XML).
第8回 2007年6月15日 応用Java (Java/XML).
第3回 2007年4月27日 応用Java (Java/XML).
WebサービスII (第7回) 2007年11月7日 植田龍男.
第7回 2007年6月8日 応用Java (Java/XML).
第6回 2007年6月1日 応用Java (Java/XML).
第1回 2007年4月13日 応用Java (Java/XML).
インラインスクリプトに対するデータフロー 解析を用いた XHTML 文書の構文検証
XMLデータベースを用いた Javaのための仮想的な オブジェクト指向データベースの試作
アスペクト指向に基づく 拡張可能な MDAモデルコンパイラ
10-1 SAXの概要 10-2 Saxプログラミングの基礎 10-3 saxのプログラム例
第2回 2007年4月20日 応用Java (Java/XML).
電子情報通信学会 2006年総合大会 Webサービス標準化 の提案と実装 2006年3月26日 松江工業高等専門学校 越田高志.
XMLゼミ 1.3 XML文書の表示 1.4 XMLの役割 1.5 XMLとプログラミング M2 正木 裕一.
独習XML ~第3章 文書と構造~ 3.3 スキーマ 3.3 XML Schema
2006年11月8日 植田龍男 Webサービス II (第7回) 年11月8日 植田龍男.
端末およびサービス透過的な 情報閲覧支援システムの構築
第13回 2007年7月20日 応用Java (Java/XML).
XML Schema (1) ソフトウェア特論 第3回 /
~let's take fun when you can do it~
応用Java(Java/XML) 第7回 2006年6月16日 植田龍男.
地域生活支援システムの開発 越田研究室 j0431 野津洋二.
プログラム分散化のための アスペクト指向言語
オントロジーを利用した Webサービスの実行支援に関する研究
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
2006年10月18日 植田龍男 Webサービス II (第4回) 年10月18日 植田龍男.
応用Java(Java/XML) 第8回 2005年6月9日 植田龍男.
応用Java(Java/XML) 第8回 2005年6月23日 植田龍男.
Presentation transcript:

応用 Java(Java/XML) 第 10 回 2006 年 7 月 14 日 植田龍男

後半の内容の予定 XPath (6/9) 、 XSLT (6/16) 名前空間 (Namespace) (6/16) XML 文書の妥当性の検証 (6/23) DTD, W3C XML Schema SOAP のメッセージング (7/7) RMI と JAX-RPC(7/14) 試験 (7/21)

XML 技術の階層構造 パーサ ( 最下層の字句解析 ) SAX, DOM 一般的なXML処理 検索 (XPath) 、変換 (XSLT) スキーマ言語 ( W3C XML Schema) メッセージの交換 (SOAP) サーバサイドの技術 Web サービス、 UDDI

SOAP とは? XML の形式でメッセージを交換 中立なデータ形式 ( 事実上の標準 ) システム、言語、アプリケーション非依 存 メッセージが「構造」を持つ データ構造の定義は XML Schema で 処理の呼び出しも表現 (JAX-RPC)

SOAP のメッセージの構造 <SOAP-ENV:Envelope xmlns:SOAP-ENV= “ ” > Hello

SOAP メッセージの例 (Google) <SOAP-ENV:Envelope xmlns:SOA-ENV =" xmlns:xsi=" xmlns:xsd=" <ns1:doGoogleSearch xmlns:ns1="urn:GoogleSearch “ SOAP-ENV:encodingStyle= " 8NfcnBhQFHL4QZbU3pX21B7NVhVZ+R+a Tatsuo Ueda

SOAP の 実装 XML Apache org の WS-SOAP (Java Mail, Java Beans Activation に依存 ) org.apache.soap パッケージ Envelop, Header, Body, Fault クラスな ど org.apache.soap.messaging パッケー ジ Message クラス org.apache.soap.transport パッケージ

SOAP API の使用例 (1) Document doc = db.parse ( new InputSource (source) ); // メッセージ送信 Envelope env = Envelope.unmarshall( doc.getDocumentElement() ); Message msg = new Message (); msg.send ( new URL(url), "urn:wakhok.ac.jp-jax-soap1", env );

SOAP API の使用例 (2) // メッセージ受信 SOAPTransport st = msg.getSOAPTransport (); BufferedReader br = st.receive(); String line; while ( (line = br.readLine ()) != null ) { System.out.println ( line ); }

RPC(Remote Procedure Call) Remote -- 別のマシンにネットワーク で Procedure – 何らかの処理 (C 言語なら関数、 Java ならメソッド ) Call – 呼び出す仕組み

SOAP メッセージを通じて RPC 実際の通信部分は SOAP メッセージ ( システム、言語に中立 ) アプリケーションから見ると処理の呼 び出しとして記述できる 応用例 ) Web サービス

Web サービスでの例 (1) Google Web Service の定義 (WSDL) から メソッドの呼び出しを表現

Web サービスでの例 (2) メソッドの返り値を表現

Java に「翻訳する」と <input message="typens:doGetCachedPage"/> <output message="typens:doGetCachedPageResponse"/> xsd:string -> Java の String クラス String result = doSpellingSuggestion( String key, String phrase );

Java に「翻訳する」と (2) 複雑な型は Schema で定義可能 ( Java のクラスに対応 ) :

Apache SOAP の API の実装 org.apache.soap.rpc パッケージ Call, Parameter, Response クラスを提 供

サンプルプログラム (1) Call call = new Call (); call.setTargetObjectURI ( "urn:GoogleSearch"); call.setMethodName ( "doSpellingSuggestion" ); call.setEncodingStyleURI( Constants.NS_URI_SOAP_ENC );

サンプルプログラム (2) Vector params = new Vector (); params.addElement( new Parameter( "key", String.class, key, null) ); params.addElement( new Parameter( "phrase", String.class, phrase, null) ); call.setParams (params);

サンプルプログラム (3) URL endPoint = new URL( " ); Response response = call.invoke ( endPoint, "" ); Parameter result = response.getReturnValue (); System.out.println( response.getBodyPart(0).getContent() );