JP2004511034A - 電子通信および電子商取引で使用される異種ネットワークを統合するシステムおよび方法 - Google Patents
電子通信および電子商取引で使用される異種ネットワークを統合するシステムおよび方法 Download PDFInfo
- Publication number
- JP2004511034A JP2004511034A JP2002520511A JP2002520511A JP2004511034A JP 2004511034 A JP2004511034 A JP 2004511034A JP 2002520511 A JP2002520511 A JP 2002520511A JP 2002520511 A JP2002520511 A JP 2002520511A JP 2004511034 A JP2004511034 A JP 2004511034A
- Authority
- JP
- Japan
- Prior art keywords
- application
- api server
- data
- adapter
- applications
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/567—Integrating service provisioning from a plurality of service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/102—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Stored Programmes (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本発明は、自動プラグイン、設定可能プラグイン、および視覚に基づく、システム構築され、カスタマイズされた拡張を含む一連のネットワーク接続要素を備える。これらの要素は、本発明の実施の形態に従って使用され、1つまたは2つ以上の異種システムを相互に接続するためのビルディングブロックとして機能する。本発明のいくつかの実施の形態では、これらビルディングブロックは、視覚に基づく環境に配置可能であり、当該システムの統合を容易にすることを助ける。好ましい実施態様では、APIサーバは、4方向のソリューションを提供し、統合されたデータアクセスを提供する。この実施態様の4つの構成要素は、内部統合エンジン、ETLおよびB2Bアプリケーションアダプタ、XMLゲートウェイ、ならびに特定アプリケーション向け高性能インタフェースである。
Description
【0001】
[関連出願]
この出願は、2000年8月11日に出願された米国仮出願第60/224,538号からの優先権を主張するものであり、これにより、この米国仮出願の開示は、参照によってそっくりそのまま援用される。
【0002】
[発明の分野]
本発明は、電子商取引および通信に使用される異種のソフトウェアおよびハードウェアシステムを統合するシステムおよび方法に関する。特に、本発明は、電子商取引および通信の管理および最適化を容易にするために、モジュール形式の標準化された方法で個々の電子システムを電子的に接続するシステムおよび方法に関する。
【0003】
[発明の背景]
企業が、それらの組織内において、および、取引先に渡って電子商取引および通信の能力の拡大を試みるにつれて、企業は、様々な技術的課題により、自身が、限られた、かつ、費用を要する選択肢を持っていることに気付く。一般に行われることは、企業が、一連の仕様書に従ってビジネス機能を実行するアプリケーションを記述するか、または購入し、次に、サーバ、ネットワークセキュリティ装置およびネットワーク接続ソフトウェアからなる、内部で設計され、多くは自社独自のインフラを介してそのアプリケーションを配備することであった。使用される技術は、基本的に、その組織の内部で使用される技術の拡張であった。これら自社独自のシステムを有するこのような多くの企業にとって、それらの取引先との電子商取引および通信は、これらの組織が、特注のゲートウェイを介してレガシーシステムまたはニアレガシーシステムへ通信することを必要としていた。異なる企業の内部システムを接続する結果として生じるネットワークは、結局、市販の電子ファイアウォールによって多くの場合保護される一連のフレームリレー接続または専用回線接続によって構成されることが多い。同様に、企業は、自身が、複数の内部システムを統合する際に困難に直面する類似のシナリオに向かい合っていることに気付くことが多い。これに構うことなく、2つの既存のシステム間の統合は、それが内部であろうが企業間であろうが、ネットワークアドレスのプロキシングおよび変換の紛れもない間に合わせの仕事を通じて生じることが多い。
【0004】
このような特注のネットワーク(例えば、広域ネットワーク、構内ネットワーク、またはイントラネット)を通じた通信は、様々な問題を引き起こす。これら複雑なシステムは、設計、実施および保守を行うために大量のリソースを必要とする。さらに、新たなアプリケーション機能性が必要とされるときは常に、より多くのリソースが、異種システム間のあらゆる接続に適合するように費されなければならない。
【0005】
新しいビジネスアプリケーションは、より幅広い特定産業向けの要求、例えば、カリフォルニア州サンフランシスコのGlobalNetXchagneによる、統合に基づくコラボラティブプランニング(Collaborative Planning)、フォアキャスト(Forecasting)、およびリプレニシュメント(Replenishment)(CPFR)サービス、RosettaNet、電子データ交換(EDI)、個人情報端末(PDA)サポート、統合に基づくビジネス分析ならびに他の拡張されたソリューション、を満たす必要がある。現在、統合アプリケーションへの動きがある。多くの会社および分析者は、ビジネス統合システムを通過した時にこれまでは捨てられるか、または無視されてきた情報の真の価値を一様に認識してきた。最近、会社は、具体的な経営的意思決定を行ってオンタイムデリバリおよび取引先の業績の類を確保するために、この情報を使用し始めている。このタイプの情報の多くは、企業のサプライチェーンマネージメント(SCM),カスタマリレーションマネージメント(CRM)、および企業間(B2B)取引実行にとって一般に有用であるので、この情報の統合は、ビジネスの最適化をさらに改善する。
【0006】
全体的に見れば、望ましいビジネス管理アプリケーション統合のソリューションは、好ましくは、6つの核となる戦略的な統合要素を含み、ユーザに必要とされる、最も意味があり価値のある機能性のセットを提供すべきである。この6つの統合要素は、(1)企業レベルオープンアプリケーション統合、(2)オープンスタンダードに基づいた企業間統合、(3)内部アプリケーションプロセス呼び出し(invocation)、(4)取引先、プロセス、セキュリティおよびワークフロー管理、(5)企業レベルメッセージングサービス、ならびに(6)統合に基づく企業分析である。
【0007】
このようなことから、企業間の電子商取引および通信ネットワークを実現するより簡単で効率的な方法に対する要求が存在する。このようなシステムまたは方法は、企業内および取引先の間の様々な異種ネットワークを統合すべきである。本発明のシステムおよび方法は、さらに、互換性が様々な異種システムのあらゆる所で達成されるように、統合された電子ネットワークをモジュールとして接続することを可能にすべきである。その上、このシステムは、ネットワーク接続が十分に柔軟性を有し、カスタマイズ可能であることにより、共通の標準の上で動作していない顧客の社内コンピュータシステムおよび他のシステムを容易にサポートすることを可能にすべきである。
【0008】
[発明の概要]
これらの要求および他の要求を受けて、本発明は、自動プラグイン、設定可能プラグイン、および視覚に基づく、システム構築され、カスタマイズされた拡張を含む一連のネットワーク接続要素を備える。これらの要素は、本発明の実施の形態に従って使用され、1つまたは2つ以上の異種システムを相互に接続するためのビルディングブロックとして機能する。本発明の好ましい実施の形態では、これらビルディングブロックは、視覚に基づく環境に配置可能であり、当該システムの統合を容易にすることを助ける。このように、異種ネットワークを統合するのに、プログラミング言語の知識は必要とされない。
【0009】
本発明による自動プラグインは、予め構築された統合フローを提供する。この統合フローは、望ましい、または、適当なフォーマットへのデータの変換だけでなく、システム間のデータの転送を提供する。さらに、アプリケーションプログラミングインタフェース(API)は、ある特定のベースシステム、プラットフォーム、またはアプリケーションへカスタマイズされることが可能な統合フローに対するビジネスプロセス管理を提供する。
【0010】
本発明の実施の形態では、ビルディングブロックは、ホームシステムを外部アプリケーションサーバと相互接続するために使用される。ホームシステム用のAPIは、上述した一連のビルディングブロックとインタフェースする一方、外部アプリケーションサーバのAPIは、第2の組のビルディングブロックとインタフェースする。その結果、2つのシステムは、カスタム統合の必要なく、完全に統合される。
【0011】
本発明の他の実施の形態は、内蔵型統合、分散型統合、および例えばインターネット上における拡張型統合のために使用することができる。さらに、本発明の実施の形態によるビルディングブロックは、マルチプラットフォームの統合をさらに可能にする。
【0012】
本発明による自動プラグインは、主な業界トップのアプリケーションおよびシステムを他のシステムと統合することを助けるビルディングブロックを含む。これらのプラグインは、ベースシステム(例えば、所定のプラットフォーム上で実行されるある特定のアプリケーション)への統合を最小限の入力により可能とするために、予め設定され、かつ/または、設定可能である。
【0013】
統合ソリューションの提供において、本発明は、APIサーバを使用する。このAPIサーバは、マルチプラットフォームのデータ交換およびプロセス管理のバスである。実際には、APIサーバは、様々なビジネス管理アプリケーションに特有のネイティブAPIインタフェースを介して、当該様々なビジネス管理アプリケーションに対するユビキタスデータアクセスのための単一のエントリーポイントを提供する。次に、APIサーバは、統合されたアプリケーションフレームワーク内でいくつかの役割を果たす。APIサーバは、バッチおよびイベント単位の双方でオブジェクトレベルのデータマッピングサービスを提供することにより、開発者の内部アプリケーション統合のための主要なコンジットとして機能する。APIサーバを使用して形成される統合ソリューションは、第三者の抽出、変換および挿入(ETL)ツールを使用してそのアプリケーションのそれぞれ1つにアダプタを構築することにより、そのアプリケーションのそれぞれを統合する要件を容易にする。APIサーバの究極の目標は、外部EAIおよびETL製品へのユーザの接続能力を簡素化するだけでなく、開発者のアプリケーションを統合するユーザの能力を改善することである。カスタムプログラミングをほとんど、または、まったく行うことなく、すべてのビジネスアプリケーションを相互に接続する機能は、実装時間およびコストを組織的に減少させ、統合されたビジネスアプリケーションからユーザへの利益を最大にする。
【0014】
APIサーバは、ユーザ定義の欄および属性といったデータ要素を処理するために、限られたデータ変換および集約機能を提供する。また、APIサーバは、クライアントが、計測単位変換のような簡単な算術を実行するために、簡単な計算を実行することを可能にするインタフェースも提供する。同様に、APIサーバは、バッチおよびイベント駆動プロセスの双方を起動し、監視するメカニズムを提供する。APIサーバは、開発者のアプリケーションに最も近いレイヤであるので、APIサーバは、最も内部のビジネスプロセス自動化タスクを管理する内部ワークフローエンジン全体を提供する。これらの全ての機能は、管理ユーザが既存のビジネスフローに対する小さな変更をプログラムするためのメカニズムを提供するルールおよびマッピングエンジンを介して管理される。
【0015】
APIサーバの第2の機能は、アプリケーションデータおよびプロセスに対する外部アクセスを提供することである。APIサーバは、2つの異なる方法でこのタスクを達成する。主なアクセス方法は、アダプタの使用を介して行うものである。EAI/ETLに基づくアプリケーション用に、あるアダプタが使用され、B2Bアクセスをサポートするために、別のアダプタが使用される。真性のアダプタを欠く第三者の統合ベンダのためのアプリケーションへの接続は、XMLサポートを有する単層ファイル、汎用RDBMS接続、およびメッセージングキューのような汎用のアクセスアダプタを介して達成することができる。
【0016】
本発明のこれらの利点および他の利点は、以下の図面および添付のテキストにおいてより十分に説明される。この図面および添付のテキストでは、同じ参照符号が対応する構成要素を表している。
【0017】
[好ましい実施の形態の詳細な説明]
図1に一般的に示すように、本発明は、統合システム10を提供する。具体的には、この統合システム10は、2つの異種のビジネスアプリケーション20および30の間の仲介者として動作し、2つのアプリケーション20および30の間のデータ交換を可能にする。アプリケーション20および30のそれぞれは、通常、関連する特定用途向けのアプリケーションプログラミングインタフェース(API)21および31を含む。これらAPI21および31は、アプリケーション20および30へ、ならびに、アプリケーション20および30からデータを導き、フォーマットする。しかしながら、第1のアプリケーション20から出力されるデータは、第2のアプリケーション30によって使用可能でない場合もあり得、またその逆の場合もあり得る。例えば、データが適当な型、サイズまたはタイトルでないこともあり得る。これにより、たとえデータの共有が非常に好都合であっても、一方のアプリケーションのデータを他方のアプリケーションで使用することが困難になる。統合システム10は、一方のアプリケーションからのデータを、第2のアプリケーションでの使用に適合させることにより、この問題に対処する。
【0018】
統合システム10は、図2に、より完全に示されており、APIサーバ100を備える。APIサーバ100は、必要とされるすべての機能性をそのユーザに可能にするために、単一のエントリーポイントを開発者に提供する。さらに、APIサーバ100は、エンタープライズアプリケーション統合(EAI)およびB2Bデータ転送の双方のためのデータ、プロセス起動、ならびにセキュリティおよび内部ワークフロー管理を整理するメカニズムを提供する。単一のものがデータソースを通過するので、APIサーバ100は、様々な全てのビジネス管理アプリケーションにとって有益なビジネス関連統合情報を記憶および提示する論理的な場所でもある。以下に、これらの機能のすべてをより詳細に説明する。
【0019】
一般に、APIサーバ100は、マルチプラットフォームのデータ交換およびプロセス管理のバスである。APIサーバ100は、様々なビジネス管理アプリケーションに特有のネイティブAPIインタフェース(例えば図1に示されるAPI21および31)を介して、該様々なビジネス管理アプリケーションに対するユビキタスデータアクセスのための単一のエントリーポイントを提供する。APIサーバ100は、統合システム10内でいくつかの役割を果たす。この役割には、バッチおよびイベント単位の双方でオブジェクトレベルのデータマッピングサービスを提供することにより、開発者のアプリケーション間統合のための主要なコンジットとしての役割がある。さらに、APIサーバ100は、ユーザ定義の属性といったデータ要素を処理するために、限られたデータ変換および集約機能を提供する。同様に、APIサーバ100は、バッチおよびイベント駆動プロセスの双方を開始し、監視するメカニズムを提供する。APIサーバ100は、開発者のアプリケーションに最も近いレイヤであるので、APIサーバ100は、最も内部のビジネスプロセス自動化タスクを管理する内部ワークフローエンジンを提供することができる。これらの機能性の全ては、APIサーバ100内のルールおよびマッピングエンジン106を介して管理される。ルールおよびマッピングエンジン106は、管理ユーザが既存のビジネスデータフローに対する小さな変更をプログラミングするためのメカニズムを提供する。
【0020】
APIサーバ100の第2の機能は、アプリケーションのデータおよびプロセスに対する外部アクセスを提供することである。APIサーバ100は、このタスクを2つの異なる方法で達成する。主要なアクセスは、ビルディングブロックの使用を通じて行われる。例えば、あるビルディングブロックは、EAI、または、抽出、変換および挿入(ETL)に基づくアプリケーションに使用することができ、他のビルディングブロックは、B2Bアクセスをサポートするために使用することができる。異種アプリケーション間のデータ転送は、XMLゲートウェイ130を介して達成することもできる。
【0021】
APIサーバ100は、アプリケーション接続レイヤ102、データ正規化レイヤ104、ルールおよびマッピングエンジン106、メッセージングエージェント108、XMLゲートウェイ130、および外部アダプタ120を含む6つのレイヤを含むことができる。APIサーバ100は、1つのアプリケーションユニットとして配備されてもよい。一方、新しいリリースが作成され、機能性が向上するか、修正されるか、または変更されるので、APIサーバ100は、ユーザが、これら6つの領域のそれぞれに存在するロジックをアップグレードできる能力を有することが好ましい。このように、APIサーバ100を、新しいアプリケーションおよび/または様々なユーザの要求に適合させることができる。
【0022】
アプリケーション接続レイヤ102は、データの移送メカニズムを提供し、遠隔のアプリケーションインスタンスからAPIサーバ100へ移動させる。このレイヤの究極の責務は、異なるビジネス管理アプリケーションに関連したデータおよびプロセスオブジェクトをエクスポーズするのに必要とされる複雑さをマスクすることである。長期間に亘って、接続レイヤ102は、ターゲットアプリケーション内で利用可能なすべてのデータオブジェクトおよびプロセスにアクセスするように設計される多数の製品のAPIからなる。これらのAPIは、データ移送機能およびビジネスロジックの双方を含み、移送要求がバッチに基づくものであるか、トランザクションに基づくものであるかに関わらず、予め指定されたアプリケーションからのいずれのデータオブジェクトも処理する。データオブジェクトがそれらのネイティブフォーマットで検索されると、該データオブジェクトは、別の関連したアプリケーションにマッピングされてもよいし、または、データ正規化レイヤ104に渡される。アプリケーション接続レイヤは、最も高速の利用可能なインタフェースをAPIサーバ100に保証するために必要となるいかなる技術も使用することができる。エンドユーザは、いくつかの異種アプリケーションを統合するためにそれ以外に必要とされるツールを確保する必要はないので、この機能性は、エンドユーザに対するAPIサーバ100の価値を高める。
【0023】
アプリケーションレイヤ102は、ビジネス管理アプリケーションの内外のすべてのトランザクションのための主報告レイヤとして機能することもできる。これらのレイヤは、最初は、ファイルに出力されるが、次のリリースは、関係データベースへのログ更新およびシグナリングネットワーク管理プロトコル(SNMP)のトラップへのログ更新を行う能力を含むであろう。
【0024】
対照的に、データ正規化レイヤ104は、あるアプリケーションから検索されるデータが他のアプリケーションによる使用のために正規化されるレイヤである。性能を改善するために適当な場合には、いくつかのアプリケーション内に存在する同様のデータ要素が正規化され、より一般的な定義を持つこともできる。例えば、データがソースアプリケーションから検索されると、データをデータオブジェクトの一般的な表現に変換することができる。同様にして、データがターゲットアプリケーションに送信されようとするとき、該データは、そのオブジェクトの特定製品向けのバージョンに変換されてもよい。データ正規化レイヤ104は、1つのアプリケーションにのみ現れるデータ要素、または、アプリケーション間で異なって使用されるデータ要素を通過させるように動作してもよい。
【0025】
ルールおよびマッピングエンジン
APIサーバ100は、ルールおよびマッピングエンジン106をさらに含んでいてもよい。ルールおよびマッピングエンジン106は、あるアプリケーション用のあるビジネスオブジェクトに含まれるデータが他のアプリケーションに含まれるデータにマッピングされるレイヤである。開発者がほとんどのビジネスフローをハードコード化して最良の性能を保証できるように、このレイヤは、専ら内部統合用に使用される。新たな統合がリリースされると、新たな追加のマッピングがルールおよびマッピングエンジン106に加えられる。
【0026】
あるいは、APIサーバ100は、訓練を受けた実装者が、現在の機能性を変更するか、ユーザ定義の属性値を管理するか、または、様々なデータ変換作業を実行することを可能にするプログラミング環境を有していてもよい。このプログラミング環境は、ルールおよびマッピングエンジン106内に存在するルールを変更するために技術スタッフにより使用され、通常、ハイレベルなテキストに基づくプログラミングインタフェースを特徴とする。このプログラミングインタフェースは、プログラミングシンタックスの違反に対して非常に基本的な検証を行う。
【0027】
一般に、Javaのような分散型プログラミング言語は、APIサーバ100内で使用され、あるアプリケーションから次のアプリケーションにデータをマッピングすることを可能にする。この言語は、各アダプタに関連したクラスおよびメソッドをエクスポーズし、ユーザが、一組のデータ変換関数を使用することによりデータを操作できるようにする。この一組のデータ変換関数は、関連するデータオブジェクトに様々なデータマッピングおよび変換作業を実行するために使用可能である。別の実施の形態においては、統合をより容易に達成するために、Javaに類似した擬似言語を使用してもよい。
【0028】
APIサーバ100は、そのユーザに最大の柔軟性を与えるために、実行時に変更可能なハードコード化されたマッピングおよび設計時間を開発する能力を提供することができる。この場合、条件付きロジック保証がよく使用され、ヌル値が外部ソースから受信されるとデフォルト定数が加えられることがある自動プラグインでの統合を容易にする。
【0029】
APIサーバ100は、事前にプログラミングされたマッピングであって、必要とされるビジネスソリューションの機能性に従った各ビジネス管理アプリケーション間のマッピングを含んでいてもよい。この統合は、独創的な、関連するアプリケーション間を移動するエンドツーエンドのソリューションを顧客に提供する。データの経路は、ポイントツーポイントか、または、アプリケーション間でデータを移送するメッセージキューを使用するかのいずれかで決定することができる。
【0030】
パッケージ化され、統合されたビジネス管理アプリケーションのユーザは、彼らのビジネスマッピングの要求の大部分が、予め設定された統合内に既に存在することに気付くかもしれない。一方、機能性がどこで欠けていようとも、クライアントは、ルールおよびマッピングエンジン106を使用して、その場で変更する能力を有する。ユーザのクライアントがこれらデータマッピングの変更を必要とするいくつかの理由には、システム間での測定単位の変換およびデータのユーザ定義属性値の使用に加えて、接尾部コードの使用および他の文字列操作の必要性があることが含まれる。ルールおよびマッピングエンジン106に対する可能な操作のリストは、表Aとして添付されている。
【0031】
好ましい実施の形態では、APIサーバ100は、メッセージングエージェント108をさらに含む。このメッセージングエージェントは、上掲した構成要素と共に動作して、1つまたは2つ以上のアプリケーション間のデータを収集および使用する。メッセージングエージェント108は、発行および引用の情報書き込み(publish−and−subscribe posting)メカニズムを使用して、データ正規化レイヤ104を経由してアプリケーション接続レイヤの適当なAPIへデータを移動させる。メッセージングエージェント108は、主として、外部ソースからターゲットアプリケーション用の適当なキューへ外部データを書き込むために使用される。メッセージングエージェント108は、さらに、この機能性のために必要な内部マッピングを行うものを付加的に有してもよい。
【0032】
XMLゲートウェイ130は、自己文書化された単層ファイル内において、または、リアルタイムXML接続ポータルを通してのいずれかで外部にデータをエスクポーズするAPIサーバ100の構成要素である。XML130を介してエクスポーズされるデータは、基礎となるアプリケーションの高水準なビジネス表現である。いくつかのデータ型定義により、ユーザは、そのオブジェクトの用途に適した定義型を検索することができる。XMLゲートウェイ130は、以下に、より詳細に示される。
【0033】
アダプタ120は、統合ベンダの精鋭によって提供される技術によって、統合システム10がAPIサーバ100の内外のデータを移動させることを可能にする。アダプタ120は、共通のアクセスポイントを提供する。この共通のアクセスポイントにより、開発者は、予め用意されたサブ統合および自動プラグインの開発を継続することができる。
【0034】
APIサーバ100は、一般に、様々なビジネス管理アプリケーションに一貫して共通に使用されるいくつかのプログラミングツールを使用する。APIサーバ100は、一般に、すべてのアプリケーションにユビキタスアクセスを提供するので、APIサーバ100は、今日、一般に使用されている技術のすべてを含んでいてもよい。これらのツールは、Enterprise Java Beans、pure JAVA、C++、Corba、JMS、JDBCおよび他の同様の技術を含む。
【0035】
APIサーバ100は、いくつかの異なる動作プラットフォームをサポートするのが好ましい。例えば、APIサーバ100は、Windows NT 4.0 SP6およびWindows 2000 SP1、HP−UX 11および11i、SUN Solaris 2.7および2.8、またはAIX 4.3.3および4.3.4を使用して動作してもよい。また、APIサーバ100は、アプリケーションを拡大縮小する手段としてクラスタリングを利用する環境と互換性を有することが好ましい。具体的には、LegatoおよびVeritasの互換性が望ましい。
【0036】
APIサーバ100は、ビジネス管理アプリケーションが許容する場合には、一般に、当該ビジネス管理アプリケーションが存在するサーバと同じサーバに配備され、インストールされる。APIサーバ100は、同じサーバ上に存在するアプリケーションに接続する機能を有していなければならない。この特徴は、性能および拡張性が問題となる場合に備えてスタンドアロンサーバに配備される能力をAPIサーバ100に与える。
【0037】
また、APIサーバ100は、一般に、あるタイプのエラー処理を含む。エラー処理、すなわちエラーの記憶および分析は、(1.)標準出力、(2.)トランザクションおよびジョブ要約レベル出力を有する単層ファイル、(3.)関係データベース、(4.)Java(登録商標)メッセージサービス(JMS)のメッセージ出力、または(5.)シグナリングネットワーク管理プロトコル(SNMP)のトラップと通して提供することができる。
【0038】
一般の動作では、APIサーバ100は、顧客の要求を満足させる比較的高速のコンピュータである。現在、レコードボリュームの要件は、ほとんどのクライアントデータボリュームの要件を10万行と6000万行との間に置いている。1時間の平均バッチ時間枠を仮定すると、APIサーバ100は、通常のバッチサイクル内で1000万個程度のエントリを有するクライアントを収容すべきである。したがって、平均トランザクションボリュームは、毎分15万から20万トランザクションの範囲にある。
【0039】
図2に戻って、APIサーバ100の好ましい実施態様は、統合されたデータアクセスを提供する4方向からのソリューションを使用する。この実施態様の4つの構成要素は、(1)内部統合エンジン110、(2)ETLおよびB2Bアダプタ120、(3)XMLゲートウェイ130、ならびに(4)特定用途向け高性能インタフェース140である。各構成要素は、利用可能で最も頑丈な統合フットプリントを有するビジネス管理製品を提供するように特別に設計される。
【0040】
内部統合エンジン
APIサーバ100は、予め指定された関連するビジネス管理製品に、内部統合のための共通の統合プラットフォームを提供する。通常、これらのアプリケーションは、一人の開発者または関連した開発者達のチームによって開発される。具体的には、APIサーバ100は、様々なビジネスオペレーションアプリケーションに、それらアプリケーションのネイティブAPIを介して接続する。データがAPIサーバ100によって検索されるとすぐに、当該データは、他のアプリケーションのデータオブジェクトに直接マッピングされてもよいし、または、共通のデータ正規化レイヤ108にエクスポーズされてもよい。データ正規化レイヤ108は、その後、外部アダプタまたはXMLに基づくデータ移送メカニズムへ当該データをマッピングする。データは共通のデータ正規化レイヤ内でオブジェクトとして存在するので、あるアプリケーションから次のものへのオブジェクトのマッピングは、かなり高速に行うことができる。次に、内部で渡された情報は、ターゲットアプリケーションへアプリケーションのネイティブAPIを介して転送される。このアーキテクチャは、メッセージキューを使用してもよいし、または、アプリケーションを直接更新する直接的なポイントツーポイントアクセスを使用してもよい。この機能により、バッチまたはイベントに基づく方式のいずれかでデータを容易に転送することができる。同様に、同じ移送メカニズムを使用して、バッチおよびイベントの双方に基づく修復アルゴリズムを、ターゲットアプリケーションへ渡される引数として実行することができる。データ転送およびプロセス起動は、マルチスレッド化され、かつ、並列処理可能な実行時環境内で実行可能であるので、この方法論の利点は、当該方法が本質的に拡張性を有することである。また、データ入力プロセスをさらに効率化するために、各スレッドには、ステートフル同期方式またはステートレス非同期方式のいずれかで、統合に必要とされる所定のビジネスロジックをターゲットアプリケーションへインポーズするタスクを割り当てることができる。
【0041】
APIサーバ100の一実施態様は、関連するアプリケーションを統合するユニバーサルデータモデル(UDM)ビルディングブロックを含む。UDMビルディングブロックは、一般に、アプリケーションの上部にある統合ソリューションのレイヤを構築するために使用される。UDMビルディングブロックは、ダイレクトインテグレータのために接続数の増加を犠牲にして動作する。同時に、ユーティリティビルディングブロックも、関連するビジネスアプリケーション間のデータを記憶し、抽出するために、APIサーバ100で使用することができる。内部統合エンジン110は、必要に応じて開発者によりカスタム開発されてもよいし、あるいは、市販の統合アプリケーションを利用することもできる。例えば、マサチューセッツ州ウォルサムのVignette Corp.により製作されたBusiness Integration Studioは、2つの異なるアプリケーション間でデータを共有するために使用可能な統合プログラムである。
【0042】
好ましい実施態様では、内部統合エンジン110は、ビジネスロジック113をさらに含む。このビジネスロジック113は、エラーチェック、ログ収集およびトレースといった要望された機能に応じて、ビルディングブロックの上に追加され、さらに、改良されたデータ、ユーザフレンドリなデータ表現を付加する。ビジネスロジック113は、内部統合エンジン110が新しいアプリケーションに適合できるように調整されてもよい。
【0043】
アダプタ
APIサーバ100は、ローカルに操作される、異なるビジネス管理アプリケーションをアダプタ120を通じて統合する機能をさらに有することができる。具体的には、APIサーバ100の正規化レイヤ104にエクスポーズされたデータが、あるビジネス管理アプリケーションに存在し、既に正規化されている場合に、唯一のビルディングブロック、すなわちアダプタが、通常、このデータにアクセスするために必要とされる。アダプタ120は、付加的な関係完全性(relational integrity)およびビジネス機能を必要としないアプリケーションへの接続を提供するために使用することができる。アダプタ120は、一般に、APIサーバ100の基礎をなすスレッド化されたアクセスに頼ることにより、より大きな拡張性および配備柔軟性を提供することができる。例えば、データフォーマットおよび全体的なプロセスの目的は、一般に、サプライチェーン管理最適化アプリケーションに焦点を合わせるビジネス管理アプリケーションと、B2B電子商取引に焦点を合わせるアプリケーションとの間で異なる。それにもかかわらず、2つの対応するデータブロックを、ビジネス管理アプリケーションのこれらの型の双方に合致するように構成することができる。
【0044】
拡張されたマッピング、データ変換および集約機能性を提供するために、アダプタ120を利用することができる。例えば、アダプタ120は、アプリケーションから、ETLおよびB2Bシステムの機能を処理するためにより良く装備されたETLおよびB2Bシステムへデータを転送することができる。ETL対B2B統合で実行される操作の多くは、大きく異なる場合があるので、APIサーバ100は、これら2つの個別の目的に適した2つのアダプタを含むことが好ましい。
【0045】
上述したUDMビルディングブロックと同様に、ETLアダプタ121(EAIアダプタとも呼ばれる)は、メーカ独自のグラフィカルインタフェースをAPIサーバ100に提供することができる。ETLアダプタ121は、バッチに基づくアプリケーションのためにデータオブジェクトおよびプロセスの双方をエクスポーズする。ETLアダプタ121は、特定用途向けのサブ統合へデータを外部エクスポーズするので、ETLアダプタ121は、イベントおよびバッチの双方に基づく生成、読み出し、更新および削除(CRUD)の操作をさらに可能とする。
【0046】
ETLアダプタ121は、ユーザが連携を計画した高水準データオブジェクトを選択することを可能にする。このデータは、そのオブジェクトのサブ構成要素と共に、SKUのような項目識別子を含む。ユーザは、1)インストールされたアプリケーションを更新のため選択し、2)そのデータオブジェクトにどの操作を行うかを決定する。これらの操作は、通常、挿入、更新、削除、カスケード削除、および表示を含む。他の操作は、上掲された操作のバッチおよびイベントに基づくバージョンを含むことができる。インストールされたアプリケーションに利用可能な操作は、ユーザに視覚的に表示することができる。
【0047】
図2を再び参照して、APIサーバ100は、B2Bアダプタ122をさらに含んでいてもよい。B2Bアダプタは、ETLアダプタ121と酷似しており、後述する最上層のベンダといった、参加するアプリケーション開発者に外部統合機能を提供する。B2Bアダプタ122は、より多くのイベントに基づく機能性を提供する点において、ETLアダプタ121と異なる。これは、多くのEAIベンダが市販または自社独自のメッセージングバスのいずれかで動作することから必要とされる。B2Bアダプタ122は、下部にあるメッセージバスと連携し、外部のB2BシステムとAPIサーバ100との間の効率的なデータ整理機能を提供する。ワークフローおよびビジネスプロセス管理機能を提供するEAIツールのための企業内プロセスの構成要素として、B2Bアダプタ122を配備することもできる。ETLアダプタ121と同様に、B2Bアダプタ122は、より複雑なソリューションが基礎を置くことができる要素を提供する。
【0048】
上述したように、エラーの検出および報告といった様々なビジネスロジック113を、ユーザのニーズを満足させるために必要に応じてアダプタ120に追加することができる。また、アダプタ120は、新しいビジネス管理アプリケーションおよび統合に基づくビジネスソリューションの開発の基盤として機能することもできる。
【0049】
アダプタを形成するときに、暗号化アルゴリズムが、関係データベース、単層ファイル、LDAP、および環境管理アダプタに必要となる。このアルゴリズムにより、高度に保護された環境にこれらアダプタを配備することができる。この環境では、初期化ファイル、データベース、およびそのシステム環境内での可読テキストの設定情報の使用を禁止する標準がある。暗号化メカニズムは、統合フローに使用される特定のアダプタのみによって暗号化および復号化可能な2つのアルゴリズムを含むべきである。この特徴により、ユーザは、ファイルまたはデータベースへの、および、ファイルまたはデータベースからのデータのストリームを暗号化または復号化することができる。さらに、この特徴により、ユーザは、可読テキスト以外のフォーマットでパスワードおよびログインIDを格納することができる。
【0050】
性能についても、アダプタを形成するときに考慮されるべきである。性能は、APIサーバの最終目標でないが、この製品に究極の拡張性を保証するために多くの異なる技術および方法を使用することにより、受け入れ可能な性能を達成することができる。これらの方法は、使用されている基礎をなす技術のために、アダプタごとに異なる。しかしながら、API技術が許容する全体の速度および性能を保証するために、一般に、カーソル移動、並列性、マルチスレッド処理、およびパイプライン処理と共に、データベースおよびファイルへのデータキャッシュを使用することができる。他の選択肢には、データがシステムからシステムへより効率的に渡されるように、APIサーバ内でデータを自動的に分割する特定のアルゴリズムの開発が含まれる。これらのアルゴリズムには、濃度または単純なアルファベット順に基づいた論理的なチャンクにデータを分割することが含まれる。
【0051】
XMLゲートウェイ
APIサーバ100は、汎用タグ付き階層データを任意の外部のアプリケーションおよび統合システムにエクスポーズするために使用可能な拡張可能なマークアップ言語(XML)インタフェース130を有していてもよい。ハイパーテキストマークアップ言語(HTML)と同様に、XMLは、インターネットのような分散ネットワーク上で使用される分散アプリケーションを定義するプログラミング言語である。HTMLアプリケーションが、一般にマルチメディアの表現のために使用されるのに対して、XMLアプリケーションは、一般にデータを取得し、転送するように機能する。XMLインタフェース130は、アプリケーションデータに対する汎用アクセスを提供する。また、XMLインタフェース130により、ユーザまたはアプリケーションは、XMLによりコード化された引数を特定のアプリケーションに送信し、2次プロセスを開始することができる。XMLは自己文書化されているので、ユーザおよび開発者の双方の顧客は、XMLインタフェース130を利用して、統合および拡張されたビジネス機能性の双方を提供することができる。
【0052】
APIサーバ100に記憶されるXMLに基づく単層ファイルから情報を容易に読み出すことができるように、XMLゲートウェイ130は、ファイルベースのアクセス方法を提供する。さらに、XMLゲートウェイ130は、アプリケーションからのデータを生のリアルタイム接続を介して提供することを可能とする非同期XMLメッセージングポータルを提供する。
【0053】
XMLゲートウェイ130は、APIサーバ100の内部統合エンジン110またはアダプタ120よりもアプリケーションの性能において劣るものの、XMLゲートウェイ130により、ユーザは、異種ビジネス管理アプリケーションがデータを共有するように適合していない場合に、これらのアプリケーションの内外でデータを得ることができる。好ましい実施の形態では、XMLゲートウェイ130は、現在の業界トップのXML関連標準、例えば拡張可能なスタイルシート言語(XSL)、シンプルオブジェクトアクセスプロトコル(SOAP)、およびLightweight Directory Access Protocol(LDAP)に準拠するように適合している。SOAPは、コンピュータシステム間でメソッド起動を指定するためのXMLに基づくフォーマットである。SOAPは、いずれのプラットフォーム、オペレーティングシステム、またはプログラミング言語からも完全に独立しており、ユビキタスHTTPおよびSMTPプロトコルと共にインターネット上で容易に使用することができる。具体的には、XMLインタフェース130は、必要なプロセスを起動する特定のアプリケーションにXML引数を渡すことができる。データ転送に必要とされる、新たに現れる技術および将来開発される技術を使用するために、XMLゲートウェイを同様にして適合させることができることは、理解されるべきである。
【0054】
ビジネスオペレーションアプリケーション高性能インタフェース
相互に関係するアプリケーションは、低水準のJAVAデータベース接続(JDBC)に基づくアプリケーションインタフェースを有することができる。このインタフェースは、上記3つのインタフェースの実装を容易にするものではないが、JDBCインタフェースは、多くの関連するビジネスアプリケーションの至る所にあるデータへの最速のアクセス手段を提供する。この実装は、様々な周知の企業資源計画システムに類似しており、このシステムでは、データボリュームおよび統合性能の要件が比較的に大きくなってきている。具体的には、アプリケーションは、いずれの統合をも迂回して、データベースといった情報記憶装置に記憶されたデータにアクセスするだけでもよい。このデータは、利用可能なフォーマットで別のアプリケーションにより予め預けられている。
【0055】
データをインポートするロジックが複雑であり、かつ、時間に敏感であるアプリケーションに対しては、ステージングテーブルがデータのインポートに使用される。次に、データが最終格納場所に到達する前に、Oracle(登録商標)により実装されるプロシージャのようなデータベース記憶プロシージャが、データを処理し、集約するために使用される。この構成は、最も複雑な処理ロジックを、それを最も効率的に実行できるデータベースレベルにする。他のタイプのビジネスアプリケーションに対しては、当該アプリケーションを様々なデータベースへ直接接続する特定製品向けのJDBCドライバを記述することができる。
【0056】
図2に戻って、APIサーバ100は、実行マネージャ150、セキュリティインタフェース160、レポータ170、アナライザ180、およびスケジューラ190をさらに含んでいてもよい。
【0057】
統合されたビジネスアプリケーションフレームワークのプロセス起動要件を満たすために、APIサーバ100は、様々なビジネスアプリケーションプロセスの開始および監視の双方を行う機能をさらに有することができる。プロセス実行マネージャ(PEM)150は、APIサーバ100の残りの部分と同じ技術に基づいて構築されるが、適用可能な各ビジネスアプリケーション内のバッチおよびイベントの双方に基づくプロセスを遠隔で開始するという別の目的を果たす。そのうえ、PEM150は、開始されたアプリケーションの進行および完了状態を監視する。さらに、PEM150は、いずれのタスクまたはアプリケーションが起動される前でも、満たさなければならない特定の依存関係を管理する。例えば、PEM150は、ジョブを順序付けし、マルチストリーム化することもできる。また、PEM150は、外部システム環境と相互に作用し、シェルまたはリモートシェルに基づくルーチンを介して外部プログラムを実行し、また、システム環境設定ファイルまたはWindows(登録商標)のレジストリから外部環境値を検索するといったタスクを完了することもできる。
【0058】
エンドツーエンドの統合およびビジネスワークフローオペレーションは、上述したルールおよびマッピングエンジン106を用いて配備ターゲットを作成することにより構築される。ルールおよびマッピングエンジン106により、ユーザは、事前にプログラミングされたカスタムデータ統合をコンパイルし、それらを実行ファイルとして配備することができる。小さな一組の機能性を実行するより小さな統合を開発することにより、ユーザは、モジュール形式で再利用可能な統合を開発することができる。また、これにより、2つ以上のアプリケーションが使用される場合に、エンドツーエンド全体の統合を再び作成する必要もなくなる。PEM150は、そのデータベースに登録されているジョブの実行を管理する。PEM150は、マッピングがいつ、どのようにして実行され、アプリケーションの更新を提供するかを制御する。この特徴により、開発者は、1つまたは2つ以上のアプリケーション間のかなり複雑なワークフロー指向型プロセスをプログラムすることができる。このワークフローの構成要素は、実際のプログラミング言語をあるレベルだけ抽象化したものを開発者に提供するように意図されており、開発者は、以前のマッピングを再利用して、ビジネスソリューションプロセスに対するより複雑な目標を作成することができる。PEM150は、拡張性のために、クラスタ化されたサーバの至るところに配備されるプロセスを管理する。
【0059】
PEM150は、実行時のすべての統合設定情報の格納場所として機能する関係データベースを保守する。その上、PEM150は、いくつかの外部イベントからの入力に基づいてサブ統合を起動する能力を有する。PEM150は、通常、ジョブ名、トリガするイベントおよび時間、ならびにジョブ依存関係を定義する欄を備えたグラフィックユーザインタフェース(GUI)を有していてもよい。この依存関係の欄により、ユーザは、ジョブ実行のための条件ロジックを規定することができる。また、PEM150は、一般に、標準出力、ログファイル、およびSNMPトラップにログを書き込む機能も有する。
【0060】
また、PEM150は、これらに限定されるものではないが、コマンドライン引数、スケジューリングされたジョブ、キューに書き込まれたイベント、ファイル変更、およびデータベーストリガを含んでいてもよい。PEM150がコマンドライン引数から起動可能であることにより、AT、CRON、CAのUnicenter、またはMaestroといった他のスケジューリングツールの方を好むユーザは、それらの製品から起動される簡単なスクリプトを記述し、PEM150を呼び出してアプリケーション統合を実行することができる。同様に、PEM150は、スケジューリングツールを含み、このスケジューリングツールにより、これらの製品を有するユーザは、外部のスケジューリングツールを必要とすることなく、PEM150からサブ統合を起動するメカニズムを持つことができる。PEM150は、バッチ、トランザクションまたはデーモンモードによりジョブ実行を操作する。したがって、時限バッチの更新によるのとまさに同程度の容易さで、データベーストリガおよびイベントからメッセージキューへとジョブを起動することができる。
【0061】
PEM150は、一方のジョブ内のイベントが、他方のジョブ内のイベントを体系的にトリガすることを可能とするので、PEM150には、ジョブおよびワークフロー管理を行う能力が本来的に備わっている。PEM150は、一般に、あるアダプタからデータを移動させ、特定の実行基準に基づいて、当該データを1つまたは2つ以上のアダプタに移動させる能力を有する。さらに、同じイベントに基づくトリガ方法を使用して、PEM150は、いくつかの異なるシステムの内外のデータフローを同時に管理可能であってもよい。この機能性も、いくつかの統合を並列に設定し、同じターゲットにアクセスできるようにすることによって、拡張性を改善する。データをいくつかの並列経路に渡す統合を設定することにより、ステートレスエンタープライズJavaBeans(EJB)がアプリケーションサーバ内で動作する方法と同様の方式で拡張性を達成することができる。PEM150は、それ自身の設定データの格納場所を有し、実行予定の各ジョブに関する情報を記憶する。
【0062】
PEM150は、一般に、1日24時間利用可能であるべきであり、1日を通して実行するジョブを管理する。さらに、PEM150は、通常、1つの1次インスタンスがダウンしたときにフェールオーバを提供するために、第2のインスタンスが利用可能である時を認識する。このように、2次システムから1次システムへ規則的な間隔で呼び出しを送信することにより、システムが今もなお操作可能であることが保証される。1次システムがダウンすると、2次システムが引き継ぐ。
【0063】
上記で提言したように、プロセス実行マネージャ150は、内部ワークフロー監視ツールとして使用することもできる。このように、プロセス実行マネージャ150は、特定のプロセス中継基準に基づいて複雑なビジネス統合プロセスをモデル化する能力をユーザに提供する。ユーザは、一組の定義済みステータスチェックポイントを使用してエンドツーエンドのプロセスを設計するために、内部プログラミングインタフェースを使用することができる。また、ユーザは、多くのプロセスまたは変化する複雑さのレベルをモデル化することができる。
【0064】
プロセス実行マネージャ150は、XMLインタフェースを通じて送られるコマンドライン引数、アダプタ120を通じて送られる行動入力、またはAPIサーバ100の上に作成されるグラフィカルインタフェース(図示せず)のいずれかにより使用されてもよい。
【0065】
図2に戻って、APIサーバ100は、セキュリティインタフェース160をさらに含んでいてもよい。一組の製品をWebに実装すると、開発者には、複雑な一組のセキュリティに関係する事項が新たに提供される。APIサーバ100を介した統合は、セキュリティの問題も引き起こす。したがって、APIサーバ100は、システム10の外部から、適用可能ないずれのアプリケーションにもセキュリティ関連情報を渡す能力を有することが好ましい。同様に、APIサーバ100は、アプリケーション間の情報を合わせる特定セキュリティ向けのAPIを有してもよい。このため、APIサーバ100は、Lightweight Directory Access Protocol(LDAP)およびJava Naming and Directory Interface(JNDI)といった市販のセキュリティプロトコルをサポートしてもよい。同様に、このセキュリティ機能性は、Verisign(登録商標)およびEntrust(登録商標)により構築されたセキュリティアプリケーションのような他のサードパーティの製品の強度をうまく利用するように拡張されてもよい。
【0066】
プロセスのステータスおよび故障のログ収集および報告は、統合システムを成功させるために望ましい機能である。したがって、他の実施の形態では、APIサーバ100は、トランザクションレベル、プロセス要約レベル、およびリターンコードを有するオペレーティングシステムレベルでログ収集を行うといった多段ログ収集機能を提供する自動記録器170を有してもよい。これらログ収集のAPIサーバ100への記録は、最初は、オペレーティングシステムの応答を除き単層ファイルであってもよい。オペレーティングシステムの応答は、標準出力に向かうが、ログファイルに行き先を変えることができる。あるいは、APIサーバ100は、これらのメッセージをデータベースに記録し、取引のノンレピュテーション(transactional non−reputation)および文書アーカイブのインタフェースを提供してもよい。一方、APIサーバ100は、SNMP互換システム管理ツールを備えた統合を含んでいてもよい。
【0067】
図2を再び参照して、APIサーバ100の他の実施態様は、アナライザ180を含む。統合は、統合システム10を通過するデータからの最近の極めて重大な情報を利用する要望により推進されてもよい。この要求は、特にB2B部門で普及している。B2B部門では、情報応答時間といった綿密な統合細部の測定を、利益および損失を取り囲む意思決定を推進するために使用することができる。さらに、多くのアプリケーション開発者は、オフィスオートメーションシステムを実装することによって得られる価値を増大するために、これら領域のそれらの機能の拡張を試みている。同様に、開発者は、このタイプの統合に基づく情報を利用して、その別の最適化エンジンの価値提案を広げることができる。統合システム10内において、ビジネスアプリケーションを推進するために使用されるデータは、ある時点にAPIサーバ100を通過する。この情報により、収益性を追求するために使用可能な各統合トランザクションについての大量の情報が存在する。B2B交換のような環境で使用される場合に、付加的価値を提供し、かつ、具体的なビジネス選択を推進するために、当該情報を取引相手に販売することができる。このタイプの情報は、典型的なCRMシステムによって収集される性能メトリクスに非常に類似している。さらに、特定のキープロセス指示子を、ある特定の統合ソリューションの有効性を検討するために生成することができる。
【0068】
図2を参照して、APIサーバ100の別の実施態様は、統合管理サービススケジューラ190を含んでいてもよい。このスケジューラ190は、一般に、IS 300の構成要素である。IS 300の主な機能は、フィールドレベルで生成および変更された統合のための文書化されたコード制御を保守することである。スケジューラ190は、APIサーバ100を使用して記述された、統合されたアプリケーションのためのチェックインおよびチェックアウトサービスを提供する。これにより、クライアントは、どのバージョンのコードを生産に導入するかを決定することができる。このサービスは、コードアーカイブ、日付および作者のログ収集サービスを含む。
【0069】
また、スケジューラ190は、テキストベースのCRONまたはATスタイルのスケジューラを有していてもよい。このスケジューラを用いて、ユーザは、統合を開始する時限イベントまたはトリガされたイベントのいずれかを定義する。このスケジューラは、直列または並列に実行されるイベントをトリガおよび監視し、リターンコードを、SNMPのような外部ターゲットに、または、他の統合にパラメータとして適当に渡す機能も有する。
【0070】
図3は、統合システム10を使用して異種アプリケーションを統合する方法200を示している。具体的には、この方法は、異種アプリケーション間の関係に従って動作する。複数のアプリケーションが、単一の開発者または連係した開発者達のいずれかを通じて同時に開発される場合には、これらアプリケーションをステップ210で直接統合することができる。一般に、これらアプリケーションは、共存するように設計されるか、または、それらの関連した開発を通じて、本質的に共存することができる。直接統合ステップ210は、上述した内部統合エンジン110といった装置を通じて実施することができる。あるいは、関連したアプリケーションは、ステップ220において、アプリケーションインタフェースを通じて情報を交換するように接続されてもよい。このように、関連したアプリケーションは、統合サーバまたは他のタイプの中間APIなしで相互に作用することができる。
【0071】
図3に戻って、別の方法として、アプリケーションを、ステップ230において、アダプタの使用を通じて統合することができる。例えば、上述したETLアダプタ121は、ファイアウォール内で実行される異種アプリケーション間のデータ交換を可能にする。通常、ETLアダプタ121は、単一のシステム内またはネットワーク内で実行されるアプリケーションを結合する。逆に、B2Bアダプタ122は、ファイアウォールによって分離された異種アプリケーション間のデータ交換を可能にする。このように、ユーザは、関係しないアプリケーション間でデータを共有するために協力することができる。しかしながら、アダプタは、2つの別個のアプリケーション間の仲介者として機能するように具体的に作成されなければならない。同様に、アダプタは、一般に、それらアプリケーションの新しいバージョン用に更新される必要がある。
【0072】
あるいは、ユーザは、ステップ240で、分散ネットワーク上において、異なるアプリケーション間でデータを転送することができる。例えば、アプリケーション間のアダプタがたとえ作成されていなくとも、XMLゲートウェイ140は、ファイアウォールを横切ってアプリケーションを結合することができる。
【0073】
ステップ210から240の組み合わせを使用して、アプリケーション間でデータを交換できることが、理解されるであろう。例えば、他のデータを分散ネットワーク上で交換しながら、あるデータを交換するように、アプリケーションを直接統合することができる。
【0074】
開発者は、統合方法200を使用して、他のアプリケーション開発者とビジネスパートナシップを形成することができる。この開発者は、いくつかの異なるアプリケーション開発者からの技術製品の提供物を使用して、統合されたアプリケーションを納品することができる。開発者は、上述した統合インフラ内で種々の程度の結合を有するアプリケーションを提供することができる。結合の異なるレベルは、パートナシッププログラム内の開発者に特有のレベルに基づいている。統合されたビジネスアプリケーションは、最も高い層の最初に開発された製品から最も低い層の簡素な再販業者または統合認証同意にまで及んでいてもよい。
【0075】
図4に示す一実施態様において、この統合されたマルチベンダ戦略は、3層のパートナの階層である。最上層のベンダ、すなわち最も高いレベルのベンダは、彼らの潜在的な市場インパクトだけでなく、彼らがビジネス管理統合ソリューションに追加する彼らの機能および業績の双方の大きさにより判断されてもよい。高層のパートナは、ステップ210および220で上述したように、開発者のアプリケーションと直接統合可能である。全面的な統合のために、開発者は、そのアプリケーションの多くの情報をパートナと共有する。ほとんどの内部統合はAPIサーバ100を介して行われる一方、最上層のベンダのアプリケーションは、APIサーバ100内では直ちに利用できない拡張されたデータ変換および集約サービスを提供することができる。また、最上層のパートナは、高性能の関係データベース管理システム(RDBMS)アダプタ120を提供することもできる。このアダプタ120は、APIサーバ100を迂回し、データベースレベルで他のアプリケーションのデータにアクセスするメカニズムを有する。この機能により、開発者は、高速に実行できる統合ソリューションだけでなく、予め構成されたサブ統合およびプラグインを使い易く提供することができる。
【0076】
中段のパートナは、ステップ230において上述したように、アダプタを通じて開発者のアプリケーションと統合可能である。この統合レベルについて、開発者は、そのアプリケーションのいくつかの情報をパートナと共有するが、情報は全面的な統合に必要とされるものよりは少ない。下層のパートナは、ステップ240で上述したように、分散ネットワークを通じて開発者のアプリケーションと統合可能である。この関係により、開発者は、一般のクライアント統合要求を満たすために、APIサーバ100のXMLインタフェース130を使用することにより、限られた量の情報のみをパートナに示すことができる。拡張された統合の要求は、ユーザの技術的要求およびアプリケーションの要求に従ってカスタマイズされてもよい。
【0077】
本発明の好ましい実施の形態の上記説明は、例示および説明の目的のため示されたものである。それは、網羅することを意図したものではなく、また、開示された正確な形に本発明を限定することを意図したものではない。上記教示に照らして、多くの変更および変形が可能である。本発明の範囲は、この詳細な説明ではなく、正しくは、この説明に添付された特許請求の範囲によって限定されることが意図されている。上記明細書、例およびデータは、本発明の構成からなる製品および使用の全体的な説明である。本発明の精神および範囲から逸脱することなく、本発明の多くの実施の形態を作成することができるので、本発明は、併記の特許請求の範囲に存在する。
【0078】
【表1】
【表2】
【表3】
【表4】
【図面の簡単な説明】
【図1】本発明の一実施の形態によるアプリケーション統合システムを概略的に示す。
【図2】本発明の一実施の形態によるアプリケーション統合システムを概略的に示す。
【図3】本発明の一実施の形態による図1および図2のシステムを使用する方法のステップを示すフローチャートである。
【図4】本発明の一実施の形態による図3の統合方法の実施態様の概略図である。
[関連出願]
この出願は、2000年8月11日に出願された米国仮出願第60/224,538号からの優先権を主張するものであり、これにより、この米国仮出願の開示は、参照によってそっくりそのまま援用される。
【0002】
[発明の分野]
本発明は、電子商取引および通信に使用される異種のソフトウェアおよびハードウェアシステムを統合するシステムおよび方法に関する。特に、本発明は、電子商取引および通信の管理および最適化を容易にするために、モジュール形式の標準化された方法で個々の電子システムを電子的に接続するシステムおよび方法に関する。
【0003】
[発明の背景]
企業が、それらの組織内において、および、取引先に渡って電子商取引および通信の能力の拡大を試みるにつれて、企業は、様々な技術的課題により、自身が、限られた、かつ、費用を要する選択肢を持っていることに気付く。一般に行われることは、企業が、一連の仕様書に従ってビジネス機能を実行するアプリケーションを記述するか、または購入し、次に、サーバ、ネットワークセキュリティ装置およびネットワーク接続ソフトウェアからなる、内部で設計され、多くは自社独自のインフラを介してそのアプリケーションを配備することであった。使用される技術は、基本的に、その組織の内部で使用される技術の拡張であった。これら自社独自のシステムを有するこのような多くの企業にとって、それらの取引先との電子商取引および通信は、これらの組織が、特注のゲートウェイを介してレガシーシステムまたはニアレガシーシステムへ通信することを必要としていた。異なる企業の内部システムを接続する結果として生じるネットワークは、結局、市販の電子ファイアウォールによって多くの場合保護される一連のフレームリレー接続または専用回線接続によって構成されることが多い。同様に、企業は、自身が、複数の内部システムを統合する際に困難に直面する類似のシナリオに向かい合っていることに気付くことが多い。これに構うことなく、2つの既存のシステム間の統合は、それが内部であろうが企業間であろうが、ネットワークアドレスのプロキシングおよび変換の紛れもない間に合わせの仕事を通じて生じることが多い。
【0004】
このような特注のネットワーク(例えば、広域ネットワーク、構内ネットワーク、またはイントラネット)を通じた通信は、様々な問題を引き起こす。これら複雑なシステムは、設計、実施および保守を行うために大量のリソースを必要とする。さらに、新たなアプリケーション機能性が必要とされるときは常に、より多くのリソースが、異種システム間のあらゆる接続に適合するように費されなければならない。
【0005】
新しいビジネスアプリケーションは、より幅広い特定産業向けの要求、例えば、カリフォルニア州サンフランシスコのGlobalNetXchagneによる、統合に基づくコラボラティブプランニング(Collaborative Planning)、フォアキャスト(Forecasting)、およびリプレニシュメント(Replenishment)(CPFR)サービス、RosettaNet、電子データ交換(EDI)、個人情報端末(PDA)サポート、統合に基づくビジネス分析ならびに他の拡張されたソリューション、を満たす必要がある。現在、統合アプリケーションへの動きがある。多くの会社および分析者は、ビジネス統合システムを通過した時にこれまでは捨てられるか、または無視されてきた情報の真の価値を一様に認識してきた。最近、会社は、具体的な経営的意思決定を行ってオンタイムデリバリおよび取引先の業績の類を確保するために、この情報を使用し始めている。このタイプの情報の多くは、企業のサプライチェーンマネージメント(SCM),カスタマリレーションマネージメント(CRM)、および企業間(B2B)取引実行にとって一般に有用であるので、この情報の統合は、ビジネスの最適化をさらに改善する。
【0006】
全体的に見れば、望ましいビジネス管理アプリケーション統合のソリューションは、好ましくは、6つの核となる戦略的な統合要素を含み、ユーザに必要とされる、最も意味があり価値のある機能性のセットを提供すべきである。この6つの統合要素は、(1)企業レベルオープンアプリケーション統合、(2)オープンスタンダードに基づいた企業間統合、(3)内部アプリケーションプロセス呼び出し(invocation)、(4)取引先、プロセス、セキュリティおよびワークフロー管理、(5)企業レベルメッセージングサービス、ならびに(6)統合に基づく企業分析である。
【0007】
このようなことから、企業間の電子商取引および通信ネットワークを実現するより簡単で効率的な方法に対する要求が存在する。このようなシステムまたは方法は、企業内および取引先の間の様々な異種ネットワークを統合すべきである。本発明のシステムおよび方法は、さらに、互換性が様々な異種システムのあらゆる所で達成されるように、統合された電子ネットワークをモジュールとして接続することを可能にすべきである。その上、このシステムは、ネットワーク接続が十分に柔軟性を有し、カスタマイズ可能であることにより、共通の標準の上で動作していない顧客の社内コンピュータシステムおよび他のシステムを容易にサポートすることを可能にすべきである。
【0008】
[発明の概要]
これらの要求および他の要求を受けて、本発明は、自動プラグイン、設定可能プラグイン、および視覚に基づく、システム構築され、カスタマイズされた拡張を含む一連のネットワーク接続要素を備える。これらの要素は、本発明の実施の形態に従って使用され、1つまたは2つ以上の異種システムを相互に接続するためのビルディングブロックとして機能する。本発明の好ましい実施の形態では、これらビルディングブロックは、視覚に基づく環境に配置可能であり、当該システムの統合を容易にすることを助ける。このように、異種ネットワークを統合するのに、プログラミング言語の知識は必要とされない。
【0009】
本発明による自動プラグインは、予め構築された統合フローを提供する。この統合フローは、望ましい、または、適当なフォーマットへのデータの変換だけでなく、システム間のデータの転送を提供する。さらに、アプリケーションプログラミングインタフェース(API)は、ある特定のベースシステム、プラットフォーム、またはアプリケーションへカスタマイズされることが可能な統合フローに対するビジネスプロセス管理を提供する。
【0010】
本発明の実施の形態では、ビルディングブロックは、ホームシステムを外部アプリケーションサーバと相互接続するために使用される。ホームシステム用のAPIは、上述した一連のビルディングブロックとインタフェースする一方、外部アプリケーションサーバのAPIは、第2の組のビルディングブロックとインタフェースする。その結果、2つのシステムは、カスタム統合の必要なく、完全に統合される。
【0011】
本発明の他の実施の形態は、内蔵型統合、分散型統合、および例えばインターネット上における拡張型統合のために使用することができる。さらに、本発明の実施の形態によるビルディングブロックは、マルチプラットフォームの統合をさらに可能にする。
【0012】
本発明による自動プラグインは、主な業界トップのアプリケーションおよびシステムを他のシステムと統合することを助けるビルディングブロックを含む。これらのプラグインは、ベースシステム(例えば、所定のプラットフォーム上で実行されるある特定のアプリケーション)への統合を最小限の入力により可能とするために、予め設定され、かつ/または、設定可能である。
【0013】
統合ソリューションの提供において、本発明は、APIサーバを使用する。このAPIサーバは、マルチプラットフォームのデータ交換およびプロセス管理のバスである。実際には、APIサーバは、様々なビジネス管理アプリケーションに特有のネイティブAPIインタフェースを介して、当該様々なビジネス管理アプリケーションに対するユビキタスデータアクセスのための単一のエントリーポイントを提供する。次に、APIサーバは、統合されたアプリケーションフレームワーク内でいくつかの役割を果たす。APIサーバは、バッチおよびイベント単位の双方でオブジェクトレベルのデータマッピングサービスを提供することにより、開発者の内部アプリケーション統合のための主要なコンジットとして機能する。APIサーバを使用して形成される統合ソリューションは、第三者の抽出、変換および挿入(ETL)ツールを使用してそのアプリケーションのそれぞれ1つにアダプタを構築することにより、そのアプリケーションのそれぞれを統合する要件を容易にする。APIサーバの究極の目標は、外部EAIおよびETL製品へのユーザの接続能力を簡素化するだけでなく、開発者のアプリケーションを統合するユーザの能力を改善することである。カスタムプログラミングをほとんど、または、まったく行うことなく、すべてのビジネスアプリケーションを相互に接続する機能は、実装時間およびコストを組織的に減少させ、統合されたビジネスアプリケーションからユーザへの利益を最大にする。
【0014】
APIサーバは、ユーザ定義の欄および属性といったデータ要素を処理するために、限られたデータ変換および集約機能を提供する。また、APIサーバは、クライアントが、計測単位変換のような簡単な算術を実行するために、簡単な計算を実行することを可能にするインタフェースも提供する。同様に、APIサーバは、バッチおよびイベント駆動プロセスの双方を起動し、監視するメカニズムを提供する。APIサーバは、開発者のアプリケーションに最も近いレイヤであるので、APIサーバは、最も内部のビジネスプロセス自動化タスクを管理する内部ワークフローエンジン全体を提供する。これらの全ての機能は、管理ユーザが既存のビジネスフローに対する小さな変更をプログラムするためのメカニズムを提供するルールおよびマッピングエンジンを介して管理される。
【0015】
APIサーバの第2の機能は、アプリケーションデータおよびプロセスに対する外部アクセスを提供することである。APIサーバは、2つの異なる方法でこのタスクを達成する。主なアクセス方法は、アダプタの使用を介して行うものである。EAI/ETLに基づくアプリケーション用に、あるアダプタが使用され、B2Bアクセスをサポートするために、別のアダプタが使用される。真性のアダプタを欠く第三者の統合ベンダのためのアプリケーションへの接続は、XMLサポートを有する単層ファイル、汎用RDBMS接続、およびメッセージングキューのような汎用のアクセスアダプタを介して達成することができる。
【0016】
本発明のこれらの利点および他の利点は、以下の図面および添付のテキストにおいてより十分に説明される。この図面および添付のテキストでは、同じ参照符号が対応する構成要素を表している。
【0017】
[好ましい実施の形態の詳細な説明]
図1に一般的に示すように、本発明は、統合システム10を提供する。具体的には、この統合システム10は、2つの異種のビジネスアプリケーション20および30の間の仲介者として動作し、2つのアプリケーション20および30の間のデータ交換を可能にする。アプリケーション20および30のそれぞれは、通常、関連する特定用途向けのアプリケーションプログラミングインタフェース(API)21および31を含む。これらAPI21および31は、アプリケーション20および30へ、ならびに、アプリケーション20および30からデータを導き、フォーマットする。しかしながら、第1のアプリケーション20から出力されるデータは、第2のアプリケーション30によって使用可能でない場合もあり得、またその逆の場合もあり得る。例えば、データが適当な型、サイズまたはタイトルでないこともあり得る。これにより、たとえデータの共有が非常に好都合であっても、一方のアプリケーションのデータを他方のアプリケーションで使用することが困難になる。統合システム10は、一方のアプリケーションからのデータを、第2のアプリケーションでの使用に適合させることにより、この問題に対処する。
【0018】
統合システム10は、図2に、より完全に示されており、APIサーバ100を備える。APIサーバ100は、必要とされるすべての機能性をそのユーザに可能にするために、単一のエントリーポイントを開発者に提供する。さらに、APIサーバ100は、エンタープライズアプリケーション統合(EAI)およびB2Bデータ転送の双方のためのデータ、プロセス起動、ならびにセキュリティおよび内部ワークフロー管理を整理するメカニズムを提供する。単一のものがデータソースを通過するので、APIサーバ100は、様々な全てのビジネス管理アプリケーションにとって有益なビジネス関連統合情報を記憶および提示する論理的な場所でもある。以下に、これらの機能のすべてをより詳細に説明する。
【0019】
一般に、APIサーバ100は、マルチプラットフォームのデータ交換およびプロセス管理のバスである。APIサーバ100は、様々なビジネス管理アプリケーションに特有のネイティブAPIインタフェース(例えば図1に示されるAPI21および31)を介して、該様々なビジネス管理アプリケーションに対するユビキタスデータアクセスのための単一のエントリーポイントを提供する。APIサーバ100は、統合システム10内でいくつかの役割を果たす。この役割には、バッチおよびイベント単位の双方でオブジェクトレベルのデータマッピングサービスを提供することにより、開発者のアプリケーション間統合のための主要なコンジットとしての役割がある。さらに、APIサーバ100は、ユーザ定義の属性といったデータ要素を処理するために、限られたデータ変換および集約機能を提供する。同様に、APIサーバ100は、バッチおよびイベント駆動プロセスの双方を開始し、監視するメカニズムを提供する。APIサーバ100は、開発者のアプリケーションに最も近いレイヤであるので、APIサーバ100は、最も内部のビジネスプロセス自動化タスクを管理する内部ワークフローエンジンを提供することができる。これらの機能性の全ては、APIサーバ100内のルールおよびマッピングエンジン106を介して管理される。ルールおよびマッピングエンジン106は、管理ユーザが既存のビジネスデータフローに対する小さな変更をプログラミングするためのメカニズムを提供する。
【0020】
APIサーバ100の第2の機能は、アプリケーションのデータおよびプロセスに対する外部アクセスを提供することである。APIサーバ100は、このタスクを2つの異なる方法で達成する。主要なアクセスは、ビルディングブロックの使用を通じて行われる。例えば、あるビルディングブロックは、EAI、または、抽出、変換および挿入(ETL)に基づくアプリケーションに使用することができ、他のビルディングブロックは、B2Bアクセスをサポートするために使用することができる。異種アプリケーション間のデータ転送は、XMLゲートウェイ130を介して達成することもできる。
【0021】
APIサーバ100は、アプリケーション接続レイヤ102、データ正規化レイヤ104、ルールおよびマッピングエンジン106、メッセージングエージェント108、XMLゲートウェイ130、および外部アダプタ120を含む6つのレイヤを含むことができる。APIサーバ100は、1つのアプリケーションユニットとして配備されてもよい。一方、新しいリリースが作成され、機能性が向上するか、修正されるか、または変更されるので、APIサーバ100は、ユーザが、これら6つの領域のそれぞれに存在するロジックをアップグレードできる能力を有することが好ましい。このように、APIサーバ100を、新しいアプリケーションおよび/または様々なユーザの要求に適合させることができる。
【0022】
アプリケーション接続レイヤ102は、データの移送メカニズムを提供し、遠隔のアプリケーションインスタンスからAPIサーバ100へ移動させる。このレイヤの究極の責務は、異なるビジネス管理アプリケーションに関連したデータおよびプロセスオブジェクトをエクスポーズするのに必要とされる複雑さをマスクすることである。長期間に亘って、接続レイヤ102は、ターゲットアプリケーション内で利用可能なすべてのデータオブジェクトおよびプロセスにアクセスするように設計される多数の製品のAPIからなる。これらのAPIは、データ移送機能およびビジネスロジックの双方を含み、移送要求がバッチに基づくものであるか、トランザクションに基づくものであるかに関わらず、予め指定されたアプリケーションからのいずれのデータオブジェクトも処理する。データオブジェクトがそれらのネイティブフォーマットで検索されると、該データオブジェクトは、別の関連したアプリケーションにマッピングされてもよいし、または、データ正規化レイヤ104に渡される。アプリケーション接続レイヤは、最も高速の利用可能なインタフェースをAPIサーバ100に保証するために必要となるいかなる技術も使用することができる。エンドユーザは、いくつかの異種アプリケーションを統合するためにそれ以外に必要とされるツールを確保する必要はないので、この機能性は、エンドユーザに対するAPIサーバ100の価値を高める。
【0023】
アプリケーションレイヤ102は、ビジネス管理アプリケーションの内外のすべてのトランザクションのための主報告レイヤとして機能することもできる。これらのレイヤは、最初は、ファイルに出力されるが、次のリリースは、関係データベースへのログ更新およびシグナリングネットワーク管理プロトコル(SNMP)のトラップへのログ更新を行う能力を含むであろう。
【0024】
対照的に、データ正規化レイヤ104は、あるアプリケーションから検索されるデータが他のアプリケーションによる使用のために正規化されるレイヤである。性能を改善するために適当な場合には、いくつかのアプリケーション内に存在する同様のデータ要素が正規化され、より一般的な定義を持つこともできる。例えば、データがソースアプリケーションから検索されると、データをデータオブジェクトの一般的な表現に変換することができる。同様にして、データがターゲットアプリケーションに送信されようとするとき、該データは、そのオブジェクトの特定製品向けのバージョンに変換されてもよい。データ正規化レイヤ104は、1つのアプリケーションにのみ現れるデータ要素、または、アプリケーション間で異なって使用されるデータ要素を通過させるように動作してもよい。
【0025】
ルールおよびマッピングエンジン
APIサーバ100は、ルールおよびマッピングエンジン106をさらに含んでいてもよい。ルールおよびマッピングエンジン106は、あるアプリケーション用のあるビジネスオブジェクトに含まれるデータが他のアプリケーションに含まれるデータにマッピングされるレイヤである。開発者がほとんどのビジネスフローをハードコード化して最良の性能を保証できるように、このレイヤは、専ら内部統合用に使用される。新たな統合がリリースされると、新たな追加のマッピングがルールおよびマッピングエンジン106に加えられる。
【0026】
あるいは、APIサーバ100は、訓練を受けた実装者が、現在の機能性を変更するか、ユーザ定義の属性値を管理するか、または、様々なデータ変換作業を実行することを可能にするプログラミング環境を有していてもよい。このプログラミング環境は、ルールおよびマッピングエンジン106内に存在するルールを変更するために技術スタッフにより使用され、通常、ハイレベルなテキストに基づくプログラミングインタフェースを特徴とする。このプログラミングインタフェースは、プログラミングシンタックスの違反に対して非常に基本的な検証を行う。
【0027】
一般に、Javaのような分散型プログラミング言語は、APIサーバ100内で使用され、あるアプリケーションから次のアプリケーションにデータをマッピングすることを可能にする。この言語は、各アダプタに関連したクラスおよびメソッドをエクスポーズし、ユーザが、一組のデータ変換関数を使用することによりデータを操作できるようにする。この一組のデータ変換関数は、関連するデータオブジェクトに様々なデータマッピングおよび変換作業を実行するために使用可能である。別の実施の形態においては、統合をより容易に達成するために、Javaに類似した擬似言語を使用してもよい。
【0028】
APIサーバ100は、そのユーザに最大の柔軟性を与えるために、実行時に変更可能なハードコード化されたマッピングおよび設計時間を開発する能力を提供することができる。この場合、条件付きロジック保証がよく使用され、ヌル値が外部ソースから受信されるとデフォルト定数が加えられることがある自動プラグインでの統合を容易にする。
【0029】
APIサーバ100は、事前にプログラミングされたマッピングであって、必要とされるビジネスソリューションの機能性に従った各ビジネス管理アプリケーション間のマッピングを含んでいてもよい。この統合は、独創的な、関連するアプリケーション間を移動するエンドツーエンドのソリューションを顧客に提供する。データの経路は、ポイントツーポイントか、または、アプリケーション間でデータを移送するメッセージキューを使用するかのいずれかで決定することができる。
【0030】
パッケージ化され、統合されたビジネス管理アプリケーションのユーザは、彼らのビジネスマッピングの要求の大部分が、予め設定された統合内に既に存在することに気付くかもしれない。一方、機能性がどこで欠けていようとも、クライアントは、ルールおよびマッピングエンジン106を使用して、その場で変更する能力を有する。ユーザのクライアントがこれらデータマッピングの変更を必要とするいくつかの理由には、システム間での測定単位の変換およびデータのユーザ定義属性値の使用に加えて、接尾部コードの使用および他の文字列操作の必要性があることが含まれる。ルールおよびマッピングエンジン106に対する可能な操作のリストは、表Aとして添付されている。
【0031】
好ましい実施の形態では、APIサーバ100は、メッセージングエージェント108をさらに含む。このメッセージングエージェントは、上掲した構成要素と共に動作して、1つまたは2つ以上のアプリケーション間のデータを収集および使用する。メッセージングエージェント108は、発行および引用の情報書き込み(publish−and−subscribe posting)メカニズムを使用して、データ正規化レイヤ104を経由してアプリケーション接続レイヤの適当なAPIへデータを移動させる。メッセージングエージェント108は、主として、外部ソースからターゲットアプリケーション用の適当なキューへ外部データを書き込むために使用される。メッセージングエージェント108は、さらに、この機能性のために必要な内部マッピングを行うものを付加的に有してもよい。
【0032】
XMLゲートウェイ130は、自己文書化された単層ファイル内において、または、リアルタイムXML接続ポータルを通してのいずれかで外部にデータをエスクポーズするAPIサーバ100の構成要素である。XML130を介してエクスポーズされるデータは、基礎となるアプリケーションの高水準なビジネス表現である。いくつかのデータ型定義により、ユーザは、そのオブジェクトの用途に適した定義型を検索することができる。XMLゲートウェイ130は、以下に、より詳細に示される。
【0033】
アダプタ120は、統合ベンダの精鋭によって提供される技術によって、統合システム10がAPIサーバ100の内外のデータを移動させることを可能にする。アダプタ120は、共通のアクセスポイントを提供する。この共通のアクセスポイントにより、開発者は、予め用意されたサブ統合および自動プラグインの開発を継続することができる。
【0034】
APIサーバ100は、一般に、様々なビジネス管理アプリケーションに一貫して共通に使用されるいくつかのプログラミングツールを使用する。APIサーバ100は、一般に、すべてのアプリケーションにユビキタスアクセスを提供するので、APIサーバ100は、今日、一般に使用されている技術のすべてを含んでいてもよい。これらのツールは、Enterprise Java Beans、pure JAVA、C++、Corba、JMS、JDBCおよび他の同様の技術を含む。
【0035】
APIサーバ100は、いくつかの異なる動作プラットフォームをサポートするのが好ましい。例えば、APIサーバ100は、Windows NT 4.0 SP6およびWindows 2000 SP1、HP−UX 11および11i、SUN Solaris 2.7および2.8、またはAIX 4.3.3および4.3.4を使用して動作してもよい。また、APIサーバ100は、アプリケーションを拡大縮小する手段としてクラスタリングを利用する環境と互換性を有することが好ましい。具体的には、LegatoおよびVeritasの互換性が望ましい。
【0036】
APIサーバ100は、ビジネス管理アプリケーションが許容する場合には、一般に、当該ビジネス管理アプリケーションが存在するサーバと同じサーバに配備され、インストールされる。APIサーバ100は、同じサーバ上に存在するアプリケーションに接続する機能を有していなければならない。この特徴は、性能および拡張性が問題となる場合に備えてスタンドアロンサーバに配備される能力をAPIサーバ100に与える。
【0037】
また、APIサーバ100は、一般に、あるタイプのエラー処理を含む。エラー処理、すなわちエラーの記憶および分析は、(1.)標準出力、(2.)トランザクションおよびジョブ要約レベル出力を有する単層ファイル、(3.)関係データベース、(4.)Java(登録商標)メッセージサービス(JMS)のメッセージ出力、または(5.)シグナリングネットワーク管理プロトコル(SNMP)のトラップと通して提供することができる。
【0038】
一般の動作では、APIサーバ100は、顧客の要求を満足させる比較的高速のコンピュータである。現在、レコードボリュームの要件は、ほとんどのクライアントデータボリュームの要件を10万行と6000万行との間に置いている。1時間の平均バッチ時間枠を仮定すると、APIサーバ100は、通常のバッチサイクル内で1000万個程度のエントリを有するクライアントを収容すべきである。したがって、平均トランザクションボリュームは、毎分15万から20万トランザクションの範囲にある。
【0039】
図2に戻って、APIサーバ100の好ましい実施態様は、統合されたデータアクセスを提供する4方向からのソリューションを使用する。この実施態様の4つの構成要素は、(1)内部統合エンジン110、(2)ETLおよびB2Bアダプタ120、(3)XMLゲートウェイ130、ならびに(4)特定用途向け高性能インタフェース140である。各構成要素は、利用可能で最も頑丈な統合フットプリントを有するビジネス管理製品を提供するように特別に設計される。
【0040】
内部統合エンジン
APIサーバ100は、予め指定された関連するビジネス管理製品に、内部統合のための共通の統合プラットフォームを提供する。通常、これらのアプリケーションは、一人の開発者または関連した開発者達のチームによって開発される。具体的には、APIサーバ100は、様々なビジネスオペレーションアプリケーションに、それらアプリケーションのネイティブAPIを介して接続する。データがAPIサーバ100によって検索されるとすぐに、当該データは、他のアプリケーションのデータオブジェクトに直接マッピングされてもよいし、または、共通のデータ正規化レイヤ108にエクスポーズされてもよい。データ正規化レイヤ108は、その後、外部アダプタまたはXMLに基づくデータ移送メカニズムへ当該データをマッピングする。データは共通のデータ正規化レイヤ内でオブジェクトとして存在するので、あるアプリケーションから次のものへのオブジェクトのマッピングは、かなり高速に行うことができる。次に、内部で渡された情報は、ターゲットアプリケーションへアプリケーションのネイティブAPIを介して転送される。このアーキテクチャは、メッセージキューを使用してもよいし、または、アプリケーションを直接更新する直接的なポイントツーポイントアクセスを使用してもよい。この機能により、バッチまたはイベントに基づく方式のいずれかでデータを容易に転送することができる。同様に、同じ移送メカニズムを使用して、バッチおよびイベントの双方に基づく修復アルゴリズムを、ターゲットアプリケーションへ渡される引数として実行することができる。データ転送およびプロセス起動は、マルチスレッド化され、かつ、並列処理可能な実行時環境内で実行可能であるので、この方法論の利点は、当該方法が本質的に拡張性を有することである。また、データ入力プロセスをさらに効率化するために、各スレッドには、ステートフル同期方式またはステートレス非同期方式のいずれかで、統合に必要とされる所定のビジネスロジックをターゲットアプリケーションへインポーズするタスクを割り当てることができる。
【0041】
APIサーバ100の一実施態様は、関連するアプリケーションを統合するユニバーサルデータモデル(UDM)ビルディングブロックを含む。UDMビルディングブロックは、一般に、アプリケーションの上部にある統合ソリューションのレイヤを構築するために使用される。UDMビルディングブロックは、ダイレクトインテグレータのために接続数の増加を犠牲にして動作する。同時に、ユーティリティビルディングブロックも、関連するビジネスアプリケーション間のデータを記憶し、抽出するために、APIサーバ100で使用することができる。内部統合エンジン110は、必要に応じて開発者によりカスタム開発されてもよいし、あるいは、市販の統合アプリケーションを利用することもできる。例えば、マサチューセッツ州ウォルサムのVignette Corp.により製作されたBusiness Integration Studioは、2つの異なるアプリケーション間でデータを共有するために使用可能な統合プログラムである。
【0042】
好ましい実施態様では、内部統合エンジン110は、ビジネスロジック113をさらに含む。このビジネスロジック113は、エラーチェック、ログ収集およびトレースといった要望された機能に応じて、ビルディングブロックの上に追加され、さらに、改良されたデータ、ユーザフレンドリなデータ表現を付加する。ビジネスロジック113は、内部統合エンジン110が新しいアプリケーションに適合できるように調整されてもよい。
【0043】
アダプタ
APIサーバ100は、ローカルに操作される、異なるビジネス管理アプリケーションをアダプタ120を通じて統合する機能をさらに有することができる。具体的には、APIサーバ100の正規化レイヤ104にエクスポーズされたデータが、あるビジネス管理アプリケーションに存在し、既に正規化されている場合に、唯一のビルディングブロック、すなわちアダプタが、通常、このデータにアクセスするために必要とされる。アダプタ120は、付加的な関係完全性(relational integrity)およびビジネス機能を必要としないアプリケーションへの接続を提供するために使用することができる。アダプタ120は、一般に、APIサーバ100の基礎をなすスレッド化されたアクセスに頼ることにより、より大きな拡張性および配備柔軟性を提供することができる。例えば、データフォーマットおよび全体的なプロセスの目的は、一般に、サプライチェーン管理最適化アプリケーションに焦点を合わせるビジネス管理アプリケーションと、B2B電子商取引に焦点を合わせるアプリケーションとの間で異なる。それにもかかわらず、2つの対応するデータブロックを、ビジネス管理アプリケーションのこれらの型の双方に合致するように構成することができる。
【0044】
拡張されたマッピング、データ変換および集約機能性を提供するために、アダプタ120を利用することができる。例えば、アダプタ120は、アプリケーションから、ETLおよびB2Bシステムの機能を処理するためにより良く装備されたETLおよびB2Bシステムへデータを転送することができる。ETL対B2B統合で実行される操作の多くは、大きく異なる場合があるので、APIサーバ100は、これら2つの個別の目的に適した2つのアダプタを含むことが好ましい。
【0045】
上述したUDMビルディングブロックと同様に、ETLアダプタ121(EAIアダプタとも呼ばれる)は、メーカ独自のグラフィカルインタフェースをAPIサーバ100に提供することができる。ETLアダプタ121は、バッチに基づくアプリケーションのためにデータオブジェクトおよびプロセスの双方をエクスポーズする。ETLアダプタ121は、特定用途向けのサブ統合へデータを外部エクスポーズするので、ETLアダプタ121は、イベントおよびバッチの双方に基づく生成、読み出し、更新および削除(CRUD)の操作をさらに可能とする。
【0046】
ETLアダプタ121は、ユーザが連携を計画した高水準データオブジェクトを選択することを可能にする。このデータは、そのオブジェクトのサブ構成要素と共に、SKUのような項目識別子を含む。ユーザは、1)インストールされたアプリケーションを更新のため選択し、2)そのデータオブジェクトにどの操作を行うかを決定する。これらの操作は、通常、挿入、更新、削除、カスケード削除、および表示を含む。他の操作は、上掲された操作のバッチおよびイベントに基づくバージョンを含むことができる。インストールされたアプリケーションに利用可能な操作は、ユーザに視覚的に表示することができる。
【0047】
図2を再び参照して、APIサーバ100は、B2Bアダプタ122をさらに含んでいてもよい。B2Bアダプタは、ETLアダプタ121と酷似しており、後述する最上層のベンダといった、参加するアプリケーション開発者に外部統合機能を提供する。B2Bアダプタ122は、より多くのイベントに基づく機能性を提供する点において、ETLアダプタ121と異なる。これは、多くのEAIベンダが市販または自社独自のメッセージングバスのいずれかで動作することから必要とされる。B2Bアダプタ122は、下部にあるメッセージバスと連携し、外部のB2BシステムとAPIサーバ100との間の効率的なデータ整理機能を提供する。ワークフローおよびビジネスプロセス管理機能を提供するEAIツールのための企業内プロセスの構成要素として、B2Bアダプタ122を配備することもできる。ETLアダプタ121と同様に、B2Bアダプタ122は、より複雑なソリューションが基礎を置くことができる要素を提供する。
【0048】
上述したように、エラーの検出および報告といった様々なビジネスロジック113を、ユーザのニーズを満足させるために必要に応じてアダプタ120に追加することができる。また、アダプタ120は、新しいビジネス管理アプリケーションおよび統合に基づくビジネスソリューションの開発の基盤として機能することもできる。
【0049】
アダプタを形成するときに、暗号化アルゴリズムが、関係データベース、単層ファイル、LDAP、および環境管理アダプタに必要となる。このアルゴリズムにより、高度に保護された環境にこれらアダプタを配備することができる。この環境では、初期化ファイル、データベース、およびそのシステム環境内での可読テキストの設定情報の使用を禁止する標準がある。暗号化メカニズムは、統合フローに使用される特定のアダプタのみによって暗号化および復号化可能な2つのアルゴリズムを含むべきである。この特徴により、ユーザは、ファイルまたはデータベースへの、および、ファイルまたはデータベースからのデータのストリームを暗号化または復号化することができる。さらに、この特徴により、ユーザは、可読テキスト以外のフォーマットでパスワードおよびログインIDを格納することができる。
【0050】
性能についても、アダプタを形成するときに考慮されるべきである。性能は、APIサーバの最終目標でないが、この製品に究極の拡張性を保証するために多くの異なる技術および方法を使用することにより、受け入れ可能な性能を達成することができる。これらの方法は、使用されている基礎をなす技術のために、アダプタごとに異なる。しかしながら、API技術が許容する全体の速度および性能を保証するために、一般に、カーソル移動、並列性、マルチスレッド処理、およびパイプライン処理と共に、データベースおよびファイルへのデータキャッシュを使用することができる。他の選択肢には、データがシステムからシステムへより効率的に渡されるように、APIサーバ内でデータを自動的に分割する特定のアルゴリズムの開発が含まれる。これらのアルゴリズムには、濃度または単純なアルファベット順に基づいた論理的なチャンクにデータを分割することが含まれる。
【0051】
XMLゲートウェイ
APIサーバ100は、汎用タグ付き階層データを任意の外部のアプリケーションおよび統合システムにエクスポーズするために使用可能な拡張可能なマークアップ言語(XML)インタフェース130を有していてもよい。ハイパーテキストマークアップ言語(HTML)と同様に、XMLは、インターネットのような分散ネットワーク上で使用される分散アプリケーションを定義するプログラミング言語である。HTMLアプリケーションが、一般にマルチメディアの表現のために使用されるのに対して、XMLアプリケーションは、一般にデータを取得し、転送するように機能する。XMLインタフェース130は、アプリケーションデータに対する汎用アクセスを提供する。また、XMLインタフェース130により、ユーザまたはアプリケーションは、XMLによりコード化された引数を特定のアプリケーションに送信し、2次プロセスを開始することができる。XMLは自己文書化されているので、ユーザおよび開発者の双方の顧客は、XMLインタフェース130を利用して、統合および拡張されたビジネス機能性の双方を提供することができる。
【0052】
APIサーバ100に記憶されるXMLに基づく単層ファイルから情報を容易に読み出すことができるように、XMLゲートウェイ130は、ファイルベースのアクセス方法を提供する。さらに、XMLゲートウェイ130は、アプリケーションからのデータを生のリアルタイム接続を介して提供することを可能とする非同期XMLメッセージングポータルを提供する。
【0053】
XMLゲートウェイ130は、APIサーバ100の内部統合エンジン110またはアダプタ120よりもアプリケーションの性能において劣るものの、XMLゲートウェイ130により、ユーザは、異種ビジネス管理アプリケーションがデータを共有するように適合していない場合に、これらのアプリケーションの内外でデータを得ることができる。好ましい実施の形態では、XMLゲートウェイ130は、現在の業界トップのXML関連標準、例えば拡張可能なスタイルシート言語(XSL)、シンプルオブジェクトアクセスプロトコル(SOAP)、およびLightweight Directory Access Protocol(LDAP)に準拠するように適合している。SOAPは、コンピュータシステム間でメソッド起動を指定するためのXMLに基づくフォーマットである。SOAPは、いずれのプラットフォーム、オペレーティングシステム、またはプログラミング言語からも完全に独立しており、ユビキタスHTTPおよびSMTPプロトコルと共にインターネット上で容易に使用することができる。具体的には、XMLインタフェース130は、必要なプロセスを起動する特定のアプリケーションにXML引数を渡すことができる。データ転送に必要とされる、新たに現れる技術および将来開発される技術を使用するために、XMLゲートウェイを同様にして適合させることができることは、理解されるべきである。
【0054】
ビジネスオペレーションアプリケーション高性能インタフェース
相互に関係するアプリケーションは、低水準のJAVAデータベース接続(JDBC)に基づくアプリケーションインタフェースを有することができる。このインタフェースは、上記3つのインタフェースの実装を容易にするものではないが、JDBCインタフェースは、多くの関連するビジネスアプリケーションの至る所にあるデータへの最速のアクセス手段を提供する。この実装は、様々な周知の企業資源計画システムに類似しており、このシステムでは、データボリュームおよび統合性能の要件が比較的に大きくなってきている。具体的には、アプリケーションは、いずれの統合をも迂回して、データベースといった情報記憶装置に記憶されたデータにアクセスするだけでもよい。このデータは、利用可能なフォーマットで別のアプリケーションにより予め預けられている。
【0055】
データをインポートするロジックが複雑であり、かつ、時間に敏感であるアプリケーションに対しては、ステージングテーブルがデータのインポートに使用される。次に、データが最終格納場所に到達する前に、Oracle(登録商標)により実装されるプロシージャのようなデータベース記憶プロシージャが、データを処理し、集約するために使用される。この構成は、最も複雑な処理ロジックを、それを最も効率的に実行できるデータベースレベルにする。他のタイプのビジネスアプリケーションに対しては、当該アプリケーションを様々なデータベースへ直接接続する特定製品向けのJDBCドライバを記述することができる。
【0056】
図2に戻って、APIサーバ100は、実行マネージャ150、セキュリティインタフェース160、レポータ170、アナライザ180、およびスケジューラ190をさらに含んでいてもよい。
【0057】
統合されたビジネスアプリケーションフレームワークのプロセス起動要件を満たすために、APIサーバ100は、様々なビジネスアプリケーションプロセスの開始および監視の双方を行う機能をさらに有することができる。プロセス実行マネージャ(PEM)150は、APIサーバ100の残りの部分と同じ技術に基づいて構築されるが、適用可能な各ビジネスアプリケーション内のバッチおよびイベントの双方に基づくプロセスを遠隔で開始するという別の目的を果たす。そのうえ、PEM150は、開始されたアプリケーションの進行および完了状態を監視する。さらに、PEM150は、いずれのタスクまたはアプリケーションが起動される前でも、満たさなければならない特定の依存関係を管理する。例えば、PEM150は、ジョブを順序付けし、マルチストリーム化することもできる。また、PEM150は、外部システム環境と相互に作用し、シェルまたはリモートシェルに基づくルーチンを介して外部プログラムを実行し、また、システム環境設定ファイルまたはWindows(登録商標)のレジストリから外部環境値を検索するといったタスクを完了することもできる。
【0058】
エンドツーエンドの統合およびビジネスワークフローオペレーションは、上述したルールおよびマッピングエンジン106を用いて配備ターゲットを作成することにより構築される。ルールおよびマッピングエンジン106により、ユーザは、事前にプログラミングされたカスタムデータ統合をコンパイルし、それらを実行ファイルとして配備することができる。小さな一組の機能性を実行するより小さな統合を開発することにより、ユーザは、モジュール形式で再利用可能な統合を開発することができる。また、これにより、2つ以上のアプリケーションが使用される場合に、エンドツーエンド全体の統合を再び作成する必要もなくなる。PEM150は、そのデータベースに登録されているジョブの実行を管理する。PEM150は、マッピングがいつ、どのようにして実行され、アプリケーションの更新を提供するかを制御する。この特徴により、開発者は、1つまたは2つ以上のアプリケーション間のかなり複雑なワークフロー指向型プロセスをプログラムすることができる。このワークフローの構成要素は、実際のプログラミング言語をあるレベルだけ抽象化したものを開発者に提供するように意図されており、開発者は、以前のマッピングを再利用して、ビジネスソリューションプロセスに対するより複雑な目標を作成することができる。PEM150は、拡張性のために、クラスタ化されたサーバの至るところに配備されるプロセスを管理する。
【0059】
PEM150は、実行時のすべての統合設定情報の格納場所として機能する関係データベースを保守する。その上、PEM150は、いくつかの外部イベントからの入力に基づいてサブ統合を起動する能力を有する。PEM150は、通常、ジョブ名、トリガするイベントおよび時間、ならびにジョブ依存関係を定義する欄を備えたグラフィックユーザインタフェース(GUI)を有していてもよい。この依存関係の欄により、ユーザは、ジョブ実行のための条件ロジックを規定することができる。また、PEM150は、一般に、標準出力、ログファイル、およびSNMPトラップにログを書き込む機能も有する。
【0060】
また、PEM150は、これらに限定されるものではないが、コマンドライン引数、スケジューリングされたジョブ、キューに書き込まれたイベント、ファイル変更、およびデータベーストリガを含んでいてもよい。PEM150がコマンドライン引数から起動可能であることにより、AT、CRON、CAのUnicenter、またはMaestroといった他のスケジューリングツールの方を好むユーザは、それらの製品から起動される簡単なスクリプトを記述し、PEM150を呼び出してアプリケーション統合を実行することができる。同様に、PEM150は、スケジューリングツールを含み、このスケジューリングツールにより、これらの製品を有するユーザは、外部のスケジューリングツールを必要とすることなく、PEM150からサブ統合を起動するメカニズムを持つことができる。PEM150は、バッチ、トランザクションまたはデーモンモードによりジョブ実行を操作する。したがって、時限バッチの更新によるのとまさに同程度の容易さで、データベーストリガおよびイベントからメッセージキューへとジョブを起動することができる。
【0061】
PEM150は、一方のジョブ内のイベントが、他方のジョブ内のイベントを体系的にトリガすることを可能とするので、PEM150には、ジョブおよびワークフロー管理を行う能力が本来的に備わっている。PEM150は、一般に、あるアダプタからデータを移動させ、特定の実行基準に基づいて、当該データを1つまたは2つ以上のアダプタに移動させる能力を有する。さらに、同じイベントに基づくトリガ方法を使用して、PEM150は、いくつかの異なるシステムの内外のデータフローを同時に管理可能であってもよい。この機能性も、いくつかの統合を並列に設定し、同じターゲットにアクセスできるようにすることによって、拡張性を改善する。データをいくつかの並列経路に渡す統合を設定することにより、ステートレスエンタープライズJavaBeans(EJB)がアプリケーションサーバ内で動作する方法と同様の方式で拡張性を達成することができる。PEM150は、それ自身の設定データの格納場所を有し、実行予定の各ジョブに関する情報を記憶する。
【0062】
PEM150は、一般に、1日24時間利用可能であるべきであり、1日を通して実行するジョブを管理する。さらに、PEM150は、通常、1つの1次インスタンスがダウンしたときにフェールオーバを提供するために、第2のインスタンスが利用可能である時を認識する。このように、2次システムから1次システムへ規則的な間隔で呼び出しを送信することにより、システムが今もなお操作可能であることが保証される。1次システムがダウンすると、2次システムが引き継ぐ。
【0063】
上記で提言したように、プロセス実行マネージャ150は、内部ワークフロー監視ツールとして使用することもできる。このように、プロセス実行マネージャ150は、特定のプロセス中継基準に基づいて複雑なビジネス統合プロセスをモデル化する能力をユーザに提供する。ユーザは、一組の定義済みステータスチェックポイントを使用してエンドツーエンドのプロセスを設計するために、内部プログラミングインタフェースを使用することができる。また、ユーザは、多くのプロセスまたは変化する複雑さのレベルをモデル化することができる。
【0064】
プロセス実行マネージャ150は、XMLインタフェースを通じて送られるコマンドライン引数、アダプタ120を通じて送られる行動入力、またはAPIサーバ100の上に作成されるグラフィカルインタフェース(図示せず)のいずれかにより使用されてもよい。
【0065】
図2に戻って、APIサーバ100は、セキュリティインタフェース160をさらに含んでいてもよい。一組の製品をWebに実装すると、開発者には、複雑な一組のセキュリティに関係する事項が新たに提供される。APIサーバ100を介した統合は、セキュリティの問題も引き起こす。したがって、APIサーバ100は、システム10の外部から、適用可能ないずれのアプリケーションにもセキュリティ関連情報を渡す能力を有することが好ましい。同様に、APIサーバ100は、アプリケーション間の情報を合わせる特定セキュリティ向けのAPIを有してもよい。このため、APIサーバ100は、Lightweight Directory Access Protocol(LDAP)およびJava Naming and Directory Interface(JNDI)といった市販のセキュリティプロトコルをサポートしてもよい。同様に、このセキュリティ機能性は、Verisign(登録商標)およびEntrust(登録商標)により構築されたセキュリティアプリケーションのような他のサードパーティの製品の強度をうまく利用するように拡張されてもよい。
【0066】
プロセスのステータスおよび故障のログ収集および報告は、統合システムを成功させるために望ましい機能である。したがって、他の実施の形態では、APIサーバ100は、トランザクションレベル、プロセス要約レベル、およびリターンコードを有するオペレーティングシステムレベルでログ収集を行うといった多段ログ収集機能を提供する自動記録器170を有してもよい。これらログ収集のAPIサーバ100への記録は、最初は、オペレーティングシステムの応答を除き単層ファイルであってもよい。オペレーティングシステムの応答は、標準出力に向かうが、ログファイルに行き先を変えることができる。あるいは、APIサーバ100は、これらのメッセージをデータベースに記録し、取引のノンレピュテーション(transactional non−reputation)および文書アーカイブのインタフェースを提供してもよい。一方、APIサーバ100は、SNMP互換システム管理ツールを備えた統合を含んでいてもよい。
【0067】
図2を再び参照して、APIサーバ100の他の実施態様は、アナライザ180を含む。統合は、統合システム10を通過するデータからの最近の極めて重大な情報を利用する要望により推進されてもよい。この要求は、特にB2B部門で普及している。B2B部門では、情報応答時間といった綿密な統合細部の測定を、利益および損失を取り囲む意思決定を推進するために使用することができる。さらに、多くのアプリケーション開発者は、オフィスオートメーションシステムを実装することによって得られる価値を増大するために、これら領域のそれらの機能の拡張を試みている。同様に、開発者は、このタイプの統合に基づく情報を利用して、その別の最適化エンジンの価値提案を広げることができる。統合システム10内において、ビジネスアプリケーションを推進するために使用されるデータは、ある時点にAPIサーバ100を通過する。この情報により、収益性を追求するために使用可能な各統合トランザクションについての大量の情報が存在する。B2B交換のような環境で使用される場合に、付加的価値を提供し、かつ、具体的なビジネス選択を推進するために、当該情報を取引相手に販売することができる。このタイプの情報は、典型的なCRMシステムによって収集される性能メトリクスに非常に類似している。さらに、特定のキープロセス指示子を、ある特定の統合ソリューションの有効性を検討するために生成することができる。
【0068】
図2を参照して、APIサーバ100の別の実施態様は、統合管理サービススケジューラ190を含んでいてもよい。このスケジューラ190は、一般に、IS 300の構成要素である。IS 300の主な機能は、フィールドレベルで生成および変更された統合のための文書化されたコード制御を保守することである。スケジューラ190は、APIサーバ100を使用して記述された、統合されたアプリケーションのためのチェックインおよびチェックアウトサービスを提供する。これにより、クライアントは、どのバージョンのコードを生産に導入するかを決定することができる。このサービスは、コードアーカイブ、日付および作者のログ収集サービスを含む。
【0069】
また、スケジューラ190は、テキストベースのCRONまたはATスタイルのスケジューラを有していてもよい。このスケジューラを用いて、ユーザは、統合を開始する時限イベントまたはトリガされたイベントのいずれかを定義する。このスケジューラは、直列または並列に実行されるイベントをトリガおよび監視し、リターンコードを、SNMPのような外部ターゲットに、または、他の統合にパラメータとして適当に渡す機能も有する。
【0070】
図3は、統合システム10を使用して異種アプリケーションを統合する方法200を示している。具体的には、この方法は、異種アプリケーション間の関係に従って動作する。複数のアプリケーションが、単一の開発者または連係した開発者達のいずれかを通じて同時に開発される場合には、これらアプリケーションをステップ210で直接統合することができる。一般に、これらアプリケーションは、共存するように設計されるか、または、それらの関連した開発を通じて、本質的に共存することができる。直接統合ステップ210は、上述した内部統合エンジン110といった装置を通じて実施することができる。あるいは、関連したアプリケーションは、ステップ220において、アプリケーションインタフェースを通じて情報を交換するように接続されてもよい。このように、関連したアプリケーションは、統合サーバまたは他のタイプの中間APIなしで相互に作用することができる。
【0071】
図3に戻って、別の方法として、アプリケーションを、ステップ230において、アダプタの使用を通じて統合することができる。例えば、上述したETLアダプタ121は、ファイアウォール内で実行される異種アプリケーション間のデータ交換を可能にする。通常、ETLアダプタ121は、単一のシステム内またはネットワーク内で実行されるアプリケーションを結合する。逆に、B2Bアダプタ122は、ファイアウォールによって分離された異種アプリケーション間のデータ交換を可能にする。このように、ユーザは、関係しないアプリケーション間でデータを共有するために協力することができる。しかしながら、アダプタは、2つの別個のアプリケーション間の仲介者として機能するように具体的に作成されなければならない。同様に、アダプタは、一般に、それらアプリケーションの新しいバージョン用に更新される必要がある。
【0072】
あるいは、ユーザは、ステップ240で、分散ネットワーク上において、異なるアプリケーション間でデータを転送することができる。例えば、アプリケーション間のアダプタがたとえ作成されていなくとも、XMLゲートウェイ140は、ファイアウォールを横切ってアプリケーションを結合することができる。
【0073】
ステップ210から240の組み合わせを使用して、アプリケーション間でデータを交換できることが、理解されるであろう。例えば、他のデータを分散ネットワーク上で交換しながら、あるデータを交換するように、アプリケーションを直接統合することができる。
【0074】
開発者は、統合方法200を使用して、他のアプリケーション開発者とビジネスパートナシップを形成することができる。この開発者は、いくつかの異なるアプリケーション開発者からの技術製品の提供物を使用して、統合されたアプリケーションを納品することができる。開発者は、上述した統合インフラ内で種々の程度の結合を有するアプリケーションを提供することができる。結合の異なるレベルは、パートナシッププログラム内の開発者に特有のレベルに基づいている。統合されたビジネスアプリケーションは、最も高い層の最初に開発された製品から最も低い層の簡素な再販業者または統合認証同意にまで及んでいてもよい。
【0075】
図4に示す一実施態様において、この統合されたマルチベンダ戦略は、3層のパートナの階層である。最上層のベンダ、すなわち最も高いレベルのベンダは、彼らの潜在的な市場インパクトだけでなく、彼らがビジネス管理統合ソリューションに追加する彼らの機能および業績の双方の大きさにより判断されてもよい。高層のパートナは、ステップ210および220で上述したように、開発者のアプリケーションと直接統合可能である。全面的な統合のために、開発者は、そのアプリケーションの多くの情報をパートナと共有する。ほとんどの内部統合はAPIサーバ100を介して行われる一方、最上層のベンダのアプリケーションは、APIサーバ100内では直ちに利用できない拡張されたデータ変換および集約サービスを提供することができる。また、最上層のパートナは、高性能の関係データベース管理システム(RDBMS)アダプタ120を提供することもできる。このアダプタ120は、APIサーバ100を迂回し、データベースレベルで他のアプリケーションのデータにアクセスするメカニズムを有する。この機能により、開発者は、高速に実行できる統合ソリューションだけでなく、予め構成されたサブ統合およびプラグインを使い易く提供することができる。
【0076】
中段のパートナは、ステップ230において上述したように、アダプタを通じて開発者のアプリケーションと統合可能である。この統合レベルについて、開発者は、そのアプリケーションのいくつかの情報をパートナと共有するが、情報は全面的な統合に必要とされるものよりは少ない。下層のパートナは、ステップ240で上述したように、分散ネットワークを通じて開発者のアプリケーションと統合可能である。この関係により、開発者は、一般のクライアント統合要求を満たすために、APIサーバ100のXMLインタフェース130を使用することにより、限られた量の情報のみをパートナに示すことができる。拡張された統合の要求は、ユーザの技術的要求およびアプリケーションの要求に従ってカスタマイズされてもよい。
【0077】
本発明の好ましい実施の形態の上記説明は、例示および説明の目的のため示されたものである。それは、網羅することを意図したものではなく、また、開示された正確な形に本発明を限定することを意図したものではない。上記教示に照らして、多くの変更および変形が可能である。本発明の範囲は、この詳細な説明ではなく、正しくは、この説明に添付された特許請求の範囲によって限定されることが意図されている。上記明細書、例およびデータは、本発明の構成からなる製品および使用の全体的な説明である。本発明の精神および範囲から逸脱することなく、本発明の多くの実施の形態を作成することができるので、本発明は、併記の特許請求の範囲に存在する。
【0078】
【表1】
【表2】
【表3】
【表4】
【図面の簡単な説明】
【図1】本発明の一実施の形態によるアプリケーション統合システムを概略的に示す。
【図2】本発明の一実施の形態によるアプリケーション統合システムを概略的に示す。
【図3】本発明の一実施の形態による図1および図2のシステムを使用する方法のステップを示すフローチャートである。
【図4】本発明の一実施の形態による図3の統合方法の実施態様の概略図である。
Claims (40)
- 異種アプリケーションを統合するシステムであって、内部インテグレータと、ETLアダプタと、B2Bアダプタとを有するAPIサーバを備えるシステム。
- 前記ETLアダプタは、ファイアウォール内のアプリケーションを統合し、前記B2Bアダプタは、前記ファイアウォールにより分離されたアプリケーションを統合する、請求項1に記載のシステム。
- 前記ETLアダプタおよび前記B2Bアダプタは、ビジネスロジックを含む、請求項1に記載のシステム。
- アプリケーションインタフェースをさらに備える、請求項1に記載のシステム。
- 前記アプリケーションインタフェースは、JAVAベースである、請求項4に記載のシステム。
- 前記APIサーバは、XMLゲートウェイをさらに含む、請求項1に記載のシステム。
- アプリケーションインタフェースをさらに備える、請求項6に記載のシステム。
- 前記APIサーバは、アプリケーション接続レイヤをさらに含む、請求項1に記載のシステム。
- 前記APIサーバは、データノーマライザをさらに含む、請求項1に記載のシステム。
- 前記APIサーバは、ルールおよびマッピングエージェントをさらに含む、請求項1に記載のシステム。
- 前記ルールおよびマッピングエージェントは、JAVAアプリケーションである、請求項10に記載のシステム。
- 前記APIサーバは、メッセージングエージェントをさらに含む、請求項1に記載のシステム。
- 前記APIサーバは、プロセス実行マネージャをさらに含む、請求項1に記載のシステム。
- 前記APIサーバは、セキュリティインタフェースをさらに含む、請求項1に記載のシステム。
- 前記APIサーバは、ログレポータをさらに含む、請求項1に記載のシステム。
- 前記APIサーバは、データアナライザをさらに含む、請求項1に記載のシステム。
- 前記APIサーバは、サービススケジューラをさらに含む、請求項1に記載のシステム。
- 異種アプリケーションを統合する方法であって、
APIを通じて前記アプリケーションを直接統合するステップと、
ETLアダプタまたはB2Bアダプタであるデータアダプタを通じて前記アプリケーションを統合するステップと
を含む方法。 - 前記ETLアダプタは、ファイアウォール内のアプリケーションを統合し、前記B2Bアダプタは、前記ファイアウォールにより分離されたアプリケーションを統合する、請求項18に記載の方法。
- 分散ネットワーク上で前記アプリケーションを統合するステップをさらに含む、請求項18に記載の方法。
- 分散ネットワーク上で前記アプリケーションを統合する前記ステップは、XMLゲートウェイの使用をさらに含む、請求項20に記載の方法。
- ダイレクトアプリケーションインタフェースを通じて前記アプリケーションを直接統合するステップをさらに含む、請求項18に記載の方法。
- 第1のアプリケーションを第2の異種アプリケーションと統合する方法であって、
前記第1のアプリケーションおよび前記第2のアプリケーション間の関係を順位付けするステップと、
APIを通じた直接の統合、データアダプタによる統合、または分散ネットワーク上での統合のいずれかにより、前記第1のアプリケーションおよび前記第2のアプリケーションを前記関係の前記順位付けに従って統合するステップと
を含む方法。 - 前記データアダプタは、ファイアウォール内のアプリケーションを統合するETLアダプタまたは前記ファイアウォールによって分離されたアプリケーションを統合するB2Bアダプタである、請求項23に記載の方法。
- 前記分散ネットワーク上の前記第1のアプリケーションおよび前記第2のアプリケーションを統合することは、XMLゲートウェイの使用をさらに含む、請求項23に記載の方法。
- 前記第1のアプリケーションおよび前記第2のアプリケーションを前記関係の前記順序付けに従って統合する前記ステップの間、前記第1のアプリケーションおよび前記第2のアプリケーションは、アプリケーションインタフェースを通じて直接統合可能でもあり得る、請求項23に記載の方法。
- 異種アプリケーションのインテグレータであって、内部統合のための手段と、ETL適合のための手段と、B2B適合のための手段とを有するAPIサーバを備えるインテグレータ。
- 前記アプリケーションは、ビジネス管理アプリケーションである、請求項27に記載のインテグレータ。
- 前記APIサーバは、XMLゲートウェイを形成する手段をさらに含む、請求項27に記載のインテグレータ。
- アプリケーションインタフェースのための手段をさらに備える、請求項27に記載のインテグレータ。
- 前記APIサーバは、アプリケーションを接続する手段をさらに含む、請求項27に記載のインテグレータ。
- 前記APIサーバは、データを正規化する手段をさらに含む、請求項27に記載のインテグレータ。
- 前記APIサーバは、ルールおよびマッピングを管理する手段をさらに含む、請求項27に記載のインテグレータ。
- 前記ルールおよびマッピング手段は、JAVAアプリケーションである、請求項33に記載のインテグレータ。
- 前記APIサーバは、メッセージングのための手段をさらに含む、請求項27に記載のインテグレータ。
- 前記APIサーバは、プロセス実行管理のための手段をさらに含む、請求項27に記載のインテグレータ。
- 前記APIサーバは、セキュリティインタフェースのための手段をさらに含む、請求項27に記載のインテグレータ。
- 前記APIサーバは、ログ報告のための手段をさらに含む、請求項27に記載のインテグレータ。
- 前記APIサーバは、データ解析のための手段をさらに含む、請求項1に記載のインテグレータ。
- 前記APIサーバは、サービススケジューリングのための手段をさらに含む、請求項1に記載のインテグレータ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US22453800P | 2000-08-11 | 2000-08-11 | |
PCT/US2001/025279 WO2002015515A2 (en) | 2000-08-11 | 2001-08-13 | System and method for integrating disparate networks for use in electronic communication and commerce |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004511034A true JP2004511034A (ja) | 2004-04-08 |
Family
ID=22841112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002520511A Pending JP2004511034A (ja) | 2000-08-11 | 2001-08-13 | 電子通信および電子商取引で使用される異種ネットワークを統合するシステムおよび方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20020046301A1 (ja) |
EP (1) | EP1308016A2 (ja) |
JP (1) | JP2004511034A (ja) |
AU (1) | AU2001281253A1 (ja) |
CA (1) | CA2418272A1 (ja) |
HK (1) | HK1052807A1 (ja) |
PE (1) | PE20020494A1 (ja) |
WO (1) | WO2002015515A2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004303248A (ja) * | 2003-03-28 | 2004-10-28 | Microsoft Corp | ロケーション・アウェアネスのアーキテクチャとシステム |
JP2008501158A (ja) * | 2004-03-04 | 2008-01-17 | ヴァイアコア・インコーポレーテッド | ワークフロー可用なリンク・アクティブ化のためのシステムおよび方法 |
JP2009517777A (ja) * | 2005-11-29 | 2009-04-30 | ザ・ボーイング・カンパニー | 構成制御された資産の機体群の維持 |
JP2010262396A (ja) * | 2009-04-30 | 2010-11-18 | Nippon Telegr & Teleph Corp <Ntt> | メタライフログ情報配信装置およびプログラム |
JP2012014700A (ja) * | 2010-07-01 | 2012-01-19 | Nhn Corp | 開発者インタフェース提供方法およびシステム |
Families Citing this family (155)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW586063B (en) * | 2000-08-14 | 2004-05-01 | I2 Technologies Inc | Network application program interface facilitating communication in a distributed network environment |
US8600783B2 (en) | 2000-08-18 | 2013-12-03 | The Crawford Group, Inc. | Business to business computer system for communicating and processing rental car reservations using web services |
US7899690B1 (en) | 2000-08-18 | 2011-03-01 | The Crawford Group, Inc. | Extended web enabled business to business computer system for rental vehicle services |
US7275038B1 (en) * | 2000-08-18 | 2007-09-25 | The Crawford Group, Inc. | Web enabled business to business operating system for rental car services |
US7562041B2 (en) * | 2001-01-09 | 2009-07-14 | International Business Machines Corporation | Method and apparatus for facilitating business processes |
US20020107777A1 (en) * | 2001-02-06 | 2002-08-08 | Lane Thomas P. | System and method for auctioning goods seized or recovered by local, county, state, or federal law enforcement agencies |
US7035944B2 (en) | 2001-09-19 | 2006-04-25 | International Business Machines Corporation | Programmatic management of software resources in a content framework environment |
US6985939B2 (en) * | 2001-09-19 | 2006-01-10 | International Business Machines Corporation | Building distributed software services as aggregations of other services |
US7343428B2 (en) * | 2001-09-19 | 2008-03-11 | International Business Machines Corporation | Dynamic, real-time integration of software resources through services of a content framework |
US7434227B2 (en) * | 2001-09-28 | 2008-10-07 | Sap Ag | Portable business information content and management system |
US8606744B1 (en) | 2001-09-28 | 2013-12-10 | Oracle International Corporation | Parallel transfer of data from one or more external sources into a database system |
US20030126301A1 (en) * | 2001-12-31 | 2003-07-03 | Jeff Mason | Machine, process and manufacture for synchronizing data across integrated applications |
US7603469B2 (en) * | 2002-01-15 | 2009-10-13 | International Business Machines Corporation | Provisioning aggregated services in a distributed computing environment |
CA2374298A1 (en) * | 2002-03-01 | 2003-09-01 | Ibm Canada Limited-Ibm Canada Limitee | Computation of frequent data values |
US7243355B2 (en) * | 2002-04-04 | 2007-07-10 | Verizon Busniess Global Llc | Method, system and computer program product for a lightweight directory access protocol client application program interface |
AU2003226073A1 (en) * | 2002-04-10 | 2003-10-27 | Rsg Systems, Inc. | Data exchange method and system |
US20040078440A1 (en) * | 2002-05-01 | 2004-04-22 | Tim Potter | High availability event topic |
US7650397B2 (en) * | 2002-05-02 | 2010-01-19 | Bea Systems, Inc. | Plug-in configuration manager |
CA2390350A1 (en) * | 2002-06-10 | 2003-12-10 | Ibm Canada Limited-Ibm Canada Limitee | Incremental cardinality estimation for a set of data values |
CN1327343C (zh) * | 2002-06-12 | 2007-07-18 | 松下电器产业株式会社 | 服务安全扩充平台 |
US20040039612A1 (en) * | 2002-06-14 | 2004-02-26 | Neil Fitzgerald | Method and apparatus for customer direct on-line reservation of rental vehicles |
US8108231B2 (en) | 2002-06-14 | 2012-01-31 | The Crawford Group, Inc. | Method and apparatus for improved customer direct on-line reservation of rental vehicles |
EP1540528A1 (en) * | 2002-08-16 | 2005-06-15 | Teamware Group Oy | System and method for a context-independent framework for management and execution of xml processing tasks |
US7484219B2 (en) * | 2002-11-21 | 2009-01-27 | Microsoft Corporation | Synchronizing centralized data store from distributed independent data stores using fixed application programming interfaces |
US8117326B2 (en) * | 2003-05-08 | 2012-02-14 | Jda Software Group, Inc. | Data integration system with programmatic source and target interfaces |
US8108534B2 (en) * | 2003-05-08 | 2012-01-31 | Jda Software Group, Inc. | Data integration system with programmatic source and target interfaces |
US8117327B2 (en) * | 2003-05-08 | 2012-02-14 | Jda Software Group, Inc. | Data integration system with programmatic source and target interfaces |
US7788214B2 (en) * | 2003-07-11 | 2010-08-31 | Computer Associates International, Inc. | XML configuration technique and graphical user interface (GUI) for managing user data in a plurality of databases |
US7926064B2 (en) * | 2003-07-11 | 2011-04-12 | Computer Associates Think, Inc. | Business transformation logic engine and handlers |
US9317570B2 (en) * | 2003-07-11 | 2016-04-19 | Ca, Inc. | System and method for managing user data in a plurality of databases |
US7716675B2 (en) * | 2003-08-28 | 2010-05-11 | Siebel Systems, Inc. | Cross-reference service |
US8311974B2 (en) * | 2004-02-20 | 2012-11-13 | Oracle International Corporation | Modularized extraction, transformation, and loading for a database |
US11368429B2 (en) | 2004-03-16 | 2022-06-21 | Icontrol Networks, Inc. | Premises management configuration and control |
US11582065B2 (en) | 2007-06-12 | 2023-02-14 | Icontrol Networks, Inc. | Systems and methods for device communication |
US11368327B2 (en) | 2008-08-11 | 2022-06-21 | Icontrol Networks, Inc. | Integrated cloud system for premises automation |
US11489812B2 (en) | 2004-03-16 | 2022-11-01 | Icontrol Networks, Inc. | Forming a security network including integrated security system components and network devices |
US10348575B2 (en) | 2013-06-27 | 2019-07-09 | Icontrol Networks, Inc. | Control system user interface |
US10721087B2 (en) | 2005-03-16 | 2020-07-21 | Icontrol Networks, Inc. | Method for networked touchscreen with integrated interfaces |
US11190578B2 (en) | 2008-08-11 | 2021-11-30 | Icontrol Networks, Inc. | Integrated cloud system with lightweight gateway for premises automation |
US12063220B2 (en) | 2004-03-16 | 2024-08-13 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US10522026B2 (en) | 2008-08-11 | 2019-12-31 | Icontrol Networks, Inc. | Automation system user interface with three-dimensional display |
US11677577B2 (en) | 2004-03-16 | 2023-06-13 | Icontrol Networks, Inc. | Premises system management using status signal |
US11811845B2 (en) | 2004-03-16 | 2023-11-07 | Icontrol Networks, Inc. | Communication protocols over internet protocol (IP) networks |
US11916870B2 (en) | 2004-03-16 | 2024-02-27 | Icontrol Networks, Inc. | Gateway registry methods and systems |
US10237237B2 (en) | 2007-06-12 | 2019-03-19 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US10339791B2 (en) | 2007-06-12 | 2019-07-02 | Icontrol Networks, Inc. | Security network integrated with premise security system |
US11244545B2 (en) | 2004-03-16 | 2022-02-08 | Icontrol Networks, Inc. | Cross-client sensor user interface in an integrated security network |
US10142392B2 (en) | 2007-01-24 | 2018-11-27 | Icontrol Networks, Inc. | Methods and systems for improved system performance |
US9729342B2 (en) | 2010-12-20 | 2017-08-08 | Icontrol Networks, Inc. | Defining and implementing sensor triggered response rules |
US11316958B2 (en) | 2008-08-11 | 2022-04-26 | Icontrol Networks, Inc. | Virtual device systems and methods |
US11343380B2 (en) | 2004-03-16 | 2022-05-24 | Icontrol Networks, Inc. | Premises system automation |
AU2005223267B2 (en) | 2004-03-16 | 2010-12-09 | Icontrol Networks, Inc. | Premises management system |
US7467399B2 (en) | 2004-03-31 | 2008-12-16 | International Business Machines Corporation | Context-sensitive confidentiality within federated environments |
US7912781B2 (en) * | 2004-06-08 | 2011-03-22 | Rosenthal Collins Group, Llc | Method and system for providing electronic information for risk assessment and management for multi-market electronic trading |
US8429059B2 (en) | 2004-06-08 | 2013-04-23 | Rosenthal Collins Group, Llc | Method and system for providing electronic option trading bandwidth reduction and electronic option risk management and assessment for multi-market electronic trading |
US20080162378A1 (en) * | 2004-07-12 | 2008-07-03 | Rosenthal Collins Group, L.L.C. | Method and system for displaying a current market depth position of an electronic trade on a graphical user interface |
US20100094777A1 (en) * | 2004-09-08 | 2010-04-15 | Rosenthal Collins Group, Llc. | Method and system for providing automatic execution of risk-controlled synthetic trading entities |
US9552599B1 (en) * | 2004-09-10 | 2017-01-24 | Deem, Inc. | Platform for multi-service procurement |
US20060095332A1 (en) * | 2004-09-30 | 2006-05-04 | Sap Aktiengesellschaft | System and method for providing access to an application through a common interface for application extensions |
US20060085799A1 (en) * | 2004-10-14 | 2006-04-20 | The Trizetto Group, Inc. | Interfacing disparate software applications |
US8099736B2 (en) | 2004-10-14 | 2012-01-17 | The Trizetto Group, Inc. | Systems and methods providing intelligent routing of data between software systems |
US20110128378A1 (en) | 2005-03-16 | 2011-06-02 | Reza Raji | Modular Electronic Display Platform |
US10999254B2 (en) | 2005-03-16 | 2021-05-04 | Icontrol Networks, Inc. | System for data routing in networks |
US11496568B2 (en) | 2005-03-16 | 2022-11-08 | Icontrol Networks, Inc. | Security system with networked touchscreen |
US20170180198A1 (en) | 2008-08-11 | 2017-06-22 | Marc Baum | Forming a security network including integrated security system components |
US11615697B2 (en) | 2005-03-16 | 2023-03-28 | Icontrol Networks, Inc. | Premise management systems and methods |
US11700142B2 (en) | 2005-03-16 | 2023-07-11 | Icontrol Networks, Inc. | Security network integrating security system and network devices |
US20120324566A1 (en) | 2005-03-16 | 2012-12-20 | Marc Baum | Takeover Processes In Security Network Integrated With Premise Security System |
WO2006119272A2 (en) | 2005-05-04 | 2006-11-09 | Rosenthal Collins Group, Llc | Method and system for providing automatic exeuction of black box strategies for electronic trading |
US8589280B2 (en) | 2005-05-04 | 2013-11-19 | Rosenthal Collins Group, Llc | Method and system for providing automatic execution of gray box strategies for electronic trading |
US8364575B2 (en) | 2005-05-04 | 2013-01-29 | Rosenthal Collins Group, Llc | Method and system for providing automatic execution of black box strategies for electronic trading |
WO2006130650A2 (en) | 2005-05-31 | 2006-12-07 | Rosenthal Collins Group, Llc | Method and system for electronically inputting, monitoring and trading spreads |
US20080288391A1 (en) * | 2005-05-31 | 2008-11-20 | Rosenthal Collins Group, Llc. | Method and system for automatically inputting, monitoring and trading spreads |
US20060274784A1 (en) * | 2005-06-02 | 2006-12-07 | Mediatek Incorporation | Methods and systems for cross-platform message exchange |
US7827562B1 (en) | 2005-06-16 | 2010-11-02 | The Trizetto Group, Inc. | System and method for flexible publishing and consumption of data between disparate applications |
US7849000B2 (en) | 2005-11-13 | 2010-12-07 | Rosenthal Collins Group, Llc | Method and system for electronic trading via a yield curve |
US9117223B1 (en) | 2005-12-28 | 2015-08-25 | Deem, Inc. | Method and system for resource planning for service provider |
US8316386B2 (en) * | 2006-02-17 | 2012-11-20 | Microsoft Corporation | Multiple application integration |
US7689582B2 (en) * | 2006-03-10 | 2010-03-30 | International Business Machines Corporation | Data flow system and method for heterogeneous data integration environments |
US9361137B2 (en) * | 2006-03-10 | 2016-06-07 | International Business Machines Corporation | Managing application parameters based on parameter types |
US7689576B2 (en) * | 2006-03-10 | 2010-03-30 | International Business Machines Corporation | Dilation of sub-flow operators in a data flow |
US9727604B2 (en) * | 2006-03-10 | 2017-08-08 | International Business Machines Corporation | Generating code for an integrated data system |
WO2007106493A2 (en) * | 2006-03-10 | 2007-09-20 | Sugarcrm Inc. | Customer relationship management system and method |
US8271309B2 (en) | 2006-03-16 | 2012-09-18 | The Crawford Group, Inc. | Method and system for providing and administering online rental vehicle reservation booking services |
US10079839B1 (en) | 2007-06-12 | 2018-09-18 | Icontrol Networks, Inc. | Activation of gateway device |
US12063221B2 (en) | 2006-06-12 | 2024-08-13 | Icontrol Networks, Inc. | Activation of gateway device |
US20070294116A1 (en) * | 2006-06-14 | 2007-12-20 | Scott Paul Stephens | Method and system for an online rental vehicle reservation-booking website including a travel agent path |
US20080033995A1 (en) * | 2006-08-02 | 2008-02-07 | Fabio Casati | Identifying events that correspond to a modified version of a process |
US20080059846A1 (en) * | 2006-08-31 | 2008-03-06 | Rosenthal Collins Group, L.L.C. | Fault tolerant electronic trading system and method |
US10366352B2 (en) * | 2006-10-06 | 2019-07-30 | The Crawford Group, Inc. | Method and system for communicating vehicle repair information to a business-to-business rental vehicle reservation management computer system |
US8099725B2 (en) * | 2006-10-11 | 2012-01-17 | International Business Machines Corporation | Method and apparatus for generating code for an extract, transform, and load (ETL) data flow |
US20080097798A1 (en) * | 2006-10-18 | 2008-04-24 | The Crawford Group, Inc. | Method and System for Creating and Processing Rental Vehicle Reservations Using Vouchers |
US7979744B2 (en) * | 2006-12-04 | 2011-07-12 | Electronics And Telecommunications Research Institute | Fault model and rule based fault management apparatus in home network and method thereof |
US8160906B2 (en) | 2006-12-12 | 2012-04-17 | The Crawford Group, Inc. | System and method for improved rental vehicle reservation management |
US8160999B2 (en) * | 2006-12-13 | 2012-04-17 | International Business Machines Corporation | Method and apparatus for using set based structured query language (SQL) to implement extract, transform, and load (ETL) splitter operation |
US8024571B2 (en) * | 2006-12-22 | 2011-09-20 | Schlumberger Technology Corporation | Method of and system for watermarking application modules |
US8219518B2 (en) * | 2007-01-09 | 2012-07-10 | International Business Machines Corporation | Method and apparatus for modelling data exchange in a data flow of an extract, transform, and load (ETL) process |
US11706279B2 (en) | 2007-01-24 | 2023-07-18 | Icontrol Networks, Inc. | Methods and systems for data communication |
US7633385B2 (en) | 2007-02-28 | 2009-12-15 | Ucontrol, Inc. | Method and system for communicating with and controlling an alarm system from a remote server |
US20090077229A1 (en) * | 2007-03-09 | 2009-03-19 | Kenneth Ebbs | Procedures and models for data collection and event reporting on remote devices and the configuration thereof |
US8451986B2 (en) | 2007-04-23 | 2013-05-28 | Icontrol Networks, Inc. | Method and system for automatically providing alternate network access for telecommunications |
US11423756B2 (en) | 2007-06-12 | 2022-08-23 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US11646907B2 (en) | 2007-06-12 | 2023-05-09 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US12184443B2 (en) | 2007-06-12 | 2024-12-31 | Icontrol Networks, Inc. | Controlling data routing among networks |
US11601810B2 (en) | 2007-06-12 | 2023-03-07 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US12003387B2 (en) | 2012-06-27 | 2024-06-04 | Comcast Cable Communications, Llc | Control system user interface |
US10523689B2 (en) | 2007-06-12 | 2019-12-31 | Icontrol Networks, Inc. | Communication protocols over internet protocol (IP) networks |
US11316753B2 (en) | 2007-06-12 | 2022-04-26 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US11212192B2 (en) | 2007-06-12 | 2021-12-28 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US11218878B2 (en) | 2007-06-12 | 2022-01-04 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US8160907B2 (en) | 2007-07-25 | 2012-04-17 | The Crawford Group, Inc. | System and method for allocating replacement vehicle rental costs using a virtual bank of repair facility credits |
US10223903B2 (en) | 2010-09-28 | 2019-03-05 | Icontrol Networks, Inc. | Integrated security system with parallel processing architecture |
US11831462B2 (en) | 2007-08-24 | 2023-11-28 | Icontrol Networks, Inc. | Controlling data routing in premises management systems |
US7929526B2 (en) * | 2007-09-28 | 2011-04-19 | Oracle America, Inc. | Direct messaging in distributed memory systems |
US11916928B2 (en) | 2008-01-24 | 2024-02-27 | Icontrol Networks, Inc. | Communication protocols over internet protocol (IP) networks |
US9141934B2 (en) | 2008-04-07 | 2015-09-22 | Blackberry Limited | Techniques for deploying virtual software applications on desktop computers |
US8561088B2 (en) * | 2008-04-08 | 2013-10-15 | Microsoft Corporation | Registering network applications with an API framework |
US20090254670A1 (en) * | 2008-04-08 | 2009-10-08 | Microsoft Corporation | Providing access to network applications for standardized clients |
US20100010937A1 (en) * | 2008-04-30 | 2010-01-14 | Rosenthal Collins Group, L.L.C. | Method and system for providing risk assessment management and reporting for multi-market electronic trading |
US20170185278A1 (en) | 2008-08-11 | 2017-06-29 | Icontrol Networks, Inc. | Automation system user interface |
US20100036715A1 (en) * | 2008-08-06 | 2010-02-11 | Harish Sathyan | Method and system for estimating productivity of a team |
US11729255B2 (en) | 2008-08-11 | 2023-08-15 | Icontrol Networks, Inc. | Integrated cloud system with lightweight gateway for premises automation |
US11792036B2 (en) | 2008-08-11 | 2023-10-17 | Icontrol Networks, Inc. | Mobile premises automation platform |
US11758026B2 (en) | 2008-08-11 | 2023-09-12 | Icontrol Networks, Inc. | Virtual device systems and methods |
US8332870B2 (en) * | 2008-09-30 | 2012-12-11 | Accenture Global Services Limited | Adapter services |
US8788666B2 (en) * | 2008-12-31 | 2014-07-22 | Sap Ag | System and method of consolidated central user administrative provisioning |
US10552849B2 (en) | 2009-04-30 | 2020-02-04 | Deem, Inc. | System and method for offering, tracking and promoting loyalty rewards |
US8638211B2 (en) | 2009-04-30 | 2014-01-28 | Icontrol Networks, Inc. | Configurable controller and interface for home SMA, phone and multimedia |
US8836467B1 (en) | 2010-09-28 | 2014-09-16 | Icontrol Networks, Inc. | Method, system and apparatus for automated reporting of account and sensor zone information to a central station |
US20120094600A1 (en) | 2010-10-19 | 2012-04-19 | Welch Allyn, Inc. | Platform for patient monitoring |
US11750414B2 (en) | 2010-12-16 | 2023-09-05 | Icontrol Networks, Inc. | Bidirectional security sensor communication for a premises security system |
US9147337B2 (en) | 2010-12-17 | 2015-09-29 | Icontrol Networks, Inc. | Method and system for logging security event data |
US9449288B2 (en) | 2011-05-20 | 2016-09-20 | Deem, Inc. | Travel services search |
US9600131B2 (en) * | 2011-05-31 | 2017-03-21 | Red Hat, Inc. | Integrated application that contains software modules coupled to a message bus |
US20130007773A1 (en) * | 2011-06-28 | 2013-01-03 | Steven Scott Guilford | Systems, methods, apparatuses, and computer program products for facilitating integration of third party technology with a database |
US8751438B2 (en) * | 2012-04-13 | 2014-06-10 | Verizon Patent And Licensing Inc. | Data extraction, transformation, and loading |
US8868597B2 (en) | 2012-05-22 | 2014-10-21 | Oracle International Corporation | Directory server processing requests based on hierarchical models while using backend servers operating based on relational models |
JP5924169B2 (ja) * | 2012-07-13 | 2016-05-25 | ブラザー工業株式会社 | 中継装置、プログラムおよび中継装置の制御方法 |
US20140081938A1 (en) * | 2012-09-14 | 2014-03-20 | Microsoft Corporation | Bidirectional synchronization of communications and crm applications |
US20140222712A1 (en) * | 2013-02-01 | 2014-08-07 | Sps Commerce, Inc. | Data acquisition, normalization, and exchange in a retail ecosystem |
US9396233B2 (en) * | 2013-03-13 | 2016-07-19 | International Business Machines Corporation | Alert management |
US10360523B2 (en) * | 2013-11-18 | 2019-07-23 | Nuwafin Holdings Ltd | System and method for executing business services and enhancing business performance through a business process modeling notation |
WO2015081429A1 (en) * | 2013-12-02 | 2015-06-11 | Zag Holdings Inc. | Methods and systems for legacy compatible software |
WO2015110133A1 (en) | 2014-01-21 | 2015-07-30 | Amadeus S.A.S. | Content integration framework |
US9826051B2 (en) | 2014-01-21 | 2017-11-21 | Amadeus S.A.S. | Content integration framework |
EP2897344B1 (en) | 2014-01-21 | 2016-07-27 | Amadeus S.A.S. | Content integration framework |
US11405463B2 (en) | 2014-03-03 | 2022-08-02 | Icontrol Networks, Inc. | Media content management |
CN105933409B (zh) * | 2016-04-20 | 2019-09-13 | 郑州悉知信息科技股份有限公司 | 信息处理方法和装置 |
CN105976158A (zh) * | 2016-04-26 | 2016-09-28 | 中国电子科技网络信息安全有限公司 | 一种可视化的etl流程管理与调度监控方法 |
WO2018134680A1 (en) * | 2017-01-17 | 2018-07-26 | Clough Limited | System and method for integrating disparate computer systems and applications |
US10499250B2 (en) | 2017-06-22 | 2019-12-03 | William Turner | RF client for implementing a hyper distribution communications protocol and maintaining a decentralized, distributed database among radio nodes |
US20190197596A1 (en) * | 2017-12-21 | 2019-06-27 | Octraves Technology Sdn Bhd | System, apparatus, and method for integrating a plurality of supplier systems |
US11424994B2 (en) | 2019-05-16 | 2022-08-23 | Fortuna Identity Inc | Traffic-controlled processing of application requests |
KR20230033911A (ko) * | 2021-09-02 | 2023-03-09 | 삼성에스디에스 주식회사 | Etl 프로세스의 데이터 처리 방법, 그리고 이를 구현하기 위한 장치 |
US12012110B1 (en) | 2023-10-20 | 2024-06-18 | Crawford Group, Inc. | Systems and methods for intelligently transforming data to generate improved output data using a probabilistic multi-application network |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5414845A (en) * | 1992-06-26 | 1995-05-09 | International Business Machines Corporation | Network-based computer system with improved network scheduling system |
US5491693A (en) * | 1993-12-30 | 1996-02-13 | International Business Machines Corporation | General transport layer gateway for heterogeneous networks |
US5634127A (en) * | 1994-11-30 | 1997-05-27 | International Business Machines Corporation | Methods and apparatus for implementing a message driven processor in a client-server environment |
US5884310A (en) * | 1996-06-14 | 1999-03-16 | Electronic Data Systems Corporation | Distributed data integration method and system |
US6356948B1 (en) * | 1997-03-28 | 2002-03-12 | Aspect Communications Corp | Method and apparatus for managing data |
US6621505B1 (en) * | 1997-09-30 | 2003-09-16 | Journee Software Corp. | Dynamic process-based enterprise computing system and method |
-
2001
- 2001-08-13 JP JP2002520511A patent/JP2004511034A/ja active Pending
- 2001-08-13 US US09/927,412 patent/US20020046301A1/en not_active Abandoned
- 2001-08-13 WO PCT/US2001/025279 patent/WO2002015515A2/en not_active Application Discontinuation
- 2001-08-13 EP EP01959729A patent/EP1308016A2/en not_active Withdrawn
- 2001-08-13 CA CA002418272A patent/CA2418272A1/en not_active Abandoned
- 2001-08-13 PE PE2001000804A patent/PE20020494A1/es not_active Application Discontinuation
- 2001-08-13 AU AU2001281253A patent/AU2001281253A1/en not_active Abandoned
-
2003
- 2003-07-10 HK HK03105002.2A patent/HK1052807A1/zh unknown
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004303248A (ja) * | 2003-03-28 | 2004-10-28 | Microsoft Corp | ロケーション・アウェアネスのアーキテクチャとシステム |
JP4729262B2 (ja) * | 2003-03-28 | 2011-07-20 | マイクロソフト コーポレーション | ロケーション・アウェアネスのアーキテクチャとシステム |
JP2008501158A (ja) * | 2004-03-04 | 2008-01-17 | ヴァイアコア・インコーポレーテッド | ワークフロー可用なリンク・アクティブ化のためのシステムおよび方法 |
JP2009517777A (ja) * | 2005-11-29 | 2009-04-30 | ザ・ボーイング・カンパニー | 構成制御された資産の機体群の維持 |
JP2010262396A (ja) * | 2009-04-30 | 2010-11-18 | Nippon Telegr & Teleph Corp <Ntt> | メタライフログ情報配信装置およびプログラム |
JP2012014700A (ja) * | 2010-07-01 | 2012-01-19 | Nhn Corp | 開発者インタフェース提供方法およびシステム |
Also Published As
Publication number | Publication date |
---|---|
WO2002015515A3 (en) | 2002-09-19 |
US20020046301A1 (en) | 2002-04-18 |
EP1308016A2 (en) | 2003-05-07 |
PE20020494A1 (es) | 2002-06-18 |
WO2002015515A2 (en) | 2002-02-21 |
AU2001281253A1 (en) | 2002-02-25 |
HK1052807A1 (zh) | 2003-09-26 |
CA2418272A1 (en) | 2002-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004511034A (ja) | 電子通信および電子商取引で使用される異種ネットワークを統合するシステムおよび方法 | |
US8015541B1 (en) | Business process technology for the enterprise | |
US7370335B1 (en) | System and method for providing a public application program interface | |
US7266600B2 (en) | Programmatic management of software resources in a content framework environment | |
Khalaf et al. | Business processes for Web Services: Principles and applications | |
JP5026415B2 (ja) | データセントリックワークフロー | |
US6847974B2 (en) | Method and apparatus for intelligent data assimilation | |
US7343428B2 (en) | Dynamic, real-time integration of software resources through services of a content framework | |
US7565443B2 (en) | Common persistence layer | |
US6985939B2 (en) | Building distributed software services as aggregations of other services | |
US20060224702A1 (en) | Local workflows in a business process management system | |
US20050223392A1 (en) | Method and system for integration of software applications | |
US20070100961A1 (en) | Grid processing in a trading network | |
WO2001025919A2 (en) | Architectures for netcentric computing systems | |
JP2011501854A (ja) | モデル・ベースのコンポジット・アプリケーション・プラットフォーム | |
JP2011204228A (ja) | 学習メカニズムを用いたマッシュアップインフラストラクチャ | |
JP2007506170A (ja) | オンデマンド・ビジネス・コラボレーション用の情報ハイパーチェーン管理のための方法および装置 | |
Myerson | The complete book of middleware | |
AU2002258640A1 (en) | Method and apparatus for intelligent data assimilation | |
US20120215581A1 (en) | Ad-Hoc and Priority-Based Business Process Execution | |
US20080163083A1 (en) | Tailored object | |
CN1333342C (zh) | 交换基础设施系统和方法 | |
Kim et al. | RFID business aware framework for business process in the EPC network | |
Chen et al. | Grid services orchestration with OMII-BPEL | |
Hanneghan et al. | The design of an object-oriented repository to support concurrent engineering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051107 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051122 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060509 |