Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション •...

46
<Insert Picture Here> Oracle WebLogic Server WEBサービス 日本オラクル株式会社 Fusion Middleware事業統括本部 ソリューション本部 Application Gridソリューション部

Transcript of Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション •...

Page 1: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

<Insert Picture Here>

Oracle WebLogic Server – WEBサービス

日本オラクル株式会社 Fusion Middleware事業統括本部 ソリューション本部Application Gridソリューション部

Page 2: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved. 2

以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。

OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。

Page 3: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

Agenda

• Webサービス概要• Webサービスとは

• Webサービス標準仕様

• WebLogic Server Webサービスの歴史

• WebLogic Server 10.3.xのWebサービス新機能• JAX-WS Stack 新機能

• JAX-RPC Stack 新機能

• その他新機能

• JAX-WSによるWebサービス構築• JAX-WSとは

• JAX-WS / JAX-PRC の違い

• JAX-WSによるWebLogic Web サービスの構築手順

• まとめ

3

Page 4: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

Webサービス概要

• Webサービスとは• 異なるシステムからサービスを呼び出す仕組み(異言語間)

• XML形式のSOAPでメッセージ送受信

• サービスのインタフェースをWSDLで定義

• Webサービスの必要性• 多様なプラットフォームの分散型アプリケーション間の相互運用性

• HTTPプロトコルによる、アプリケーションへの容易なアクセス

• 共通データモデル(XML)

4

WSDL

Javaシステム

.Netシステム

SOAP

SOAP

Clientアプリ

Page 5: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

Webサービスの活用方法

• Rich Client(Web型3層システムの応用)からの接続• VB.Net(Client) +Webサービス(Java) など

• 1対1/多対1の異なるシステム間の連携技術• サーバ同士の連携

• 異なるプラットフォーム(.Net/Java)システム間での連携

• SOA基盤技術として• 異なるシステムが提供するサービスをつないで、価値ある業務プロセスを柔軟に生成するのがSOA

• サービスを提供するための基盤技術がWebサービス

5

連携の幅が増大

Page 6: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

Webサービスに関連する標準仕様

6

XML

WSDL / WS-Policy / WS-PolicyAttachment

Web Services Metadata

Web Services for Java EE

JAX-WS JAX-RPC

JAXB(Apache beehive

XMLBeans)

SOAP / WS-AddressingWS-Security / WS-Trust / WS-ReliableMessaging

Ba

sic

Pro

file

/ Ba

sic

Se

cu

rity P

rofile

相互運用性

Web

サービス標準

Java

標準

プログラミングAPI

XML⇔Java

バインディング

アノテーション定義

Webサービス+JEE

データ形式

データ転送

サービス定義

Page 7: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

Webサービスに関連する標準仕様

• 標準化団体• W3C

• www技術の標準化

• OASIS

• eビジネスの標準化

• WS-I

• Webサービス相互運用性

• JCP

• Javaの標準化

7

XML

WSDL / WS-Policy / WS-PolicyAttachment

Web Services Metadata

Web Services for Java EE

JAX-WS JAX-RPC

JAXB(Apache beehive

XMLBeans)

SOAP / WS-AddressingWS-Security/WS-Trust/WS-

ReliableMessaging

Ba

sic

Pro

file

/ Basic

Security

Pro

file

JCP

OASIS

WS-I

W3C

Page 8: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

WebLogic Server Webサービスの歴史

• 主なアップグレード(10.3.x)• JAX-WS2.1 / JAXB2.1

• WS-ReliableMessaging 1.1

• WS-Policy 1.5, WS-SecurityPolicy 1.2

• WS-AtomicTransaction 1.2

8

WLS 6.1 (’01)

WLS 7.0(’02)

• WS-Security

• WS-Reliable Messaging

• WS-Addressing

• WS-Policy

• WS-SecureConversation

• SAML

• JAX-RPC 1.1

• SAAJ 1.2

• JSR181(JWS)

WLS 9.x(’05) • WS-Security

• WS-Reliable Messaging

• WS-Addressing

• WS-Policy

• WS-SecurityPolicy

• WS-Secure Conversation

• WS-Trust

• SAML

• JAX-WS 2.0

• JAXB 2.0

• SAAJ 1.3

• MTOM / XOP

