JP4496067B2 - サービス指向アーキテクチャ向けのサービス・インターフェースを自動的に生成するための方法およびシステム - Google Patents

サービス指向アーキテクチャ向けのサービス・インターフェースを自動的に生成するための方法およびシステム Download PDF

Info

Publication number
JP4496067B2
JP4496067B2 JP2004354945A JP2004354945A JP4496067B2 JP 4496067 B2 JP4496067 B2 JP 4496067B2 JP 2004354945 A JP2004354945 A JP 2004354945A JP 2004354945 A JP2004354945 A JP 2004354945A JP 4496067 B2 JP4496067 B2 JP 4496067B2
Authority
JP
Japan
Prior art keywords
service
grained
interface
coarse
usage
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.)
Expired - Fee Related
Application number
JP2004354945A
Other languages
English (en)
Other versions
JP2006012113A (ja
Inventor
マーク・フィアマンテ
ライオネル・モンメイヤ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2006012113A publication Critical patent/JP2006012113A/ja
Application granted granted Critical
Publication of JP4496067B2 publication Critical patent/JP4496067B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Communication Control (AREA)

Description

本発明は、一般に、サービス指向アーキテクチャ(SOA)向けのサービス・インターフェースを自動的に生成するための方法およびシステムに関し、具体的には、SOAでのウェブ・サービス向けのサービス・インターフェースを自動的に生成するための方法およびシステムに関するが、これに限定されるものではない。
業務プロセスをサポートするために種々異なる情報システムおよびソフトウェア・アプリケーションのオペレーションを統合するプロセスは、従来、複雑で費用や時間のかかる仕事であった。プログラミング言語、オペレーティング・システム、アプリケーション・インターフェース、およびネットワーキング・プロトコルに関する標準がないという状況の中、種々異なる情報システムおよびソフトウェア・アプリケーションのオペレーションを統合する以前の方法では、複雑な技術に支えられた大規模なシステム・インテグレータ・リソースが必要であった。結果として生じる業務プロセスを実行するためのシステムおよびアプリケーションは、緊密に結合されたアプリケーションおよびサブシステムを備えるものである。その欠点の1つは、いずれか1つのサブシステムを変更すると、様々な従属アプリケーションの破損につながりかねないことである。こうしたシステムのこの脆弱な面は、組織の内部および外部の他企業のどちらでも、システムの保守にかかる高額な費用、およびeビジネスの開発においてこうしたシステムによって課せられる規制に負う部分がある。
サービス指向アーキテクチャ(SOA)は、eビジネスを実施するための概念的アーキテクチャである。これは、前述の問題に対処する手段として提案された。基本的な考えは、一枚岩的なモノリシックなアプリケーションを「サービス」に変えるために、適切に定義されたサービス・インターフェースでアプリケーションをラップする(覆う)(wrap)ことである。このラッププロセスによって、アプリケーションが使用するプログラミング言語、オペレーティング・システム、ネットワーキング・プロトコル、および/またはデータベースをマスクするアプリケーションの抽象化を作り出す。したがって、サービス・インターフェース、すなわちサービスの記述が、いくつかのサービスを繋ぎ目なくシームレスに統合することができる。セキュリティ、ミドルウェア、および通信技術も、環境的な必須条件としてサービスに加えるためにラップラッパ(wrapper)することができる。ラップすることラッパによって、サービスは、たとえばハイパー・テキスト転送プロトコルHyperText Transfer Protocol(HTTP: HyperText Transfer Protocol)を介して仮想企業をその異種システムにリンクさせること、および単一の管理ドメインに参加させることができる。
ここ10年ほどの間に、SOAの提供に関して3つの大きな試みが行われてきた。CORBA、J2EE、およびDCOMは、それぞれ独自の方法でサービス指向アーキテクチャの概念をサポートしてきた。CORBA(Common Object Request Broker ArchitectureCommon Object Request Broker Architecture)は、オブジェクト管理グループObject Management Group(OMG: Object Management Group)の後援の下に開発された。ミドルウェアである。ほぼすべてのコンピュータ、オペレーティング・システム、プログラミング言語、およびネットワーク上にあるいずれのベンダーからのCORBAに基づくプログラムも、ほぼすべての他のコンピュータ、オペレーティング・システム、プログラミング言語、およびネットワーク上にある同じかまたは他のベンダーからのCORBAに基づくプログラムと、相互運用することができる。J2EE(Java2 PlatformJava 2 Platform、エンタープライズ版)は、多層構成のエンタープライズ・アプリケーションを開発するための標準を定義するものである。J2EEは、エンタープライズ・アプリケーションを標準化されたモジュラー・コンポーネントに基づくものとすること、それらのコンポーネントに完全なサービス・セットを提供すること、および多くのアプリケーション動作の細部を複雑なプログラミングなしで自動的に処理することによって、エンタープライズ・アプリケーションを簡略化するものである。DCOM(Distributed Component Object ModelDistributed Component Object Model)は、コンポーネント・オブジェクト・モデルComponent Object Model(COM: Component Object Model)の拡張である。DCOMは1996年に導入され、HTTPなどのインターネット・プロトコルを含む多重ネットワーク移送を横切って使用するように設計されている。
SOAが受け入れられるようになるためには、アプリケーションのラップに使用される言語が汎用性のあるものでなければならない。DCOMはMicrosoft−IDLを使用し、CORBAはCORBA−IDLを使用し、J2EEはJava(登録商標)を使用する。これらのうちのいずれも、汎用言語であるとは考えられない。
もう1つの問題は、サービス・インターフェースに柔軟性が求められることである。サービス・インターフェースとは、経時的に進歩していくことの可能な、様々なメッセージ・タイプに応答するだけの容量を備えたものである必要がある。これが求められるのは、ソフトウェア環境が経時的に変化するものであるためである。J2EEおよびCORBAでは、サービス・インターフェースは融通のきかないエンティティであり、あまり変化を好まない。DCOMはサービス・インターフェースの変化をある程度考慮するが、その方法は複雑で使用するのが非常に困難である。このように柔軟なサービス・インターフェースを展開することができないため、これまでSOAは配置(deploy)および管理が困難であった。
SOAに対するこれまでのすべての手法は、第1にサービス・インターフェースを1つのソフトウェアに構築する概念、第2にそのサービス・インターフェースをインプリメント具現化するために何らかのプログラミング論理を作成する概念という、2つの明確な概念を組み合わせたものである。したがって、J2EE、DCOM、またはCORBAのいずれかを利用しようとする場合は、第1にそのプログラミング・モデルおよびそのかなりの量の複雑なAPIセットを学習する必要がある。
上記の内容に鑑み、SOAを首尾よくインプリメント具現化するためには、ウェブ・サービスの技術がSOAにとって最良の接続技術であると理解されてきた。これは、多種多様な企業および業界組織からの研究者およびコンサルタントの業務を反映したする術セットの中核に依拠するものである。これらの技術には、以下のものが含まれる。
XML: ExtensibleMark-Up LanguageExtensible Mark−up Language(拡張可能マークアップ言語)。これは、ワールド・ワイド・ウェブ・コンソーシアムWorld Wide Web Consortium(W3C: World Wide Web Consortium)からのテキストに基づくマークアップ言語仕様である。プレゼンテーションおよびデータを記述するためにタグを使用するHTMLとは異なり、XMLは、厳密には移植可能な構造化データを定義するためのものである。マークアップの文法または語彙、ならびに交換フォーマットおよびメッセージング・プロトコルなどの、データ記述言語を定義するための言語として使用することができる。
SOAP: Simple ObjectAccess ProtocolSimple Object Access Protocol(シンプル・簡易オブジェクト・アクセス・プロトコル)。これは、非集中型の分散環境で情報を交換するためのXMLに基づく軽量プロトコルである。SOAPは、要求者と提供者のオブジェクト間でのメッセージング・プロトコルを定義し、要求側オブジェクトがオブジェクト指向のプログラミング様式で提供側オブジェクトでのリモート・メソッド呼び出しを実行できるようにする。SOAPの仕様は、Microsoft、IBM、Lotus、UserLand、およびDevelopMentorの共著である。今やSOAPは、ほとんどのベンダーのSOAのインプリメンテーション具現化において分散型オブジェクト通信の基礎を形成している。SOAはメッセージング・プロトコルを定義しないが、近年SOAPは、SOAのインプリメンテーション具現化で一般的に使用されることから、サービス指向アーキテクチャ・プロトコルと呼ばれるようになってきた。SOAPの一面はベンダーに中立なことであり、プラットフォーム、オペレーティング・システム、オブジェクト・モデル、およびプログラミング言語に関して独立したインプリメンテーション具現化を可能にする。さらに、移送および言語バインディングならびにデータ・コード化基本設定は、すべてインプリメンテーション具現化に依存する。
WSDL: Web ServicesDescription LanguageWeb Services Description Language(ウェブ・サービス記述言語)。これは、サービス・インターフェース定義言語(IDL: Service Interface Description Language)を記述する標準的な方法を提供する、XML語彙である。WSDLは、IBMが開発したネットワーク・アクセス可能サービス仕様言語Network Accessible Service Specification Language(NASSL: Network Accessible Service Specification Language/ネットワーク・アクセス可能サービス仕様言語)と、Microsoftが開発した仕様及び記述言語Specification and Description Language(SDL:Specification andDescription Language/仕様記述言語)との間にアクティビティが集中する結果として生じる人工的産物である。これは、リモート・メソッド呼び出し(RMI)のために、サービス提供者が要求および応答メッセージの書式を記述する簡単な方法を提供するものである。WSDLは、基礎となるプロトコルおよびコード化要件とは無関係に、このサービスIDLの原則に対処する。一般に、WSDLは、それぞれのパラメータおよびデータ型を使用してサービスの公表済みオペレーションを定義するための抽象言語を提供する。この言語は、サービスの場所の定義およびバインディングの細部にも対処する。
UDDI: UniversalDescription, Discovery, and Integration(ユニバーサル記述、発見、および統合)Universal Description,Discovery,and Integration仕様は、サービス・ブローカのインプリメンテーション具現化を可能にするSOAP APIの一般セットを提供する。UDDI仕様は、ウェブに基づくサービスの作成、記述、発見、および統合を実行しやすくするように、IBM、Microsoft、およびAribaによってその概略が定められた。70を超える業界および企業のリーダ達が提携および協力するUDDI.orgUDDI.orgの背後にあるモチベーションは、企業間(B2B: Business to Business)相互運用性のための標準を定義することであるが、これは企業・消費者間(B2C: Business to Customer)アプリケーションに採用することもできる。
これらの技術は、SOAでウェブ・タイプのサービスを実施するための、包括的かつ独占的な技術セットを有するものでないことを理解されよう。しかしながら、ウェブ・タイプのサービスが、形式および機能を記述するために使用可能なある種のXMLに基づく記述メカニズムを必要とすることが一般に受け入れられているため、これらの技術の中でもXMLは不可欠である。
SOAは、企業内および企業間のコンピューティングのための優れた基盤を提供する。これによって、業務プロセスを具体化するアプリケーションをウェブ・タイプのサービスとして迅速かつ効率良く実施すること、ならびにこうしたサービスの実施を管理する際に人間が関与する割合を減らすことが可能となる。多くの実施には、いかなる人間の関与も必要としないマシン間でのサービス呼び出しが含まれることになる。
企業がSOAを導入しようとする意欲は、結果として生じる恩恵に関係する。SOAを介して業務プロセスを実施することで、ビジネス・パートナーとの連携を改善し、競争相手のそれよりも優れた連携の拠点(hub)を企業間に生み出し、市場で勝ち残る能力を向上させる可能性がある。こうした連携の拠点は、たとえば供給チェーンを圧縮することによって市場に出すまでの時間を改善することもできる。結果として、今日の多くの企業は、外部サービスの方が自社の業務の産出および競争力により多くの影響を与えられるため、内部サービスよりも外部サービスの設計に焦点を当てている。
ウェブに基づくサービスの品質は、セキュリティ、サービスの公表、説明責任、追跡可能性、性能、およびサービス・インターフェース定義を含む、多くの要素に依存している。
本発明は、サービス・インターフェースの設計を対象とするものである。良いサービス・インターフェースを設計するために、サービス設計者は定義されたサービスの粒度(細かさ)を注意深く考慮しなければならない。サービスは、一方で性能およびカプセル化の理由から粒度を粗くしなければならないが、他方では、最高の柔軟性にするために粒度を細かくしなければならない。サービスの粒度が粗すぎる場合、「クライアント」が要求するよりも多くのデータがネットワークを横切って送られるが、サービスの粒度が細かすぎると、「クライアント」は必要なすべてのデータを取得するのに複数のネットワークを経由トリップしなければならない。
現在、サービス・インターフェースは、ウェブ・サービスに基づく業務プロセスの動的なオンデマンド合成を可能にするIBMのAlphaworksウェブ・サービシス・アウトソーシング・マネージャ(Alphaworks Web Services Outsourcing Manager)Alphaworks Web Services Outsourcing Manager、およびオープンJ2EEアーキテクチャをサポートする製品が提供する任意のサービスと業務プロセスとを組み合わせることのできるIBMのWebsphereアプリケーション・サーバ・エンタープライズ・プロセス・コレオグラファ(Websphere Application Server Enterprise ProcessChoreographer)Websphere Application Server Enterprise Process Choreographerなどの、リアルタイム・ツールを使用して、人間のオペレータ(設計者)によってリアルタイムで設計される。しかし、現在のところ、「クライアント」がこのようにサービスを呼び出した結果によるサービスの使用を考慮に入れて、サービス・インターフェースを自動的に生成または修正するための手段はない。
米国特許第5661668号 米国特許第6249755号 米国特許第6516288号
本発明の目的は、既存の配置構成の欠点を除去または緩和する方法およびシステムを提供することである。
本発明の具体的な目的は、前記サービスの使用に応答して、SOAでインプリメント具現化されるウェブ・サービス向けのサービス・インターフェースを自動的に生成および/または修正するための方法およびシステムを提供することである。
第1の態様では、本発明は、マシン実施可能アプリケーション向けのサービス・インターフェースを自動的に生成する方法を提供するものであって、当該方法は、前記アプリケーションに関連付けられたそれぞれのサービスを定義する複数のサービス・インターフェースを配置するステップと、前記サービス・インターフェースによって定義されたサービスの使用を記録するデータをログ記録するステップと、前記使用データから、繰り返されるサービス使用パターンを識別するステップと、前記識別された繰り返されるサービス使用パターンに応答して、新しいサービス・インターフェースを自動的に生成するステップと、を含むことを特徴とする。
マシン実施可能アプリケーションは、インターネットなどのネットワーク環境では、前記アプリケーションを含む機能を定義する複数のサービス・インターフェースによって表される。これにより、ネットワークに接続されたユーザ(クライアント)は、前記サービス・インターフェースによって定義されたサービスを呼び出すことができる。本発明のこの態様は、人間のオペレータ(設計者)がリアルタイム・ツールを使用してサービス・インターフェースを手動で設計変更する必要なしに、サービスの使用に基づいてサービスの粒度を改善するという問題に対処するものである。実際、本発明は、クライアントの使用パターンに基づいてサービス・インターフェースを自動的に最適化するための実行時のランタイム方法を提供する。
新しいサービス・インターフェースを生成するステップは、1つまたは複数の既存のサービス・インターフェースを修正するステップを含むことができる。
新しいサービス・インターフェースの生成は、既存のサービス・インターフェースの更新または修正を含むことができることを理解されよう。したがって、この状況での「新しい」という用語は、この用語がすでに存在するインターフェースから新しいサービス・インターフェースを形成することを除外しているという趣旨で、本発明の範囲を限定するものとみなされるべきではない。
当該またはそれぞれのサービス・インターフェースは、前記マシン実施可能アプリケーションを含む1つまたは複数の機能を具体化することができる。
サービスは、業務プロセスを実施するためのデータの交換またはアプリケーション・コンポーネント(機能)の論理グループ化などの単純なアプリケーション機能を含むことができる。
好ましくは、新しいサービス・インターフェースを生成するステップは、いくつかの既存のサービス・インターフェースの機能を組み合わせることを含む。
これは、初期にサービスは、最大の柔軟性を提供するために粒度が細かくなるように設計されるという前提に基づくものである。その後、サービス使用パターンによって、クライアントが通常パターンのネットワーク訪問でサービス・グループを体系的に呼び出すことが明らかになる場合がある。こうした繰り返される使用パターンに応答して、本発明の方法は、サービス・グループを含む新しいサービス・インターフェースが自動的に定義および配置され、その結果、新しいサービス・インターフェースの粒度がそのように形成され、これを呼び出すために1回のネットワーク訪問でよくなることを提案する。
サービスの使用を記録するデータをログ記録するステップには、サービス呼び出し署名を含むデータをサービス使用履歴データベースに格納することが含まれる場合がある。
好ましくは、当該サービス呼び出し署名は、サービスが実行される前および/または後にログ記録される。
さらに好ましくは、当該サービス呼び出し署名は、呼び出し側コンテキスト、タイムスタンプ、および呼び出しパラメータのうちの任意の1つまたはそれらの組み合わせに関するデータと共に、サービス使用履歴データベースに格納される。
呼び出しコンテキストータは、呼び出し者別子および呼び出し側セッション識別子を含むことができる。
発呼呼び出し者ID、呼び出し側セッションID、およびタイムスタンプを表すデータの格納および分析によって、サービス・インターフェースを最適化するための触媒の働きをするもの(catalyst)である繰り返されるサービス使用パターンの識別が、比較的簡単な処理タスクとなる。
好ましくは、繰り返されるサービス使用パターンを前記使用データから識別するステップは、サービス使用パターンを選別して、対応する細粒度サービスの対応するセットを形成するためにサービス使用パターンを見分けることを含む。
細粒度サービスは、最適化済み最適化粗粒度サービス・インターフェースを生成するための構築ブロックを形成する。
好ましくは、新しいサービス・インターフェースを生成するステップは、サービス使用パターンから選別された見分けられたいくつかの細粒度サービス・インターフェースを組み合わせることによって、新しい粗粒度サービス・インターフェースを生成することを含む。
新しい粗粒度サービス・インターフェースは、自動的に配置することができる。
別の方法として、新しい粗粒度サービス・インターフェースは、配置される前に、「予定の(To be)」粗粒度サービス定義データベースに格納される。
本発明は、最適化済み最適化サービス・インターフェースを自動的に生成することを対象としているが、本発明の方法には、適切であれば新しく生成されたサービス・インターフェースの配置に人間が関与する機会が含まれることになると予想される。
新しいサービス・インターフェースを自動的に生成するステップは、人間のオペレータ、システム管理者、およびスケジュールリング・エンジンのうちのいずれか1つによってトリガすることができる。
別の方法として、新しいサービス・インターフェースを自動的に生成するステップは、繰り返されるサービス使用パターンによって自動的にトリガされる。
好ましくは、新しいサービス・インターフェースは、サービス指向アーキテクチャ(SOA)に配置するために自動的に生成される。
他の態様では、本発明は、マシン実施可能アプリケーション向けのサービス・インターフェースを自動的に生成するためのシステムを提供するものであって、当該システムは、前記アプリケーションに関連付けられたそれぞれのサービスを定義する複数のサービス・インターフェースを配置するための手段と、前記サービス・インターフェースによって定義されたサービスの使用を記録するデータをログ記録するための手段と、前記使用データから、繰り返されるサービス使用パターンを識別するための手段と、前記識別された繰り返されるサービス使用パターンに応答して、新しいサービス・インターフェースを自動的に生成するための手段と、を含むことを特徴とする。
好ましくは、複数のサービス・インターフェースを配置するための手段は、IBM Websphereアプリケーション・サーバ Application Serverなどのサービス実行エンジンを含む。
さらに好ましくは、サービス実行エンジンはJ2EEに準拠したアプリケーション・サーバを含む。
サービス実行エンジンは、サービスの使用を記録するデータをログ記録するための手段も含み、ログ記録されたデータを格納するためのデータベースを含むことができる。
前記使用データから、繰り返されるサービス使用パターンを識別するための手段、および/または、前記識別された繰り返されるサービス使用パターンに応答して、新しいサービス・インターフェースを自動的に生成するための手段は、自律型自己最適化サービス定義コンポーネントを含むことができる。
自律型自己最適化サービス定義コンポーネントは、前記使用データから、繰り返されるサービス使用パターンを識別するための、サービス要求類似性分析部を含むことができる。
自律型自己最適化サービス定義コンポーネントは、前記識別された繰り返されるサービス使用パターンに応答して新しいサービス・インターフェースを自動的に生成するための、サービス・インターフェース成部を含むことができる。
好ましくは、自律型自己最適化サービス定義コンポーネントは、使用可能な細粒度サービス・インターフェースのためのデータベースと、既存の粗粒度サービス・インターフェースのためのデータベースのうちの、1つまたは両方を含む。
さらに好ましくは、自律型自己最適化サービス定義コンポーネントは、推論エンジンと、前記サービス・インターフェース成部を制御するための規則データベースとを含む。
本発明の他の態様では、サービス指向アーキテクチャにはマシン実施可能アプリケーション向けのサービス・インターフェースを自動的に生成するためのサービス・インターフェース生成コンポーネントがあり、これは、サービス使用データから、繰り返されるサービス使用パターンを識別するための手段と、前記識別された繰り返されるサービス使用パターンに応答して新しいサービス・インターフェースを自動的に生成するための手段と、を含むことを特徴とするものである。
好ましくは、サービス使用データから、繰り返されるサービス使用パターンを識別するための前記手段は、サービス使用パターンを選別して、対応する細粒度サービスおよび/または粗粒度サービスのセットを形成するために、サービス使用パターンを見分けるための手段を含む。
好ましくは、前記識別された繰り返されるサービス使用パターンに応答して新しいサービス・インターフェースを自動的に生成するための手段は、サービス使用パターンから選別された見分けられたいくつかの細粒度サービス・インターフェースおよび/または粗粒度サービス・インターフェースを組み合わせることによって、新しい粗粒度サービス・インターフェースを生成する。
本発明の他の態様では、前述の方法で使用するためのサービス実行エンジンが提供される。
本発明の他の態様では、前述の方法を実施するためのコンピュータ・プログラムが提供される。
本発明の他の態様では、前述の方法のコンピュータによるンプリメンテーション具現化が提供される。
本発明の前述および他の特徴は、図面を参照しながら、例として示したものに過ぎず、本発明の範囲を限定することのない以下の好ましい実施形態の説明を読めば、より容易に理解されよう。
図1を参照すると、全体として10で示された本発明のシステムは、破線12によって示されたネットワーク・インターフェースのサービス・プロバイダ(発行者)側に、クライアントがインターネットなどのウェブ実行可能ネットワーク(図示せず)を介して配置されたサービスを呼び出すことができるようにする、サービス実行エンジン14を含む。配置されたサービスは、配置されたサービス・データベース16に格納される。サービスを定義するサービス・インターフェースは、それらの間に1つまたは複数のサービス・プロバイダ業務プロセスまたはアプリケーションを含むことができる。実行エンジン14は、たとえばIBM Websphereアプリケーション・サーバ Application Serverまたは任意のJ2EE準拠サーバを含むことができる。さらにネットワーク・インターフェース12のサービス・プロバイダ側には、配置されたサービスを管理するためのサービス管理者18も置くことができる。サービス管理者18は人間のオペレータも可能であるが、インテリジェント・ソフトウェア・エージェントでもこの役割を果たすことができる。配置されることになる新しいサービスを設計するための設計者20には、ウェブ・サービスに基づく業務プロセスの動的なオンデマンド合成を可能にするIBMのAlphaworksウェブ・サービシス・アウトソーシング・マネージャ Web Services Outsourcing Manager、およびオープンJ2EEアーキテクチャをサポートする製品によって提供される任意のサービスと業務プロセスとを組み合わせることのできるIBMのWebsphereアプリケーション・サーバ・エンタープライズ・プロセス・コレオグラファ Application Server Enterprise Process Choreographerなどの、リアルタイム設計ツールを採用する、知られたリアルタイム技法に従って新しいサービスを設計する人間のオペレータが含まれる。ネットワーク・インターフェース12のクライアント側には、既存のサービス定義を使用して新しいアプリケーションを開発するための、クライアント・アプリケーション・プログラマ22を置くことができる。サービス・プロバイダの設計者20の場合と同様に、これにはリアルタイム・モードで働く人間のオペレータが含まれる。したがって、これまでに述べた配置構成に新たなものはなく、こうした配置構成は当業者には周知であることを理解されよう。
本発明に従ったシステムには、自律型自己最適化サービス定義コンポーネントとも呼ばれるサービス・インターフェース生成コンポーネント24が含まれる。このコンポーネント24の目的は、識別された繰り返されるクライアント使用パターンに基づいて新しいサービス・インターフェースを自動的に生成することである。したがって以下の説明からより明らかになるように、このコンポーネントはシステムの他のコンポーネントと協力して、新しいサービス・インターフェースをランタイム・モードで自動的に生成および配置することができる。
図2では、サービス・インターフェース生成コンポーネント24およびシステムの他のコンポーネントとの話の構造も見ることができる。サービス・インターフェース生成コンポーネント24は、サービス要求類似性分析部6、推論エンジン28、規則データベース30、および適化サービス生成部32を含む。レポート成部34を含むこともできる。サービス・インターフェース生成コンポーネント24のコンポーネントは、規則データベース34を除いて、すべてがソフトウェア・コンポーネントとしてインプリメント具現化される。サービス要求類似性析部26はウェブ・サイト析部と等価であるが、ウェブ・サイトの使用統計量(ウェブ・サイト・ログ)を処理しないという点が異なる。サービス要求類似性分析部26は、サービス実行エンジン14によって呼び出されたウェブ・サービスの使用統計量を分析する。推論エンジン28は、Versataロジック・スイート(Versata Logic Suite)Logic Suiteの一部を形成するVersata論理エンジン、またはIBMのWebsphereアプリケーション・サーバ Application Serverの一部を形成するIBMのWebsphere ビジネス・ルールズ・ビーン(Websphere Business Rules Bean)business rules beanなどの、市販の推論エンジン(規則に基づくエンジン)を使用してインプリメント具現化することができる。適化サービス成部32には、典型的にはWDSLのようなサービス定義を生成するための推論エンジン28処理の結果を取るコード生成部・ジェネレータが含まれる。レポート成部34は、推論エンジン28処理の結果を人間が理解可能な形で生成する。これらのレポートは、「予定の」適化粗粒度サービス定義データベース44のコンテンツへのリンクを有する。「定の」粗粒度サービス定義データベース44は、分析されたサービス使用パターンに応答して生成される新しいサービス・インターフェースを含む。たとえばサービス使用レポートは、特定のサービスによって公開される演算OxおよびOyが、これらの演算の90%のケースがOx+yのシーケンスで呼び出されることから、1つの演算Ox+yにまとめられることを示す場合がある。
定の」粗粒度サービス定義データベース44に加えて、サービス・インターフェース生成コンポーネント24は、累積サービス使用履歴データベース36、「状のままの」粗粒度サービス定義データベース40、使用可能な細粒度エンタープライズ・サービスータベース42、およびレポート6にリンクされる。
サービス定義データベース36、40、42、および44はそれぞれ、リレーショナル・データベース、XMLフラット・ファイル、およびレポート用のPlus Word処理を使用してインプリメント具現化可能な、構造化データ・ストアを含む。
累積サービス使用履歴データベース6は、ウェブ・サイト・ログと等価であるが、本発明では、これらには代わりにェブ・サービス・ログが含まれる。これらは、プロセスに何の知的性インテリジェンスも追加することなく、ウェブ・サービス使用に関して生じたことを記録するだけであるという意味において、低レベルのログである。
サービス・インターフェース生成コンポーネント24のサービス要求類似性アナライザ分析部26は、1つの入力で、サービス実行エンジン14のサービス使用ログ記録機能38によってログ記録されたサービス使用データを格納する、累積サービス使用履歴データベース36に接続される。累積サービス使用履歴データベース36に格納された使用データは、本発明に従って新しいサービス・インターフェースを自動的に生成する方法の1ステップとして、繰り返されるクライアント使用パターンを識別するために分析される。他の入力として、サービス要求類似性析部26が「状のままの」粗粒度サービス定義データベース40に接続される。「状のままの」粗粒度サービス定義データベース40は、間接的に推論エンジンの入力である。「状のままの」粗粒度サービス定義データベース40は、図1では別々のデータベースとして示されているが、配置されたサービス・データベース16(図)と同じ1つのデータベースである。
サービス要求類似性析部26は、サービス・インターフェースでどの演算が使用されたかおよび使用されなかったか、どの演算が(推論エンジンがより大きな粗粒度サービスを提案するのを助けるために)相互に相関付けられているか、所与の演算に使用されるパラメータの数(推論エンジンが粗粒度サービスのサイズを減じることができるようにするため)、などに関する統計量を、推論エンジン28に提供する。したがって、サービス要求類似性析部26の出力は、「状のままの」粗粒度サービス定義データベース40のスーパーセットとみなすことができる。
推論エンジン28は、他の入力として、使用可能な細粒度エンタープライズ・サービスデータベース42への接続を有する。細粒度エンタープライズ・サービスは、配置されたサービス・データベース16、または/「状のままの」サービス・データベース16/40でウェブ・タイプ・サービスとして使用できるようになっている業務アプリケーション/プロセスを含む方法/サービス要素を定義する、基本的なリアルタイム設計のサービス・インターフェースを含む。
推論エンジン28への最終入力は、推論エンジン28のオペレーションを規定する規則を定義する、規則データベース30への接続である。規則データベース30は、リレーショナル・データベース、XMLフラット・ファイル、およびレポート用のPlus Word処理を使用してインプリメント具現化可能な、構造化データ・ストアを含む。たとえこの発明をインプリメント具現化するシステムに事前にパッケージされた規則セットが付属している場合であっても、この規則はある業務に極めて特有のものとすることもできる。事前にパッケージされた規則は、以下のような標準サービスの再度の再因子因数分解(refactorization)規則である場合がある。
・サービス演算OxおよびOyが、90%のケースでユーザの90%によって2秒以内に順序どおり使用される場合、新しいサービス演算Ox+yを提案する。
・サービス演算OxでパラメータPxが90%のユーザによって使用されない場合、このパラメータなしで新しいサービス演算を提案する。
業務特有の規則は、たとえば以下のような場合がある。
・マーケティング・キャンペーン開始後3ヶ月の間に、サービス「Car Gold Warranty(車両ゴールド保証)」と「Car Special Insurance(車両特別保険)」との間に、相関関係を見つける。
推論エンジン出力は、提案された(または「定の」)粗粒度サービス定義を「定の」粗粒度サービス定義データベース44に出力する、最適化サービス成部32の入力と接続される。推論エンジンは、レポートを生成するためにレポート成部34に接続することもできる。
図3に示されるように、本発明の方法は、IBMのAlphaworksウェブ・サービシス・アウトソーシング・マネージャ Web Services Outsourcing Managerなどのリアルタイム・ツールをリアルタイムで使用してサービス・インターフェースを手動で設計する、知られた方法の上に構築され、クライアントのサービス使用のログ記録の第1の方法部分50と、使用データの分析、および前記使用データから識別された繰り返される使用パターンに応答した新しいサービス・インターフェース(定義)の自動生成の2の方法部分52とを含む。サービス・インターフェース生成コンポーネント24によって自動的に生成された新しいサービス定義を配置するか、または別の方法として、新しいサービス・インターフェースが追加の手動設計を必要とすると決定(図3の決定ポイント54)し、配置されたサービス・データベース16/「状のままの」データベース16/40に転送される前に手動で処理するために「定の」粗粒度サービス定義データベース44に向けて送ることができる。この決定ポイントは常に手動である。
図4を参照すると、第1の方法部分50には、サービス実行エンジン14によって実行されるサービス呼び出し検出ステップ56が含まれる。サービス呼び出し検出は、IBMのWebsphereアプリケーション・サーバ Application Serverなどのサービス実行エンジンの既存の機能である。第1の方法部分50の第2のステップ58として、サービス呼び出しデータはログ記録され、サービス使用履歴データベース36に格納される。呼び出しデータには、発呼呼び出し者識別子(たとえば<bank account number(銀行口座番号)>、<warrantynumber(保証番号)>、<user id(ユーザID)+purchase order id(購入注文ID)>)、呼び出し側セッション識別子(たとえば、所与のユーザ(ユーザIDによって識別される)によって購入される本などについてのすべてのオペレーションに関する<book serial number(本の通し番号)>、または何人かのユーザ(ユーザIDによって識別される)間での所与の主題に関する考察にまつわるすべてのオペレーションなどに関する<discussion thread id(協議考察スレッドID)>)、呼び出し前タイムスタンプ、および呼び出し後タイムスタンプ、のうちの、1つまたは任意の組み合わせを含む、いくつかのデータ要素(パラメータ)が含まれる場合がある。呼び出し入力パラメータはサービス呼び出し者によって設定されるものであるのに対して、出力パラメータはサービス・サーバによって返されるものである。たとえばウェブ・サービス定義言語Web Service Definition Language(WSDL: Web Service Definition Language)は、特定のオペレーションに関する入力および出力パラメータを明示的に定義する。この点に関して、「requestServiceDownload」と呼ばれるオペレーションに関するJavaソース・コードの一例を以下に示す。
Figure 0004496067
サービス呼び出しデータを取り込む(ログ記録および格納する)ための具体的な知られた配置構成の1つが、図5に示される。これは、Apache Axisエンジンを利用するものである。サービス呼び出しデータ取り込みメカニズムは、1つのAxis要求ハンドラおよび1つのAxis応答ハンドラからなる。どちらも知られた方法で、呼び出し側コンテキスト全体を取り込んで累積使用履歴データベース36にログ記録する。図6は、Apache Axisエンジンを使用してこの呼び出しデータ取り込み方法を実施するための、Javaソース・コードの一例を提供するものである。
本発明の第2の方法部分52は、図7に概略的に示されている。これには、たとえばスケジュールリング・エンジン(図示せず)またはサービス管理者18によるサービス・インターフェース生成コンポーネント24のトリガの、ステップ70で始まる一連のステップが含まれる。別の方法としては、矛盾が識別された場合にサービス・インターフェース生成コンポーネント24を自動的にトリガすることができる。矛盾は、呼び出されているサービスが、サービス設計者の予想した方法で使用されているかどうかを判別するプロセスを介して識別することができる。これは、サービスが実際に使用されている方法と予想された使用方法とを比較することによって判別することができる。この比較は、「状のままの」粗粒度サービス定義データベース40および「定の」粗粒度サービス定義データベース44の、監視プロセスの結果として生じる。矛盾は、前記データベースそれぞれに含まれるサービス・インターフェース(定義)の数、およびそれらサービス・インターフェースのコンテンツを比較することによって発見される。この監視プロセスによって、2つのデータベースのコンテンツがもはや同一ではない、またはほとんど同一ではないことが明らかになった場合、これは矛盾であると認識され、サービス・インターフェース生成コンポーネント24をトリガするために使用される。2つのデータベース40、44のコンテンツの監視プロセスは、サービス実行エンジン14によって実行することができる。
次のステップ72では、格納されたサービス使用データがサービス要求類似性析部26によって読み取られ、これがステップ74で前記データを分析し、繰り返されるサービス使用パターンを識別および判別する。繰り返される使用パターンを識別するステップは、一般に、米国特許第5661668号、米国特許第6249755号、または米国特許第6516288号で教示された方式のいずれか1つに従って実施することができる。
識別された繰り返される使用パターンそれぞれについて(ステップ76)、推論エンジン28は、サービス使用パターンを選別して、前記使用パターンを含む対応する細粒度サービスを識別するために、サービス使用パターンを見分ける(ステップ76a)。これらは、細粒度サービス定義の振り付け(choreographing)によって、最適化を介して粗粒度サービス定義を生成するために、推論エンジン28によりる呼び出し側コンテキストにおける非同一なものの間の(disjoint)を相関をとって、細粒度サービス定義の振り付けによって、最適化を介して粗粒度サービス定義を生成することによって、細粒度サービス呼び出しのグラフとして再編成される(ステップ76b)。使用パターンをグラフとして有する細粒度サービスの編成は、ウェブ・サービス用のビジネス・プロセス実行言語Business Process Execution Languageで記述することができる。以下のような2種類のサービス使用パターンがある。
・ 同じ呼び出し側コンテキストを共有するいくつかのサービス呼び出しを識別するパターンであって、結果としてさらに大きな粗粒度サービスを作成する可能性を生み出す。
・ 部分的なサービス・インターフェース使用を識別するパターンであって、結果として単一の細粒度サービスに戻る際の制限によって、粗粒度サービスの機能を低下させる可能性を生み出す。
新しい粗粒度サービス定義(インターフェース)は、「定の」粗粒度サービス定義データベース44に格納され(ステップ76c)、ここで、その後新しいサービス定義を配置するために配置済みのサービス・データベース16に転送するか、または、配置できるようにするために何らかの追加の手動設計が必要であるかどうかが決定される(第1の方法部分50、決定ポイント54)。最終ステップ78は、サービス管理者18および/またはサービス設計者20が再検討できるレポートを生成するためのものである場合がある。
本発明は、新しいサービス定義を自動的に生成するためにログ記録されたサービス使用データを使用するものであって、前記新しいサービス定義は1つまたは複数の使用可能な細粒度サービス定義を含む。
本発明に従ってサービス・インターフェースを自動的に生成するためのシステムを示す概略ブロック図である。 図1のシステムのービス・インターフェース生成コンポーネントを示す概略ブロック図である。 本発明に従った方法を示す流れ図である。 本発明に従った方法の第1の部分を含むステップを示す概略ブロック図である。 本発明に従った方法の第1の部分のサービス呼び出しデータ取り込みステップの一実施を、より詳細に示す概略ブロック図である。 図5のサービス呼び出しデータ取り込みステップを実施するためのJavaソース・コードの例を含む図である。 本発明従った方法の第2の部分を含むステップを示す概略ブロック図である。
符号の説明
26 サービス要求類似性析部
28 推論エンジン
30 規則
32 適化サービス成部
34 レポート成部
36 累積サービス使用履歴データベース
40 「状のままの」粗粒度サービス定義データベース
42 使用可能な細粒度エンタープライズ・サービス定義データベース
44 「定の」粗粒度サービス定義データベース
46 レポート

Claims (23)

  1. サービス指向アーキテクチャにおいて業務プロセスのサービスを呼び出すクライアントと、当該サービスを提供するプロバイダとの間の、マシン実施可能なアプリケーション向けのサービス・インターフェースを自動的に生成する方法であって、
    前記アプリケーションを連携した業務プロセスのサービスを、サービス指向アーキテクチャにおける複数のサービス・インターフェースとして配置するステップと、
    前記サービス・インターフェースによって定義されたサービスの使用を記録するサービス使用データをログ記録するステップと、
    前記サービス使用データから、繰り返されるサービス使用パターンを選別して、対応する細粒度および/または粗粒度サービスの対応するセットを形成するために前記サービス使用パターンを見分けるステップと、
    識別された繰り返されるサービス使用パターンに応答して、前記サービス使用パターンから選別し見分けられたいくつかの細粒度および/または粗粒度サービス・インターフェースを組み合わせることによって、新しい粗粒度サービス・インターフェースを生成するステップと、
    を含む方法。
  2. 前記新しいサービス・インターフェースを自動的に生成するステップが、1つまたは複数の既存のサービス・インターフェースを修正するステップを含むものである、請求項1に記載の方法。
  3. 前記新しいサービス・インターフェースが、前記アプリケーションを含む1つまたは複数の機能を具体化するものである、請求項1に記載の方法。
  4. 前記新しいサービス・インターフェースを自動的に生成するステップが、いくつかの既存のサービス・インターフェースの機能を組み合わせるステップを含むものである、請求項3に記載の方法。
  5. 前記サービスの使用を記録するデータをログ記録するステップが、サービス呼び出し署名を含むデータをサービス使用履歴データベースに格納するステップを含むものである、請求項1に記載の方法。
  6. 前記サービス呼び出し署名が、前記サービスが実行される前および後にログ記録されるものである、請求項5に記載の方法。
  7. 前記サービス呼び出し署名のデータが、呼び出し側コンテキスト、タイムスタンプ、および呼び出しパラメータのうちの任意の1つまたはそれらの組み合わせに関するデータと共に、前記サービス使用履歴データベースに格納されるものである、請求項5に記載の方法。
  8. 前記呼び出し側コンテキストデータが、呼び出し者識別子および呼び出し側セッション識別子を含むものである、請求項7に記載の方法。
  9. 名前、電話番号、および電子メール・アドレスのうちのいずれか1つまたはそれらの組み合わせを含む呼び出し者データを取り出すために、呼び出し者識別子データベースに接続するステップを含む、請求項8に記載の方法。
  10. 前記新しい粗粒度サービス・インターフェースが、配置済みのサービス・データベースに配置されるものである、請求項1に記載の方法。
  11. 前記新しい粗粒度サービス・インターフェースが、配置される前に、「予定の」粗粒度サービス定義データベースに格納されるものである、請求項10に記載の方法。
  12. 前記新しい粗粒度サービス・インターフェースを自動的に生成する前記ステップが、人間のオペレータ、システム管理者、およびスケジュールリング・エンジンのうちのいずれか1つ、またはそれらの組み合わせによってトリガされるものである、請求項1に記載の方法。
  13. 前記新しい粗粒度サービス・インターフェースを自動的に生成する前記ステップが、繰り返されるサービス使用パターンによって自動的にトリガされるものである、請求項1に記載の方法。
  14. 前記新しい粗粒度サービス・インターフェースが、サービス指向アーキテクチャ(SOA)に配置するために自動的に生成される、請求項1に記載の方法。
  15. サービス指向アーキテクチャにおいて業務プロセスのサービスを呼び出すクライアントと、当該サービスを提供するプロバイダとの間の、マシン実施可能なアプリケーション向けのサービス・インターフェースを自動的に生成するためのシステムであって、
    前記アプリケーションを連携した業務プロセスのサービスを、サービス指向アーキテクチャにおける複数のサービス・インターフェースとして配置し、前記サービス・インターフェースによって定義されたサービスの使用を記録するデータをログ記録するサービス実行エンジンと、
    ログ記録されたサービス使用データを格納するためのサービス履歴使用データベースと、
    前記サービス使用データから、繰り返されるサービス使用パターンを識別するための、サービス要求分析部と、
    識別された繰り返されるサービス使用パターンに応答して、使用可能な細粒度サービス・インターフェースのためのデータベースと、既存の粗粒度サービス・インターフェースのためのデータベースとを含むものである自律型自己最適化サービス定義コンポーネントにより新しいサービス・インターフェースを自動的に生成するサービス・インターフェース生成部と、
    を含む、システム。
  16. 前記サービス実行エンジンがJ2EEに準拠したアプリケーション・サーバを含むものである、請求項15に記載のシステム。
  17. 前記自律型自己最適化サービス定義コンポーネントが、推論エンジンと、前記サービス・インターフェース生成部を制御するための規則データベースとを含むものである、請求項16に記載のシステム。
  18. サービス指向アーキテクチャにおいて業務プロセスのサービスを呼び出すクライアントと、当該サービスを提供するプロバイダとの間の、マシン実施可能なアプリケーション向けのサービス・インターフェースを自動的に生成するためのシステムであって、
    前記アプリケーションを連携した業務プロセスのサービスを、サービス指向アーキテクチャにおける複数のサービス・インターフェースとして配置するための手段と、
    前記サービス・インターフェースによって定義された前記サービスの使用を記録するサービス使用データをログ記録するための手段と、
    前記サービス使用データから、繰り返されるサービス使用パターンを選別して、対応する細粒度および/または粗粒度サービスの対応するセットを形成するために前記サービス使用パターンを見分ける手段と、
    識別された繰り返されるサービス使用パターンに応答して、前記サービス使用パターンから選別し見分けられたいくつかの細粒度および/または粗粒度サービス・インターフェースを組み合わせることによって、新しい粗粒度サービス・インターフェースを生成するための手段と、
    を含む、システム。
  19. 前記複数のサービス・インターフェースを配置するための前記手段がサービス実行エンジンを含むものである、請求項18に記載のシステム。
  20. サービス指向アーキテクチャにおいて業務プロセスのサービスを呼び出すクライアントと、当該サービスを提供するプロバイダとの間の、マシン実施可能なアプリケーション向けのサービス・インターフェースを自動的に生成するためのサービス・インターフェース生成装置であって、
    前記サービス指向アーキテクチャにおけるサービス・インターフェースは、前記アプリケーションを連携して業務プロセスのサービスを提供するものであり、
    A)サービス使用データから、繰り返されるサービス使用パターンを選別して、対応する細粒度および/または粗粒度サービスの対応するセットを形成するために前記サービス使用パターンを見分けるため、および
    B)識別された繰り返されるサービス使用パターンに応答して、前記サービス使用パターンから選別し見分けられたいくつかの細粒度および/または粗粒度サービス・インターフェースを組み合わせることによって、新しい粗粒度サービス・インターフェースを生成して、新しいサービス・インターフェースを自動的に生成するための、
    サービス実行エンジンを含むものである、サービス・インターフェース生成装置。
  21. サービス指向アーキテクチャにおいて業務プロセスのサービスを呼び出すクライアントと、当該サービスを提供するプロバイダとの間の、マシン実施可能なアプリケーション向けのサービス・インターフェースを自動的に生成するためのサービス・インターフェース生成装置であって、
    前記サービス指向アーキテクチャにおけるサービス・インターフェースは、前記アプリケーションを連携して業務プロセスのサービスを提供するものであり、
    サービス使用データから、繰り返されるサービス使用パターンを選別して、対応する細粒度および/または粗粒度サービスの対応するセットを形成するために前記サービス使用パターンを見分ける手段と、
    識別された繰り返されるサービス使用パターンに応答して、前記サービス使用パターンから選別し見分けられたいくつかの細粒度および/または粗粒度サービス・インターフェースを組み合わせることによって、新しい粗粒度サービス・インターフェースを生成するための手段と、
    を含む、サービス・インターフェース生成装置。
  22. サービス指向アーキテクチャにおいて業務プロセスのサービスを呼び出すクライアントと、当該サービスを提供するプロバイダとの間の、マシン実施可能なアプリケーション向けのサービス・インターフェースを自動的に生成する方法を実行するように配置構成された、サービス実行装置であって、
    前記アプリケーションを連携した業務プロセスのサービスを、サービス指向アーキテクチャにおける複数のサービス・インターフェースとして配置する手段と、
    前記サービス・インターフェースによって定義されたサービスの使用を記録するサービス使用データをログ記録する手段と、
    前記サービス使用データから、繰り返されるサービス使用パターンを選別して、対応する細粒度および/または粗粒度サービスの対応するセットを形成するために前記サービス使用パターンを見分ける手段と、
    識別された繰り返されるサービス使用パターンに応答して、前記サービス使用パターンから選別し見分けられたいくつかの細粒度および/または粗粒度サービス・インターフェースを組み合わせることによって、新しい粗粒度サービス・インターフェースを生成するための手段と、
    を含む、サービス実行装置。
  23. サービス指向アーキテクチャにおいて業務プロセスのサービスを呼び出すクライアントと、当該サービスを提供するプロバイダとの間の、マシン実施可能なアプリケーション向けのサービス・インターフェースをコンピュータに自動的に生成させるためのコンピュータ・プログラムであって、
    前記アプリケーションを連携した業務プロセスのサービスを、サービス指向アーキテクチャにおける複数のサービス・インターフェースとして配置するステップと、
    前記サービス・インターフェースによって定義されたサービスの使用を記録するサービス使用データをログ記録するステップと、
    前記サービス使用データから、繰り返されるサービス使用パターンを選別して、対応する細粒度および/または粗粒度サービスの対応するセットを形成するために前記サービス使用パターンを見分けるステップと、
    識別された繰り返されるサービス使用パターンに応答して、前記サービス使用パターンから選別し見分けられたいくつかの細粒度および/または粗粒度サービス・インターフェースを組み合わせることによって、新しい粗粒度サービス・インターフェースを生成するステップと、
    を含む、コンピュータ・プログラム。
