アパマ(ソフトウェア)


Apama_(software)

Apamaは、Software AGによって開発された複合イベント処理(CEP)およびイベントストリーム処理(ESP)エンジンです。Apamaは、IoTデバイスなど、さまざまな大容量/低遅延の入力およびアプリケーションでストリーミング分析を実行するためのプラットフォームとして機能します。金融取引所、不正検出、ソーシャルメディアなど。ユーザーは、リッスンするデータパターンと、これらのパターンが見つかったときに実行するアクションを定義できます。これらのパターンは、イベント処理言語(EPL)と呼ばれる提供されたドメイン固有の言語で定義されます。。コアApamaエンジンはC ++で記述されています。プロセスには、作成されたユーザーと対話するためのJVMをオプションで含めることもできます。Javaコード。Apamaは、高スループット、低遅延、およびメモリ効率の高いパフォーマンスに重点を置いています。Intelベンチマークと、Raspberry Pi、ルーター、その他のEdge / IoT デバイスなどの小型マシンの両方で使用されます。CEP分野では、最も初期のプロジェクトの1つであり、長期的な市場リーダーであり 、多くの特許の革新者であることが特に注目に値します。
アパマ
開発者 Software AG 安定リリース
10.5.3 / 2020年6月26日 ; 15か月前  (2020-06-26)
で書かれている
C ++とJava
オペレーティング・システム Windows、Linux タイプ
複合イベント処理、イベントストリーム処理、IoT、データ分析
ライセンス
コマーシャル/フリーミアム
Webサイト
apamacommunity .com

コンテンツ
1 歴史
2 概要
2.1 イベント処理言語 2.2 アパマクエリ 2.3 デザイナー 2.4 プラグイン 2.5 永続性 2.62.6 視覚化
3 も参照してください
4 参考文献
5 外部リンク

歴史
Apama Ltd.は、ケンブリッジ大学コンピュータサイエンスアンドテクノロジー学部で研究を行っているときに出会ったジョンベイツ博士、ジャイルズネルソン博士、モハマドアフシャー博士によって1999年に設立されました。
2005年、ApamaLimitedはProgressSoftwareに2,500万ドルで買収されました。
2013年、ApamaはSoftwareAGによってProgressから非公開の金額で買収されました。
2016年には、サポートフォーラムやGitHubスペースとともに、フリーミアムバージョンのApama CommunityEditionがリリースされました。

概要

イベント処理言語
Apamaのアプリケーションは、イベント処理言語(EPL)で作成されています。EPLは、言語が純粋に設計された機能が含まれ、イベント駆動型プログラミング、を含みます:
イベント-フィールドとアクションを含む単純なデータ構造
モニター-他の言語のクラスと同様に、モニターにはリスナーとアクションが含まれ、インジェクション時にロードされます
リスナー-興味深い条件/イベントの組み合わせを定義する宣言型パターン。集計、時間、およびフィルタリング演算子がサポートされています
アクション-命令型関数。通常、アクティブ化時にリスナーによって実行されるか、ロード時にモニターによって実行されます。
コンテキスト-スレッドと同様に、モニターはコンテキスト内に存在します
チャネル-コンテキストと外部システム間の通信メカニズム
ストリーム-集計およびSQLのようなクエリをサポートするイベントの順序付きパーティション
EPL C ++ / Javaのような構文は、上記の機能と組み合わせてCEPアプリケーションを簡潔に作成するように設計されています。その例を以下に示します。
イベント MyEvent { 整数 myInt ; シーケンス<文字列> myListOfStrings ; ブール myBool ; } モニター MyMonitor { アクション onload () {
スポーン ワーカー() から コンテキスト(”mySideThread” ); } アクション 労働者() {
上の すべての MyEvent (ミント> 10 ) として myCoassignedEvent – > MyEvent (ミント> 20 ) または MyEvent (myBool =真) 内の 30.0 {
場合(doWork (myCoassignedEvent 。myListOfStrings ) != 真) {
ログ 「の問題! 「」; } } } アクション doWork (シーケンス<文字列は> ) を返す ブール {
リストの上で作業を行う//
リターン 真。 } }

アパマクエリ
Apama Queriesは、マシン間でスケーリングする自動的にマルチスレッド化された環境で、過去5分間の受信データや過去20の受信イベントなど、定義されたデータセットに対するルールを作成するための代替言語です。Apamaクエリは、銀行取引などの非常に大規模なセットの監視に適しています。通常、各エンティティ(つまり、アカウント所有者)は、セットの残りの部分とは独立して分割および処理されます。クエリとモニターは、チャネルを介して通信できます。前のシナリオの例を以下に示します。
クエリ FindSuspiciousWithdrawals { パラメータ {
フロート DURATION 。
フロート THRESHOLD 。 } 入力 {
DURATION内の引き出し() キー cardNumber ; }
すべての 引き出し を w
として見つけます。ここで w 。量 > 100
を選択し 、最後の(wの。のtransactionId ) として TID
を選択し 、最後の(ワット。cardNumberプロパティ) として CID
を有する 最後の(ワット。量) > THRESHOLD * 平均(wの。量) {
送信 SuspiciousTransaction (TID 、 CID ) に SuspiciousTransactionManager 。
} }

デザイナー
Software AG Designerは、標準インストールに含まれているApamaアプリケーションの開発と展開を特別にサポートするEclipseベースのIDEです。機能には、コード支援、パッケージ管理、プロファイリング、GUI開発、およびデプロイメント管理が含まれます。