• Web Services

• UDDI

• SOAP 1.1

• WSDL 1.1

• Web Services enhancements

• UDDI 2.0

• SOAP 1.1/1.2

• JAXP 1.1

WLS 8.1(’03)

• Web Services enhancements

• WS-Security

• SOAP 1.1/1.2 Reliable Messaging

WLS 10.3,x(’10)

WLS 10.0(’07) • WS-Security 1.1

• WS-Reliable Messaging 1.1

• WS-Addressing 1.0

• WS-Policy 1.5

• WS-SecurityPolicy 1.2

• WS-Secure Conversation

• WS-Trust 1.3

• SAML 2.0

• JAX-WS 2.1

• JAXB 2.1

• SAAJ 1.3

• MTOM / XOP

• XML Catalog

• WS-AtomicTransaction 1.2

Page 9: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

Webサービス新機能(JAX-WSの追加機能)

• JAX-WS 2.1 / JAXB 2.1のサポート• JSR 224 Maintenance Release 2 (May 8, 2007)

• JSR 222 Maintenance Release (Dec 14, 2006)

• JAX-WS RI 2.1.3, JAXB RI 2.1.6ベース

• JAX-WS パフォーマンス改善• Woodstox StAX Parser 3.2.4の使用による大幅なパフォーマンス改善

• WLS 10.0よりも15% ~ 45% パフォーマンスが改善

• JAX-WS でのサポート追加• WS-Security 1.1、WS-SecurityPolicy 1.2

• XML Catalogs

9

Page 10: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

Webサービス新機能(JAX-RPC追加機能)

• 標準対応• WS-Addressing v1.0 (Oldバージョンからアップグレード)

• WS-ReliableMessaging v1.1 (v1.0からアップグレード)

• WS-SecureConversation v1.3

• WS-Trust v1.3 Client

• MTOM機能追加• JavaBean byte配列対応, MTOM+WS-Security, MTOM+WS-

RM

• WS-I Basic Security Profile v1.0 and v1.1の対応強化

• .NET 相互運用性(.NET 3.0 and .NET 3.5)

10

Page 11: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

Webサービス新機能(その他追加機能)

• 適切なセキュリティ・ポリシーの選択• 一つのサービスに複数のポリシー選択肢を設定可能

• 実行時に適切なポリシーを選択

• SAML Token Profile 1.1

• その他、標準仕様のアップグレード• WS-Policy 1.5, WS-SecurityPolicy 1.2.

• WS-Security機能の拡張

11

Page 12: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

JAX-WS 概要

• JAX-WSとは• WebサービスをJavaで実行するための標準APIを定義した仕様

• JAX-RPCとの違い• J2EE 1.4にはJAX-RPCというWebサービスのためのJava API仕様が定義されていたが、もともとRPCだけではなく、ドキュメント型のMessageも扱えることから、実態と名前に差が発生していた。

• JAX-RPC 2.0へのバージョンアップでJAX-WS 2.0と名称変更。(JAX-RPCと別物ではなく、後続バージョンという位置づけ)

• バインディング仕様の違いなどから、JAX-WSは下位バージョン(JAX-RPC1.1)と互換性が保障されない

• Java EE 5では、JAX-RPC1.1も従来どおりに提供されるため、必ずしも既存のWebサービスをJAX-WSに移行する必要はない

12

Page 13: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

JAX-WS/JAX-RPCの判断基準

• 基本的には、新規開発はJAX-WSを選択する• JAX-RPCはJAX-WSの下位バージョンであり、今後の拡張は予定されていないため

• ただし、JAX-RPCでサポートされている機能が、10.3のJAX-WS

では使用できないものが一部ある

• 使い分けに対してある程度の判断は必要

13

Page 14: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

JAX-RPC と JAX-WSの違い 1/2

14

JAX-RPC 1.1 JAX-WS 2.1

関連 •下位バージョン •上位バージョン

SOAP 1.2 サポート •× (1.1 Only) •○ (1.1/1.2)

データバインディング/JAXBの使用•× - データバインディングは独自仕様(WebLogicではXML Beans)

•○ JAXB 2.1

MTOMによるドキュメント添付•○(標準仕様にはないが、

WLS拡張として実装)•○

EJB 3.0サポート •× •○