JP2004354945A 2003-12-10 2004-12-08 サービス指向アーキテクチャ向けのサービス・インターフェースを自動的に生成するための方法およびシステム Expired - Fee Related JP4496067B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP03368113 2003-12-10

Publications (2)

Publication Number Publication Date
JP2006012113A JP2006012113A (ja) 2006-01-12
JP4496067B2 true JP4496067B2 (ja) 2010-07-07

Family

ID=34639356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004354945A Expired - Fee Related JP4496067B2 (ja) 2003-12-10 2004-12-08 サービス指向アーキテクチャ向けのサービス・インターフェースを自動的に生成するための方法およびシステム

Country Status (6)

Country Link
US (1) US20050132381A1 (ja)
EP (1) EP1542123B1 (ja)
JP (1) JP4496067B2 (ja)
KR (1) KR100724522B1 (ja)
AT (1) ATE384994T1 (ja)
DE (1) DE602004011455T2 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060159077A1 (en) * 2004-08-20 2006-07-20 Vanecek George Jr Service-oriented middleware for managing interoperability of heterogeneous elements of integrated systems
DE102004054648A1 (de) 2004-11-11 2006-05-24 Francotyp-Postalia Ag & Co. Kg Verfahren zum Bereitstellen von Diensten zwischen Datenverarbeitungseinrichtungen
US7886019B2 (en) * 2006-08-31 2011-02-08 International Business Machines Corporation Service oriented architecture automation by cab or taxi design pattern and method
DE602006014831D1 (de) * 2006-09-13 2010-07-22 Alcatel Lucent Verkettung von Web Services
US8375362B1 (en) * 2006-11-28 2013-02-12 Emc Corporation Wizard for web service search adapter
US8046419B2 (en) * 2006-12-01 2011-10-25 Electronics And Telecommunications Research Institute Method of processing open asynchronous application service event and open web service gateway implementing the same
US20080172621A1 (en) * 2007-01-11 2008-07-17 International Business Machines Corporation Augmenting service description with expected usage information
US9098799B2 (en) 2007-03-29 2015-08-04 International Business Machines Corporation Tooling for implementing business processes using web services
US7596583B2 (en) * 2007-03-29 2009-09-29 International Business Machines Corporation Dynamic learning in redesigning a composition of web services
US8904341B2 (en) 2007-04-30 2014-12-02 Hewlett-Packard Development Company, L.P. Deriving grounded model of business process suitable for automatic deployment
US7768944B2 (en) * 2007-05-18 2010-08-03 International Business Machines Corporation Technique for defining and dynamically enabling service level requirements in a service oriented architecture
US7958142B2 (en) * 2007-09-20 2011-06-07 Microsoft Corporation User profile aggregation
US8005786B2 (en) * 2007-09-20 2011-08-23 Microsoft Corporation Role-based user tracking in service usage
CN101946260A (zh) * 2007-12-20 2011-01-12 惠普开发有限公司 对基于计算机的业务过程进行建模以用于定制和递送
US8893141B2 (en) * 2008-01-28 2014-11-18 Microsoft Corporation System and method for describing applications for manageability and efficient scale-up deployment
US8583610B2 (en) * 2008-03-04 2013-11-12 International Business Machines Corporation Dynamically extending a plurality of manageability capabilities of it resources through the use of manageability aspects
US8413107B2 (en) * 2008-07-15 2013-04-02 Hewlett-Packard Development Company, L.P. Architecture for service oriented architecture (SOA) software factories
US8341212B2 (en) * 2008-10-30 2012-12-25 International Business Machines Corporation Service description refinement based on actual service use
US8312419B2 (en) 2008-10-30 2012-11-13 Hewlett-Packard Development Company, L.P. Automated lifecycle management of a computer implemented service
US8291479B2 (en) * 2008-11-12 2012-10-16 International Business Machines Corporation Method, hardware product, and computer program product for optimizing security in the context of credential transformation services
US20100153432A1 (en) * 2008-12-11 2010-06-17 Sap Ag Object based modeling for software application query generation
US8392567B2 (en) 2009-03-16 2013-03-05 International Business Machines Corporation Discovering and identifying manageable information technology resources
US9253020B2 (en) * 2009-06-11 2016-02-02 International Business Machines Corporation Web service interaction in a dynamically extensible business application
US8533230B2 (en) * 2009-06-24 2013-09-10 International Business Machines Corporation Expressing manageable resource topology graphs as dynamic stateful resources
US8788513B2 (en) * 2009-10-30 2014-07-22 Dassault Systemes Americas Corp. Computer method and system providing access to data of a target system
CA2684353A1 (en) 2009-11-04 2011-05-04 Ibm Canada Limited - Ibm Canada Limitee Identifying implicit services links using service usage information
KR101363561B1 (ko) * 2009-11-18 2014-02-14 한국전자통신연구원 웹을 통한 응용서비스 생명주기 관리를 위한 soa 기반 서비스 플랫폼 시스템
US8930935B2 (en) * 2009-12-28 2015-01-06 Verizon Patent And Licensing Inc. Composite service refactoring
US20120159341A1 (en) 2010-12-21 2012-06-21 Microsoft Corporation Interactions with contextual and task-based computing environments
US9818068B2 (en) 2011-04-01 2017-11-14 International Business Machines Corporation Metrics based design method and system
US8640082B2 (en) * 2011-08-31 2014-01-28 International Business Machines Corporation Specifying data occurrence in SOA based environments
WO2013090834A1 (en) * 2011-12-14 2013-06-20 Seven Networks, Inc. Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
US8700737B2 (en) * 2012-05-31 2014-04-15 Xerox Corporation Automated method for generating a web service composition
GB2509723A (en) * 2013-01-10 2014-07-16 Ibm Invoking web services that are determined at the time of execution
WO2016070064A1 (en) 2014-10-31 2016-05-06 Convida Wireless, Llc Managing application relationships in machine-to-machine systems
AU2017312808A1 (en) * 2016-08-19 2019-01-31 Visa International Service Association Automated access data change detection
US10673973B2 (en) * 2018-09-12 2020-06-02 International Business Machines Corporation Multiple vendor services oriented architecture (SOA) service requesting proxy
US10838774B2 (en) * 2018-10-23 2020-11-17 Ibs Software Fz-Llc Method and a system for facilitating multitenancy of services
CN112306475A (zh) * 2020-11-02 2021-02-02 平安普惠企业管理有限公司 通用接口的配置方法、装置、设备及存储介质
US20220237540A1 (en) * 2021-01-22 2022-07-28 International Business Machines Corporation User performance analysis and correction for s/w

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2768412B2 (ja) * 1992-07-15 1998-06-25 財団法人ニューメディア開発協会 ユ−ザ適応型システムおよびその適応方法
US6189141B1 (en) * 1998-05-04 2001-02-13 Hewlett-Packard Company Control path evaluating trace designator with dynamically adjustable thresholds for activation of tracing for high (hot) activity and low (cold) activity of flow control
US6467052B1 (en) 1999-06-03 2002-10-15 Microsoft Corporation Method and apparatus for analyzing performance of data processing system
US6487052B1 (en) * 1999-10-12 2002-11-26 Seagate Technology Llc Non-contact magnetic latch for disc drive actuator
JP2002229791A (ja) 2001-01-31 2002-08-16 Denso Corp インターフェース生成装置、プログラム及び記録媒体
US7174363B1 (en) * 2001-02-22 2007-02-06 Charles Schwab & Co., Inc. Distributed computing system architecture
US20020178254A1 (en) * 2001-05-23 2002-11-28 International Business Machines Corporation Dynamic deployment of services in a computing network
US7822860B2 (en) * 2001-12-11 2010-10-26 International Business Machines Corporation Method and apparatus for dynamic reconfiguration of web services infrastructure
US20040006653A1 (en) * 2002-06-27 2004-01-08 Yury Kamen Method and system for wrapping existing web-based applications producing web services
US7945860B2 (en) * 2003-05-14 2011-05-17 Hewlett-Packard Development Company, L.P. Systems and methods for managing conversations between information technology resources

