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

Slides:



Advertisements
Similar presentations
年度 J2EE II 稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴. 2 この講義の位置づけ 3年前期の「データベース論 (J2EE I) 」に続く講義。 「データベース論」の講義内容を理解 していることが前提。
Advertisements

Web サービス II ( 第 13 回 )‏ 2008 年 1 月 9 日 植田龍男. 本日の目的 Web サービスの歴史と将来の展望 (1) WSDL 2.0 の登場 ‏ Jersey プロジェクト Ver 0.5 による開発.
WebサービスII (第12回)‏ 2007年12月19日 植田龍男.
BBT大学 Ruby on Rails開発環境セットアップマニュアル
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日 植田龍男.
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
東京工科大学 コンピュータサイエンス学部 亀田弘之
Java I 第2回 (4/18)
Applet 岡部 祐典 鈴木 敬幸.
Struts1.xの脆弱性(CVE ) に対するSDEの対処:wrapタイプ (パッチのご提供)
WebサービスII (第10回) 2007年11月28日 植田龍男.
Mavenによる プロジェクト管理 近畿大学理工学部 情報学科3年  小野実.
Servlet J2EE I 第8回 /
アプレット (Applet)について.
Iアプリプログラミング その1  鳥居秀徳.
ネットワークプログラミング論 平成27年10月12日 森田 彦.
WSDL と JAX-RPC 年10月13日 Webサービス II (第3回) WSDL と JAX-RPC 年10月13日.
Java I 第2回 (9/22).
JavaServlet&JSP入門 01K0018 中村太一.
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
WebサービスII (第8回) 2007年11月14日 植田龍男.
HTTPプロトコルとJSP (1) データベース論 第3回.
Curlの仕組み.
プログラミングIII演習 第1回目.
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
WSDL と JAX-RPC 年10月20日 Webサービス II (第4回) WSDL と JAX-RPC 年10月20日.
2005年10月6日 植田龍男 Webサービス II (第2回) 年10月6日 植田龍男.
Javaプログラムの実行まで バイト Javaの コード 実行 ソースコード Java ファイル名 ファイル名 abc.java
アプレット プログラミング 第10回 アプレット プログラミング第10回.
ネットワークプログラミング論 平成28年10月17日 森田 彦.
ServletによるWebアプリ作成 入門
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
RMI ソフトウェア特論 第6回 /
Webサービスを使った クライアント・プログラム
Stateful Session Beans
第12回 2007年7月13日 応用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).
暗黙的に型付けされる構造体の Java言語への導入
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
WebサービスII (第7回) 2007年11月7日 植田龍男.
理学部 情報科学科 指導教官 千葉 滋 助教授 学籍番号 03_03686 内河 綾
2006年度 東京サテライト校 エンタープライズ・アプリケーション II
第6回 2007年6月1日 応用Java (Java/XML).
Javaによる Webアプリケーション入門 第6回
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
Jakarta Struts (2) ソフトウェア特論 第11回.
Javaによる Webアプリケーション入門 第2回
パソコンのしくみ ハードウェア OS(Operating System) アプリケーション NEC DOS
2006年11月8日 植田龍男 Webサービス II (第7回) 年11月8日 植田龍男.
第13回 2007年7月20日 応用Java (Java/XML).
Servlet ソフトウェア特論 第7回.
Servlet J2EE I (データベース論) 第12回 /
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
Javaによる Webアプリケーション入門 第8回
Javaによる Webアプリケーション入門 第4回
WebアプリケーションとTomcat ― これまでの復習とこれからの予習 ―
稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴
JSPの基本 J2EE I (データベース論) 第8回 /
状況に応じて適切な 例外処理が行なえる アスペクト指向分散環境実験の 支援ツール
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
統合開発環境のための プログラミング言語拡張 フレームワーク
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
2006年10月18日 植田龍男 Webサービス II (第4回) 年10月18日 植田龍男.
Presentation transcript:

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

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

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

なぜ、サーバの入れ直し?(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

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

インストール手順(1)

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

インストール手順(3)

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

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

インストール手順(6)

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

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

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

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

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

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

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

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

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

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

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

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