JSR 181 (Web Services Metadata)

JSR 109 (Enterprise Web Services)•○ •○

Page 15: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

JAX-RPC と JAX-WSの違い 2/2

• WebLogicではJAX-RPCの拡張機能を提供している• JAX-WSの場合、10.3では未サポートの機能がある

15

JAX-RPCのWebLogic拡張 機能説明 JAX-WSでのサポート

会話形式のWebサービス• 同一クライアントから一連のWebサービス呼び出し

• ×

信頼性のあるメッセージング• アプリケーション⇔サーバ間のメッセージ配信を保障する

• ×

非同期 Request-response • Webサービスの非同期呼び出し • ○ (JAX-WS仕様で代替可能)

コールバック • Webサービスクライアントへの通知 • ○ (JAX-WS仕様で代替可能)

バッファ付きWebサービス (JMS)• メソッド / オペレーションのJMSキューへの格納

• ×

接続プロトコルとしての JMS 転送 • Webサービスのデータ転送にJMSを使用 • ×

Page 16: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

JAX-WSを利用したWebサービス開発 1

• WebLogic Webサービス• Web Services for Java EE 1.2(JSR-109)仕様に従い実装されている

• WebLogic Webサービスの開発プロセス• プログラミング方法:

• アノテーションを使用したJavaコード開発(JWSファイル)

• コンパイル方法

• jwsc Ant タスク: JWSファイルのコンパイル/パッケージング

16

Page 17: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

JAX-WSを利用したWebサービス開発 2

• プログラミング方法• JWSファイルは以下の2パターンで実装可能

• Webコンテナ内で実行されるJavaクラス

• EJBコンテナ内で動作するステートレスセッションEJB

• WebサービスはJWSアノテーションを使用して定義する

• Web Service Metadata for Java Platform標準アノテーション

• WebLogic固有アノテーション

• アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ

• WSDLからアノテーションが記述されたJavaスケルトンコードを自動生成することも可能(wsdlc Antタスクを使用する。)

17

Page 18: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

JAX-WSを利用したWebサービス開発 3

• コンパイル方法• JWSファイルのコンパイルツールとして、jwsc Antタスクを提供

• jwsc AntタスクはJWSファイルを入力として受け取り、WebLogicWebサービスの実行に必要なものをすべて生成する

• サービスエンドポイントインタフェース、(JWS_ClassNamePortType.java)など、WebService for Java EE(JSR-109)で規定されたクラスファイル

• JAXBデータバインディングクラスファイル

• デプロイに必要な記述子の作成

• web.xml/application.xml/weblogic-application.xml

• ejb-jar.xml / weblogic-ejb.jar.xml (EJBモデルの場合)

• これらのアーカイブ作成(EAR/WAR)

18

Page 19: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

JAX-WSを利用したWebサービス開発 4

• 開発の流れ

19

WSDLJWSファイル

Java/EJB

開始開始

wsdlc

Antタスク

ユーザ定義

Javaデータ型

アーカイブ

(EAR/WAR)

jwsc

Antタスク

デプロイ

wldeploy Antタスク

管理コンソール

終了

Page 20: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

JWSファイルのプログラミング 1

• JWSファイルのアノテーション• 標準のEJB/Javaクラスにアノテーションを記述する

20

アノテーション 説明 JAX-WS JAX-RPC

Web サービス メタデータ アノテーション (JSR-181)

• Webサービスの形態と動作を指定するための標準アノテーション

• javax.jws / javax.jws.soap パッケージ

• @WebService / @WebMethod etc…

○ ○

JAX-WS アノテーション (JSR-

224)

• JAX-WSのみで使用可能なアノテーション

• javax.xml.ws パッケージ○ ×

JAXB アノテーション (JSR-222)• JAXBにて使用可能なアノテーション

• javax.xml.bind.annotation パッケージ○ ×

WebLogic 固有のアノテーション• WebLogic固有のアノテーション

• ほとんどがJAX-RPCのみで使用可能。JAX-WSは一部のみ△ ○

Page 21: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

JWSファイルのプログラミング 2

• JWSファイルのサンプル

21

package examples.webservices.simple;

import javax.jws.WebMethod;

import javax.jws.WebService;

import javax.jws.soap.SOAPBinding;

