プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Stream Analyticsによるイベント処理用アプリケーションの開発
12
c
(12.2.1.1.0)
E77666-02
次へ
目次
タイトルおよび著作権情報
はじめに
対象読者
ドキュメントのアクセシビリティについて
関連ドキュメント
表記規則
このガイドの新機能
第I部 アプリケーションの開発
1
アプリケーションの開発の概要
1.1
EPN図
1.2
コンポーネント構成
1.3
ストリームとリレーション
1.4
アプリケーションのスケーラビリティおよび高可用性
1.5
アプリケーション・ライフサイクル
1.6
APIの概要
1.7
Springフレームワーク
1.8
OSGiサービス・プラットフォーム
2
アプリケーションおよびリソース構成
2.1
アプリケーション構成
2.2
アセンブリ・ファイル構造
2.2.1
ネストされたEPNアセンブリ・ファイルのステージ
2.2.2
EPNアセンブリ・ファイル内の外部ステージ
2.3
コンポーネント構成ファイル構造
2.4
コンポーネントおよびサーバー構成
2.5
リソース・アクセス構成
2.5.1
リソース・アクセス注釈
2.5.2
静的リソース・インジェクション
2.5.2.1
静的リソース名
2.5.2.2
動的リソース名
2.5.3
動的リソース・インジェクション
2.5.4
JNDIによる動的リソース参照
2.5.5
リソース名解決
3
イベントおよびイベント・タイプ
3.1
イベントの動作
3.2
イベント・タイプのデータ構造の選択
3.3
設計制約
3.4
イベント・タイプ・リポジトリ
3.5
プロパティ
3.6
間隔プロパティおよびタイムスタンプ・プロパティ
3.6.1
間隔プロパティ
3.6.2
ローカル・タイム・ゾーンを使用するタイムスタンプ・プロパティ
3.7
JavaBeanイベント・タイプの作成および登録
3.7.1
データ型
3.7.2
JavaBeanイベント・タイプの宣言的作成
3.7.3
JavaBeanイベント・タイプのプログラムによる作成
3.7.4
使用方法
3.8
タプル・イベント・タイプの作成および登録
3.8.1
アセンブリ・ファイルでのタプル・イベント・タイプの作成
3.8.2
Javaコードでのタプル・イベント・タイプの使用
3.8.3
Oracle CQLコードでのタプル・イベント・タイプ・インスタンスの使用
3.9
マップ・イベント・タイプの作成および登録
3.10
イベント・タイプ・リポジトリへのアクセス
3.10.1
EPNアセンブリ・ファイル
3.10.2
Spring-DM @ServiceReference注釈
3.10.3
Oracle Stream Analytics @Service注釈
3.11
アプリケーション・バンドル間でのイベント・タイプの共有
3.12
イベント・タイプ・ビルダー・クラスでのイベント・タイプのインスタンス化の制御
3.12.1
イベント・タイプ・ビルダー・クラスの実装
3.12.2
イベント・タイプ・ビルダーを使用するイベント・タイプ
4
アダプタ
4.1
アダプタの作成
4.2
クラスタ配分サービス
4.3
パスワードの暗号化
4.4
JAXBのサポート
4.4.1
EclipseLink Moxy
4.4.2
API
4.5
CSVアダプタ
4.6
EDNアダプタ
4.6.1
使用方法
4.6.2
EDNアダプタの作成
4.7
ファイル・アダプタ
4.8
HTTPパブリッシュ/サブスクライブ・アダプタ
4.9
HTTPパブリッシュ/サブスクライブ・アダプタのカスタム・コンバータBean
4.9.1
Bayeuxプロトコル
4.9.2
カスタム・コンバータBeanの作成
4.10
JMSアダプタ
4.10.1
サービス・プロバイダ
4.10.2
インバウンド・アダプタ構成
4.10.2.1
シングルおよびマルチスレッドのインバウンドJMSアダプタ
4.10.2.2
恒久サブスクリプション用のJMSアダプタの構成
4.10.3
アウトバウンド・アダプタ構成
4.11
JMSカスタム・メッセージ・コンバータBean
4.11.1
インタフェースの実装
4.11.2
インバウンドJMSアダプタの実装
4.11.3
アウトバウンドJMSアダプタの実装
4.12
Oracle Business Rulesアダプタ
4.13
QuickFixアダプタ
4.13.1
サポートされているQuickFixバージョンおよびサポートされていないメッセージ・タイプ
4.13.2
QuickFixアダプタの構成
4.13.3
ソケットベースのアクセプタのフェイルオーバーの構成
4.14
RESTアダプタ
4.15
RMIアダプタ
4.16
Twitterアダプタ
4.16.1
Twitterアダプタの構成
4.16.2
Twitter アダプタの依存関係
4.16.3
Twitterインバウンド・アダプタ
4.16.4
フィルタ・オプションを使用した例
4.17
MQTTアダプタ
4.17.1
MQTT構成パラメータ
4.17.2
MQTTレシーバEPN
4.17.3
MQTTセンダーEPN
4.18
Kafkaアダプタ
4.18.1
Kafkaからのメッセージを受信するインバウンド・アダプタ
4.18.2
Kafkaにメッセージを送信するアウトバウンド・アダプタ
4.18.3
Kafka構成
4.19
コヒーレンス・アダプタ
4.19.1
コヒーレンス・インバウンド・アダプタ
4.19.2
コヒーレンス・アウトバウンド・アダプタ
4.19.3
OracleCoherenceCache
4.19.4
EmployeeEvent
5
チャネル
5.1
チャネルを使用するタイミング
5.2
チャネル構成
5.2.1
アセンブリ・ファイル
5.2.2
構成ファイル
5.3
ダウンストリーム・チャネルに出力する問合せの制御
5.4
バッチ処理チャネル
5.5
フォルト処理
5.6
EventPartitionerチャネル
5.7
分散フロー
5.7.1
分散フローの例
5.7.2
ローカル・パーティション化チャネル
6
Oracle CQLプロセッサ
6.1
プロセッサのデータ・ソース
6.2
アセンブリ・ファイルおよび構成ファイル
6.3
問合せ
6.3.1
ストリーム・チャネル
6.3.2
時間ベースのリレーション(ウィンドウ)
6.3.2.1
ストリームからリレーションへの演算子
6.3.2.2
リレーションからストリームへの演算子
6.3.2.3
NOWウィンドウおよび最終イベント・ウィンドウ
6.3.3
プロセッサ出力制御(スライド)
6.3.4
ビュー
6.4
CQL集計
6.5
表ソースの構成
6.5.1
アセンブリ・ファイル
6.5.2
構成ファイル
6.6
パラレル問合せ実行用のOracle CQLプロセッサの構成
6.6.1
パラレル問合せ実行のサポートの設定
6.6.2
ordering-constraint属性
6.6.3
問合せのパーティション化でのpartition-order-capacityの使用
6.6.4
制限事項
6.7
フォルト処理
6.7.1
フォルト・ハンドラ・クラスの実装
6.7.2
フォルト・ハンドラの登録
7
イベントBean
7.1
イベントBeanおよびSpring Bean
7.1.1
スレッドの動作
7.1.2
ハートビート・イベントの受信
7.1.3
イベントBeanの作成
7.1.4
Spring Beanの作成
7.2
イベント・シンクのインタフェース
7.2.1
StreamSinkの実装
7.2.2
RelationSinkの実装
7.3
イベント・ソースのインタフェース
7.3.1
StreamSenderの実装
7.3.2
RelationSenderの実装
8
キャッシュ済イベント・データ
8.1
キャッシングの定義
8.1.1
サポート対象のキャッシュ実装
8.1.2
ユース・ケース
8.2
Oracle Coherenceキャッシング・システムおよびキャッシュの構成
8.2.1
アセンブリ・ファイル
8.2.2
構成ファイル
8.2.3
キャッシュ・ローダーBean
8.3
ローカル・キャッシング・システムおよびキャッシュの構成
8.3.1
アセンブリ・ファイル
8.3.2
構成ファイル
8.4
イベント・リスナーとしてのキャッシュの構成
8.5
キーによるキャッシュのインデックス
8.5.1
アセンブリ・ファイル
8.5.2
メタデータ注釈
8.5.3
複合キー
8.6
イベント・ソースとしてのキャッシュの構成
8.7
キャッシュ・リスナーによるキャッシュの構成
8.8
サードパーティのキャッシング・システムおよびキャッシュの構成
8.9
キャッシュおよび他のデータ・ソース間のデータの交換
8.9.1
読取り専用データ・ソースからのキャッシュ・データのロード
8.9.2
読取り/書込みデータ・ソースでのデータの交換
8.10
アプリケーション・コードからキャッシュへのアクセス
8.10.1
Oracle CQL文からキャッシュへのアクセス
8.10.2
アダプタからキャッシュへのアクセス
8.10.3
ビジネスPOJOからキャッシュへのアクセス
8.10.4
Oracle CQLユーザー定義関数からキャッシュへのアクセス
8.10.5
JMXによるキャッシュへのアクセス
8.10.5.1
Oracle Stream Analytics Visualizerを使用したJMXによるキャッシュへのアクセス方法
8.10.5.2
Javaを使用したJMXによるキャッシュへのアクセス方法
9
EclipseLink、JPAおよびOracle Coherence
9.1
高度な手順
9.2
HelloWorldの例
9.2.1
persistence.xml構成ファイル
9.2.2
HelloWorldAdapter.java
9.2.3
HelloWorldEvent.java
9.2.4
HelloWorldBean.java
9.3
JPA Coherenceの例
9.3.1
persistence.xml構成ファイル
9.3.2
クラス
9.3.2.1
CoherenceMapListener.java
9.3.2.2
PriceTarget.java
9.3.2.3
PriceTargetLoader.java
9.3.2.4
SaleEvent.java
9.3.2.5
SaleEventsGenerator.java
10
Webサービス
10.1
サポート対象のプラットフォーム
10.2
アプリケーションからのWebサービスの起動
10.3
アプリケーションのWebサービスとしての公開
11
パラメータ化されたアプリケーション
11.1
アプリケーション・パラメータ
11.2
オブジェクト・クラス定義
11.3
属性の説明
11.4
ターゲット
11.5
metatypeファイルの例
11.6
パラメータ化されたアプリケーションを使用できる場合
11.6.1
アプリケーションの文書化
11.6.2
チャネル構成
11.6.3
Oracle CQLプロセッサの問合せ
11.7
HelloWorldアプリケーションのデプロイ
12
インターナショナライゼーション
12.1
メッセージ・カタログ
12.1.1
階層
12.1.2
名前付け
12.1.3
メッセージ引数
12.1.4
フォーマット
12.1.5
メッセージ・カタログのローカライゼーション
12.2
ローカライゼーション・クラスの生成
第II部 デプロイ、テストおよびデバッグ
13
アセンブルおよびデプロイ
13.1
OSGiバンドル
13.2
アプリケーションの依存関係
13.3
アプリケーション・ライブラリ
13.3.1
ライブラリ・ディレクトリ
13.3.2
ライブラリ拡張ディレクトリ
13.4
デプロイメント順序
13.5
構成履歴
13.6
appCによるOSGiバンドルのアセンブル
13.7
bundle.shによるOSGiバンドルのアセンブル
13.7.1
ファイルの準備と編成
13.7.2
MANIFEST.MFファイルの作成
13.7.3
サードパーティJARファイルの追加
13.7.4
-Xbootclasspathを使用したサードパーティJARファイルへのアクセス
13.7.5
外部ステージの参照
13.7.6
アクティブ化するOSGiバンドルのアセンブル
13.7.6.1
コマンドの場所、構文、引数
13.7.6.2
OSGiバンドルのアセンブル
13.8
OSGiバンドルのデプロイ
14
テスト1-2-3
14.1
ロード・ジェネレータとcsvgenアダプタ
14.1.1
プロパティ・ファイルの作成
14.1.2
データ・フィード・ファイルの作成
14.1.3
アプリケーションのcsvgenアダプタの構成
14.2
イベント・インスペクタ・サービス
14.2.1
イベント・タイプ
14.2.2
HTTPパブリッシュ/サブスクライブ・チャネルおよびサーバー
14.2.3
ローカルまたはリモート・サーバーの構成
14.2.4
イベントのインジェクト
14.2.5
イベントのトレース
14.2.6
イベント・インスペクタAPI
14.3
EPNシェル
14.3.1
Oracle CQL問合せ
14.3.2
管理コマンド
14.3.3
リグレッション・テスト
14.3.4
EPN変数
14.3.5
EPNコマンド
14.3.6
管理コマンド
14.4
EPNコマンド・インタフェース
14.4.1
セッション変数
14.4.2
メソッド
14.4.3
例
15
イベントの記録と再生を使用したデバッグ
15.1
イベント・フロー
15.2
Berkeley DB
15.3
イベントの記録
15.4
イベントの再生
15.5
Berkeley DBの構成
15.6
イベントを記録するコンポーネントの構成
15.7
イベントを再生するコンポーネントの構成
15.8
イベントの記録と再生の開始および終了
第III部 チューニングとスケーリング
16
パフォーマンス・チューニング
16.1
チャネルとJMSのパフォーマンス・チューニング
16.2
高可用性パフォーマンスのチューニング
17
高可用性アプリケーション
17.1
Oracle Coherence
17.2
アーキテクチャ
17.3
ライフサイクルとフェイルオーバー
17.3.1
セカンダリの障害
17.3.2
プライマリの障害およびフェイルオーバー
17.3.3
高可用性マルチサーバー・ドメインの再結合
17.4
デプロイメント・グループおよび通知グループ
17.5
高可用性アダプタ
17.5.1
高可用性入力アダプタ
17.5.2
バッファリング出力アダプタ
17.5.3
ブロードキャスト出力アダプタ
17.5.4
相関出力アダプタ
17.6
高可用性およびスケーラビリティ
17.7
サービス品質オプションの選択
17.7.1
シンプル・フェイルオーバー
17.7.2
バッファリングを使用するシンプル・フェイルオーバー
17.7.3
軽量キュー・トリミング
17.7.4
JMSによる正確なリカバリ
17.8
高可用性のためのアプリケーション設計
17.8.1
プライマリ高可用性のユース・ケース
17.8.2
高可用性の設計パターン
17.8.2.1
アプリケーションが許容できる最小の高可用性の選択
17.8.2.2
すべての入口/出口ポイントでの高可用性コンポーネントの使用
17.8.2.3
必要なものの保存
17.8.2.4
Oracle Stream Analyticsアプリケーション状態の制限
17.8.2.5
適切なwarm-up-window-length時間の選択
17.8.2.5.1
タイプ1アプリケーション
17.8.2.5.2
タイプ2アプリケーション
17.8.2.6
アプリケーションが多重呼出し不変であることの保証
17.8.2.7
外部のソース・イベント・アイデンティティ
17.8.2.8
イベント順序の重要性の理解
17.8.2.8.1
確定的動作の優先
17.8.2.8.2
マルチスレッドの回避
17.8.2.8.3
モノトニックなイベント識別子の優先
17.8.2.9
高可用性を考慮したOracle CQL問合せの記述
17.8.2.10
サーバーのカップリングの回避
17.8.2.11
サーバー・リカバリの計画
17.8.3
Oracle CQLの問合せの制約
17.8.3.1
範囲ベースのウィンドウ
17.8.3.2
タプルベースのウィンドウ
17.8.3.3
パーティション化されたウィンドウ
17.8.3.4
スライディング・ウィンドウ
17.8.3.5
DURATION句および非イベント検出
17.8.3.6
アプリケーション時間の優先
17.9
高可用性のサービス品質の構成
17.9.1
シンプル・フェイルオーバーの構成
17.9.2
バッファリングを使用するシンプル・フェイルオーバーの構成
17.9.3
軽量キュー・トリミングの構成
17.9.4
JMSによる正確なリカバリの構成
17.10
高可用性アダプタの構成
17.10.1
高可用性入力アダプタの構成
17.10.2
バッファリング出力アダプタの構成
17.10.3
ブロードキャスト出力アダプタの構成
17.10.4
相関出力アダプタの構成
18
スケーラブル・アプリケーション
18.1
デフォルト・チャネルのスケーラビリティ設定
18.1.1
チャネルでのパーティション化の構成
18.1.2
チャネルでの並列処理の構成
18.1.3
アップストリーム・アダプタでの並列処理の構成
18.1.4
ローカル・パーティション・チャネルの定義
18.2
着信JMSイベント・ストリームのパーティション化
18.2.1
高可用性のないパーティション化の構成
18.2.2
高可用性のあるパーティション化の構成
18.3
通知グループの命名規則
18.4
カスタム・チャネル・イベント・パーティショナ
18.4.1
EventPartitionerインタフェース
18.4.2
EventPartitionerインタフェースの実装