このスクリプトでは、edocs マニュアルの検索に必要な Google 検索の URL を出力します。
このスクリプトでは edocs マニュアルに必要なバナーを出力します。
このスクリプトでは、edocs マニュアルの検索に必要な Google 検索のパラメータを出力します。
スタート ガイド
Oracle Complex Event Processing の概要
この節では、以下の項目について説明します。
Oracle Complex Event Processing の紹介
Oracle Complex Event Processing (略称 Oracle CEP ) は、イベント駆動型アプリケーション用の低レイテンシで Java ベースのミドルウェア フレームワークです。大量のデータ フィードに接続する軽量アプリケーション サーバであり、ユーザ定義ルールに基づいてイベントを照合する複合イベント処理 (CEP) エンジンを備えています。
Oracle CEP には、ビジネス ロジックを含むユーザの Java コード (POJO) をデプロイする機能があります。Oracle CEP 内でビジネス ロジックを実行することにより、時間およびイベント駆動型アプリケーション向けの高度に調整されたフレームワークが提供されます。
Oracle CEP の概念
次の図に、イベント駆動型システムの概要を示します。
イベント駆動型システムは、通常、複数のイベント ソース、リアルタイム イベント駆動型 (Oracle CEP) アプリケーション、およびイベント シンクで構成されています。イベント ソースは通常のイベント データのストリームを生成します。Oracle CEP アプリケーションはイベント ストリームをリスンし、これらのイベントを処理して特別なイベントを生成します。イベント シンクは特別なイベントを受信します。
イベント ソース、イベント駆動型アプリケーション、およびイベント シンクは互いに独立しているため、他のコンポーネントに変更を加えることなくこれらのコンポーネントを追加または削除できます。これはイベント駆動型アーキテクチャの特性です。
イベント駆動型アプリケーションはルールによって駆動されます。ルール (つまりデータ ストアを使用して永続化されたクエリ) が、イベントの着信ストリームの処理およびイベントの発信ストリームの生成に使用されます。通常、発信イベント数は着信イベント数をはるかに下回ります。
Oracle CEP はイベント駆動型アプリケーション開発用のミドルウェアです。Oracle CEP アプリケーションは、本質的にイベント駆動型アプリケーションです。
次に、アプリケーション自体について説明します。アプリケーションは Oracle CEP インフラストラクチャによってホストされる軽量のコンテナです。このことは次の図で説明できます。
Oracle CEP アプリケーションは、通常、4 種類の主要なコンポーネントで構成されます。着信イベント ソースに直接インタフェース接続されるアダプタ、着信プロトコルを解釈してイベント データをプロセッサ (イベント処理エージェントなどのプロセッサ) で照会できる標準化されたデータに変換するアダプタ、標準化されたイベント データをストリームに転送するアダプタ、イベント処理のエンドポイントとなるストリーム、の 4 つです。特にストリームは、イベント処理エージェントがイベント データを処理できるようになるまで、イベント データをキューに保管する役割を果たします。イベント処理エージェントはストリームからイベント データを削除したり、イベント データを処理したりできます。新しいイベントを出力ストリームに生成することもできます。出力ストリームをリスンするために登録されたユーザ コードは、出力ストリームへの新しいイベントの挿入によってトリガされます。ユーザ コードは通常、単なる plain-old-Java-object (POJO) です。ユーザ アプリケーションでは、JMS、WS、ファイル ライタなどの一連の外部サービスを利用して、生成されたイベントを外部イベント シンクに転送します。
イベント処理ネットワーク
アダプタ、ストリーム、プロセッサ、およびビジネス ロジック POJO を任意に相互接続してイベント処理ネットワーク (EPN) を形成できます。EPN のトポロジの例を次に示します。
アダプタ > ストリーム > ビジネス ロジック POJO
シナリオ : 専用プロトコルから標準化されたモデルに適応させる以外には、処理が不要です。
アダプタ > ストリーム > プロセッサ > ストリーム > ビジネス ロジック POJO
シナリオ : ユーザ コードに対する直接的な処理です。
アダプタ > ストリーム > プロセッサ > ストリーム > ビジネス ロジック POJO > ストリーム > プロセッサ > ストリーム -> ビジネス ロジック POJO
シナリオ : 最初のプロセッサがイベント間の因果関係を作成し、2 番目のプロセッサがイベントを集約して複合イベントを作成する 2 層のイベント処理です。
EPN には重要な特性が 2 つあります。
1 つは、イベント処理ネットワークを使用して処理エージェントの階層を作成できるため、非常に複雑なイベント処理が実現されることです。EPN の各層では、その層のイベントが集約されて複合イベントになります。複合イベントはその層の上位層の単純なイベントになります。
イベント処理ネットワークの 2 番目の特性は、積分可能性 (別々に開発されたコンポーネントを連携して正常に機能させる性質) の確保に役立つことです。たとえば、ユーザ コードを追加して、ネットワーク内の複数の場所で外部サービスを参照することができます。
使用例
さまざまな業種に及ぶ Oracle CEP の使用例を次に示します。
金融 : アルゴリズムによる取引
市場価格の変動に基づいた自動株取引。クエリの例 : 任意の 20 秒の時間枠内で、株式 B が 2% を上回る幅で上昇し、かつ株式 A が同様の上昇をしない場合は、自動的に株式 A を購入します。
運輸 : セキュリティと不正の検出
イベント内のパターンを検出することで不正行為を発見します。クエリの例 : 1 枚の ID カードを 5 秒未満の間に 2 回使用して都市地下鉄システムにアクセスした場合、ピギーバックのセキュリティ警告を発します。
エネルギーと電気通信 : 警報の相関関係
誤検出の警報を低減します。クエリの例 : 任意の 5 秒の時間枠内で 15 件の警報を受信しても、30 秒以内に検出した同様の警報が 5 件未満だった場合は、何もしません。
医療 : 患者の監視
患者のバイタル サインを監視し、特定のイベントが発生した場合に何らかのタスクを実行します。クエリの例 : 薬を変更した後に血圧が上昇し、任意の 10 秒の時間枠内での上昇率がこの患者に対する最大許容値の 20 % 以下だった場合に、最も近くの看護師に警告します。
Oracle CEP 機能の概要
Oracle CEP の主な機能の概要を以下に示します。
バージョン 10.3 の新機能。 イベント キャッシング—アプリケーションでは、必要に応じてキャッシュにイベントをパブリッシュしたり、キャッシュのイベントを使用したりすることで、イベントの可用性を高め、イベント処理アプリケーションのパフォーマンスを向上させることができます。
バージョン 10.3 の新機能。 イベントの記録と再生—Oracle CEP のイベント リポジトリ機能を使用すると、イベント処理ネットワーク (EPN) を通じて流れるイベントを記録、格納できるため、後からイベントを再生できます。
バージョン 10.3 の新機能。 組み込み HTTP パブリッシュ/サブスクライブ アダプタ—アプリケーションでは、3 つの組み込み HTTP パブリッシュ/サブスクライブ アダプタを使用して、HTTP パブリッシュ/サブスクライブ サーバ チャネルに対するパブリッシュ (ローカルおよびリモート) とサブスクライブを簡単に行うことができます。
バージョン 10.3 の新機能。 組み込み JMS アダプタ—2 種類の JMS アダプタ (着信と発信) を使用して、Java コードを作成せずに、アプリケーションから JMS キューに対して個別にメッセージを送受信できます。
バージョン 10.3 の新機能。 Visualizer 管理コンソール—Oracle Complex Event Processing (略称 Oracle CEP) からのデータを使用し、そのデータを便利で直感的な方法でシステム管理者やオペレータに表示し、さらに特定のタスクにおいてコンフィグレーションの変更を行うために受け入れたデータを再び Oracle CEP に返す Web 2.0 アプリケーションです。
バージョン 10.3 の新機能。 マルチサーバ ドメイン (クラスタ化 とも呼ばれる)—Oracle CEP で、管理上の目的から複数のサーバを論理的に接続したり、共有のユーザ データグラム プロトコル (UDP) マルチキャスト アドレスとポートを使用して物理的に接続したりできるようになりました。
低レイテンシが要求される大量のストリーミング データを処理するために、通常の従来型 Java アプリケーション (POJO) または Spring アプリケーションのデプロイメントをサポートするアプリケーション サーバ。
Oracle CEP アプリケーションは、イベント駆動型アプリケーションとして開発およびデプロイされます。つまり、EPN アセンブリ ファイルでカスタム Spring タグを使用してイベント処理ネットワークを定義し、それによってアプリケーションの標準 Spring コンテキスト ファイルを拡張します。
アプリケーション サーバは、複合イベント プロセッサ (CEP)、アダプタ、ストリームなどの一連のリアルタイム サービスを提供します。このサーバは、高いメッセージ スループット、低いレイテンシ、および確定的な動作を実現するように高度に調整されています。
複合イベント プロセッサは、大量のストリーミング データを処理するための高パフォーマンスで継続的なクエリ エンジンです。1 つまたは複数のストリームから受け取るストリーミング データのフィルタ処理、相関、および集約を完全にサポートしています。
イベント処理言語 (EPL) は、SQL に類似した言語であり、ストリームから受け取るイベント データを宣言によってフィルタ処理、相関、集約、およびマージできます。また、他のストリームに結果を挿入して、下流でさらに処理を行うことができます。EPL ルールは、複合イベント プロセッサをコンフィグレーションする XML ファイルで定義するか、または API を使用してプログラムで定義します。
アダプタ SDK は、着信データ フィードをリスンするアダプタの作成に必要なすべてのツールを提供します。
一連の製品サンプルには、入門用として簡単な Hello World のシナリオを示す例と、Oracle CEP のその他の機能を使用した複雑な外国為替取引やアルゴリズムによる取引のシナリオを示す例の両方があります。
データ フィードをシミュレートするロード ジェネレータ ユーティリティは、実際のデータ フィードに接続せずにアプリケーションをテストするのに役立ちます。
事前に組み込まれたインスツルメンテーションを含むモニタ サービスは、コンポーネント レベルでスループットとレイテンシを計測するためのサービスです。
静的および動的なコンフィグレーション フレームワーク。静的コンフィグレーションは、XML ファイルを使用して実行します。動的コンフィグレーションを実行するには、JMX とコマンドライン ユーティリティ wlevs.Admin
を使用してコンフィグレーション MBean およびランタイム MBean にアクセスします。
Oracle CEP は、Oracle microServices Architecture (mSA) を基盤として構築されています。Oracle mSA は、OSGi ベースのフレームワークを使用して、モジュールまたは機能セットで提供されるサービスを管理します。Oracle mSA が提供するサービスを次に示します。
Jetty (サーブレットを実行する HTTP コンテナ)
リレーショナル データベースにアクセスするための javax.sql.DataSource
の実装と JDBC シン ドライバ
ロギングとデバッグ
認証と承認のセキュリティ
サポート対象プラットフォーム
次の表に、Oracle CEP 10gR3 でサポートされるプラットフォームを示します。
表 2-1 Oracle CEP 10gR3 サポート対象プラットフォーム
Oracle Enterprise Linux 4 / OVM
Oracle Enterprise Linux 4 / OVM
Oracle Enterprise Linux 5.0 / OVM
Oracle Enterprise Linux 5.0 / OVM
Windows XP SP2 (クライアントのみ)
Windows XP SP2 (クライアントのみ)
Oracle CEP Development Environment for Eclipse
Oracle CEP アプリケーションを開発するプログラマ向けに特化した IDE が用意されています。 Oracle CEP Development Environment for Eclipse は、Oracle CEP 10.3 アプリケーションの開発、デプロイ、およびデバッグ用に設計された、Eclipse IDE のプラグインのセットです。
この IDE の主な機能は以下のとおりです。
イベント駆動型アプリケーションの作成を直ちに開始するためのプロジェクト作成ウィザードおよびテンプレート。
Java や XML ファイルなどの Oracle CEP アプリケーションに共通のソース ファイル用の高度なエディタ。
IDE 内部から Oracle CEP インスタンスをシームレスに開始、停止およびデプロイするための統合化されたサーバ管理。
統合化されたデバッグ。
イベント処理アプリケーション内を参照および移動できる、イベント処理ネットワーク (EPN) のビジュアルなデザイン ビュー。
この IDE の使用は必須または前提条件ではありませんが、使用を検討されることをお勧めします。詳細については、「Oracle CEP Development Environment for Eclipse 」を参照してください。
次の手順
Oracle CEP 10.3 をインストールします。「Oracle Complex Event Processing のインストール 」を参照してください。
サンプルをそれぞれのドメインから実行します。以下を参照してください。
ソースとコンフィグレーション ファイルを参照して、サンプル アプリケーションをそれぞれのソース ディレクトリからビルドすることで、サンプル アプリケーションがどのようにプログラミングされているかを理解します。以下を参照してください。
独自の Oracle CEP ドメインを作成します。Oracle CEP ドメインの作成 に関するページを参照してください。
新しい Oracle CEP アプリケーションを作成して、新しいドメインにデプロイします。プログラミング モデルの説明、アプリケーションを構成するさまざまなコンポーネントの詳細、およびコンポーネントが連動するしくみについては、Oracle CEP アプリケーションの作成 を参照してください。