@WebService(name="SimplePortType", serviceName="SimpleService",

targetNamespace="http://example.org")

@SOAPBinding(style=SOAPBinding.Style.DOCUMENT,

use=SOAPBinding.Use.LITERAL,

parameterStyle=SOAPBinding.ParameterStyle.WRAPPED)

public class SimpleImpl {

@WebMethod()

public String sayHello(String message) {

return "Here is the message: '" + message + "'";

}

}

@WebService

@SOAPBinding

@WebMethod

Page 22: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

JWSファイルのプログラミング 3

• @WebServiceアノテーション• @WebService アノテーションを使用して、JWS ファイルがWeb サービスを実装することをクラス レベルで指定する

• Web サービスの portType名を「SimplePortType」、サービス名を「SimpleService」、生成されるWSDL で使用される targetNamespace を「http://example.org」と指定している

• ただし、いずれの属性も必須ではない

• 未指定の場合は、適宜デフォルト値が使用される

22

@WebService(name="SimplePortType", serviceName="SimpleService",targetNamespace="http://example.org")

Page 23: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

JWSファイルのプログラミング 4

• @SOPBindingアノテーション• JWS ファイル内にクラス レベルで標準の@SOAPBinding アノテーションを含めて、WebサービスのSOAPバインディング(document-

literal(wrapped)/document-encodedなど)を指定する

• 未指定の場合は、デフォルト値が使用される

23

属性 指定できる値 デフォルト値

styleSOAPBinding.Style.RPC

SOAPBinding.Style.DOCUMENTSOAPBinding.Style. DOCUMENT

use SOAPBinding.Use.LITERAL SOAPBinding.Use.LITERAL

parameterStyleSOAPBinding.ParameterStyle.BARE

SOAPBinding.ParameterStyle.WRAPPEDSOAPBinding.ParameterStyle.WRAPPED

@SOAPBinding(style=SOAPBinding.Style.DOCUMENT,

use=SOAPBinding.Use.LITERAL,

parameterStyle=SOAPBinding.ParameterStyle.WRAPPED)

Page 24: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

JWSファイルのプログラミング 5

• @WebMethodおよび@OneWayアノテーション• @WebMethodアノテーションを使用して、JWS ファイルのメソッドを

Web サービスのパブリック・オペレーションとして公開することを指定する

• @Onewayアノテーションを使用して、オペレーションが呼び出し側に値を返さないことを指定可能(void メソッドのみ)

24

@WebMethod(operationName="sayHelloOperation")public String sayHello(String message) {return "Here is the message: '" + message + "'";

}

@WebMethod()@Oneway()public void ping() {System.out.println("ping operation");

}

Page 25: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

JWSファイルのプログラミング 6

• @WebParamアノテーション• オペレーションのパラメータとWSDL要素のマッピングをカスタマイズする

• 生成されるWSDLファイル内のechoIntオペレーションのパラメータ名は、“IntegerInput”となる

• targetNamespace属性は、パラメータの XML ネームスペースを指定

• パラメータと XML 要素がマップされる、documentスタイルを使用する場合にのみ有効

25

@WebMethod()@WebResult(name="IntegerOutput",

targetNamespace="http://example.org/docLiteralBare")public int echoInt(

@WebParam(name="IntegerInput", targetNamespace="http://example.org/docLiteralBare")

int input){

System.out.println("echoInt '" + input + "' to you too!");return input;

}

Page 26: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

JWSファイルのプログラミング 7

• @WebResultアノテーション• オペレーションの戻り値とWSDL 要素のマッピングをカスタマイズする

• 生成されるWSDLファイル内のechoIntオペレーションの戻り値の名前は、“IntegerOutput”となる

• Name属性が未指定の場合、デフォルト値はハードコーディングされたresultの変数名となる

26

@WebMethod()@WebResult(name="IntegerOutput",

targetNamespace="http://example.org/docLiteralBare")public int echoInt(

@WebParam(name="IntegerInput", targetNamespace="http://example.org/docLiteralBare")

int input){

System.out.println("echoInt '" + input + "' to you too!");return input;

}

Page 27: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

JWSファイルのコンパイル 1

• jwsc WebLogic Webサービス Antタスク

• jwsc Ant タスクは、JWSアノテーションを含むJWSファイルを入力として受取り、WebLogic Webサービスに必要なものをすべて生成する

