WebサービスII (第8回) 2007年11月14日 植田龍男.

Slides:



Advertisements
Similar presentations
独習JAVA Chapter 6 6.6 クラスの修飾子 6.7 変数の修飾子 結城 隆. 6.6 クラスの修飾 abstract インスタンス化できないクラス。1つまたは複数のサブクラスで 実装してはじめてインスタンス化できる。 final 継承されたくないことを明示する。これ以上機能拡張 / 変更でき.
Advertisements

© Copyright the Seasar Foundation and the others all rights reserved. 1 S2Axis2 による Web2.0 らくらく実践 2006/05/14 Seasar Conference 2006 Spring 鈴木 貴典.
Web サービス II ( 第 13 回 )‏ 2008 年 1 月 9 日 植田龍男. 本日の目的 Web サービスの歴史と将来の展望 (1) WSDL 2.0 の登場 ‏ Jersey プロジェクト Ver 0.5 による開発.
応用 Java(Java/XML) 第 10 回 2006 年 7 月 14 日 植田龍男. 後半の内容の予定 XPath (6/9) 、 XSLT (6/16) 名前空間 (Namespace) (6/16) XML 文書の妥当性の検証 (6/23) DTD, W3C XML Schema SOAP.
WebサービスII (第12回)‏ 2007年12月19日 植田龍男.
2006年9月27日 植田龍男 Webサービス II (第1回) 年9月27日 植田龍男.
社会人学習講座 「Javaプログラミング概論」
第9回 2007年6月22日 応用Java (Java/XML).
JPAを利用した RESTful Webサービスの開発
2006年11月15日 植田龍男 Webサービス II (第8回) 年11月15日 植田龍男.
2006年11月22日 植田龍男 Webサービス II (第9回) 年11月22日 植田龍男.
Visual Studio 2005による XML Web サービス入門
Java I 第2回 (4/18)
Applet 岡部 祐典 鈴木 敬幸.
REST型Webサービスによる 楽曲検索システムの開発
WebサービスII (第10回) 2007年11月28日 植田龍男.
Servlet J2EE I 第8回 /
Iアプリプログラミング その1  鳥居秀徳.
WSDL と JAX-RPC 年10月13日 Webサービス II (第3回) WSDL と JAX-RPC 年10月13日.
JavaServlet&JSP入門 01K0018 中村太一.
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
Curlの仕組み.
社会人学習講座 「Javaプログラミング概論」
WSDL と JAX-RPC 年10月20日 Webサービス II (第4回) WSDL と JAX-RPC 年10月20日.
2005年10月6日 植田龍男 Webサービス II (第2回) 年10月6日 植田龍男.
Bridge Pattern
Javaプログラムの実行まで バイト Javaの コード 実行 ソースコード Java ファイル名 ファイル名 abc.java
アプレット プログラミング 第10回 アプレット プログラミング第10回.
RMI ソフトウェア特論 第6回 /
コンパイラの解析 (2) GCJのデータ構造 - 1.
~手続き指向からオブジェクト指向へ[Ⅱ]~
Webサービスを使った クライアント・プログラム
Stateful Session Beans
第12回 2007年7月13日 応用Java (Java/XML).
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
第10回 2007年6月29日 応用Java (Java/XML).
Webサービス II(第3回) 2007年10月10日.
オブジェクト指向 プログラミング 第八回 知能情報学部 新田直也.
独習JAVA 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 ObjectクラスとClassクラス 11月28日(金)
オブジェクト指向 プログラミング 第十一回 知能情報学部 新田直也.
第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日 植田龍男.
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
第6回 2007年6月1日 応用Java (Java/XML).
Javaによる Webアプリケーション入門 第6回
10-1 SAXの概要 10-2 Saxプログラミングの基礎 10-3 saxのプログラム例
Jakarta Struts (2) ソフトウェア特論 第11回.
7.4 intanceof 演算子 7.5~7.9パッケージ 2003/11/28 紺野憲一
2006年11月8日 植田龍男 Webサービス II (第7回) 年11月8日 植田龍男.
第13回 2007年7月20日 応用Java (Java/XML).
パッケージ,アクセス修飾子 2008年4月27日 海谷 治彦.
Servlet ソフトウェア特論 第7回.
オブジェクト指向 プログラミング 第十ニ回 知能情報学部 新田直也.
Servlet J2EE I (データベース論) 第12回 /
Servlet データベース論 第6回.
オブジェクト指向 プログラミング 第九回 知能情報学部 新田直也.
東京工科大学 コンピュータサイエンス学部 担当 亀田弘之
オブジェクト指向 プログラミング 第八回 知能情報学部 新田直也.
ASP.NET 2.0による Webサービスの構築 2008年10月18日 こくぶんまさひろ.
WebアプリケーションとTomcat ― これまでの復習とこれからの予習 ―
JAVA入門⑥ クラスとインスタンス.
ASP.NET 2.0による Webサービスの構築 2008年10月18日 こくぶんまさひろ.
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
2006年10月18日 植田龍男 Webサービス II (第4回) 年10月18日 植田龍男.
応用Java(Java/XML) 第8回 2005年6月9日 植田龍男.
計算機プログラミングI 第5回 2002年11月7日(木) 配列: 沢山のデータをまとめたデータ どんなものか どうやって使うのか
Presentation transcript:

