1 XMLスキーマ定義の概要
Oracle Stream Analyticsでは、XMLスキーマ定義(xsd)を使用してXML文書で使用できるタイプを記述します。このタイプによって、アプリケーション、デバッグ、デプロイ、コンポーネント、サーバー、データ・カートリッジおよびバインドの各構成を定義します。Oracle JDeveloperのOracle Stream Analyticsモジュールは、このガイドで説明するxsdに従って、これらの構成を生成します。
Oracle Stream Analyticsスキーマ・ファイルは、/Oracle/Middleware/my_osa/xsdディレクトリ内のインストールに含まれています。
この章の内容は次のとおりです。
1.1 EPNアセンブリ・スキーマspring-wlevs-v12_1_3_0.xsd
EPNアセンブリ・ファイルは、Oracle Stream Analyticsアプリケーションを構成するコンポーネントと、それらのコンポーネントを相互に接続する方法を宣言するために使用します。EPNアセンブリ・ファイルは、標準のSpringコンテキスト・ファイルの拡張です。また、このファイルは、アプリケーションのアダプタ・コンポーネントとPOJOコンポーネントを実装するJavaクラスの登録、アプリケーションとEPLのルール全体で使用するイベント・タイプの登録、および環境内でのOracle Stream Analytics固有のサービスの参照にも使用します。
Event Processingの現在のバージョンは、次のプロパティをサポートしていません。計画されたサポートのプレースホルダです。ただし、これらのプロパティのデフォルト値を保持します。
<wlevs:channel>
- is-archived
<!--The default value of is-archived is false-->
- recovery-precision
<!--The default value of is-archived is best-effort-->次のXMLファイルは、HelloWorldのサンプルのEPNアセンブリ・ファイルを示しています。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:osgi="http://www.springframework.org/schema/osgi"
xmlns:wlevs="http://www.bea.com/ns/wlevs/spring"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/osgi
http://www.springframework.org/schema/osgi/spring-osgi.xsd
http://www.bea.com/ns/wlevs/spring
http://www.bea.com/ns/wlevs/spring/spring-wlevs-v12_1_3_0.xsd">
<wlevs:event-type-repository>
<wlevs:event-type type-name="HelloWorldEvent">
<wlevs:class>com.bea.wlevs.event.example.helloworld.HelloWorldEvent</wlevs:class>
</wlevs:event-type>
</wlevs:event-type-repository>
<!-- Adapter can be created from a local class, without going through a adapter factory -->
<wlevs:adapter id="helloworldAdapter" class="com.bea.wlevs.adapter.example.helloworld.HelloWorldAdapter" >
<wlevs:instance-property name="message" value="HelloWorld - the current time is:"/>
</wlevs:adapter>
<wlevs:channel id="helloworldInputChannel" event-type="HelloWorldEvent" >
<wlevs:listener ref="helloworldProcessor"/>
<wlevs:source ref="helloworldAdapter"/>
</wlevs:channel>
<!-- The default processor for Oracle Event Processing 12.1.3.0 is CQL -->
<wlevs:processor id="helloworldProcessor" />
<wlevs:channel id="helloworldOutputChannel" event-type="HelloWorldEvent" advertise="true">
<wlevs:listener>
<bean class="com.bea.wlevs.example.helloworld.HelloWorldBean"/>
</wlevs:listener>
<wlevs:source ref="helloworldProcessor"/>
</wlevs:channel>
</beans>1.2 コンポーネント構成スキーマwlevs_application_config.xsd
Oracle Stream Analyticsアプリケーションには、1つ以上のコンポーネント構成ファイルが含まれています。この構成ファイルは、そのアプリケーションのMETA-INF/wlevsディレクトリ内にあります。コンポーネント構成ファイルを使用して、アダプタ、チャネル、プロセッサなどのOracle Stream Analyticsコンポーネントのデフォルト構成をオーバーライドします。wlevs_application_config.xsdスキーマ・ファイルでは、コンポーネント構成ファイルの構造について説明しています。
このXSDスキーマでは、次のスキーマがインポートされます。
-
wlevs_base_config.xsd -
wlevs_eventstore_config.xsd -
wlevs_diagnostic_config.xsd
次のコンポーネント構成ファイルは、HelloWorldサンプル・アプリケーション用です。
<?xml version="1.0" encoding="UTF-8"?><n1:config xmlns:n1="http://www.bea.com/ns/wlevs/config/application" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <processor> <name>helloworldProcessor</name> <rules> <query id="helloworldRule"> <![CDATA[ select * from helloworldInputChannel [Now] > </query> </rules> </processor> <channel> <name>helloworldInputChannel</name> <max-size>10000</max-size> <max-threads>2</max-threads> </channel> <channel> <name>helloworldOutputChannel</name> <max-size>10000</max-size> <max-threads>2</max-threads> </channel> </n1:config>
1.3 デプロイメント・スキーマdeployment.xsd
deployments.xmlファイルは、/Oracle/Middleware/my_osa/user_projects/domains/<domain>/<server>/ディレクトリにあります。このXMLファイルには、サーバーにデプロイされているOSGiバンドルがリストされます。deployment.xsdスキーマ・ファイルはデプロイメント・ファイルの構造を説明します。
次の例は、サンプルFXドメインのdeployments.xmlファイルを示しています。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wlevs="http://www.bea.com/ns/wlevs/deployment"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.bea.com/ns/wlevs/deployment
http://www.bea.com/ns/wlevs/deployment/deployment.xsd">
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
</bean>
<wlevs:deployment id="fx" state="start"
location="file:${wlevs.domain.home}/applications/fx/com.bea.wlevs.example.fx_11.1.0.0.jar"/>
</beans>1.4 サーバー構成スキーマwlevs_server_config.xsd
Oracle Stream Analyticsサーバー構成ファイルは、DOMAIN_DIR/servername/configディレクトリにあります。Oracle Stream Analyticsインスタンスの構成を変更する場合は、サーバー構成要素を追加または削除することで、このファイルを手動で更新します。welvs_server_config.xsdスキーマ・ファイルはサーバー構成ファイルの構造を説明します。
次の例は、これらのサービスの一部を構成する方法を示しています。
<?xml version="1.0" encoding="UTF-8"?> <n1:config xsi:schemaLocation=" http://www.bea.com/ns/wlevs/config/server wlevs_server_config.xsd" xmlns:n1="http://www.bea.com/ns/wlevs/config/server" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <netio> <name>NetIO</name> <port>9002</port> </netio> <netio> <name>sslNetIo</name> <ssl-config-bean-name>sslConfig</ssl-config-bean-name> <port>9003</port> </netio> <work-manager> <name>JettyWorkManager</name> <min-threads-constraint>5</min-threads-constraint> <max-threads-constraint>10</max-threads-constraint> </work-manager> <jetty> <name>JettyServer</name> <network-io-name>NetIO</network-io-name> <work-manager-name>JettyWorkManager</work-manager-name> <secure-network-io-name>sslNetIo</secure-network-io-name> </jetty> <rmi> <name>RMI</name> <http-service-name>JettyServer</http-service-name> </rmi> <jndi-context> <name>JNDI</name> </jndi-context> <exported-jndi-context> <name>exportedJndi</name> <rmi-service-name>RMI</rmi-service-name> </exported-jndi-context> <jmx> <rmi-service-name>RMI</rmi-service-name> <jndi-service-name>JNDI</jndi-service-name> </jmx> <ssl> <name>sslConfig</name> <key-store>./ssl/dsidentity.jks</key-store> <key-store-pass> <password>changeit</password> </key-store-pass> <key-store-alias>ds</key-store-alias> <key-manager-algorithm>SunX509</key-manager-algorithm> <ssl-protocol>TLS</ssl-protocol> <enforce-fips>false</enforce-fips> <need-client-auth>false</need-client-auth> </ssl> <http-pubsub> <name>pubsub</name> <path>/pubsub</path> <pub-sub-bean> <server-config> <name>pubsubbean</name> <supported-transport> <types> <element>long-polling</element> </types> </supported-transport> <publish-without-connect-allowed>true</publish-without-connect-allowed> </server-config> <channels> <element> <channel-pattern>/evsmonitor</channel-pattern> </element> <element> <channel-pattern>/evsalert</channel-pattern> </element> <element> <channel-pattern>/evsdomainchange</channel-pattern> </element> </channels> </pub-sub-bean> </http-pubsub> </n1:config>