• ゼロからコーディングしたJWSファイルでもWSDLから自動生成したJWS

ファイルでもどちらでも可能

• 生成されるもの

• JSR-109 Webサービス・クラスファイル

• JAXBデータバインディング・クラスファイル

• 必要なデプロイメント記述子

• サーブレットベースのWebサービス・デプロイメント記述子(web.xml)

• Earデプロイメント記述子 (application.xml/weblogic-

application.xml)

※ WSDLファイルはデプロイ時に生成される

27

Page 28: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

JWSファイルのコンパイル 2

• 事前準備

28

<?xml version="1.0" encoding="windows-31j" ?>

<project default="all">

<target name="all"

depends="clean,build-service,deploy" />

<target name="clean">

<delete dir="output" />

</target>

<target name="build-service">

<!-- ここに jwsc タスク、関連するタスクを追加 -->

</target>

<target name="deploy">

<!--ここに wldeploy タスクを追加 -->

</target>

</project>

環境変数の設定

ドメインディレクトリ(※)のbinサブディレクトリにあるsetDomainEnv.cmd (Windows) またはsetDomainEnv.sh (UNIX) コマンドを実行する

※ ドメインディレクトリ

$BEA_HOME/user_projects/domains/domainName

Ant build.xmlファイルの雛形

Page 29: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

JWSファイルのコンパイル 2

• コンパイルおよびアーカイブのためのjwscの記述• <target name=“build-service”>に記述

29

<taskdef name="jwsc"

classname="weblogic.wsee.tools.anttasks.JwscTask" />

<target name="build-service">

<jwsc

srcdir="src_directory"

destdir="ear_directory"

>

<jws file="JWS_file"

compiledWsdl="WSDLC_Generated_JAR"

type="WebService_type"/>

</jwsc>

</target>

• ear_directory –生成されたファイルを格納するディレクトリを指定

• src_directory - JWS ファイルのパッケージ名に対応するディレクトリの最上位を指定

• JWS_file - src_directory 属性の値に対して相対的な JWS ファイルのパス名を指定

• WSDLC_Generated_JAR - wsdlc Ant タスクによって生成された JAR ファイル(WSDLから生成していない場合は不要)

• WebService_type - Web サービスの種類(JAXWS または JAXRPC)

Page 30: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

JWSファイルのコンパイル 3

• jwscの使用例

30

<taskdef name="jwsc"

classname="weblogic.wsee.tools.anttasks.JwscTask" />

<target name="build-service">

<jwsc

srcdir="src"

destdir=“output/SimpleImplEAR"

>

<jws file=" examples/webservices/simple/SimpleImpl.java"

type="JAXWS"/>

</jwsc>

</target>

build.xml.

│ build.xml

├─output ─ SimpleImplEAR

│ ├─examples

│ │ └─webservices

│ │ └─simple

│ │ SimpleImpl.war

│ │

│ └─META-INF

│ application.xml

│ weblogic-application.xml

└─src

└─examples

└─webservices

└─simple

SimpleImpl.java

jwsc実行後の生成物

Inp

ut

ファイル

Ou

tpu

t

ファイル

Page 31: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

JWSファイルのコンパイル 4

• jwscの高度な使用方法• 複数の JWS ファイルを一度に処理する

• 生成されたWeb サービスをそれぞれ別のWeb アプリケーションWAR ファイルにパッケージ化するか、すべてのWeb サービスをグループ化して 1 つのWAR ファイルにパッケージ化するかを選択可能

• Web サービスの呼び出し時にクライアントアプリケーションが使用できる転送手段 (HTTP/HTTPS) を指定

• 新規作成ではなく、既存のアプリケーションを更新する

31

Page 32: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

wldeploy Antタスクを使用したWebサービスのデプロイ 1

• デプロイ用のwldeploy Antタスクの記述

32

<target name="deploy">

<wldeploy action="deploy"

name="DeploymentName"

source="Source“

user="AdminUser"

password="AdminPassword"

adminurl="AdminServerURL"

targets="ServerName"/>

</target>

•DeploymentName – デプロイメント名。管理コンソールのデプロイメント・リストに表示される

•Source – 対象のEARまたは展開されたディレクトリ