WebサービスII (第8回) 2007年11月14日 植田龍男

本日の目的 RESTful なWebサービス(再び) RESTful 用の新しい Java の API JSR-311 で策定中(ほぼ確定) 参照実装の提供 Jerseyプロジェクト (Glassfishのサブプロジェクトの1つ) 現在 ver 0.4 (年内に 0.5 ?)

前回までやったこと JAX-WS 2.0 のアーキテクチャ POJO+アノテーションを利用した開発 SOAPメッセージとメッソッド呼び出し WSDL

復習:Webサービスの構築開始 import javax.jws.*; @WebService public class Hello { public String sayHello( String name ) { return “Hello,” + name; }

RESTful なWebサービス REST(Representational State Transfer) HTTP で XMLのデータなどを交換するスタ イルのWebサービス SOAP(XML-RPC) vs. REST ?? JAX-WS は JAX-RPC の後継だが RESTに も対応可能 – JAXB がベース サービス固有のXML Java のクラス

javax.xml.ws パッケージ Service クラス Serviceのインナクラス enum ServiceMode ServiceMode.MESSAGE ServiceMode.PAYLOAD Provider, Dispatch, Response などのイ ンタフェース群

サンプル(Yahoo Image検索) Yahoo Image Search の API http://developer.yahoo.com/search/image /V1/imageSearch.html XML Schema も公開 http://search.yahooapis.com/ImageSearc hService/V1/ImageSearchResponse.xsd

サンプル実行までの手順 スキーマから xjc でJavaのソースを生成 生成されたソースのコンパイル(javac)

以前にやったことのまとめ Java SE 6 の新しいAPIとJAXBを利用 既存のRESTful なWebサービスにアクセス クライアント側はある程度対応できた

これからやりたいこと RESTful な Webサービスのサーバ側 JAX-WS の枠組みの中に構築 POJO + アノテーションのスタイル GlassFish サーバへ組み込み?

JSR-311 RESTful なWebサービスのAPIを策定 参照実装 Jerseyプロジェクト

サービスのサンプル @UriTemplate("/helloworld") public class HelloWorldResource { @HttpMethod("GET") @ProduceMime("text/plain") public String getClichedMessage() { return "Hello World!"; }

サービスのコンパイル ライブラリ jsr311-api.jar をクラスパスに指定 javac -cp ~/jersey-0.4-ea/lib/jsr311-api.jar HelloWorldResouce.java

サービスを確認するには? Webサーバと 「コンテナ」が必要 今回は Jerseyと共に配布されている

サーバのプログラム(1) public class Main { public static void main(String[] args) { HttpHandler handler = ContainerFactory.createContainer( HttpHandler.class, HelloWorldResource.class);

サーバのプログラム(2) HttpServer server = HttpServer.create( new InetSocketAddress(9998), 0); server.createContext("/", handler); server.setExecutor(null); server.start(); :

サーバのコンパイルと実行 ant もしくはシェルスクリプトで構築 #!/bin/bash LIB=~/jersey-0.4-ea/lib javac -classpath.:$LIB/activation.jar: $LIB/ant.jar:$LIB/comresrcgen.jar: $LIB/grizzly-1.0.13.jar:$LIB/http.jar: $LIB/jaxb-api.jar:$LIB/jaxb-impl.jar ….

確認 ブラウザからアクセス http://localhost:9998/helloworld