Oracle® Fusion Middleware Oracle WebLogic Server WebLogic SCAアプリケーションの開発 11g リリース1(10.3.3) B61414-01 |
|
前 |
次 |
SCAサービスは他のコンポーネントによる使用のためのビジネス機能を提供するプログラム・コードの一例です。サービスはSCA参照として他のコンポーネントによる起動が可能です。SCAサービスおよび参照の厳密な定義については、OASISのSCAサービス・コンポーネント・アーキテクチャのアセンブリ・モデル仕様(http://www.osoa.org/download/attachments/35/SCA_AssemblyModel_V100.pdf?version=1
)を参照してください。
SCAサービスおよび参照はSpringアプリケーション・コンテキスト内で構成されます。
WebLogic Spring SCAはSCA参照およびバインディングを指定する次の2つの要素をサポートします。
<sca:reference>
要素は、Springアプリケーション・コンテキストの外部のSCAサービスを表現するSpring Beanを宣言します。この要素の属性は次のとおりです。
必須。参照の名前です。
必須。リモート・サービスを表現するインタフェースまたはクラスの完全修飾Javaタイプです。たとえば、Webサービスへの外部参照の場合、これはWebサービスへのクライアント側プロキシのタイプになります。
Webサービス・バインディングを使用するSCA参照の場合、使用されるタイプはJAX-WS互換インタフェースである必要があります。使用されるタイプは、JAX-WS wsimport
ツール、WebLogic clientgen
Ant task、Oracle JDeveloperまたはOracle Enterprise Pack for Eclipse(OEPE)などのJAX-WS互換クライアント生成ツールを使用して、外部WSDLから生成されたJAX-WS互換インタフェースである必要があります。
オプション。何も指定しない場合、参照に対するターゲットBeanです。これはローカル・サービスにワイヤリングすることでパフォーマンスを向上させ、関連するバインディングを無視します。
<sca:service>
要素はWebLogic SCAがサービスとして公開するSpring Beanを宣言します。 この要素の属性は次のとおりです。
必須。サービスの名前です。
binding.ws
下位要素のname
属性に名前が指定されていない場合(binding.ws要素の属性を参照)、sca:service
のname
属性に指定した名前がWSDLでのサービス名として公開されます。ただし、binding.ws
で名前を指定している場合、その名前がそのバインディング用のサービス名としてWSDLで公開されます。
必須。SCAサービスとして公開されるJavaクラスの完全修飾Javaタイプです。
必須。サービスとして公開されるBeanです。
WebLogic Spring SCAスキーマの詳細は、付録A「WebLogic Spring SCAスキーマ(weblogic-sca.xsd)」を参照してください。
sca:reference
要素およびsca:service
要素には、参照またはサービスのバインディングを指定するためのバインディング下位要素が含まれます。1つのsca:reference
要素には1つのバインディング下位要素のみを含めることができます。複数指定されている場合、最初の1つのみが使用されます。1つのsca:service
要素にはゼロ、1つ、または複数のバインディング下位要素を含めることができます。
WebLogic Spring SCAは次のバインディング要素をサポートします。
<binding.ws>
はバインディングがWeb Serviceバインディングであることを指定します。
<binding.ejb
>はバインディングがEJBセッションBeanバインディングであることを指定します。
<binding.sca
>がデフォルトです。binding.sca
が指定されているか、またはバインディングが何も指定されていない場合、WebLogic SCAランタイムによりデフォルトでbinding.ws
に設定されます。
バインディング要素およびWebLogic SCAランタイム・バインディング・コンポーネントの実装の詳細は、第7章「EJBセッションBeanバインディングの構成」および第8章「Webサービス・バインディングの構成」を参照してください。バインディング要素スキーマの詳細は、付録A「WebLogic SCAスキーマ」を参照してください。
サンプルのSpringアプリケーション・コンテキストを例6-1に示します。コンテキストには、beanX
およびbeanY
の2つのSpring Beanが含まれています。beanX
はWebLogic Spring SCAからSpringアプリケーション・コンテキストへのエントリ・ポイントで、beanY
には外部SCAサービスへの参照が含まれます。
例6-1 Springアプリケーション・コンテキストのサンプル
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sca="http://xmlns.oracle.com/weblogic/weblogic-sca" xmlns:wlsb="http://xmlns.oracle.com/weblogic/weblogic-sca-binding" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://xmlns.oracle.com/weblogic/weblogic-sca http://xmlns.oracle.com/weblogic/weblogic-sca/1.0/weblogic-sca.xsd http://xmlns.oracle.com/weblogic/weblogic-sca-binding http://xmlns.oracle.com/weblogic/weblogic-sca-binding/1.0/weblogic-sca-binding.xsd"> <!-- Expose the bean "X" as an SCA service named "SCAService"--> <sca:service name="SCAService" type="org.xyz.someapp.SomeInterface" target="X"> <wlsb:binding.ws uri="/testService"/> </sca:service> <sca:reference name="SCAReference" type="org.xyz.someapp.SomeOtherInterface"> <wlsb:binding.ws location="http://localhost:7001/jscaliteapp/myrefsvcnameuri" port="http://test.oracle.com#wsdl.endpoint(SCAService2/myrefportname)"/> </sca:reference> <bean id="X" class="org.xyz.someapp.SomeClass"> <property name="foo" ref="Y"/> </bean> <bean id="Y" class="org.xyz.someapp.SomeOtherClass"> <property name="bar" ref="SCAReference"/> </bean> </beans>