•AdminUser –管理ユーザ名

•AdminPassword - 管理パスワード

•AdminServerURL -管理サーバURL 通常はt3://localhost:7001

•ServerName - WebサービスをデプロイするWebLogic Serverインスタンス名

Page 33: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

wldeploy Antタスクを使用したWebサービスのデプロイ 2

• wldeploy 使用例

33

<target name="deploy">

<wldeploy action="deploy"

name="SimpleImpl"

source="output/SimpleImplEAR"

user="weblogic"

password="weblogic"

adminurl="t3://localhost:7001"

targets="myserver"/>

</target>

.

│ build.xml

├─output ─ SimpleImplEAR

│ ├─examples

│ │ └─webservices

│ │ └─simple

│ │ SimpleImpl.war

│ │

│ └─META-INF

│ application.xml

│ weblogic-application.xml

└─src

└─examples

└─webservices

└─simple

SimpleImpl.java

元ソース

Input

ディレクトリ

Page 34: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

(参考) アンデプロイの指定方法

• アンデプロイ使用例• アンデプロイは“name”属性のみでターゲットを指定します。

34

<target name="undeploy">

<wldeploy action="undeploy"

name=" SimpleImpl "

user="weblogic"

password="weblogic" verbose="true"

adminurl="t3://localhost:7001"

targets="myserver"/>

</target>

.

│ build.xml

├─output ─ SimpleImplEAR

│ ├─examples

│ │ └─webservices

│ │ └─simple

│ │ SimpleImpl.war

│ │

│ └─META-INF

│ application.xml

│ weblogic-application.xml

└─src

└─examples

└─webservices

└─simple

SimpleImpl.java

元ソース

Inp

ut

ディレクトリ

Page 35: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

OEPEを利用したWebLogic Webサービス開発

• Oracle Enterprise Pack For Eclipseには、WebLogic

Server 10.3のWebサービス開発環境が統合済み• JavaクラスからのWebサービス自動生成

• WSDLからのWebサービス自動生成

• WSDLからのWebサービスクライアント自動生成

35

Page 36: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

WebLogic Webサービスの開発

36

• WebLogic管理コンソールを利用したWebサービステスト実行とSOAP通信内容のキャプチャ

引数入力

サービス呼び出し

SOAP通信の内容

Page 37: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

まとめ

• WebLogic Servre 10.3での主な機能追加• JAX-WS 2.1 / JAXB 2.1対応

• JAX-WSの開発• アノテーションを使用した開発

• JWSファイル開発(jwsc Antタスク)

• 既存WSDLからの開発(wsdl Antタスク)

• WebLogic10.3のWebサービス開発環境• Oracle Enterprise Pack For Eclipseに統合済み

37

Page 38: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

オラクルのミドルウェア関連情報

38

最新情報つぶやき中

OracleMiddle_jp

twitter.com/OracleMiddle_jp/

slideshare.net/OracleMiddleJP

製品資料

顧客事例

ホワイトペーパー

などなど

最新情報

おすすめ情報

セミナ情報

などなど

Page 39: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved. 39

OTNセミナー オンデマンド コンテンツダイセミで実施された技術コンテンツを動画で配信中!!

ダイセミのライブ感はそのままに、お好きな時間で受講頂けます。

※掲載のコンテンツ内容は予告なく変更になる可能性があります。

期間限定での配信コンテンツも含まれております。お早めにダウンロード頂くことをお勧めいたします。

OTN オンデマンド

最新情報つぶやき中

OracleMiddle_jp・セミナ情報

・お勧め情報

・公開予告 など

Page 40: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved. 40

Oracle エンジニアのための技術情報サイト

オラクルエンジニア通信http://blogs.oracle.com/oracle4engineer/

• 技術資料

• ダイセミの過去資料や製品ホワイトペーパー、スキルアップ資料などを多様な方法で検索できます

• キーワード検索、レベル別、カテゴリ別、製品・機能別

• コラム

• オラクル製品に関する技術コラムを毎週お届けします

• 決してニッチではなく、誰もが明日から使える技術の「あ、そうだったんだ!」をお届けします

こんな資料が人気です

6か月ぶりに資料ダウンロードランキングの首位が交代!新王者はOracle Database構築資料でした。