Also Published As

Publication number Publication date
US20050132381A1 (en) 2005-06-16
JP2006012113A (ja) 2006-01-12
DE602004011455T2 (de) 2009-01-22
DE602004011455D1 (de) 2008-03-13
ATE384994T1 (de) 2008-02-15
KR20050056855A (ko) 2005-06-16
KR100724522B1 (ko) 2007-06-04
EP1542123B1 (en) 2008-01-23
EP1542123A3 (en) 2005-07-06
EP1542123A2 (en) 2005-06-15

Similar Documents

Publication Publication Date Title
JP4496067B2 (ja) サービス指向アーキテクチャ向けのサービス・インターフェースを自動的に生成するための方法およびシステム
US7627631B2 (en) Systems and methods for collaborative business plug-ins
Dustdar et al. A survey on web services composition
US7840934B2 (en) Method and system for integrating workflow management systems with business-to-business interaction standards
US8645175B1 (en) Workflow system and method for single call batch processing of collections of database records
US8065657B2 (en) Exchange infrastructure system and method
US20060224702A1 (en) Local workflows in a business process management system
Khalaf et al. Business processes for Web Services: Principles and applications
US20100275210A1 (en) Execution engine for business processes
Rammer Advanced. Net Remoting (C# Edition)
US20060074714A1 (en) Workflow tracking based on profiles
US20060224428A1 (en) Ad-hoc and priority-based business process execution
EP1662383A2 (en) Prescriptive architecture for application development
US20040205187A1 (en) Correlation of web service interactions in composite web services
WO2007028994A1 (en) Improvements in and relating to service oriented architecture
EP2492806A1 (en) Unified interface for meta model checking, modifying, and reporting
Kreger et al. Java and JMX: building manageable systems
Ezenwoye et al. Enabling Robustness in Existing BPEL Processes.
Zou et al. Building business processes or assembling service components: Reuse services with BPEL4WS and SCA
US20030208641A1 (en) Software components as virtual processors
Castro et al. Requirements traceability in agent oriented development
Müller et al. Programming software agents as designing executable business processes: a model-driven perspective
CA2544669C (en) Prescriptive architecture for application development
Lange et al. Assessing workflow languages for composition of real-time communication services
JP2006526189A (ja) ウエブサービスブローカー

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070416

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20070416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070417

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070828

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071003

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100310

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20100407

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100412

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees