Ensemble 技術概要

Table of contents

Ensemble のコア・データベースと抽象化テクノロジ

従来のメッセージング製品と異なり、Ensemble の中心には、高性能でスケーラビリティに優れた、SQL 対応のオブジェクト・データベースがあります。このデータベースは、弊社の Caché 製品に採用されている実績豊富なテクノロジを活用しています。また、スケールの変更が容易であるため、同時にアクセスしているユーザ数が膨大であっても、テラバイト単位のデータがあっても対応できます。Ensemble 自体の要素はすべて、そのデータベース内のオブジェクト・クラスとしてモデリングされます。このオブジェクト・モデルは、ソリューションの開発中に、Ensemble の先進的な抽象化機能によって、アプリケーション、サービス、データ・ソース、ビジネス・ルールなど、統合ソリューションのコンポーネントすべてに拡張されています。

例えば、SAP アプリケーション・スイート、IMS データベースを使用する従来のメインフレーム・アプリケーション、Web サービスを実現する Windows アプリケーション、J2EE テクノロジを使用して構築された Java アプリケーション、広範なストアド・プロシージャがあるリレーショナル・アプリケーションを接続した統合プロジェクトを考えてみましょう。Ensemble では、これらのアプリケーションの機能とデータが抽象化され、プロパティとメソッドを持つ一連のオブジェクト・クラスになり、そのクラスがデータベースに格納されて、プロジェクト全体でクラスを利用できるようになります。Ensemble では、COM、.NET、ODBC、Java、JDBC、EJB、XML、Web サービスなど、統合システムの他の部分で必要とされるあらゆる形式で、これらのクラスを表示できます。

さらに、Ensemble のデータベースは、動作中のソリューションで生成されるあらゆるメッセージ、またあらゆるビジネス・プロセスの現在の状況を格納したリポジトリです。Ensemble を使用すれば、メッセージが失われることはありません。また、ビジネス・プロセスが中断しても、中断した場所から必ず再開できます。トランザクションに対する高度なビットマップ・インデックス付け機能により、ビジネス・アクティビティの監視、監査、管理のために、メッセージ・リポジトリに対してリアルタイムで更新やアクセスができます。

Ensemble では、オブジェクト・モデル、共有リポジトリ、開発環境によって、ソリューションの根底にあるシステム、アプリケーション、サービスを、一貫性のある統一ビューで表示できます。プラットフォーム、言語、データ・モデル、ストレージ・アーキテクチャ、ネットワーク・プロトコルなど、そのような根底にある部分がどのようなテクノロジを使用していても、それに左右されることはありません。Ensemble では、統合プロジェクトに付随して発生することの多い複雑さが減り、必要に応じてサービスとデータが複数のビジネス・プロセスに組み込まれ、ソリューション完成までの所要期間が大幅に短縮されます。

先進的なメッセージング

Ensemble 内のメッセージング機能は、全体を構成する 1 つの要素であり、他のすべての要素と同様に、Ensemble の強力なオブジェクト・モデルや、データとメタデータの高性能なストレージを利用して、迅速な開発と管理のしやすさを実現しています。Ensemble のメッセージングには、以下のような特徴があります。

  • 発行/購読、イベント駆動型、またプログラマでない人でも使いこなせるほどシンプルな拡張可能なルール・エンジンを経由したコンテンツ・ベースのルーティングを使用することにより、高速で信頼性の高いメッセージングが実現
  • アダプタ・ライブラリとフレームワークが広範に用意されているため、購入後すぐに、多様なアプリケーション、サービス、データ・ソース、テクノロジに接続可能
  • XML、SOAP、Web サービスなどの標準的なメッセージング形式 (医療業界における HL7 や X12 を含む)、金融サービスや通信などの業界用の規格を双方向でサポート
  • XML ベースのデータ変換をグラフィックに実現
  • エンド・ツー・エンドの管理 (Visual Trace でトラブルシューティングとメッセージ検証の迅速化を図るなど)
  • 既存のアダプタを簡単に拡張して新しいソースに接続できる、迅速な開発環境

迅速で信頼性の高いメッセージ・エンジン

開発の速さ、性能の高さ、配置するソリューションの信頼性、管理の効率性が、Ensemble のメッセージング・エンジンが持つ主な利点です。これによって、時間と費用が大幅に軽減されます。さらに重要なこととして、Ensemble を使用することによって、より短期間でより多くのソリューションをプロダクションで運用できるようになるので、結果的にこれらのソリューションには、意図する価値を企業にもたらすうえで時間的な余裕が生まれます。例えば、医療業界のプロジェクトでは、Ensemble のユーザは、他社の統合製品を使った場合に比べて、開発速度は 3 倍近くになり、メッセージ処理速度は 2 倍近くになったと報告しています。

Ensembleのメッセージング・エンジンはメッセージ配信を保証し、コンテンツ・ベースのルーティング、高性能なメッセージ変換、ビジネスルールの処理、また、同期と非同期の対話をサポートする、等の機能が備わっています。このように、メッセージング・サービスは信頼性が高く堅牢なため、異種のアプリケーション・インタフェース、サービス、テクノロジ、データ・ソースによって生成されるアクティビティが、ユーザに意識させることなく統合されます。 また、メッセージング・エンジンは、監査とビジネス・アクティビティ監視 (BAM) のため、ライブおよび処理済みのいずれのメッセージにもリアルタイムでアクセス可能であり、長期的ビジネス・プロセスに対する高い信頼性と復元可能性を提供します。

広範で拡張可能なアダプタ・ライブラリとフレームワーク

Ensemble には、多数のアダプタが用意されており、購入後すぐに、SQL、HL7、TCP/IP、SOAP など、多様なパッケージ・アプリケーション、データベース、業界標準規格、テクノロジとの間で接続とデータ変換ができるため、統合プロジェクトに円滑に着手できます。アダプタ・コードをインターシステムズが保守し、IT 開発の負担がいっそう軽減されるため、Ensemble ユーザはビジネス・ソリューションに専念できます。Ensemble では、オブジェクト継承と SOAP サービスを使用して、必要な作業を最小限に抑えることによって、カスタム・アダプタをこれ以上ないほど迅速に開発できます。Ensemble のユニット・テスト・サービスを利用すると、最初にプロジェクト全体を完了する必要なくカスタム・アダプタをテストできるため、開発期間は短縮され、ソリューションの信頼性は高まります。

アダプタとして SOAP サービスを使用できるため、Ensemble が接続できる環境が急速に広がります。また、SAP、Siebel、Amazon、MapQuest などの企業が提供する Web サービスと迅速に統合する基盤が用意されます。

どのアダプタも、アプリケーション、データソースや接続に使われる技術によって、ユニークな特徴を持っています。全てのアダプタもは単一で、一貫した統合モデルを実現する機能のセットを共有し、信頼性があり、管理し易い機能を提供しています。

広範な標準をサポート

Ensemble 内でサポートされる標準規格により、開発者は、他のプロジェクトで同じ標準規格を使用したことで身につけたスキルを活用できます。また、完成したシステムを、同じ標準規格をサポートする他のシステムと相互運用できます。標準規格は時間の経過と共に変化し、新しい標準規格も登場してきますが、業界標準を中心としたソリューション開発は、自社の独自テクノロジを使用した開発に比べ、一定の投資保護効果が得られます。

Ensemble では、医療、金融サービス、通信など、多くの業界に関連する多様な標準規格がサポートされています。また、XML、XPATH、XSLT、SAX、SOAP (消費者または生産者として)、また DTD (Document Type Definitions) やスキーマなど、最新の Web サービス標準もサポートされています。Ensemble のオブジェクト・モデルとデータベースでは、多次元の XML 構造を 2 次元のリレーショナル・データベース・テーブルにマッピングするというオーバーヘッドを処理せず、XML とオブジェクトをシームレスに融合することができます。

視覚的で柔軟なデータ変換

Ensemble では、アプリケーション間またはサービス間での意味とデータ・スキーマの違いによって生まれる、プロジェクト完了への障壁が取り払われています。たとえば、地域の医師が持つ運営管理システム内にある患者データを、その医師が紹介した入院先の病院で使用する電子カルテに統合しようとする場合です。Ensemble が持つ、グラフィックとコードをベースにした強力なデータ変換機能が、(内部または外部の) データ・テーブルで単純な公式または検索を使用して、このような違いを埋めます。また、このデータ変換機能は、カスタマイズした関数を追加することによって、いくらでも複雑なものに拡張できます。Ensemble では、データ変換を規定するマッピングと計算が、埋め込まれたデータベースにオブジェクトとして格納されます。このマッピングは、いったん格納したら、そのアクセス可能性、信頼性、再利用性、変換可能性、スケーラビリティが、他の Ensemble データと同じになります。

Ensemble では、変換のためにユニット・テスト・サービスも用意しています。この方法なら、プロジェクト全体が完了するまで待つ必要なく、開発中に変換をテストできます。

効率と生産性の高い開発環境

Ensemble が持つオブジェクト・モデルとデータベース・テクノロジの威力は、その開発環境にも及んでいます。Ensemble では、多様なプログラミング・モデル、プログラミング・インタフェース、データ形式を、オブジェクトによる一貫性のある形式で表現できるため、メッセージングからプロセスのオーケストレーションやビジネス・アクティビティ監視に至るまで、Ensemble のあらゆる面にわたって、Ensemble の単一開発環境を適用できます。グラフィック、XML、コードをベースにしたこの統一環境によって、ビジネス・アナリストや開発者のために、ビジネス・プロセスのモデリングと自動化が簡素化および加速されます。また、コンポジット・アプリケーションのサービス指向開発を、これ以上ないほど迅速にできます。

Ensemble では、異種のプログラミング・モデルとデータ形式を、オブジェクトによる一貫性のある効率的な形式で表現できるため、最も強力な最新の開発ツールとテクノロジを利用できます。リソース (従来のアプリケーション機能やデータを含む) を、Ensemble オブジェクトとしてデータベースに格納しておくと、これらのリソースの利用者に、COM、ODBC、Java、JDBC、EJB、XML、Webサービス、.NET、J2EE コンポーネントなど、多様な形式で自動的に表示できます。J2EE 固有の製品や .NET 固有の製品に縛られることによるリスクはなくなり、規格やテクノロジの変化による影響も受けにくくなるので、柔軟性が最大限に発揮されます。

サービス指向アーキテクチャ (SOA) では、Ensemble は Web サービスの生産者または利用者として動作できます。生産者としての Ensemble は、そのデータベースに格納された関数のいずれでも、Web サービスとして提示できます。利用者としての Ensemble は、外部の Web サービスを特定し、そのオブジェクト表現をデータベースに格納します。格納されたオブジェクト表現は、ローカル機能と同じように簡単にソリューションに組み込むことができます。

Ensemble の開発環境には、これ以外にも以下のようなメリットがあります。

  • SOAP などのサービス指向テクノロジへの透過的アクセスを実現することによって、コンポジット・アプリケーションの迅速なサービス指向開発をサポート。
  • Business Process Execution Language for Web Services (BPEL4WS または BPEL) や Business Process Management Language (BPML または BPMI) など、新興の仕様に基づいて、Ensemble Business Processing Language (BPL) を提供することによって、サードパーティのビジネス・プロセス管理ツールと合理的に統合。
  • SQL とオブジェクト・ビューを経由して、Ensemble データベースに対して、全面的にプログラムによるアクセスがリアルタイムで可能。
  • Java から C# まで、多くのプログラミング言語で記述されたコンポーネントをサポート。
  • Microsoft Visual Basic (VB) のプログラマに対する親和性の提供。組み込まれているスクリプト言語が VB に似ているため、VB を知っている開発者であれば、Ensemble との統合および開発が可能。

エンド・ツー・エンドの管理

統合されたシステムは、連携するように設計されていなかった異種のアプリケーションとリンクするため、管理が難しくなる場合があります。サービス指向アーキテクチャは、緩やかに結合されたサービスで構成されているため、やはり管理上厄介な課題が発生します。Ensemble のリポジトリには、どちらのタイプのシステムでも、エンド・ツー・エンドの監視と管理に役立つ情報が豊富に格納されています。この情報には、実行中のシステムから取り込まれたメッセージ、プロセス状況、メタデータがすべて含まれています。 Ensemble には、ブラウザ・ベースのセキュアな管理ポータルがあり、これ以上ないほど強力でありながらも使いやすい機能を実現しています。以下に示す機能では、この情報を活用して、管理と監視を簡素化しています。

EnsembleのVisual Trace機能 によって、管理者はメッセージがシステムを通過するのに伴って、メッセージを追跡し、その内容を調べることができます。また、強力な分析機能と報告機能により、ビジネス・プロセスとトラブルシューティングをリアルタイム表示します。

Ensembleを導入したソリューションはとても信頼性があり、予想外のダウンタイムにも悩まされることはありません。警告を発することによって、問題に対して即座に注意を払うことが必要な際には、Ensembleには管理者に自動的に連絡し、フィードバック・ループで動作する自動応答を開始して問題の解決を図る機能が備わっています。

メッセージングに留まらない機能の実現 – Ensemble のビジネス・プロセス最適化機能

Ensemble では、ビジネス・プロセス最適化機能が、製品の他の部分と共にコアに統合されるため、オブジェクトやデータベースの基礎的なテクノロジを利用でき、それが Ensemble の大きな特長となっています。ビジネス・ニーズが発生すると、これらの機能の準備が整い、同じ開発および管理環境から、メッセージング・テクノロジと同じ方法でアクセスおよび使用できます。

Ingtegrated Solution

図 1. 概念的には、Ensemble は階層化された製品であり、一連の基本テクノロジが、上記の層にあるすべての機能で使用されます。上部の各層は、直下の層の機能を使用します。

Ensemble のビジネス・プロセス最適化機能が持つ利点は、従来の製品で実現できる利点をはるかに超えています。ビジネス・アナリストとソフトウェア開発者は、以下の 4 つの統合タイプのすべてを簡単に融合できるプロジェクトで共同作業ができます。

  • 多様な機器を使用して、アプリケーションと情報に、より簡単かつ広範にアクセスできるようにする。
  • 異種のソースから (顧客、患者、製品などに関する) 情報を収集し、1 つの総合的なビューに照合する。
  • 変更が容易なビジネス・ルールなど、ビジネス・プロセスを自動化して、プロセスの実行や人間のワークフローを指示する。
  • 異種のアプリケーションやデータベースにわたってデータの整合性を実現する。

Ensemble では、製品の先進的なオブジェクト・モデル、統合された環境に関する運用データとメタデータの総合ストア、強力なメッセージング基盤、統一された開発環境を、ビジネス・プロセス最適化機能で活用して、以下の実現を図ります。

  • 任意の期間のビジネス・プロセスの状況に対して、オーケストレーションとメンテナンスを行う。
  • 実行するビジネス・プロセスの動作を、コーディングではなくルールによって変更する。
  • 人間の思考とは異なる形態で自動化されたプロセスに人間のワークフローを組み込む。
  • システム全体のアクティビティと状況、および重要なパフォーマンスの指標を監視する。

調和のとれたビジネス・プロセスのオーケストレーション

ビジネス・プロセスとは、住宅ローンの申し込みに対する処理や患者の入院手続きなどのビジネス目標を達成するために、実行する必要のある一連のタスクです。オーケストレーションは、テクノロジではなくビジネス・プロセスに焦点を当てた設計プロセスです。このような視点で、ビジネス・アナリストは、Ensemble の持つ機能豊富なグラフィカル・エディタを使用してプロセスと情報のフローを、ビジネス・ルールとワークフロー・タスクを含んだダイアグラムで表しながら、アプリケーション・インタフェース、アダプタ、ミドルウェア・メカニズムなど、レベルの低い点を気にせずに、システム間の論理的な対話に集中することができます。Ensemble では、結果としてできたモデルから、プロセスの実行コードを自動生成します。グラフィカル・モデルによって、アナリストと開発者の間で、対話と健全なコミュニケーションが促進されるため、開発期間は短縮され、ビジネス要件により適合したシステムが生まれます。

開発者は、必要に応じて、自動生成されたコードを改良できます。改良に際しては、グラフィカル・モデリングを追加したり、Ensemble Business Processing Language (BPL、BPEL規格のスーパーセット)、XML ドキュメントまたはコードを使用した記述を書き込みます。これらのツールは、さまざまに組み合わせること (mix and match)ができるので、多様な開発アプローチを使用して、多様な統合上の問題に効率的に取り組むことができます。

ビジネス・ルールを使用したインテリジェント・メッセージングとプロセス

ビジネス・アナリストやサポート担当者のような、プログラマでない人でも、Ensemble のビジネス・ルール・エディタを使用すれば、ビジネス・プロセスにおける意思決定ポイントを迅速に構成および変更できます。たとえば金融サービスでは、業務管理者はローン創出プロセスの変更を構成するときに、開発者にアプリケーション・コードの変更を依頼するのではなく、自分でビジネス・ルール・エディタを使用できます。これによって、そのような変更にかかるコストが軽減され、開発者もそのような作業から解放されるので、新しいプロジェクトに専念できるようになります。その結果、受注残の低減、アプリケーションや統合システムのプロダクション運用までの期間短縮が実現します。管理者と開発者は、メッセージ・タイプ、内容、購読別に、具体的なビジネス・プロセスに対してメッセージのインテリジェント・ルーティングのルールを使用することもできます。ルールは、ビジネス・プロセス・コードとはまったく別に、オブジェクトとして Ensemble のデータベースに格納され、再利用、サブクラス化、変更が、他の Ensemble オブジェクトと同じくらい簡単にできます。

適応性の高いワークフロー・エンジン

ビジネス・プロセスにおいて大きな役割を明らかに果たしている人にとっては、エンタープライズ・サービス・バス (ESB) カテゴリの製品など、ほとんどの統合製品には、統合製品とはいえどワークフロー機能が全面的には統合されていません。ワークフロー管理システムにより、あらかじめ定義された方針に従って、ユーザ間の自動タスク配分が自動化されます。Ensemble Workflow によって、より効率的にタスクが割り当てられ、よりわかりやすい形でタスクが実行されます。

Ensemble の統合型 Workflow Engine は、同製品の統一アーキテクチャをフルに利用しています。Ensemble のグラフィカル・エディタを使用して作成されたワークフロー・タスクは、オブジェクトとして表現され、Ensemble のデータベースに格納されます。これにより、自動化されたビジネス・プロセスは、Web サービス、エンタープライズ・アプリケーション、データ・ソースなど、Ensemble のデータベースにモデリングされたテクノロジを使用するのと同じくらい簡単に、格納されたタスクを使用できます。Workflow Engine がEnsemble 内に全面的に統合されているため、以下が実現します。

  • さまざまな地域、技術、部門にわたる手動による複雑なやり取りを、コンポジット・アプリケーションに簡単に組み込める。
  • ユーザ・ベースのプロセス定義をビジネス・ロジックと区別できるため、開発者とアナリストは、まとまりのある全体の中で、各セグメントを別々に定義できる。
  • 用途が広く、強力で構築しやすく、メンテナンスも簡素化されたワークフロー・システムが得られる。

洞察力のあるビジネス・アクティビティ監視

Ensemble には、統合システムのあらゆるコンポーネント間を通過するメッセージおよびイベントすべてを格納できるだけの性能、機能、信頼性があります。これにより、システム内のコンポーネントとアクティビティに関するデータとメタデータを、一貫性のある形式で、Ensemble のビジネス・アクティビティ監視 (BAM) 機能に使用できます。Ensemble の BAM が、この豊富なデータを利用することで、管理者は、グラフィカル・ダッシュボードや電子メールによる警告などの手段を通じて、会社全体のビジネス・イベントおよびビジネス状況の変化をすぐに認識できます。このように情報が明確に示されることにより、IT やビジネスの管理部門は、適切かつタイムリーな意思決定を行うことができます。Ensemble では、この種類のリアルタイム情報を管理者に提供することにより、コストが軽減され、ビジネス戦略の実行が迅速化されます。

Ensemble には、BAM ソリューションの開発を迅速化する機能が搭載されています。Ensemble は、先進的なオブジェクト・テクノロジを搭載し、ウィザード駆動型の開発が可能なため、“ビジネス・メトリック” を簡単に定義できます。このメトリックによって、重要なパフォーマンス指標など、統合システムに関する情報が、開発者の定義した間隔で収集または計算されます。その情報は、カスタマイズ可能なブラウザ・ベースのダッシュボードに表示されるメータと関連付けることができます。ビジネス・メトリックには、統合システム内にフィードバック・ループを実装するロジックを含めることもできます。たとえば、測定されたパラメータ (倉庫内の製品の在庫レベルなど) が、予想した範囲外になると、ビジネス・メトリックは、是正措置 (製品の再注文など) を講じたり、通知を出すなどの行動を自動的に起こします。

エンド・ツー・エンドの管理

Ensembleには、ビジネスプロセスを最適化する機能が備わっていますが、これはメッセージングコンポーネントの管理と同様です。ブラウザベースのポータルを使うと、管理者がレポーティングを行い、企業データ(ソリューション内を流れるメッセージコンテンツ)や、ソリューション・メタデータ(Ensembleソリューションに関して、稼動中の統計データ)の分析も可能です。

Ensembleの管理機能は、製品の統合アーキテクチャを利用しています。Ensembleのビジュアル・トレース機能、ダッシュボード、またプログラム上ではSQLやオブジェクトビューを通して、データに完全にアクセスする事が可能です。

開発者は、Ensembleの開発環境において、簡単に管理インタフェースをカスタマイズ可能なので、そのソリューションを使用するユーザは、クエリ、フィルタ、セレクトを行って、企業が必要とする重要な情報だけを収集することができます。問題が起きた際には、警告が発生するようになっています。

Ensemble により IT の価値が高まり、ビジネス価値も向上

他の製品のほとんどは、ごく小規模な IT 環境以外のすべてで通常見られるアプリケーション・インタフェース、データ形式、テクノロジに対し、全面的なサポートに欠けています。統合プロジェクトを前進させるために、(ベンダが同じ場合ですら) 複数のツールを IT 管理者が統合しなければならないというのが現状です。しかし、このようなやり方では、IT が迅速に前進することなど不可能であり、IT にもビジネスにも敏捷さを求めるという目標は、いつまでたっても実現されません。

他の製品と異なり、Ensemble は、学習、使用、管理のしやすいテクノロジを緊密に統合することで、さまざまな統合シナリオをすべてカバーします。Ensemble には、オブジェクト・モデル、先進的な抽象化機能、超高速のメッセージング・エンジン、性能と信頼性の高いデータベースなど、革新的なテクノロジが搭載されているため、IT 環境の価値は高まり、ビジネスは敏捷性を増します。具体的には、以下の内容が可能となります。

  • どのテクノロジを使用するかではなく、ビジネス・プロセスの改善に集中する。
  • IT 資産を迅速に開発し、固有の要素またはサービスとして、柔軟な統合アーキテクチャに配置する。
  • 従来のアプリケーション機能を統合システムに持ち込む。
  • 頻繁に変化するビジネス要件やビジネス・プロセスに合わせて、IT 資産を短期間で調整する。
  • 既存のフレームワークおよび方法論の中に統合する。
  • コストとリスクを減らしつつ、サービス指向アーキテクチャに移行する。