プラグイン
Apamaは、ユーザーがプラグインを作成して機能を拡張する機能をサポートしています。これらのプラグインには、EPLプラグイン(EPLに機能を追加するため)と接続プラグイン(外界との通信用)の2つの形式がC ++およびJavaAPIは、両方のプラグインタイプで使用できます。接続プラグインには、コーデック(内部Apama表現をJSONに変換するなど、データをある形式から別の形式に変換する)とトランスポート(JMSなどの外部システムとの間の送受信を処理する)の2つの形式が外部システムへの接続は、コーデックのチェーンと1つのトランスポートを構成して、目的のトポロジを実現することによって行われます。これらの接続は、起動時にYAML構成ファイルによって、または提供されているツールを使用した動的管理によって定義されます。人気のあるテクノロジー(R、MQTT、Kafka、HTTP、MatLabなど)用のいくつかのビルド済みプラグイン、および他のSoftware AG製品(Universal Messaging、Terracotta、Cumulocityなど)への接続は、Apamaインストールで出荷されます。

永続性
Apamaプロセスは完全にメモリ内にあり、オプションのSQLiteベースの組み込み永続システムをサポートしています。さらに、接続APIは、JMSなどの接続APIをサポートするシステムへの信頼性の高いメッセージングをサポートします。最後に、事前に構築された分散メモリストアプラグインには、適切なバックエンドで使用するための標準インストールが用意されています。

視覚化
Apamaは、Software AG Designer内から開発された組み込みのダッシュボードテクノロジと、SoftwareAGのMashZoneNextGenへのネイティブ接続を提供します。

も参照してください
複合イベント処理(CEP)-イベント駆動型情報システムを構築および管理するための関連テクノロジー。
データストリーム管理システム(DSMS)-データストリームを管理およびクエリするためのソフトウェアシステムの一種
イベント相関
イベント駆動型アーキテクチャ—(EDA)は、イベントの生成、検出、消費、および対応を促進するソフトウェアアーキテクチャパターンです。
イベントストリーム処理—(ESP)は、関連データのストリームの処理に焦点を当てた関連テクノロジです。
オペレーショナルインテリジェンス— CEPとESPはどちらも、オペレーショナルインテリジェンスを支えるテクノロジーです。
パターンマッチング
リアルタイムのビジネスインテリジェンス—ビジネスインテリジェンスは、CEPシステムから派生した知識のアプリケーションです。

参考文献
^ 「ApamaCommunityEditionの新しいリリース」。apamacommunity.com 。2021-03-25を取得。
^ 「Apamaストリーミング分析およびイベント処理プラットフォーム」。
^ 「Intel®Xeon®プロセッサE7v3を使用したApamaStreaming Analytics *」。インテル。
^ 「ApamaCommunityEdition Apama 9.12 CommunityEditionリリースの発表」。www.apamacommunity.com 。
^ 「SoftwareAGは、更新されたAI対応の市場監視ソリューション-IoTNow-IoT対応ビジネスの運営方法のためにApamaEagleEyeを紹介します」。IoTNow-IoT対応ビジネスを運営する方法。2017-11-23 。
^ 「Sell-SideTechnologyAwards 2013:Best Sell-Side Complex-Event Processing(CEP)Technology─ProgressApama-WatersTechnology.com」。WatersTechnology.com。2013-06-03 。
^ 「インテリジェントビジネスプロセス管理スイートのマジッククアドラント」。www.gartner.com 。
^ 「ForresterWave™:ストリーミング分析、2017年第3四半期」。www.forrester.com 。
^ 「ストリーミング分析プラットフォーム– BloorResearch」。www.bloorresearch.com 。
^ 、ネルソン、ジャイルズ&ベイツ、ジョン、「受信したイベント情報に対してクエリを評価するための方法と装置」  ^ 、ミッチェル、ロバート・スコット; Horsburgh、Mark K.&Bentley、Richard M.、「複数の冗長イベント処理エンジンを備えた複合イベント処理システム」   ^ 、ベイツ、ジョン; Smith、Gareth&Bentley、Richard M.、「イベントベースのプロセス構成」   ^ 、ベイツ、ジョン; Smith、Gareth&Bentley、Richard M.、「複雑なイベント処理アプリケーションとビジネスアクティビティ監視ダッシュボードの自動化された構築と展開」   ^ 、Reed、Christopher&Horsburgh、Mark、「マルチスレッドシステムでのオブジェクトの割り当てと解放を管理するためのシステムと方法」   ^ 、Smith、Gareth、「貿易監視および監視システムおよび/または方法」   ^ 、Smith、Gareth、「動的に適応可能なリアルタイムのカスタマーエクスペリエンスマネージャーおよび/または関連する方法」   ^ 、SMITH、Leighton&Smith、Gareth、「動的に分析された感情入力を使用した大規模な会場監視および反応システムと方法」   ^ 「プログレスソフトウェアがApamaの買収を発表」。
^ 「ProgressSoftwareがApamaSolutionをSoftwareAG(NASDAQ:PRGS)に販売する契約を発表」。投資家.progress.com。
^ 「ApamaCommunityEditionの紹介ApamaCommunityEdition」。www.apamacommunity.com 。
^ http://www.apamacommunity.com/wp-content/uploads/2016/06/SAG_The_Apama_Platform_20PG_WP_Jun16-Web.pdf

外部リンク
アパマコミュニティエディション
アパマコマーシャルエディション Software AG Forrester Wave:ストリーミング分析、2017年第3四半期
Thomas W. Dinsmore、Apress(ISBN 978-1-4842-1312-4)による
Disruptive Analytics、Apamaを含む分析の新たなトレンドに関する本 
PrEstoCloud、Apamaを特集した研究論文
 title=