Soumettre la recherche
Mettre en ligne
Beginning Java EE 6 勉強会(6) #bje_study
•
Télécharger en tant que PPTX, PDF
•
8 j'aime
•
3,245 vues
Masato Kawamura
Suivre
Beginning Java EE 6 の14章SOAP WEBサービスの資料です。
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 42
Télécharger maintenant
Recommandé
Beginning Java EE 6 勉強会(4) #bje_study
Beginning Java EE 6 勉強会(4) #bje_study
George Okada
Beginning Java EE 6 勉強会(1) #bje_study
Beginning Java EE 6 勉強会(1) #bje_study
Toshiaki Maki
Beginning Java EE 6 勉強会(3) #bje_study
Beginning Java EE 6 勉強会(3) #bje_study
inatus
Beginning java ee 6 13章メッセージ通信
Beginning java ee 6 13章メッセージ通信
zuisener .
Jsf アプリ作ったった
Jsf アプリ作ったった
Oda Shinsuke
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Masatoshi Tada
Seas で語られたこととは?
Seas で語られたこととは?
Masayuki Ozawa
MySQL 5.6新機能解説@dbtechshowcase2012
MySQL 5.6新機能解説@dbtechshowcase2012
Mikiya Okuno
Recommandé
Beginning Java EE 6 勉強会(4) #bje_study
Beginning Java EE 6 勉強会(4) #bje_study
George Okada
Beginning Java EE 6 勉強会(1) #bje_study
Beginning Java EE 6 勉強会(1) #bje_study
Toshiaki Maki
Beginning Java EE 6 勉強会(3) #bje_study
Beginning Java EE 6 勉強会(3) #bje_study
inatus
Beginning java ee 6 13章メッセージ通信
Beginning java ee 6 13章メッセージ通信
zuisener .
Jsf アプリ作ったった
Jsf アプリ作ったった
Oda Shinsuke
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Masatoshi Tada
Seas で語られたこととは?
Seas で語られたこととは?
Masayuki Ozawa
MySQL 5.6新機能解説@dbtechshowcase2012
MySQL 5.6新機能解説@dbtechshowcase2012
Mikiya Okuno
ぽんぽこバレー勉強会 20120427
ぽんぽこバレー勉強会 20120427
Nobuhiro Sue
JJUG 11月ナイトセミナー CDIをはじめよう
JJUG 11月ナイトセミナー CDIをはじめよう
Norito Agetsuma
45分で理解する SQL Serverでできることできないこと
45分で理解する SQL Serverでできることできないこと
Insight Technology, Inc.
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発
Mitsuru Katoh
Mvc conf session_3_takehara
Mvc conf session_3_takehara
Hiroshi Okunushi
Java EEの話(仮)
Java EEの話(仮)
Satoshi Kubo
JSF2.2で簡単webアプリケーション開発
JSF2.2で簡単webアプリケーション開発
Masuji Katoda
Sql server2014復習とsqlserver2016の紹介
Sql server2014復習とsqlserver2016の紹介
Oda Shinsuke
XPagesDay2015 - 誰も教えてくれなかったデバッグ方法
XPagesDay2015 - 誰も教えてくれなかったデバッグ方法
Mitsuru Katoh
JPA説明会
JPA説明会
Ryo Asai
DBA から開発者への情報提供
DBA から開発者への情報提供
Masayuki Ozawa
Sql server よく聞く設定とその効果
Sql server よく聞く設定とその効果
Masayuki Ozawa
Sql server浅く広く
Sql server浅く広く
okumar savurou
A25 sql server data page structure deep dive
A25 sql server data page structure deep dive
Masayuki Ozawa
初心者エンジニアの システム構築 失敗談
初心者エンジニアの システム構築 失敗談
Makoto Haruyama
Windows Server 2016 Active Directoryドメインサービス入門
Windows Server 2016 Active Directoryドメインサービス入門
Trainocate Japan, Ltd.
SQL serverのデータ破損に備える
SQL serverのデータ破損に備える
okumar savurou
Sql server のバックアップとリストアの基礎
Sql server のバックアップとリストアの基礎
Masayuki Ozawa
COD2012 T2/T3 : 実機で試す SQL Server の現状取得 ハンズオンマニュアル
COD2012 T2/T3 : 実機で試す SQL Server の現状取得 ハンズオンマニュアル
Masayuki Ozawa
Sql server 運用 101
Sql server 運用 101
Masayuki Ozawa
OpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンス
OpenID Foundation Japan
WebAPIのこれまでとこれから
WebAPIのこれまでとこれから
Yohei Yamamoto
Contenu connexe
Tendances
ぽんぽこバレー勉強会 20120427
ぽんぽこバレー勉強会 20120427
Nobuhiro Sue
JJUG 11月ナイトセミナー CDIをはじめよう
JJUG 11月ナイトセミナー CDIをはじめよう
Norito Agetsuma
45分で理解する SQL Serverでできることできないこと
45分で理解する SQL Serverでできることできないこと
Insight Technology, Inc.
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発
Mitsuru Katoh
Mvc conf session_3_takehara
Mvc conf session_3_takehara
Hiroshi Okunushi
Java EEの話(仮)
Java EEの話(仮)
Satoshi Kubo
JSF2.2で簡単webアプリケーション開発
JSF2.2で簡単webアプリケーション開発
Masuji Katoda
Sql server2014復習とsqlserver2016の紹介
Sql server2014復習とsqlserver2016の紹介
Oda Shinsuke
XPagesDay2015 - 誰も教えてくれなかったデバッグ方法
XPagesDay2015 - 誰も教えてくれなかったデバッグ方法
Mitsuru Katoh
JPA説明会
JPA説明会
Ryo Asai
DBA から開発者への情報提供
DBA から開発者への情報提供
Masayuki Ozawa
Sql server よく聞く設定とその効果
Sql server よく聞く設定とその効果
Masayuki Ozawa
Sql server浅く広く
Sql server浅く広く
okumar savurou
A25 sql server data page structure deep dive
A25 sql server data page structure deep dive
Masayuki Ozawa
初心者エンジニアの システム構築 失敗談
初心者エンジニアの システム構築 失敗談
Makoto Haruyama
Windows Server 2016 Active Directoryドメインサービス入門
Windows Server 2016 Active Directoryドメインサービス入門
Trainocate Japan, Ltd.
SQL serverのデータ破損に備える
SQL serverのデータ破損に備える
okumar savurou
Sql server のバックアップとリストアの基礎
Sql server のバックアップとリストアの基礎
Masayuki Ozawa
COD2012 T2/T3 : 実機で試す SQL Server の現状取得 ハンズオンマニュアル
COD2012 T2/T3 : 実機で試す SQL Server の現状取得 ハンズオンマニュアル
Masayuki Ozawa
Sql server 運用 101
Sql server 運用 101
Masayuki Ozawa
Tendances
(20)
ぽんぽこバレー勉強会 20120427
ぽんぽこバレー勉強会 20120427
JJUG 11月ナイトセミナー CDIをはじめよう
JJUG 11月ナイトセミナー CDIをはじめよう
45分で理解する SQL Serverでできることできないこと
45分で理解する SQL Serverでできることできないこと
XPages 開発 Tips 百連発
XPages 開発 Tips 百連発
Mvc conf session_3_takehara
Mvc conf session_3_takehara
Java EEの話(仮)
Java EEの話(仮)
JSF2.2で簡単webアプリケーション開発
JSF2.2で簡単webアプリケーション開発
Sql server2014復習とsqlserver2016の紹介
Sql server2014復習とsqlserver2016の紹介
XPagesDay2015 - 誰も教えてくれなかったデバッグ方法
XPagesDay2015 - 誰も教えてくれなかったデバッグ方法
JPA説明会
JPA説明会
DBA から開発者への情報提供
DBA から開発者への情報提供
Sql server よく聞く設定とその効果
Sql server よく聞く設定とその効果
Sql server浅く広く
Sql server浅く広く
A25 sql server data page structure deep dive
A25 sql server data page structure deep dive
初心者エンジニアの システム構築 失敗談
初心者エンジニアの システム構築 失敗談
Windows Server 2016 Active Directoryドメインサービス入門
Windows Server 2016 Active Directoryドメインサービス入門
SQL serverのデータ破損に備える
SQL serverのデータ破損に備える
Sql server のバックアップとリストアの基礎
Sql server のバックアップとリストアの基礎
COD2012 T2/T3 : 実機で試す SQL Server の現状取得 ハンズオンマニュアル
COD2012 T2/T3 : 実機で試す SQL Server の現状取得 ハンズオンマニュアル
Sql server 運用 101
Sql server 運用 101
En vedette
OpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンス
OpenID Foundation Japan
WebAPIのこれまでとこれから
WebAPIのこれまでとこれから
Yohei Yamamoto
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
Masaru Kurahayashi
Microserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かった
Akira Miki
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
Tatsuo Kudo
REST 入門
REST 入門
Yohei Yamamoto
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
Nat Sakimura
今更聞けないOAuth2.0
今更聞けないOAuth2.0
Takahiro Sato
Office365のIdentity管理
Office365のIdentity管理
Naohiro Fujie
なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景
Tatsuo Kudo
Spring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のこと
心 谷本
エンタープライズITでのOpenID Connect利用ガイドライン
エンタープライズITでのOpenID Connect利用ガイドライン
Tatsuo Kudo
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
Nov Matake
Uberご紹介(髙橋正巳)
Uberご紹介(髙橋正巳)
一般社団法人シェアリングエコノミー協会
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
Masaru Kurahayashi
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
Amazon Web Services Japan
En vedette
(16)
OpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンス
WebAPIのこれまでとこれから
WebAPIのこれまでとこれから
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
Microserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かった
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
REST 入門
REST 入門
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
今更聞けないOAuth2.0
今更聞けないOAuth2.0
Office365のIdentity管理
Office365のIdentity管理
なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景
Spring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のこと
エンタープライズITでのOpenID Connect利用ガイドライン
エンタープライズITでのOpenID Connect利用ガイドライン
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
Uberご紹介(髙橋正巳)
Uberご紹介(髙橋正巳)
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
Similaire à Beginning Java EE 6 勉強会(6) #bje_study
Oracle Cloud Platform - クラクドにおける新たなデータベース開発
Oracle Cloud Platform - クラクドにおける新たなデータベース開発
オラクルエンジニア通信
10.1 res tful services
10.1 res tful services
Jian Feng
20170714_MySQLドキュメントストア JSONデータ型&JSON関数 by 日本オラクル株式会社 MySQL GBU 山﨑由章
20170714_MySQLドキュメントストア JSONデータ型&JSON関数 by 日本オラクル株式会社 MySQL GBU 山﨑由章
Insight Technology, Inc.
Clrh 110716 wcfwf
Clrh 110716 wcfwf
Tomoyuki Obi
SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介
Tadahiro Higuchi
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
Masahiro Tomisugi
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
takezoe
WebDAV, ATOM, and REST
WebDAV, ATOM, and REST
Taisuke Yamada
勉強会資料①
勉強会資料①
真亮 坂口
db tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストア
Shinya Sugiyama
マイクロサービス運用の所感 #m3dev
マイクロサービス運用の所感 #m3dev
Kazuhiro Sera
MySQLドキュメントストアとCTE
MySQLドキュメントストアとCTE
yoyamasaki
20080213
20080213
小野 修司
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]
オラクルエンジニア通信
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
Takakiyo Tanaka
Sql serverと他dbの違いを押さえよう!
Sql serverと他dbの違いを押さえよう!
Oda Shinsuke
ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀
増田 亨
Sql server 2019 ざっくり紹介
Sql server 2019 ざっくり紹介
Oda Shinsuke
ShizuokaITpro_Azure
ShizuokaITpro_Azure
Shinichiro Isago
120331 silverlight5新機能早めぐり
120331 silverlight5新機能早めぐり
Takayoshi Tanaka
Similaire à Beginning Java EE 6 勉強会(6) #bje_study
(20)
Oracle Cloud Platform - クラクドにおける新たなデータベース開発
Oracle Cloud Platform - クラクドにおける新たなデータベース開発
10.1 res tful services
10.1 res tful services
20170714_MySQLドキュメントストア JSONデータ型&JSON関数 by 日本オラクル株式会社 MySQL GBU 山﨑由章
20170714_MySQLドキュメントストア JSONデータ型&JSON関数 by 日本オラクル株式会社 MySQL GBU 山﨑由章
Clrh 110716 wcfwf
Clrh 110716 wcfwf
SilverlightとSharePoint2010の紹介
SilverlightとSharePoint2010の紹介
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
WebDAV, ATOM, and REST
WebDAV, ATOM, and REST
勉強会資料①
勉強会資料①
db tech showcase2016 - MySQLドキュメントストア
db tech showcase2016 - MySQLドキュメントストア
マイクロサービス運用の所感 #m3dev
マイクロサービス運用の所感 #m3dev
MySQLドキュメントストアとCTE
MySQLドキュメントストアとCTE
20080213
20080213
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
夏サミ2014 クラウドとCIツールで変わるエンタープライズJava開発
Sql serverと他dbの違いを押さえよう!
Sql serverと他dbの違いを押さえよう!
ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀
Sql server 2019 ざっくり紹介
Sql server 2019 ざっくり紹介
ShizuokaITpro_Azure
ShizuokaITpro_Azure
120331 silverlight5新機能早めぐり
120331 silverlight5新機能早めぐり
Dernier
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
Dernier
(8)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Beginning Java EE 6 勉強会(6) #bje_study
1.
Beginning Java EE
6 勉強会(6) -SOAP WEB サービス- 担当者:@masato_ka Masato Kawamura 2012/06/26
2.
目次 12/06/27 Beginning JavaEE6
勉強会(6) 2 1. SOAP Webサービス
3.
第14章 SOAP Webサービス 12/06/27 Beginning
JavaEE6 勉強会(6) 3
4.
SOAP Webサービス • Webサービスの一種 –
SOAP, REST(15章), XML-RPC • 疎結合型のWEBサービス – 開発に使用された言語をしらなくておk – メソッドシグネチャをしらなくておk – 利用できるビジネスメソッドの一目瞭然で知れる – XML形式でメッセージを送受信する • HTTPプロトコルを利用する – インターネットや企業のイントラネット内にある サービスを統合できる(EAI) 12/06/27 Beginning JavaEE6 勉強会(6) 4
5.
14.1 SOAP Webサービスとは •
図解!これがSOAP Webサービスだ 12/06/27 Beginning JavaEE6 勉強会(6) 5 <<レジストリ>> UDDI コンシューマ SOAP Webサービス WEBサービスを利用 するクライアント SOAP Webサービスの アドレスと呼び出し方法 を記録している XML/HTTP メッセージのリクエスト とレスポンスの形式を 定義 WDSL SOAP形式でのメッ セージをやりとり
6.
XML(Extenblish Markup language) •
データの独立性と相互運用性のために利用 • SOAP Webサービスの様々な場面で利用する – メッセージ形式 – サービス定義(WSDL) – データの交換(SOAP) 12/06/27 Beginning JavaEE6 勉強会(6) 6
7.
WSDL(Web Services Description
Language) • インタフェース定義言語 – XML – コンシューマとサービスのやりとりを定義 – Javaのインタフェース相当をXMLで記述 12/06/27 Beginning JavaEE6 勉強会(6) 7 クライアントJVM Webサービスコンテナ <<コンポーネント>> コンシューマ <<コンポーネント>> SOAP Webサービス WSDL • 次の内容を定義している メッセージタイプ、ポート、通信プロトコル、サポート対象の操作、場所、予 想される返値
8.
SOAP • 標準Webサービスアプリケーションプロトコル • 整形されたXMLデータ(詳細は後ほど) –
エンベローブ – ヘッダ – 本文 • HTTPなどのネットワークプロトコルを使って 交換 • 特定の技術から独立し抽象化された通信プロト コル 12/06/27 Beginning JavaEE6 勉強会(6) 8
9.
UDDI • WebサービスのXMLベースレジストリ • Webサービスの場所と呼び出し方法を検出する 方法を提供する。 •
そもそも企業間でのWebサービスの使い回しに 利用しようとしてたけど、知らないWebサービ スを使うケースが少なかったので使われなく なった。 12/06/27 Beginning JavaEE6 勉強会(6) 9
10.
転送プロトコル • コンシューマとWebサービスがサポートしてれ ば転送プロトコルにはこだわらない。 • `例えば以下のいずれも利用できる。 –
HTTP – TCP/IP – SMTP – FTP 12/06/27 Beginning JavaEE6 勉強会(6) 10 Webサービスの場合ほとんどがHTTPなのでHTTPを 利用するのが標準
11.
14.2 SOAP Webサービスの仕様概要 •
Webサービスの全体の仕様は多岐にわたる – W3C • HTML RDF CSS • XML XMLスキーマ SOAP WSDL – OASIS • UUID • Java EEでの仕様(Java Web Services) – JAX-WS 2.2 – Web Service 1.2⇒本を参照 – JAXB 2.2 – WebServices Metadata 2.0⇒本を参照 – JAXR 1.0⇒本を参照 12/06/27 Beginning JavaEE6 勉強会(6) 11
12.
JAX-WS 2.2 • Webサービス作成のAPI
およびアノテーション – SOAP経由でのリクエストの送受信機能 – プロトコルの複雑さも隠蔽! – 低レベルの処理を受け持ってくれる • SOAP メッセージの生成と解析をすべて任せら れる。 12/06/27 Beginning JavaEE6 勉強会(6) 12
13.
JAXB 2.2 • XMLをJavaオブジェクトとして操作できる –
API – アノテーション • マーシャリングとアンマーシャリングが簡単 • JAX-WSと統合されているがXMLのあらゆる目 的に使えます。 12/06/27 Beginning JavaEE6 勉強会(6) 13
14.
14.3 SOAP Webサービスを呼び出す方法 •
実装はとっても楽ちん!今日から君もSOAPer 12/06/27 Beginning JavaEE6 勉強会(6) 14 Webサービス コンシューマ データオブジェクト JAX-WS JAXB
15.
14.4 XMLバインド用のJavaアーキテクチャ • XMLを意識せずにアノテーションのみで実現! –
マーシャリング – アンマーシャリング – XMLスキーマを自動生成 そう、JAXBならね! 12/06/27 Beginning JavaEE6 勉強会(6) 15 XML XMLスキーマ <xs:complexType….. のxsを名前空間という同じ名称のタグ のコンテキスト切り替えられる 例:XMLとXHTMLなど
16.
14.4.1 バインド • JAXBでできること。 12/06/27
Beginning JavaEE6 勉強会(6) 16 <xs:schema> <xs:element/> <xs:complexType> <xs:element> ・・・・・・・・ </xs:sequence> </xs:complexType> </xs:schema> <xs:schema> <xs:element/> <xs:complexType> <xs:element> ・・・・・・・・ </xs:sequence> </xs:complexType> </xs:schema> <xs:schema> <xs:element/> <xs:complexType> <xs:element> ・・・・・・・・ </xs:sequence> </xs:complexType> </xs:schema> <CreditCard> <controlNumber> <expiryDate> <number> <type>VISA</type> </CreditCard> XML Schema クラス オブジェクトXMLオブジェクト スキーマコンパイラ (xjc) スキーマコンジェネレータ (schemagen) アンマーシャリング マーシャリング
17.
マーシャリング • マーシャリングもとっても簡単 – アンマーシャリングもほぼ同じ 12/06/27
Beginning JavaEE6 勉強会(6) 17
18.
JAXBでバインドを行う2つのシナリオ • xjcやschemaGenといったツールがある • Javaクラス –
Javaクラスが存在する場合にXMLスキーマを生成 – WebサービスはWSDLを生成できる • XMLスキーマ – XMLスキーマが存在する場合に、スキーマコンパイ ラを使用してJavaクラスを生成 – WSDLからクラスを生成することができる 12/06/27 Beginning JavaEE6 勉強会(6) 18
19.
JAXBのアノテーション • JAXBもJPA同様にアノテーションでマッピング をカスタマイズ可能 – 詳しくは表14-1参照 12/06/27
Beginning JavaEE6 勉強会(6) 19
20.
演習1 • Chapter14のサンプルプロジェクトを読み込み – 次のコードを確認してみよう •
WEBサービス • CreditCardクラス • コンシューマ • マーシャリング • CreditCardクラス(アノテーション) • Consumer Serviceのどちらにあるでしょう? 12/06/27 Beginning JavaEE6 勉強会(6) 20
21.
14.5 内部動作 • WDSLを使用してインタフェース定義 •
SOAPはWSDLにあわせたメッセージを送信 12/06/27 Beginning JavaEE6 勉強会(6) 21 クライアントJVM Webサービスコンテナ <<コンポーネント>> コンシューマ <<コンポーネント>> SOAP Webサービス WSDL SOAP/ HTTP
22.
WSDL • Web サービスのコンテナでホストされる •
XML形式で次の内容を記述している – サービスの処理内容 – 操作の呼び出し方法 – サービスの所在 12/06/27 Beginning JavaEE6 勉強会(6) 22
23.
WSDLのXML要素の紹介 • 実際にWDSL をみながら確認してみよう。 –
詳しくは演習2で 12/06/27 Beginning JavaEE6 勉強会(6) 23 XML要素 説明 <definitions> WSDLのルート要素、ドキュメント全体で参照可能な名前空間 のグローバル宣言を定義 <types> メッセージで使用するデータ型を定義。先ほどの例では、Web サービスリクエスト(CreditCardオブジェクト)とレスポンス (Boolean)に渡すパラメーターを表すXML(スキーマ定義) <message> WebサービスのコンシューマとWebサービス自体の間で交換 されるデータの形式を定義。(例:リクエストとレスポンス) <portType> Webサービスの操作を指定。 <binding> 具体的なプロトコルと、特定のポート種類に定義される操作と メッセージのデータ形式を表す。 <service> 各ポートがエンドポイントと関連図蹴られている<port>要素の コレクションを含む
24.
SOAP • 交換するメッセージのXML構造 • HTTPリクエストでXML
メッセージを送信 • EnvelopeとBodyは必須 12/06/27 Beginning JavaEE6 勉強会(6) 24 XML要素 説明 <Envelope> ドキュメントで使用するメッセージと名前空間を定義。 必須のルート要素。 <Header> メッセージまたはアプリケーション固有のインフラスト ラクチャのオプション属性を含む。 <Body> アプリケーション間で交換されるメッセージを含む。 <Fault> メッセージ処理中に発生したエラーについての情報を 提供。
25.
SOAPメッセージの例 • リクエストのSOAPエンベローブ 12/06/27 Beginning
JavaEE6 勉強会(6) 25 <soap:Envelope xmlns:soap=“http://schemas.xmlsoap.org/envelope/” xmlns:cc=“http://chapter14.javaee6.org/”> <soap:Header/> <soap:Body> <cc:validate> <arg0> <controlNumber>1234</controlNumber> <expiryDate>10/10</expireDate> <number>9999</number> <type>VISA</type> </arg0> </cc:validate> </soap:Body> </soap:Envelope> メッセージ(クレジットカード) Envelopeと名前空間
26.
演習2WSDLをのぞいちゃおう • Chapter14のサーバをGlassFishにデプロイ • ポート4848の管理画面からアプリケーション を選択しCardValidatorのエンドポイントを選 択 12/06/27
Beginning JavaEE6 勉強会(6) 26
27.
14.6 Java API
for XML-Based Web Services • JAX-WSがWSDLなどの複雑さを隠蔽してくれ るが、Javaコードを書くときに直接参照、解析 をしなければいけない場合がある。 – トップダウンアプローチ • WSDLの定義を作成し、クラスを実装する – ボトムアップアプローチ • 既存のクラスをWSDL に変換する。 • WSDLに適合させるため、コードの調整が必要 それ、JAX-WSが提供するアノテーションで実現 できるよ? ※それ以外にもwsimportというツールもある。 12/06/27 Beginning JavaEE6 勉強会(6) 27
28.
14.6.1 JAX-WSモデル • Webサービス化の要件 –
クラスには@javax.jws.WebServiceアノテーショ ンを付加するか同等のXMLディスクリプタを使用 – WebサービスをEJBエンドポイントにする場合、ク ラスに@javax.ejb.Statelessアノテーションを付加 する必要がある。 – クラスをpublicで定義final abstruct定義は不可 – クラスはデフォルトのパブリックコンストラクタが 必要 – クラスはfinalize()メソッドの実装は不可 – サービスはステートレスオブジェクトとして実装。 複数回のメソッド呼び出し間にクライアント固有の 状態を保存しない。 12/06/27 Beginning JavaEE6 勉強会(6) 28
29.
Webサービスのエンドポイント • JAX-WS2.2 POJOとステートレスEJBの両方を WEBサービスで公開できる。 –
コードの違いはない(@Statelessの違いのみ) • EJB を使った場合のメリット – セキュリティとコンテナ管理のトランザクション – インターセプタ利用可能 – ビジネスコードをEJB Webサービスとして公開でき る。 12/06/27 Beginning JavaEE6 勉強会(6) 29 クラス パッケージ化 デプロイ場所 POJO .war(サーブレットエンドポイント) サーブレットコンテナ EJB .jar(EJBエンドポイント) EJBコンテナ
30.
JAX-WSのアノテーション • JavaオブジェクトからSOAPへの変換が必要 – WSDL(JAXB)同様アノテーションを利用する。 •
WSDLのマッピングアノテーション – javax.jwsパッケージに属している – WSDLとJava間のマッピングを変更可能 • SOAPバインディングアノテーション – Javax.jws.soapパッケージに属している – SOAPバインドのカスタマイズが可能 12/06/27 Beginning JavaEE6 勉強会(6) 30
31.
@WebService • クラスをウェブサービスにする。 • WDSLファイルに関するカスタマイズが可能 –
WSDLのWebサービス名 – 名前空間のカスタマイズ – WDSL自体の場所の変更 • クラスにアノテーションするとコンテナがイン タフェースを生成する。 • インタフェースに付加してクラスで実装するこ ともできる。 12/06/27 Beginning JavaEE6 勉強会(6) 31
32.
@WebMethod • デフォルトではクラスのパブリックメソッドが すべてWSDLで公開される。WSDLへのマッピ ングをカスタマイズする – マッピングした際のメソッド名の変更 –
WSDLからメソッドの除外を可能とする 12/06/27 Beginning JavaEE6 勉強会(6) 32
33.
@WebResult、@WebParam • @WebResult – @WebMethodと連携してWSDLでメソッドの戻り 値につけられる名前を制御する。 •
@WebParam – @WebResultと同様に、メソッドに渡すパラメータ のカスタマイズが可能となる。 12/06/27 Beginning JavaEE6 勉強会(6) 33
34.
@OneWay • 戻り値がない(void)メソッドに使用する。 – 非同期呼び出しなど –
呼び出しを最適化することができる。 12/06/27 Beginning JavaEE6 勉強会(6) 34
35.
ライフサイクルとコールバック • 存在しない状態と準備状態の2種類 • @PostConstruct
と @PreDestroy 12/06/27 Beginning JavaEE6 勉強会(6) 35 存在しない状態 準備状態 @PostConstruct @PreDestroy メソッド呼び出し
36.
Webサービスコンテキスト • Webサービスの環境コンテキストにアクセスで きる – エンドポイント実装クラス –
メッセージ・コンテキスト – 現在処理中のリクエストに関わるセキュリティ情報 など – @ResourceアノテーションでWebServiceContext を注入する 12/06/27 Beginning JavaEE6 勉強会(6) 36
37.
WebServiceContext のメソッド メソッド 説明 getMessageContext
このメソッドが呼び出されたときに処理 中のリクエストのMessageContextを返す。 これは、SOAPメッセージのヘッダーや本 文などにアクセスするために使用可能 getUserPrincipal 現在調整中のリクエストの送信元を識別 するPrincipalを返す isUserInRole 認証済みのユーザーが指定された論理 ロールに含まれているかどうかを示す boolean値を返す getEndpointReference このエンドポイントに関連する EndpointReferenceを返す。 12/06/27 Beginning JavaEE6 勉強会(6) 37
38.
演習3JAX-WSアノテーション • Ex16のソースコードとWSDLをのぞいてみま しょう! • アノテーションからWSDLの記述を予想しよ う! •
@WebServiceのはどこについてますか? – クラス or インタフェース • @WebServiceを付加する場所を変えてWSDL を確認してみよう。 12/06/27 Beginning JavaEE6 勉強会(6) 38
39.
SOAP Webサービスの呼び出し • サービスエンドポイントインタフェース (SEI) –
WSDLから生成されたJavaインタフェース – HTTPを使用してローカルJava呼び出しをリモート のWeb サービスにルーティングする – SEIからプロキシクラスを取得する。 12/06/27 Beginning JavaEE6 勉強会(6) 39 クライアントJVM Webサービスコンテナ <<コンポーネント>> コンシューマ <<コンポーネント>> SOAP Webサービス WSDL SOAP/ HTTP <<コンポーネント>> SOAP Webサービスのエンド ポイント <<コンポーネント>> コンシューマプロキシ Javaインタ フェース Javaインタ フェース
40.
プロキシの取得 • アノテーション@WebServiceRef – コンテナ内で実行しない場合は使えない •
wsimportツールによって生成されるクラスを 利用 – GlassFish やJDKに同梱されている 12/06/27 Beginning JavaEE6 勉強会(6) 40 ローカルクラスと同じように記述するが、SEIがWebサービスに ルーティングしている。
41.
演習4クライアントを動かす! • まずはサーバを停止した状態で、クライアント をビルドしよう。なぜビルドが失敗したか? – たぶん本来であれば
ex04,ex08はビルドできるは ず。 • サーバを立ち上げてビルドしよう! – クライアント側のpomファイルにWSDLを設定する 必要があります。 • それぞれのサンプルの結果を確認してみよう! 12/06/27 Beginning JavaEE6 勉強会(6) 41
42.
まとめ • SOAP Webサービスの概要 –
関連技術 – SOAPを使ったWebサービスの呼び出し方法 • JAXB – オブジェクトとXMLのバインド – スキーマとクラスのバインド • Webサービスの内部動作 • JAX-WS 12/06/27 Beginning JavaEE6 勉強会(6) 42
Télécharger maintenant