データベースの性能管理手法について、Statspack派もEnterprise Manager派も目からウロコの技術特集公開中

オラクルエンジニア通信

最新情報つぶやき中

oracletechnetjp

Page 41: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved. 41

OTN×ダイセミ でスキルアップ!!

※OTN掲示版は、基本的にOracleユーザー有志からの回答となるため100%回答があるとは限りません。

ただ、過去の履歴を見ると、質問の大多数に関してなんらかの回答が書き込まれております。

Oracle Technology Network(OTN)を御活用下さい。

・一般的な技術問題解決方法などを知りたい!

・セミナ資料など技術コンテンツがほしい!

一般的技術問題解決にはOTN掲示版の

「ミドルウェア」をご活用ください

http://forums.oracle.com/forums/main.jspa?categoryID=484

過去のセミナ資料、動画コンテンツはOTNの

「OTNセミナー オンデマンド コンテンツ」へ

http://www.oracle.com/technetwork/jp/testcontent/index-086873-ja.html

※ダイセミ事務局にダイセミ資料を請求頂いても、お受けできない可能性がございますので予めご了承ください。

ダイセミ資料はOTNコンテンツ オン デマンドか、セミナ実施時間内にダウンロード頂くようお願い致します。

Page 42: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved. 42

■パフォーマンス診断サービス

•Webシステム ボトルネック診断サービス

•データベースパフォーマンス診断サービス

オラクル社のエンジニアが 直接ご支援しますお気軽にご活用ください!

オラクル 無償支援 検索

NEW

■システム構成診断サービス

•Oracle Database構成相談サービス

•サーバー統合支援サービス

•仮想化アセスメントサービス

•メインフレーム資産活用相談サービス

•BI EEアセスメントサービス

•簡易業務診断サービス

■バージョンアップ支援サービス

•Oracle Databaseバージョンアップ支援サービス

•Weblogic Serverバージョンアップ支援サービス

•Oracle Developer/2000(Froms/Reports)

Webアップグレード相談サービス

■移行支援サービス

•SQL Serverからの移行支援サービス

•DB2からの移行支援サービス

•Sybaseからの移行支援サービス

•MySQLからの移行支援サービス

•Postgre SQLからの移行支援サービス

•Accessからの移行支援サービス

•Oracle Application ServerからWeblogicへ移行支援サービス

ITプロジェクト全般に渡る無償支援サービス

Oracle Direct Conciergeサービス

NEW

NEW

Page 43: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved. 43

インストールすることなく、すぐに体験いただけます

製品無償評価サービス

http://www.oracle.com/jp/direct/services/didemo-195748-ja.html

Web問い合わせフォーム「ダイデモ」をキーワードに検索することで申し込みホームページにアクセスできます

提供シナリオ一例

・データベースチューニング

・アプリケーション性能・負荷検証

・無停止アップグレード

・Webシステム障害解析

1日5組限定!

※サービスご提供には事前予約が必要です

• サービスご提供までの流れ

1. お問合せフォームより「製品評価サービス希望」と必要事項を明記し送信下さい

2. 弊社より接続方法手順書およびハンズオン手順書を送付致します

3. 当日は、弊社サーバー環境でインターネット越しに製品を体感頂けます

Page 44: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

http://www.oracle.com/jp/direct/inquiry-form-182185-ja.html

Oracle Direct 検索

あなたにいちばん近いオラクル

Oracle Directまずはお問合せください

Web問い合わせフォーム フリーダイヤル

専用お問い合わせフォームにてご相談内容を承ります。

※こちらから詳細確認のお電話を差し上げる場合がありますので、ご登録されている連絡先が最新のものになっているか、ご確認下さい。

0120-155-096

※月曜~金曜 9:00~12:00、13:00~18:00

(祝日および年末年始除く)

システムの検討・構築から運用まで、ITプロジェクト全般の相談窓口としてご支援いたします。

システム構成やライセンス/購入方法などお気軽にお問い合わせ下さい。

Page 45: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved.

Page 46: Oracle WebLogic Server WEBサービス · • WebLogic固有アノテーション • アノテーションが記述されたJavaファイルをJWSファイルと呼ぶ • WSDLからアノテーションが記述されたJavaスケルトンコードを自

Copyright© 2011, Oracle. All rights reserved. 46