Presentation is loading. Please wait.

Presentation is loading. Please wait.

Http://www.wakhok.ac.jp/~tatsuo/ws2/ 2006年11月22日 植田龍男 Webサービス II (第9回) http://www.wakhok.ac.jp/~tatsuo/ws2/ 2006年11月22日 植田龍男.

Similar presentations


Presentation on theme: "Http://www.wakhok.ac.jp/~tatsuo/ws2/ 2006年11月22日 植田龍男 Webサービス II (第9回) http://www.wakhok.ac.jp/~tatsuo/ws2/ 2006年11月22日 植田龍男."— Presentation transcript:

1 http://www.wakhok.ac.jp/~tatsuo/ws2/ 2006年11月22日 植田龍男
Webサービス II (第9回) 2006年11月22日 植田龍男

2 この時間の目標 Java SE 6 の環境で Webサービスを構築 サーバの再インストール ついでに NetBeans も

3 なぜ、サーバの入れ直し?(1) Java SE 6 からバイトコードの仕様が拡張
Java SE 6 のバイトコードを Java SE 5 ベース のサーバは解釈できない(エラー発生) 回避策:コンパイル時にオプション javac -target 5 hoo.java ただし、問題はこれだけではなかった

4 なぜ、サーバの入れ直し?(2) JAXB のバージョンによって仕様が異なる
旧(javax.xml.bind.annotation.AccessType) JWSDP 2.0 Sun Application Server 8.2 新(javax.xml.bind.annotation.XmlAccessType) Java SE 6 ある時期以降の Sun Application Server 9.x = GlassFish

5 作業手順 管理者権限のユーザでログオン 必要なインストーラの入手 ( y:\ws2 から可能)
java-tools-bundle-windows.exe (Windows) java-tools-bundle-linux.sh (Linux) Java SE 6 のインストールが前提

6 インストール手順(1)

7 インストール手順(2) 使用する Java は jdk1.6.0 を選択

8 インストール手順(3)

9 インストール手順(4) J2EEの開発パッケージも追加する

10 インストール手順(5) 今度はアプリケーションサーバ

11 インストール手順(6)

12 サーバの起動 ブラウザの管理画面で確認

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

14 本当にこれだけになる 実装クラスを「ごく普通の Java」のプログラムとして書く
( POJO = Plain Old Java Object ) Webサービスのアノテーションを付ける のみ) サーバに渡す(以上で終了) Webサービスも Java SE の守備範囲!

15 開発手法の「昔への回帰」? Webサービスの出発点は Java or XML(WSDL, XML Schema) ?
JWSDP 2.0( Java SE 6 ) は EoDの観点から POJO に回帰 – 手軽でしかも厳密 「難しいフレームワーク」 => Java SE

16 webサービスまで手作業で Webサービスに必要なものの自動生成 通信でやり取りされるクラス定義
WSDL(Web Service Definition Langage) のファイル (上記の通信用のクラスの schema定義を内部に含む) 設定ファイルの準備(サーバに知らせる情報) Warアーカイブ化してデプロイ

17 自動生成(wsgenツール) javac hello\Hello.java wsgen -cp . hello.Hello
HelloService.wsdl, HelloServiceTypes.xsd hello.jaxws 以下に sayHello.java, sayHelloResponse.java sayHello.class sayHelloResponse.class

18 設定ファイル web.xml サーブレットの実装クラス名 セッションの管理など sun-jaxws.xml サービスの実装クラス名
エンドポイントのパターン

19 War アーカイブの生成 WEB-INF – 設定ファイル WEB-INF – classes – クラス群
jar cvf HelloService.war WEB-INF デプロイ サーバの決められた場所にコピー AppServer/domains/domain1/autodeploy

20 Webサービスの確認 管理画面 http://localhost:4848/ から ブラウザで見る

21 クライアントプログラムの作成(1) 自動生成ツール wsimport wsimport HelloService.wsdl
Hello.class, HelloService.class, ObjectFactory.class SayHello.class, SayHelloResponse.class

22 クライアントプログラムの作成(2) public class HelloClient {
public static void main ( String[] args ) { Hello port = new HelloService().getHelloPort(); String message =port.sayHello( "Tatsuo" ); System.out.printf ( message );

23 作成したプログラムの実行 javac でコンパイル javac hello\HelloClient.java java で実行
java hello.HelloClient


Download ppt "Http://www.wakhok.ac.jp/~tatsuo/ws2/ 2006年11月22日 植田龍男 Webサービス II (第9回) http://www.wakhok.ac.jp/~tatsuo/ws2/ 2006年11月22日 植田龍男."

Similar presentations


Ads by Google