JPWO2004061652A1 - Integrated service provision server - Google Patents

Integrated service provision server Download PDF

Info

Publication number
JPWO2004061652A1
JPWO2004061652A1 JP2004564444A JP2004564444A JPWO2004061652A1 JP WO2004061652 A1 JPWO2004061652 A1 JP WO2004061652A1 JP 2004564444 A JP2004564444 A JP 2004564444A JP 2004564444 A JP2004564444 A JP 2004564444A JP WO2004061652 A1 JPWO2004061652 A1 JP WO2004061652A1
Authority
JP
Japan
Prior art keywords
execution
component
function
software
software component
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
Application number
JP2004564444A
Other languages
Japanese (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2004061652A1 publication Critical patent/JPWO2004061652A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • 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/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

ソフトウェア部品を統合したソフトウェアを、ネットワークを介して接続されたクライアントからの要求に応じて提供する統合サービス提供サーバであって、ソフトウェア部品の部品機能を蓄積するとともに、複数の部品機能から構成される機能フローを蓄積し、機能フローの実績とソフトウェア部品の実績と蓄積し、機能フローの候補の中から実行する機能フローを実績に基づいて選択し、機能フローを構成するソフトウェア部品の候補の中から実行するソフトウェア部品を実績に基づいて選択し、実行するソフトウェア部品の実行を行い、ソフトウェア部品の評価結果と機能フローの評価結果とを蓄積し、実行結果をクライアントへ送信する。An integrated service providing server that provides software integrated with software components in response to a request from a client connected via a network, and stores the component functions of the software components and is configured by a plurality of component functions. Accumulate functional flows, accumulate functional flow results and software component results, select the functional flow to be executed from the functional flow candidates based on the actual results, and select from the software component candidates that constitute the functional flow The software component to be executed is selected based on the results, the software component to be executed is executed, the evaluation result of the software component and the evaluation result of the function flow are accumulated, and the execution result is transmitted to the client.

Description

本発明は、クライアントからの要求に応じて、ネットワーク上で動作するソフトウェア部品を統合して提供する際に、蓄積された実績に基づいてソフトウェア部品の選択や組み合わせを適切に行う統合サービス提供サーバ、統合サービス提供システム、統合サービス提供方法、統合サービス提供プログラムに関するものである。  The present invention provides an integrated service providing server that appropriately selects and combines software components based on accumulated results when software components operating on a network are integrated and provided in response to a request from a client, The present invention relates to an integrated service providing system, an integrated service providing method, and an integrated service providing program.

現在、インターネット上で様々なWebサービスが実現の過程にある。ここで、Webサービスとは、従来のような人間に見せるWebページを使ったオンラインサービスのことではなく、ソフトウェア同士がインターネットを介してやりとりをする仕組みや、そのようなインタラクションの仕組みを持ったソフトウェア部品のことを指す。
現在、SOAP(Simple Object Access Protocol)、UDDI(Universal Description Discovery and Integration)、WSDL(Web Services Description Language)などのやりとりのための仕様が規定され、その仕様に準拠したソフトウェア部品を登録するための仕組みがインターネット上で提供されている。このようなWebサービスは、組み合わせて使うことでより大きなサービスが実現できる。以下、この組み合わせを統合と称する。
しかしながら、ソフトウェア部品の統合を適切に行うには、以下のような問題がある。
まず、各ソフトウェア部品の効率や性能に関して、スペックが不明であるという問題がある。ソフトウェア部品の流通の枠組みには、ソフトウェア部品の性能や動作制約などを記述するメタデータが存在しており、そのメタデータをチェックすることで、形式的な動作の可能性をチェックすることが可能である。しかし、そのメタデータの信頼性の問題や、同じメタデータで記述されていても実際には能力差が生じたり、ある統合によっては動作しなかったりということが起こりうる。
また、各ソフトウェア部品が分散して存在するため、統合したソフトウェア部品の供給や動作は安定して行われるとは限らず、安定性に欠けるという問題が生じる。
また、ソフトウェア部品に対して課金するような枠組みが考えられているが、統合して使用された際に、統合に関わった各部品の対価を決定するのが難しいといった問題が生じる。
本発明は、このような問題を解決するためになされたものであり、サービスの評価結果を実績として蓄積し、その実績に基づいてソフトウェア部品の統合を適切に行い提供する統合サービス提供サーバ、統合サービス提供システム、統合サービス提供方法、統合サービス提供プログラムを提供することを目的とする。
Currently, various web services are in the process of being realized on the Internet. Here, the Web service is not an online service using a Web page that can be seen by humans as in the past, but a mechanism in which software communicates with each other via the Internet, or a software having such an interaction mechanism. Refers to parts.
Currently, specifications for registering software such as SOAP (Simple Object Access Protocol), UDDI (Universal Description Discovery and Integration), and WSDL (Web Services Description Language) are specified in the specification for registering the software, and the specifications for the exchange are specified. Is available on the internet. By using such Web services in combination, a larger service can be realized. Hereinafter, this combination is referred to as integration.
However, there are the following problems in properly integrating software components.
First, there is a problem that the specifications are unknown regarding the efficiency and performance of each software component. In the framework of software component distribution, there is metadata that describes the performance and operation restrictions of software components. By checking the metadata, it is possible to check the possibility of formal operation. It is. However, there may be a problem in reliability of the metadata, a fact that even if the metadata is described in the same metadata, a capability difference may actually occur, or it may not work depending on a certain integration.
Further, since each software component exists in a distributed manner, the supply and operation of the integrated software component are not always performed stably, and there is a problem of lack of stability.
Also, although a framework for charging software components is considered, there is a problem that it is difficult to determine the price of each component involved in the integration when they are integrated and used.
The present invention has been made to solve such a problem. An integrated service providing server that accumulates service evaluation results as results and appropriately integrates and provides software components based on the results, and integration It is an object to provide a service providing system, an integrated service providing method, and an integrated service providing program.

本発明は、ネットワークを介して接続されたクライアントからの要求に応じて、ソフトウェア部品を提供する統合サービス提供サーバであって、ソフトウェア部品を登録し、該ソフトウェア部品の機能を表す部品機能と該ソフトウェア部品の識別子とを蓄積するソフトウェア登録部と、過去に与えられた要求と該要求に従って実行されたソフトウェア部品の評価結果とを該ソフトウェア部品の実績として蓄積する実績管理部と、前記クライアントから要求を受信し、該要求に含まれた機能を抽出するクライアントインタフェース部と、前記要求に基づいてソフトウェア部品の候補を前記ソフトウェア登録部から検索し、前記ソフトウェア部品の候補に対応する実績を前記実績管理部から取得し、該実績に基づいて前記ソフトウェア部品の候補の中から実行するソフトウェア部品である実行ソフトウェア部品を選択するソフトウェア選択部と、前記実行ソフトウェア部品の実行の制御を行い、該実行により得られる前記実行ソフトウェア部品の評価結果を前記実績管理部へ出力するソフトウェア実行部とを備えてなるものである。
このような構成によれば、過去の実績に基づいた評価結果に応じてソフトウェア部品が選択されることにより、要求に合わせて最適なソフトウェア部品を提供することができる。なお、本実施の形態におけるソフトウェア選択部とは、ソフトウェア決定部102とソフトウェア選択部103と優先順位決定部107のことである。
また、本発明は、ソフトウェア部品を統合したソフトウェアを、ネットワークを介して接続されたクライアントからの要求に応じて提供する統合サービス提供サーバであって、ソフトウェア部品を登録し、該ソフトウェア部品の機能を表す部品機能と該ソフトウェア部品の識別子とを蓄積するとともに、複数の部品機能から構成される機能フローを登録し、該機能フローを構成する複数の部品機能と該機能フローの機能と該機能フローの識別子とを蓄積するソフトウェア登録部と、過去に与えられた要求と該要求に従って実行された機能フローの評価結果とを該機能フローの実績として蓄積し、過去に与えられた要求と該要求に従って実行されたソフトウェア部品の評価結果とを該ソフトウェア部品の実績として蓄積する実績管理部と、前記クライアントから要求を受信し、該要求に含まれた機能を抽出するクライアントインタフェース部と、前記要求に基づいて機能フローの候補を前記ソフトウェア登録部から検索し、前記機能フローの候補に対応する実績を前記実績管理部から取得し、実行する機能フローである実行機能フローを前記機能フローの候補に対応する実績に基づいて前記機能フローの候補の中から選択し、前記実行機能フローを構成する部品機能である複数の構成機能へ分解し、該構成機能に基づいて該構成機能毎のソフトウェア部品の候補を前記ソフトウェア登録部から検索し、前記構成機能毎のソフトウェア部品の候補に対応する実績を前記実績管理部から取得し、該実績に基づいて前記構成機能毎のソフトウェア部品の候補の中から実行するソフトウェア部品である前記構成機能毎の実行ソフトウェア部品を選択するソフトウェア選択部と、前記構成機能毎の実行ソフトウェア部品の実行の制御を行い、該実行により得られる前記構成機能毎の実行ソフトウェア部品の評価結果と該評価結果に基づく前記実行機能フローの評価結果とを前記実績管理部へ出力するソフトウェア実行部とを備えてなるものである。
このような構成によれば、過去の実績に基づいた評価結果に応じて機能フローが選択されることにより、要求に合わせて最適な機能フローを提供することができる。
また、本発明に係る統合サービス提供サーバにおいて、前記ソフトウェア実行部はさらに、ネットワークを介して接続された外部のサーバから前記構成機能毎の実行ソフトウェア部品を取得し、前記構成機能毎の実行ソフトウェア部品の実行と前記構成機能毎の実行ソフトウェア部品の評価を行うとともに、前記構成機能毎の実行ソフトウェア部品の実行結果に基づいて前記実行機能フローの実行結果を生成し、前記構成機能毎の実行ソフトウェア部品の評価結果に基づいて前記実行機能フローの評価を行い、前記クライアントインタフェース部はさらに、前記実行機能フローの実行結果をクライアントへ送信することを特徴とするものである。
このような構成によれば、統合サービス提供サーバ内部でソフトウェア部品の実行を行うことにより、確実に評価結果を蓄積することができる。
また、本発明に係る統合サービス提供サーバにおいて、前記ソフトウェア実行部はさらに、ネットワークを介して接続され前記実行ソフトウェア部品を持つ外部のサーバに対して前記実行ソフトウェア部品の実行の指示を送信することにより前記実行ソフトウェア部品を実行させ、前記実行ソフトウェア部品の実行結果と前記実行ソフトウェア部品の評価結果を受信し、前記構成機能毎の実行ソフトウェア部品の実行結果に基づいて前記実行機能フローの実行結果を生成し、前記構成機能毎の実行ソフトウェア部品の評価結果に基づいて前記実行機能フローの評価を行い、前記クライアントインタフェース部はさらに、前記実行機能フローの実行結果をクライアントへ送信することを特徴とするものである。
このような構成によれば、ソフトウェア部品を外部のサーバで実行させ、統合サービス提供サーバの負荷を軽減することにより、安定したサービスを提供することができる。
また、本発明に係る統合サービス提供サーバにおいて、前記ソフトウェア実行部はさらに、ネットワークを介して接続された外部のサーバから前記構成機能毎の実行ソフトウェア部品を取得し、前記クライアントインタフェース部を介して前記クライアントへ、前記実行機能フローと前記構成機能毎の実行ソフトウェア部品を送信することにより、前記クライアントに前記実行機能フローと前記構成機能毎の実行ソフトウェア部品を実行させ、前記クライアントインタフェース部を介して前記クライアントから、前記実行機能フローと前記構成機能毎の実行ソフトウェア部品の実行結果と前記実行機能フローの評価結果と前記構成機能毎の実行ソフトウェア部品の評価結果を受信することを特徴とするものである。
このような構成によれば、ソフトウェア部品をクライアントで実行させ、統合サービス提供サーバの負荷を軽減することにより、安定したサービスを提供することができる。
また、本発明に係る統合サービス提供サーバにおいて、前記ソフトウェア実行部はさらに、前記クライアントインタフェース部を介して前記クライアントへ、前記実行機能フローと前記構成機能毎の実行ソフトウェア部品の実行の指示を送信することにより、前記クライアントに前記実行機能フローと前記構成機能毎の実行ソフトウェア部品を実行させ、前記クライアントインタフェース部を介して前記クライアントから、前記実行機能フローと前記構成機能毎の実行ソフトウェア部品の実行結果と前記実行機能フローの評価結果と前記構成機能毎の実行ソフトウェア部品の評価結果を受信することを特徴とするものである。
このような構成によれば、ソフトウェア部品をクライアントまたは外部のサーバで実行させ、統合サービス提供サーバの負荷を軽減することにより、安定したサービスを提供することができる。
また、本発明に係る統合サービス提供サーバにおいて、前記ソフトウェア選択部は、実績管理部に蓄積された機能フローのうち、前記クライアントからの要求に類似した要求を持つ機能フローを前記機能フローの候補とし、前記機能フローの候補に対応する実績に基づいて前記機能フローの候補の優先順位を与え、最上位の優先順位を持つ前記機能フローの候補を前記実行機能フローとし、前記実行機能フローの実行が失敗した場合に次の優先順位を持つ前記機能フローの候補を前記実行機能フローとし、前記実行機能フローの構成機能毎のソフトウェア部品の候補に対応する実績に基づいて前記構成機能毎のソフトウェア部品の候補の優先順位を与え、最上位の優先順位を持つ前記ソフトウェア部品の候補を前記実行ソフトウェア部品とし、前記実行ソフトウェア部品の実行が失敗した場合に次の優先順位を持つ前記ソフトウェア部品の候補を前記実行ソフトウェア部品とすることを特徴とするものである。
このような構成によれば、クライアントからの要求と関係ないサービスに貢献した機能フローやソフトウェア部品が選択されるのを防ぐことができる。また、同じ入力に対して動作する機能フローの候補またはソフトウェア部品の候補を用意し、1つがエラーを出しても、別の機能フローまたはソフトウェア部品がエラーを起こさなければ動作することにより、安定したサービスを提供することができる。
また、本発明に係る統合サービス提供サーバにおいて、前記ソフトウェア登録部に新規のソフトウェア部品が登録された場合に、予め定められた規則や実績に基づいて前記新規のソフトウェア部品の実行を行うシミュレーション部を備えたことを特徴とするものである。
このような構成によれば、新規のソフトウェア部品の導入時においても、そのソフトウェア部品に関する実績を早期に獲得することができる。
また、本発明に係る統合サービス提供サーバにおいて、前記予め定めた規則に従って前記ソフトウェア部品の候補の削除または前記ソフトウェア部品の候補の置き換えを行うルールエンジン部を備えたことを特徴とするものである。
このような構成によれば、例えば特定の入力でうまく行かないソフトウェア部品の情報や、特定の顧客向けには自社のソフトウェア部品を優先的に使用するといった適用の規則を与えておくことにより、さらに最適なソフトウェア部品を選択することができる。
また、本発明に係る統合サービス提供サーバにおいて、前記クライアントから受信した要求に類似した要求を持つ実績を前記実績管理部から抽出し、該実績に基づいて前記実行ソフトウェア部品の貢献度を算出し、該貢献度に応じて前記実行ソフトウェア部品への報酬を決定する課金計算部を備えたことを特徴とするものである。
このような構成によれば、課金の処理を個々のソフトウェア部品の提供者が行うことなく、実績に基づいて行われるため、実用性の高い課金を実現することができる。
また、本発明に係る統合サービス提供サーバにおいて、前記ソフトウェア実行部は、複数の前記ソフトウェア部品の候補の実行を並列に行うことを特徴とするものである。
このような構成によれば、失敗した場合でも、失敗してから別の候補を選択するのと比較して高速な動作が得られる。また、複数実行するため、他の候補についても実績を蓄積することができる。
また、本発明は、ソフトウェア部品を統合したソフトウェアを要求に応じて提供する統合サービス提供システムであって、前記統合サービス提供サーバと、ネットワークを介して前記統合サービス提供サーバへ要求を送信し、該要求に対する実行結果を受信するクライアントと、ネットワークを介して前記統合サービス提供サーバへソフトウェア部品を提供するソフトウェア部品提供サーバとを備えてなるものである。
このような構成によれば、過去の実績に基づいた評価結果に応じて機能フローが選択されることにより、要求に合わせて最適な機能フローを提供することができる。
また、本発明は、ソフトウェア部品を統合したソフトウェアを、ネットワークを介して接続されたクライアントからの要求に応じて提供する統合サービス提供方法であって、ソフトウェア部品を登録し、該ソフトウェア部品の機能を表す部品機能と該ソフトウェア部品の識別子とを蓄積するとともに、複数の部品機能から構成される機能フローを登録し、該機能フローを構成する複数の部品機能と該機能フローの機能と該機能フローの識別子とを蓄積するステップと、過去に与えられた要求と該要求に従って実行された機能フローの評価結果とを該機能フローの実績として蓄積し、過去に与えられた要求と該要求に従って実行されたソフトウェア部品の評価結果とを該ソフトウェア部品の実績として蓄積するステップと、前記クライアントから要求を受信し、該要求に含まれた機能を抽出するステップと、前記要求に基づいて機能フローの候補を検索し、前記機能フローの候補に対応する実績を取得し、実行する機能フローである実行機能フローを前記機能フローの候補に対応する実績に基づいて前記機能フローの候補の中から選択し、前記実行機能フローを構成する部品機能である複数の構成機能へ分解し、該構成機能に基づいて該構成機能毎のソフトウェア部品の候補を検索し、前記ソフトウェア部品の候補に対応する実績を前記構成機能毎に取得し、前記ソフトウェア部品の候補のうち実行するソフトウェア部品である実行ソフトウェア部品を前記ソフトウェア部品の候補に対応する実績に基づいて前記ソフトウェア部品の候補の中から前記構成機能毎に選択するステップと、前記構成機能毎の実行ソフトウェア部品を取得し、前記構成機能毎の実行ソフトウェア部品の実行と前記構成機能毎の実行ソフトウェア部品の評価を行うとともに、前記構成機能毎の実行ソフトウェア部品の実行結果に基づいて前記実行機能フローの実行結果を生成し、前記構成機能毎の実行ソフトウェア部品の評価結果に基づいて前記実行機能フローの評価を行い、前記構成機能毎の実行ソフトウェア部品の評価結果と該評価結果に基づく前記実行機能フローの評価結果とを蓄積するステップと、前記実行機能フローの実行結果をクライアントへ送信するステップとを備えてなるものである。
このような構成によれば、過去の実績に基づいた評価結果に応じて機能フローが選択されることにより、要求に合わせて最適な機能フローを提供することができる。
また、本発明は、ソフトウェア部品を統合したソフトウェアを、ネットワークを介して接続されたクライアントからの要求に応じて提供するために、コンピュータにより読取可能な媒体に記憶された統合サービス提供プログラムであって、ソフトウェア部品を登録し、該ソフトウェア部品の機能を表す部品機能と該ソフトウェア部品の識別子とを蓄積するとともに、複数の部品機能から構成される機能フローを登録し、該機能フローを構成する複数の部品機能と該機能フローの機能と該機能フローの識別子とを蓄積するステップと、過去に与えられた要求と該要求に従って実行された機能フローの評価結果とを該機能フローの実績として蓄積し、過去に与えられた要求と該要求に従って実行されたソフトウェア部品の評価結果とを該ソフトウェア部品の実績として蓄積するステップと、前記クライアントから要求を受信し、該要求に含まれた機能を抽出するステップと、前記要求に基づいて機能フローの候補を検索し、前記機能フローの候補に対応する実績を取得し、実行する機能フローである実行機能フローを前記機能フローの候補に対応する実績に基づいて前記機能フローの候補の中から選択し、前記実行機能フローを構成する部品機能である複数の構成機能へ分解し、該構成機能に基づいて該構成機能毎のソフトウェア部品の候補を検索し、前記ソフトウェア部品の候補に対応する実績を前記構成機能毎に取得し、前記ソフトウェア部品の候補のうち実行するソフトウェア部品である実行ソフトウェア部品を前記ソフトウェア部品の候補に対応する実績に基づいて前記ソフトウェア部品の候補の中から前記構成機能毎に選択するステップと、前記構成機能毎の実行ソフトウェア部品を取得し、前記構成機能毎の実行ソフトウェア部品の実行と前記構成機能毎の実行ソフトウェア部品の評価を行うとともに、前記構成機能毎の実行ソフトウェア部品の実行結果に基づいて前記実行機能フローの実行結果を生成し、前記構成機能毎の実行ソフトウェア部品の評価結果に基づいて前記実行機能フローの評価を行い、前記構成機能毎の実行ソフトウェア部品の評価結果と該評価結果に基づく前記実行機能フローの評価結果とを蓄積するステップと、前記実行機能フローの実行結果をクライアントへ送信するステップとをコンピュータに実行させることを特徴とするものである。
このような構成によれば、過去の実績に基づいた評価結果に応じて機能フローが選択されることにより、要求に合わせて最適な機能フローを提供することができる。
The present invention is an integrated service providing server that provides software components in response to a request from a client connected via a network, and registers the software components and represents the functions of the software components and the software A software registration unit for storing component identifiers, a result management unit for storing requests given in the past and evaluation results of software parts executed according to the request as results of the software component, and a request from the client A client interface unit that receives and extracts a function included in the request; retrieves a software component candidate from the software registration unit based on the request; and records a performance corresponding to the software component candidate in the performance management unit The software component candidates based on the results A software selection unit that selects an execution software component that is a software component to be executed from inside, and controls execution of the execution software component, and outputs an evaluation result of the execution software component obtained by the execution to the results management unit And a software execution unit.
According to such a configuration, by selecting a software component according to an evaluation result based on past results, it is possible to provide an optimal software component according to a request. Note that the software selection unit in the present embodiment refers to the software determination unit 102, the software selection unit 103, and the priority order determination unit 107.
The present invention also provides an integrated service providing server that provides software in which software components are integrated in response to a request from a client connected via a network. The software component is registered, and the function of the software component is controlled. The component function to be represented and the identifier of the software component are stored, and the function flow composed of a plurality of component functions is registered, and the plurality of component functions constituting the function flow, the function of the function flow, and the function flow The software registration unit for storing the identifier, the request given in the past and the evaluation result of the function flow executed in accordance with the request are accumulated as the results of the function flow, and executed in accordance with the request given in the past and the request A result management unit for accumulating the evaluation result of the software part as a result of the software part; and A client interface unit that receives a request from a client and extracts a function included in the request, and retrieves a function flow candidate from the software registration unit based on the request, and obtains a record corresponding to the function flow candidate. Component functions that constitute the execution function flow by selecting an execution function flow, which is a function flow to be acquired and executed from the result management unit, from the function flow candidates based on the results corresponding to the function flow candidates Are divided into a plurality of component functions, and software component candidates for each component function are retrieved from the software registration unit based on the component functions, and the results corresponding to the software component candidates for each component function are Software unit acquired from the management unit and executed from software component candidates for each component function based on the results A software selection unit that selects an execution software component for each of the component functions, and execution control of the execution software component for each of the component functions, and an evaluation result of the execution software component for each of the component functions obtained by the execution And a software execution unit that outputs an evaluation result of the execution function flow based on the evaluation result to the results management unit.
According to such a configuration, by selecting a functional flow according to an evaluation result based on past results, it is possible to provide an optimal functional flow according to a request.
Further, in the integrated service providing server according to the present invention, the software execution unit further acquires an execution software component for each constituent function from an external server connected via a network, and executes the software component for each constituent function. And executing execution software components for each component function, generating an execution result of the execution function flow based on the execution result of the execution software component for each component function, and executing the execution software component for each component function The execution function flow is evaluated based on the evaluation result, and the client interface unit further transmits the execution result of the execution function flow to the client.
According to such a configuration, the evaluation result can be reliably accumulated by executing the software component inside the integrated service providing server.
In the integrated service providing server according to the present invention, the software execution unit further transmits an instruction to execute the execution software component to an external server connected through a network and having the execution software component. Executing the execution software component, receiving the execution result of the execution software component and the evaluation result of the execution software component, and generating the execution result of the execution function flow based on the execution result of the execution software component for each component function The execution function flow is evaluated based on the evaluation result of the execution software component for each component function, and the client interface unit further transmits the execution result of the execution function flow to the client. It is.
According to such a configuration, a stable service can be provided by causing software components to be executed by an external server and reducing the load on the integrated service providing server.
In the integrated service providing server according to the present invention, the software execution unit further acquires an execution software component for each component function from an external server connected via a network, and the client execution unit By transmitting the execution function flow and the execution software component for each component function to the client, the client is caused to execute the execution function flow and the execution software component for each component function, and through the client interface unit The execution function flow, the execution result of the execution software component for each component function, the evaluation result of the execution function flow, and the evaluation result of the execution software component for each component function are received from the client. .
According to such a configuration, it is possible to provide a stable service by executing software components on the client and reducing the load on the integrated service providing server.
In the integrated service providing server according to the present invention, the software execution unit further transmits an instruction to execute the execution software component for each of the execution function flow and the constituent functions to the client via the client interface unit. The execution function flow and the execution software component for each component function are executed by the client, and the execution result of the execution function component and the execution software component for each component function is transmitted from the client via the client interface unit. And an evaluation result of the execution function flow and an evaluation result of the execution software component for each component function.
According to such a configuration, a stable service can be provided by causing software components to be executed by a client or an external server and reducing the load on the integrated service providing server.
Further, in the integrated service providing server according to the present invention, the software selection unit sets a function flow having a request similar to the request from the client among the function flows stored in the result management unit as the function flow candidate. The priority of the functional flow candidates is given based on the results corresponding to the functional flow candidates, the functional flow candidate having the highest priority is set as the execution functional flow, and the execution functional flow is executed. In the case of failure, the candidate of the function flow having the next priority is set as the execution function flow, and the software component for each component function is determined based on the results corresponding to the software component candidates for each component function of the execution function flow. Candidate priority is given, and the software component candidate having the highest priority is the execution software component. It is characterized in that the candidate of the software component with the next priority when the execution of execution software component has failed and the execution software component.
According to such a configuration, it is possible to prevent selection of a function flow or software component that has contributed to a service unrelated to a request from a client. In addition, a function flow candidate or software component candidate that operates for the same input is prepared, and even if one generates an error, if another function flow or software component does not cause an error, it can operate stably. Service can be provided.
In the integrated service providing server according to the present invention, when a new software component is registered in the software registration unit, a simulation unit that executes the new software component based on a predetermined rule or record It is characterized by having.
According to such a configuration, even when a new software component is introduced, the results regarding the software component can be acquired at an early stage.
The integrated service providing server according to the present invention is characterized in that a rule engine unit for deleting the software component candidates or replacing the software component candidates according to the predetermined rule is provided.
According to such a configuration, for example, by providing information on software parts that do not work well with a specific input, or by applying rules of application such as preferential use of their software parts for specific customers, The optimal software component can be selected.
Further, in the integrated service providing server according to the present invention, a record having a request similar to the request received from the client is extracted from the record management unit, and the contribution degree of the execution software component is calculated based on the record, A billing calculation unit is provided that determines a reward for the execution software component according to the contribution.
According to such a configuration, the charging process is performed based on the record without the individual software component provider performing the charging process, so that it is possible to realize a highly practical charging.
In the integrated service providing server according to the present invention, the software execution unit executes a plurality of candidate software components in parallel.
According to such a configuration, even when a failure occurs, a high-speed operation can be obtained as compared to selecting another candidate after the failure. In addition, since a plurality of executions are performed, results can be accumulated for other candidates.
Further, the present invention is an integrated service providing system that provides software integrated with software components upon request, and transmits the request to the integrated service providing server and the integrated service providing server via a network, The apparatus includes a client that receives an execution result for a request, and a software component providing server that provides the software component to the integrated service providing server via a network.
According to such a configuration, by selecting a functional flow according to an evaluation result based on past results, it is possible to provide an optimal functional flow according to a request.
The present invention also provides an integrated service providing method for providing software in which software components are integrated in response to a request from a client connected via a network. The software component is registered, and the function of the software component is controlled. The component function to be represented and the identifier of the software component are stored, and the function flow composed of a plurality of component functions is registered, and the plurality of component functions constituting the function flow, the function of the function flow, and the function flow The step of accumulating the identifier, the request given in the past, and the evaluation result of the function flow executed according to the request are accumulated as the results of the function flow, and the request executed in the past and executed according to the request A step of accumulating the evaluation result of the software component as a result of the software component; Receiving a request, extracting a function included in the request, searching for a function flow candidate based on the request, obtaining a result corresponding to the function flow candidate, and executing the function flow The execution function flow is selected from the function flow candidates based on the results corresponding to the function flow candidates, and is decomposed into a plurality of component functions that are component functions constituting the execution function flow. Based on the search for software component candidates for each of the component functions, a performance corresponding to the software component candidates is obtained for each of the component functions, and an execution software component that is a software component to be executed among the software component candidates is obtained. Selecting for each of the component functions from the software part candidates based on the results corresponding to the software part candidates; The execution software component for each component function is acquired, the execution software component for each component function is executed and the execution software component for each component function is evaluated, and the execution software component is executed for each component function. Generating an execution result of the execution function flow, evaluating the execution function flow based on an evaluation result of the execution software component for each component function, and evaluating the execution software component for each component function and the evaluation result The step of accumulating the evaluation result of the execution function flow based on the above and the step of transmitting the execution result of the execution function flow to the client are provided.
According to such a configuration, by selecting a functional flow according to an evaluation result based on past results, it is possible to provide an optimal functional flow according to a request.
The present invention is also an integrated service providing program stored in a computer-readable medium for providing software integrating software components in response to a request from a client connected via a network. Registering a software component, storing a component function representing the function of the software component and an identifier of the software component, registering a functional flow composed of a plurality of component functions, and configuring a plurality of components constituting the functional flow Storing a component function, a function of the function flow, and an identifier of the function flow, a request given in the past, and an evaluation result of the function flow executed according to the request as a result of the function flow; The request given in the past and the evaluation result of the software component executed in accordance with the request are displayed in the software. A step of accumulating as a result of a part; receiving a request from the client; extracting a function included in the request; searching for a function flow candidate based on the request; The component function that constitutes the execution function flow is selected from the function flow candidates based on the results corresponding to the function flow candidates, and an execution function flow that is a function flow to acquire and execute the corresponding results. Disassembling into a plurality of component functions, searching for software component candidates for each component function based on the component functions, obtaining results corresponding to the software component candidates for each component function, An execution software component that is a software component to be executed among the candidates is selected based on the results corresponding to the software component candidates. A step of selecting each of the constituent functions from candidates of the air parts, obtaining an execution software part for each of the constituent functions, executing an execution software part for each of the constituent functions and executing software parts for each of the constituent functions The execution function flow is generated based on the execution result of the execution software component for each component function, and the execution function flow is evaluated based on the evaluation result of the execution software component for each component function A step of accumulating the evaluation result of the execution software component for each component function and the evaluation result of the execution function flow based on the evaluation result, and transmitting the execution result of the execution function flow to the client This is characterized in that it is executed.
According to such a configuration, by selecting a functional flow according to an evaluation result based on past results, it is possible to provide an optimal functional flow according to a request.

第1図は、本実施の形態に係る統合サービス提供システムの構成の一例を示すブロック図である。
第2図は、本実施の形態に係る統合サービス提供サーバの構成の一例を示すブロック図である。
第3図は、統合サービス提供サーバの動作の一例を示すフローチャートである。
第4図は、XML形式の要求メッセージの一例を示す図である。
第5図は、機能フローDBの一例を示す図である。
第6図は、部品DBの一例を示す図である。
第7図は、XML形式の回答メッセージの一例を示す図である。
第8図は、統合機能の実行の動作の一例を示すフローチャートである。
第9図は、機能フロー実績DBの一例を示す図である。
第10図は、部品実績DBの一例を示す図である。
第11図は、部品機能の実行の動作の一例を示すフローチャートである。
FIG. 1 is a block diagram showing an example of the configuration of an integrated service providing system according to the present embodiment.
FIG. 2 is a block diagram showing an example of the configuration of the integrated service providing server according to the present embodiment.
FIG. 3 is a flowchart showing an example of the operation of the integrated service providing server.
FIG. 4 is a diagram showing an example of an XML format request message.
FIG. 5 is a diagram illustrating an example of a function flow DB.
FIG. 6 is a diagram illustrating an example of a component DB.
FIG. 7 is a diagram showing an example of an answer message in XML format.
FIG. 8 is a flowchart showing an example of the operation of executing the integrated function.
FIG. 9 is a diagram showing an example of the function flow performance DB.
FIG. 10 is a diagram showing an example of a component performance DB.
FIG. 11 is a flowchart showing an example of an operation for executing a component function.

以下、本発明の実施の形態について図面を参照して詳細に説明する。本実施の形態では、XML Webサービスを対象として実施例を説明する。XML Webサービスは、Webベースの技術を利用して、ソフトウェア部品やそれを含んだサービスをインターネット上から自由に利用可能にする仕組みである。本実施の形態では、XML Webサービスとして実現されたソフトウェア部品を統合して新たなサービスを実現するとともに、ソフトウェア部品の統合を適切に行う例について説明する。
実施の形態1.
まず、本実施の形態に係る統合サービス提供システムの構成について説明する。第1図は、本実施の形態に係る統合サービス提供システムの構成の一例を示すブロック図である。ここでは、説明の簡単のため、クライアントを1台、ソフトウェア部品提供サーバを3台備えた例を示す。第1図に示すように、本実施の形態に係る統合サービス提供システムは、統合サービス提供サーバ1と3台のソフトウェア部品提供サーバ2A,2B,2Cとクライアント3から構成され、それぞれネットワーク4を介して接続されている。
本実施の形態では、統合サービス提供サーバ1が、クライアント3からの要求に応じてソフトウェア部品の選択や組み合わせを適切に行い、選択したソフトウェア部品を、ソフトウェア部品提供サーバ2A,2B,2Cのうち該当するソフトウェア部品提供サーバから取得し、実行する例について説明する。
次に、本実施の形態に係る統合サービス提供サーバの構成について説明する。第2図は、本実施の形態に係る統合サービス提供サーバの構成の一例を示すブロック図である。第2図に示すように、本実施の形態に係る統合サービス提供サーバ1は、クライアントインタフェース部101と、ソフトウェア決定部102と、ソフトウェア検索部103と、ソフトウェア登録部104と、能力・動作確認部105と、ルールエンジン部106と、優先順位決定部107と、実績管理部108と、実績獲得部109と、ソフトウェア実行部110と、シミュレーション部111と、課金計算部112から構成される。
以下、本実施の形態に係る統合サービス提供システムの動作について説明する。ソフトウェア部品を統合してユーザへ提供するためには、元になるソフトウェア部品の登録が必要である。ここで、ソフトウェア部品の登録の動作について説明する。XML Webサービスの登録は、サービスの内容を記述したXMLの登録と、料金制のサービスの場合には、支払い方法の契約手続きを加えたものから成る。
まず、本実施の形態に係る統合サービス提供システムにおけるサービス登録の動作について説明する。XML Webサービスを実行するソフトウェア部品を、統合サービス提供サーバ1のソフトウェア登録部104に登録することによって、統合サービス提供サーバ1からサービスを呼び出すことが可能になる。Webサービスで提供されるソフトウェア部品の中には、フリーソフトウェアと同様のフリーサービスが提供される場合もあり、こうしたフリーサービスの場合には、このサービス登録のみとなる。
次に、ディレクトリサービスを用いたサービス登録の動作について説明する。XML Webサービスには、サービスを探すためのディレクトリサービスと呼ばれる電話帳的な役割のサーバがインターネット上に存在し、サービス登録はここに対して行うことができる。そして、ディレクトリサービスに登録された内容を、統合サービス提供サーバ1のソフトウェア登録部104に再登録することによって、これらのサービスを呼び出すことが可能になる。ここで、統合サービス提供サーバ1において独自に登録を行う場合には、インターネット上の標準的なディレクトリサービスでは扱いの範疇にない制約記述などを場合に応じて加味できる。
次に、料金制のXML Webサービスのサービス登録の動作について説明する。この場合は、支払い方法の契約手続きを同時に行う。本実施の形態に係る統合サービス提供システムでは、ネットワーク4に接続された図示しない契約用サーバがこの役割を担う。ソフトウェア部品の登録を希望するソフトウェア部品の提供者は、まず契約用サーバにアクセスする。契約用サーバには料金に関する記述が存在する。料金の規約は、後述する基準課金、インセンティブ課金、ペナルティ課金からなるものとする。この課金の測定方法および支払い方法を文書化したものを提示し、これに対して、ソフトウェア部品の提供者が合意した上で、料金の支払い方法、通知方法などの契約ソフトウェア設定内容を記述し、XML Webサービスによるソフトウェア部品の登録を行う。このとき、登録するソフトウェア部品のメタデータなどの登録も行う。この手続きは、ソフトウェア部品の提供者、登録代行の第三者、ソフトウェア部品などが行う。
本実施の形態に係る統合サービス提供システムの特徴として、1つの入力形式に対して、対応する複数のソフトウェア部品を登録しておくことを推奨することがある。これは、システムの最適化や安定のために重要である。
次に、本実施の形態に係る統合サービス提供システムにおけるユーザ登録の動作について説明する。統合サービス提供システムの利用を希望するユーザは、クライアント3を用いて、ネットワーク4に接続された図示しないユーザ登録用サーバにアクセスし、利用ユーザ登録を行う。ユーザは、後述する支払い方法の合意を行った後、ユーザID、パスワード、利用金額の支払い方法などの入力を行った後、登録が完了する。ここで、ユーザは必ずしもエンドユーザを表すわけではなく、他のサービスから統合サービス提供サーバ1へのアクセスがある場合には、そのサービス提供者を表す。
次に、本実施の形態に係る統合サービス提供サーバ1の動作の概要について説明する。第3図は、統合サービス提供サーバの動作の一例を示すフローチャートである。まず、ユーザID、パスワードの入力により正当なユーザであると確認されたユーザは、クライアント3を用いて要求メッセージを送信する。要求メッセージとは、ユーザが希望する機能と引数が記載されたものである。
次に、統合サービス提供サーバ1のクライアントインタフェース部101はクライアント3からの要求メッセージを受信する。第4図は、XML形式の要求メッセージの一例を示す図である。第4図に示す要求メッセージ例は、厚み10mmのアルミ、800個の納期検索を希望するものである。ここで、機能は納期検索であり、引数は材質、厚み、個数である。
次に、クライアントインタフェース部101は受信した要求メッセージの解析を行う(S1)。解析は、XMLパーザと呼ばれるソフトウェアを利用してXMLの構造を認識し、要求された機能と引数を取り出すことで行う。この時、要求が入力された時刻、ユーザID、アクセス元のアドレスなどのアクセス情報も取得しておく。
要求メッセージの形式が正しくない場合(S2,No)、クライアントインタフェース部101はエラーメッセージをクライアント3へ通知し(S8)、このフローを終了する。一方、要求メッセージの形式が正しい場合(S2,Yes)、クライアントインタフェース部101は要求された機能と引数、アクセス情報を要求パラメータとしてソフトウェア決定部102へ出力する。ソフトウェア決定部102は、要求パラメータをソフトウェア検索部103へ出力する。
ここで、ソフトウェア登録部104について詳細に説明する。ソフトウェア登録部104は、機能フローDB(データベース)と部品DBを備える。第5図は、機能フローDBの一例を示す図である。第5図に示すように、機能フローDBは、統合機能、部品機能1,部品機能2などから構成され、フローIDで管理されている。第5図では例として2つの部品機能から構成される統合機能を示しているが、さらに複数の部品機能で構成される統合機能もある。部品機能とは、ソフトウェア部品単体の機能である。統合機能とは、ソフトウェア部品を統合して得られる機能である。機能フローとは、統合機能を、構成要素である部品機能で表したものである。運用時においては、どの部品機能を用いて要求を実現するかを予め知識化しておく方が効率や信頼度が高くなるため、統合サービス提供サーバ1の管理者は、予め部品機能の組み合わせを機能フローとして機能フローDBへ格納しておく。例えば、第5図において、統合機能が納期価格検索である場合、部品機能1は納期検索、部品機能2は価格検索となる。
第6図は、部品DBの一例を示す図である。第6図に示すように、部品DBは、部品機能、提供元、提供元ネットワークIDなどで構成され、部品IDで管理されている。
次に、ソフトウェア検索部103は、要求された機能を実施する能力を持つソフトウェアをソフトウェア登録部104から検索する(S3)。検索した結果、要求された機能が統合機能である場合(S4,Yes)、統合機能の実行後(S5)、処理S6へ移行する。処理S5の統合機能の実行については、後述する第8図のフローチャートで詳細に説明する。一方、要求された機能が部品機能である場合(S4,No)、部品機能の実行後(S7)、処理S6へ移行する。処理S7の部品機能の実行については、後述する第11図のフローチャートで詳細に説明する。
統合機能の実行(S5)または部品機能の実行(S7)の後、ソフトウェア実行部110は、実行結果を要求に対する回答メッセージとして、クライアントインタフェース部101を介してクライアント3へ通知し(S6)、このフローは終了する。
第7図は、XML形式の回答メッセージの一例を示す図である。第7図に示す回答メッセージ例は、要求に対する納期検索の結果、納期は4日であることを示している。
ここで、実績獲得部109は、クライアント3からサービスの質に関する評価結果が得られる場合、その評価結果を獲得する。この場合、実行結果を得たユーザは、クライアント3を用いて、サービスの質に関する評価結果を統合サービス提供サーバ1へ送信する。実績獲得部109は、クライアントインタフェース部101を介してクライアント3からの評価結果を獲得し、実績管理部108へ出力する。
次に、処理S5の統合機能の実行の動作について詳細に説明する。第8図は、統合機能の実行の動作の一例を示すフローチャートである。まず、ソフトウェア検索部103は、検索により得られた統合機能を実施できる機能フローの候補をソフトウェア決定部102へ出力する。ソフトウェア決定部102は、要求パラメータと機能フローの候補を優先順位決定部107へ出力する。優先順位決定部107は、過去の実績を利用してどの機能フローが最適であるかを算出し、機能フローの候補に対して実行の優先順位を決定する(S11)。
ここで、実績について説明する。実績とは、過去に実行された機能フローの評価結果と、過去に実行されたソフトウェア部品の評価結果を蓄積したものである。評価結果には、実行時にソフトウェア実行部が生成する評価結果とサービスの提供を受けたクライアント3が生成する評価結果がある。ソフトウェア実行部が生成する評価結果は、実行の成功または失敗を示す成否、実行したい時にソフトウェア部品提供サーバへアクセスできたか、入力がそのソフトウェア部品にとって最適であるかどうか、実行時にソフトウェア部品で起きたエラー、速度などのパフォーマンスなどがある。
実績管理部108は、ソフトウェア実行部が生成した評価結果とクライアント3が生成した評価結果に基づき、実行された機能フロー、実行されたソフトウェア部品の点数を算出する。実績管理部108は、機能フロー単位で実績を管理する機能フロー実績DBと、ソフトウェア部品単位で実績を管理するソフトウェア部品実績DBを備える。
第9図は、機能フロー実績DBの一例を示す図である。第9図に示すように、機能フロー実績DBは、統合機能、要求パラメータ、選択部品1、選択部品2、実行の成否、点数、実行時刻などから構成され、事例IDで管理されている。第10図は、ソフトウェア部品実績DBの一例を示す図である。第10図に示すように、ソフトウェア部品実績DBは、部品機能、要求パラメータ、選択部品、実行の成否、点数、実行時刻などから構成され、事例IDで管理されている。第9図、第10図における実績には実行結果が含まれても良い。
次に、機能フローの実行の優先順位の決定の動作の一例について説明する。まず、実績計算部107は、今回の要求パラメータに類似した要求パラメータを持つ機能フローの実績を実績管理部108から抽出する。これにより、今回の要求と関係ないサービスに貢献した機能フローが選択されることを防ぐ。次に、抽出した機能フローの実績に含まれる、機能フローの点数と構成する各ソフトウェア部品の点数とを用いて相関分析を行うことにより、抽出した機能フローの実績における各ソフトウェア部品の貢献度を算出する。この貢献度の総和を機能フローの優先度として算出し、この優先度に従って優先順位をつけ、規定の順位までの機能フローを機能フロー候補とし、この機能フロー候補と優先順位をソフトウェア決定部102へ出力する。機能フローの実行は、優先順位が上位のものから順に行われる。
次に、ソフトウェア決定部102は、要求パラメータと機能フロー候補と優先順位をソフトウェア検索部103へ渡す。未実行の機能フローがない場合(S12,No)、このフローは終了する。一方、渡された機能フローのうち、未実行の機能フローがある場合(S12,Yes)、処理S13へ移行する。ここで、S3の処理において該当する機能フローがなかった場合、未実行の機能フローがない場合に含まれる。
次に、ソフトウェア検索部103は、機能フローを部品機能へ分解し(S13)、各部品機能を実施する能力を持つソフトウェア部品を部品DBから検索する(S14)。例えば、第8図に示す例において、ソフトウェア検索部103は、納期検索を行うソフトウェア部品と価格検索を行うソフトウェア部品を、部品DBから検索する。
この時、ソフトウェア検索部103は、能力・動作確認部105で、検索した各ソフトウェア部品がサービスを実施可能であることを確認する。その確認は、各ソフトウェア部品が登録時に提供するメタデータによる能力の確認と、実際に現在サービス可能であることを確認するものとがある。能力および使用可能であることの確認がとれたソフトウェア部品は、ソフトウェア部品候補として抽出される。
次に、機能フローの部品機能毎の実行を行う(S15)。処理S15の部品機能の実行については、後述する第11図のフローチャートで詳細に説明する。ソフトウェア実行部110は、部品機能の実行を行い(S15)、機能フローを構成する全部品機能の実行が終了した場合(S16,Yes)、実行された機能フローの評価結果を実績管理部108へ出力する。実績管理部108は、評価結果を機能フロー実績DBへ記録する(S17)。そして、機能フローの実行が成功した場合(S18,Yes)、統合機能を構成する全部品機能の実行結果に基づいて、統合機能の実行結果を生成し、このフローは終了する。一方、機能フローの実行が失敗した場合(S18,No)、処理S12へ戻り、機能フロー候補のうち未実行の機能フローがあれば優先順位が次の機能フローの実行を行う。以上、機能フローの実行は、優先順位の最上位から順に実行が成功するまで行われる。
次に、処理S7と処理S15の部品機能の実行の動作について詳細に説明する。第11図は、機能の実行の動作の一例を示すフローチャートである。まず、ソフトウェア検索部103は、検索により得られた部品機能を実施できるソフトウェア部品の候補をソフトウェア決定部102へ出力する。ソフトウェア決定部102は、要求パラメータとソフトウェア部品の候補をルールエンジン部106へ渡す。
次に、ルールエンジン部106は、実績計算の事前処理を行う。ここでは、特定の入力でうまく行かないソフトウェア部品の情報や、特定の顧客向けには自社のソフトウェア部品を優先的に使用するといった適用の規則をルールとして与えておき、要求パラメータに対してルールを適用し、ソフトウェア部品の候補をあらかじめ削除したり、ソフトウェア部品の候補を置き換える処理を行う。ルールエンジン部106は、要求パラメータと事前処理を施したソフトウェア部品の候補を優先順位決定部107へ出力する。
優先順位決定部107は、過去の実績を利用してどのソフトウェア部品が最適であるかを算出し、ソフトウェア部品の候補に対して実行の優先順位を決定する(S21)。ここで、ソフトウェア部品の実行の優先順位の決定の動作の一例について説明する。まず、実績計算部107は、与えられたソフトウェア部品の候補の点数を実績管理部108から抽出する。この点数に基づいてソフトウェア部品の優先度を算出し、この優先度に従って優先順位をつけ、規定の順位までのソフトウェア部品をソフトウェア部品候補とし、このソフトウェア部品候補と優先順位をソフトウェア決定部102へ出力する。ソフトウェア部品の実行は、優先順位が上位のものから順に行われる。
次に、ソフトウェア決定部102は、要求パラメータとソフトウェア部品候補と優先順位をソフトウェア実行部110へ渡す。ここで、未実行のソフトウェア部品がない場合(S22,No)、このフローは終了する。一方、渡されたソフトウェア部品のうち、未実行のソフトウェア部品がある場合(S22,Yes)、処理S23へ移行する。ここで、S3の処理において該当するソフトウェア部品がなかった場合、未実行の機能フローがない場合に含まれる。
次に、ソフトウェア実行部110は、実行するソフトウェア部品を備えるソフトウェア提供サーバへアクセスしてそのソフトウェア部品を取得し、ソフトウェア部品の実行を行う(S23)。ソフトウェア提供サーバ2A,2B,2Cは、ソフトウェア部品を記憶するソフトウェア部品記憶部を備える。ソフトウェア実行部110は、実行されたソフトウェア部品の評価結果を実績管理部108へ出力する。実績管理部108は、評価結果を部品実績DBへ記録する(S24)。そして、ソフトウェア部品の実行が成功した場合(S25,Yes)、ソフトウェア部品の実行結果を部品機能の実行結果として生成し、このフローは終了する。一方、ソフトウェア部品の実行が失敗した場合(S25,No)、処理S22へ戻り、ソフトウェア部品候補のうち未実行のソフトウェア部品があれば優先順位が次のソフトウェア部品の実行を行う。以上、ソフトウェア部品の実行は、優先順位の最上位から順に実行が成功するまで行われる。
本実施の形態に係る統合サービス提供サーバ1は、同じ入力に対して動作する機能フローの候補またはソフトウェア部品の候補を用意し、1つがエラーを出しても、別の機能フローまたはソフトウェア部品がエラーを起こさなければ動作することができる。そして、ソフトウェア部品提供サーバ2A,2B,2C側では、不得手とする入力範囲に対しては無理に実施せずに、他のソフトウェア部品にゆだねることが可能となる。
以上のように、過去に実行された機能フローの評価結果と、過去に実行されたソフトウェア部品の評価結果を蓄積して実績としておくことにより、統合サービスの利用が進むにつれて実績の最適化が進んで行く。この実績を利用することにより、要求に応じた適切な機能フローまたはソフトウェア部品を選択することができる。
次に、シミュレーション部111について説明する。新しいソフトウェア部品の導入時には、そのソフトウェア部品に関する実績がないため選択されず、さらに選択されないために実績が積まれないという問題が起こる。また、初期運用時にも、実績が取得できていないことは、動作の不安定性につながるおそれがある。
そこで、本実施の形態に係る統合サービス管理サーバ1は、シミュレーション部111を備える。シミュレーション部111は、実際にユーザへ統合サービスを提供するのではなく、実際のサービスと同様のテストを行うことにより実績の獲得を行う。シミュレーション部111は、統合サービス管理サーバ1の管理者が必要としたタイミングや、新しいソフトウェア部品の適用時、サービスの要求が少ない時間帯などに、そのソフトウェア部品を提供するソフトウェア部品提供サーバに自動的にアクセスし、実績の獲得を目的としたテストのためのソフトウェア部品の実行を行う。この場合の動作は課金の対象とはしない。
以上により、本実施の形態に係る統合サービス管理サーバ1は、運用時にも新規に新しいソフトウェア部品を受け入れ、動作の質や安定性を向上させていくことが可能となる。また、この実行により動作に問題がないかを事前に確認しておくことができる。
なお、本実施の形態において、ソフトウェア実行部110は、機能フローまたはソフトウェア部品の実行を、優先順位の最上位から順に成功するまで行うとしたが、同じ要求に対して十分なリソースがあり、候補が多数存在する場合、ソフトウェア実行部110は、失敗が起きなくとも複数の機能フローまたはソフトウェア部品を同時に実行し、実行結果のうちより良いものを返すようにしても良い。その際には、失敗した場合でも、失敗してから別の候補を選択するのと比較して高速な動作が得られることや、複数実行するため、他の候補についても実績が蓄積されるという利点がある。特に、新規ソフトウェア部品の登録時には、例えば新規ソフトウェア部品を規定の割合で機能フローに混ぜるような処理を行い、それにより、新規ソフトウェア部品の実績を蓄積することが可能である。
また、各機能フローまたはソフトウェア部品の実行結果が異なる場合に、多く得られた実行結果や、実績の高い機能フローまたはソフトウェア部品の実行結果に対して確度を高める処理を行うようにしても良い。この場合、ソフトウェア実行部110は、確度の高い結果を選択してクライアント3へ返すことができる。また、クライアント3から複数の結果を返すような要求がある場合、得られた実行結果全てをこの確度でランキングして返すという処理も可能である。
次に、統合サービス提供システムにおける課金の動作について説明する。統合サービス提供システムに伴うお金の流れには、大きく分けて、統合サービスのユーザが支払う金額と、各ソフトウェア部品の提供者が受ける金額の2つがあり、その差分が、統合サービスの提供者が受け取る金額ということになる。ここで、統合サービスにかかるコストは統合サービスの提供者が受ける金額から支払うものとする。以上のような課金計算は、課金計算部112により行われる。
まず、統合サービスのユーザが支払う金額について説明する。統合サービスのユーザには、ソフトウェア部品の組み合わせから決まる基準課金の総和と統合サービスの提供にかかるコストを計算し、それよりも高い金額を設定する。この金額は、他の同等のサービスなどの比較から決められる側面もあり、その場合はサービスとしての価格から各ソフトウェア部品の基準課金を調整する流れとなる。
次に、各ソフトウェア部品の提供者が受ける金額について説明する。各ソフトウェア部品の提供者が受ける金額について、ここでは、課金の方式を基準課金、インセンティブ課金、ペナルティ課金の組み合わせとする。
基準課金とは、ソフトウェア部品が1度利用されるごとにいくらの支払いを保証されるかを示す金額である。基準課金は、戦略に応じて、また市場の一般的な値段を考慮に入れて決める。
ペナルティ課金とは、必要とされたときに利用できなかったケースに、その損害などから計算される金額である。ここでは、必要としたタイミングでアクセスが不能であったことを機械的にカウントし、代替部品によって補うことができたなどによって実害を受けなかった場合も含めてペナルティの対象とする。ペナルティの金額のベースは、アベイラビリティの低下によってサービスの低下が起こることをソフトウェア部品の提供者に意識させられる程度の金額として、統合サービスの提供者が適当な金額を設定し、それに基づきペナルティ金額を課すものとする。
インセンティブ課金は、当該のソフトウェア部品の代替可能性や、性能によって決まる課金である。ここで、インセンティブ課金について詳しく説明する。インセンティブ課金に必要なソフトウェア部品毎の貢献度は、提供したサービスの実績と、類似する実績の集合との相関分析により算出される。まず、提供したサービスの実績と類似した要求パラメータを持つ実績を抽出する。次に、抽出した実績に含まれる各ソフトウェア部品の点数と提供したサービスの実績に含まれる機能フローの点数とを用いて相関分析を行い、各ソフトウェア部品の貢献度を算出する。
複数の機能フロー候補を並行処理した場合、機能フロー候補のうち実際に実施した全てを貢献度計算の対象とする。これによって、代替可能であるソフトウェア部品は、別の部品に入れ替わって適用されたケースもカウントされることで、相対的に貢献度を低く計算され、一方、代替可能性の低いソフトウェア部品の貢献度は高く計算される。インセンティブ分に用意された総額を、提供したサービスにおける各ソフトウェア部品の貢献度に応じて分配した額が、各ソフトウェア部品の受けるインセンティブとなる。
以上により、ソフトウェア部品の提供者への支払い金額は、「ソフトウェア部品への支払い金額=基準課金×利用回数+インセンティブ課金−ペナルティ課金」となる。このうちインセンティブ課金が実績を活かし、市場原理を反映できる。なお、本実施の形態に係る統合サービス提供システムは、課金の他にポイント制度など、他のフィードバックを行うことも可能である。
本実施の形態では、統合サービス提供サーバ1が、クライアント3を用いたユーザからの要求に応じてソフトウェア部品の選択や組み合わせを行い、提供するシステムとしたが、ソフトウェア部品提供サーバ2A,2B,2Cの代わりにある知識を備えたナレッジベースを備え、要求に応じて知識を提供するようにしても良い。このナレッジベースにはある知識の提供者の情報を付与しておく。この場合のユーザからの要求は、特定の状況における知識である。ユーザは、要求に適した知識であったか否かを統合サービス提供サーバへフィードバックし、統合サービス提供サーバはそのフィードバックを評価結果として獲得し、実績として蓄積することにより、要求に応じた知識を適切に選択して提供できる。さらに、課金の代わりに、ある知識の提供者は知識の評価結果に応じたポイントを受けることができる。例えば企業内で統合サービス提供システムを用いた場合には、このポイントを報酬などにすることが可能であり、それによってインセンティブを持たせて良質の知識を入力させるように促進することができる。
実施の形態2.
本実施の形態では、統合サービス提供サーバ1側ではソフトウェアの実行を行わず、ソフトウェア部品提供サーバ2A,2B,2C側でソフトウェアの実行を行う例について説明する。ここでは、実行と評価の動作について説明する。以下で説明する動作以外は、実施の形態1と同様の動作を行う。
本実施の形態では、ソフトウェア部品提供サーバ2A,2B,2C側でソフトウェア部品の実行を行うため、ソフトウェア部品提供サーバは、ソフトウェア部品記憶部に加えて、計算部と、エラー処理部と、評価処理部を備える。
まず、ソフトウェア実行部110は、処理S23のソフトウェアの実行において、ソフトウェア部品の実行指示と引数を、該当するソフトウェア部品提供サーバへ送信する。ソフトウェア実行部110から実行指示と引数を受信したソフトウェア部品提供サーバは、計算部でソフトウェア部品の実行を行う。エラー処理部は、ソフトウェア部品の実行により起こったエラーの処理を行う。評価処理部は、ソフトウェア部品の実行に関する評価を行う。評価処理部が生成する評価結果は、実行の成功または失敗を示す成否、入力がそのソフトウェア部品にとって最適であるかどうか、実行時にソフトウェア部品で起きたエラー、速度などのパフォーマンスなどがある。ソフトウェア部品の実行後、ソフトウェア部品提供サーバは、実行結果と評価結果を統合サービス提供サーバ1へ送信する。
一方、ソフトウェア実行部110もソフトウェア部品提供サーバの実行に関する評価を行う。この場合のソフトウェア実行部110が生成する評価結果とは、例えば、実行指示時にソフトウェア部品提供サーバにアクセスできたか否かである。ソフトウェア部品提供サーバから実行結果と評価結果を受信したソフトウェア実行部110は、ソフトウェア部品提供サーバからの評価結果と、自身が生成した評価結果を実績管理部108へ出力する。実績管理部108は、評価結果を機能フロー実績DBまたはソフトウェア部品実績DBへ記録する。
実施の形態3.
本実施の形態では、統合サービス提供サーバ1側とソフトウェア部品提供サーバ2A,2B,2C側ではソフトウェアの実行を行わず、機能フローまたはソフトウェア部品をそのままクライアント3へ渡す例について説明する。ここでは、実行との動作について説明する。以下で説明する動作以外は、実施の形態1と同様の動作を行う。
本実施の形態では、ユーザがクライアント3を用いて要求メッセージを送信する際に、機能フローまたはソフトウェア部品をそのまま返すように要求メッセージを変更することにより対応することができる。ソフトウェア実行部110はクライアントインタフェース部101を介して、要求に応じて選択された機能フローまたはソフトウェア部品のうち、優先順位が上位のものをクライアント3へ送信する。クライアント3は、ソフトウェア部品の実行を行い、ソフトウェア部品の質に関する評価結果を統合サービス提供サーバ1へ送信する。
実績獲得部109は、クライアントインタフェース部101を介してクライアント3からの評価結果を獲得し、実績管理部108へ出力する。実績管理部108は、評価結果を機能フロー実績DBまたは部品実績DBへ記録する。
なお、統合サービス提供サーバ1は、複数の機能フロー候補とソフトウェア部品候補を、クライアント3へ返すようにしても良い。このような場合は、クライアント3側で機能フローまたはソフトウェア部品の選択ができる。
また、統合サービス提供サーバ1はクライアント3へ、ソフトウェア部品を送信するのではなく、選択した機能フローや選択したソフトウェア部品の提供元、提供元ネットワークID、部品IDなどの情報を送信して、クライアント3がソフトウェア部品提供サーバからソフトウェア部品を取得して実行するようにしても良い。
産業上利用の可能性
以上説明したように、本発明によれば、実績を利用してソフトウェア部品の選択や組み合わせを行うことにより、ソフトウェア部品を統合した場合の動作において質の高さと安定性を実現することが可能である。また、1つの要求に対して、対応する複数のソフトウェア部品を登録しておくことにより、散在するソフトウェア部品の統合や連携が可能になる。その際に必要になる管理工数は実績を使うことにより劇的に軽減され、かつ動作の安定性が確保される。また、サービスに対する課金は、個々のソフトウェア部品の提供者が行うことなく、貢献度に基づいて行われるため、実用性の高い課金を実現することができ、新規のソフトウェア部品の登録を促進させることにもなる。
また、ユーザにおいては、目的のサービスを発見し、組み合わせることの困難さや煩雑さが大きく軽減される。また、統合に関わるソフトウェア部品の提供者においては、使われるサービスにするために他のサービスと組み合わせるような仕事を代行してくれることによる、サービス提供のための敷居が軽減される。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In this embodiment, an example will be described for an XML Web service. The XML Web service is a mechanism that allows a software component and a service including the software component to be freely used from the Internet by using a Web-based technology. In the present embodiment, an example will be described in which software components realized as XML Web services are integrated to realize a new service, and software components are appropriately integrated.
Embodiment 1 FIG.
First, the configuration of the integrated service providing system according to the present embodiment will be described. FIG. 1 is a block diagram showing an example of the configuration of an integrated service providing system according to the present embodiment. Here, for simplicity of explanation, an example in which one client and three software component providing servers are provided is shown. As shown in FIG. 1, the integrated service providing system according to the present embodiment includes an integrated service providing server 1, three software component providing servers 2A, 2B, 2C, and a client 3, each via a network 4. Connected.
In the present embodiment, the integrated service providing server 1 appropriately selects and combines software components in response to a request from the client 3, and selects the selected software component from the software component providing servers 2A, 2B, and 2C. An example of acquiring and executing from the software component providing server will be described.
Next, the configuration of the integrated service providing server according to the present embodiment will be described. FIG. 2 is a block diagram showing an example of the configuration of the integrated service providing server according to the present embodiment. As shown in FIG. 2, the integrated service providing server 1 according to the present embodiment includes a client interface unit 101, a software determination unit 102, a software search unit 103, a software registration unit 104, and a capability / operation check unit. 105, a rule engine unit 106, a priority order determination unit 107, a result management unit 108, a result acquisition unit 109, a software execution unit 110, a simulation unit 111, and a billing calculation unit 112.
Hereinafter, the operation of the integrated service providing system according to the present embodiment will be described. In order to integrate software components and provide them to the user, it is necessary to register the original software components. Here, the operation of registering software components will be described. The registration of the XML Web service consists of the registration of the XML describing the contents of the service and, in the case of a fee-based service, the contract procedure for the payment method.
First, the operation of service registration in the integrated service providing system according to the present embodiment will be described. By registering the software component that executes the XML Web service in the software registration unit 104 of the integrated service providing server 1, the service can be called from the integrated service providing server 1. In some software components provided by the Web service, a free service similar to the free software may be provided. In such a free service, only this service registration is performed.
Next, the service registration operation using the directory service will be described. In the XML Web service, a server having a telephone book role called a directory service for searching for a service exists on the Internet, and service registration can be performed there. Then, by re-registering the contents registered in the directory service in the software registration unit 104 of the integrated service providing server 1, these services can be called. Here, when registering independently in the integrated service providing server 1, constraint descriptions that are not in the category of handling in the standard directory service on the Internet can be taken into consideration depending on the case.
Next, the service registration operation of the fee-based XML Web service will be described. In this case, the payment method contract is performed simultaneously. In the integrated service providing system according to the present embodiment, a contract server (not shown) connected to the network 4 plays this role. A software component provider who wishes to register software components first accesses the contract server. There is a charge related description in the contract server. It is assumed that the rate rules consist of standard billing, incentive billing, and penalty billing, which will be described later. Document the measurement method and payment method of this billing, and after agreeing with the software component provider, describe the contract software settings such as the payment method and notification method of the fee, Registration of software parts by XML Web service. At this time, registration of the metadata of the software component to be registered is also performed. This procedure is performed by a software component provider, a third party acting as a registration agent, or a software component.
As a feature of the integrated service providing system according to the present embodiment, it may be recommended to register a plurality of corresponding software components for one input format. This is important for system optimization and stability.
Next, a user registration operation in the integrated service providing system according to the present embodiment will be described. A user who wishes to use the integrated service providing system uses the client 3 to access a user registration server (not shown) connected to the network 4 and perform user registration. After the user agrees on a payment method to be described later, the user inputs a user ID, a password, a payment method for the usage amount, and the registration is completed. Here, the user does not necessarily represent the end user, and when there is access to the integrated service providing server 1 from another service, it represents the service provider.
Next, an outline of the operation of the integrated service providing server 1 according to the present embodiment will be described. FIG. 3 is a flowchart showing an example of the operation of the integrated service providing server. First, a user who is confirmed to be a valid user by inputting a user ID and password transmits a request message using the client 3. The request message describes a function and arguments desired by the user.
Next, the client interface unit 101 of the integrated service providing server 1 receives a request message from the client 3. FIG. 4 is a diagram showing an example of an XML format request message. The request message example shown in FIG. 4 is for requesting a delivery date search for 800 pieces of aluminum having a thickness of 10 mm. Here, the function is a delivery date search, and the arguments are material, thickness, and number.
Next, the client interface unit 101 analyzes the received request message (S1). The analysis is performed by recognizing the structure of XML using software called an XML parser and extracting the requested functions and arguments. At this time, access information such as the time when the request is input, the user ID, and the access source address is also acquired.
If the format of the request message is not correct (S2, No), the client interface unit 101 notifies the client 3 of an error message (S8) and ends this flow. On the other hand, when the format of the request message is correct (S2, Yes), the client interface unit 101 outputs the requested function, argument, and access information to the software determination unit 102 as request parameters. The software determination unit 102 outputs the request parameter to the software search unit 103.
Here, the software registration unit 104 will be described in detail. The software registration unit 104 includes a function flow DB (database) and a component DB. FIG. 5 is a diagram illustrating an example of a function flow DB. As shown in FIG. 5, the function flow DB is composed of an integrated function, a component function 1, a component function 2, and the like, and is managed by a flow ID. Although FIG. 5 shows an integrated function composed of two component functions as an example, there is also an integrated function composed of a plurality of component functions. The component function is a function of a single software component. The integrated function is a function obtained by integrating software components. The function flow is an integrated function represented by component functions as constituent elements. During operation, it is more efficient and more reliable to know in advance which component function is used to realize the request. Therefore, the administrator of the integrated service providing server 1 uses a combination of component functions in advance. Stored in the function flow DB as a flow. For example, in FIG. 5, when the integrated function is a delivery date search, the component function 1 is a delivery date search, and the component function 2 is a price search.
FIG. 6 is a diagram illustrating an example of a component DB. As shown in FIG. 6, the component DB is composed of a component function, a provider, a provider network ID, and the like, and is managed by the component ID.
Next, the software search unit 103 searches the software registration unit 104 for software having the ability to perform the requested function (S3). As a result of the search, if the requested function is the integrated function (S4, Yes), the process proceeds to S6 after the integrated function is executed (S5). The execution of the integration function of the process S5 will be described in detail with reference to the flowchart of FIG. On the other hand, when the requested function is a component function (S4, No), after executing the component function (S7), the process proceeds to S6. The execution of the component function in step S7 will be described in detail with reference to the flowchart of FIG.
After execution of the integrated function (S5) or execution of the component function (S7), the software execution unit 110 notifies the client 3 via the client interface unit 101 as an answer message to the request (S6). The flow ends.
FIG. 7 is a diagram showing an example of an answer message in XML format. The example of the reply message shown in FIG. 7 indicates that the delivery date is 4 days as a result of the delivery date search for the request.
Here, when the evaluation result regarding the quality of service is obtained from the client 3, the result acquisition unit 109 acquires the evaluation result. In this case, the user who has obtained the execution result transmits the evaluation result regarding the quality of service to the integrated service providing server 1 using the client 3. The result acquisition unit 109 acquires the evaluation result from the client 3 via the client interface unit 101 and outputs it to the result management unit 108.
Next, the operation for executing the integrated function in step S5 will be described in detail. FIG. 8 is a flowchart showing an example of the operation of executing the integrated function. First, the software search unit 103 outputs, to the software determination unit 102, function flow candidates that can execute the integrated function obtained by the search. The software determination unit 102 outputs the request parameter and the function flow candidate to the priority order determination unit 107. The priority order determination unit 107 calculates which function flow is optimal using the past results, and determines the execution priority order for the function flow candidates (S11).
Here, the results will be described. The actual result is an accumulation of evaluation results of function flows executed in the past and evaluation results of software components executed in the past. The evaluation results include an evaluation result generated by the software execution unit at the time of execution and an evaluation result generated by the client 3 receiving the service. The evaluation result generated by the software execution part occurred in the software component at the time of execution, whether the execution was successful or failed, whether the software component providing server could be accessed when executing, whether the input was optimal for the software component There are performances such as error and speed.
The performance management unit 108 calculates the executed function flow and the number of executed software components based on the evaluation result generated by the software execution unit and the evaluation result generated by the client 3. The result management unit 108 includes a function flow result DB that manages results in units of function flows, and a software component result DB that manages results in units of software components.
FIG. 9 is a diagram showing an example of the function flow performance DB. As shown in FIG. 9, the functional flow performance DB is composed of integrated functions, request parameters, selected parts 1, selected parts 2, success / failure of execution, points, execution time, etc., and is managed by case ID. FIG. 10 is a diagram showing an example of the software component performance DB. As shown in FIG. 10, the software component record DB is composed of component functions, required parameters, selected components, execution success / failure, points, execution time, and the like, and is managed by case ID. The results in FIGS. 9 and 10 may include execution results.
Next, an example of the operation for determining the priority of execution of the function flow will be described. First, the result calculation unit 107 extracts a result of a function flow having a request parameter similar to the current request parameter from the result management unit 108. This prevents selection of a function flow that contributes to a service that is not related to the current request. Next, by performing a correlation analysis using the number of function flows and the number of each software component included in the extracted functional flow results, the contribution of each software component to the extracted functional flow results is calculated. calculate. The sum of the contributions is calculated as the priority of the function flow, priorities are set according to the priorities, the function flows up to the specified order are set as function flow candidates, and the function flow candidates and the priorities are sent to the software determination unit 102. Output. The execution of the function flow is performed in order from the highest priority.
Next, the software determination unit 102 passes the request parameter, the function flow candidate, and the priority order to the software search unit 103. If there is no unexecuted function flow (S12, No), this flow ends. On the other hand, when there is an unexecuted function flow among the passed function flows (Yes in S12), the process proceeds to S13. Here, when there is no corresponding functional flow in the process of S3, it is included when there is no unexecuted functional flow.
Next, the software search unit 103 breaks down the functional flow into component functions (S13), and searches the component DB for software components having the ability to execute each component function (S14). For example, in the example shown in FIG. 8, the software search unit 103 searches the component DB for software components that perform delivery date search and software components that perform price search.
At this time, the software search unit 103 uses the capability / operation check unit 105 to check that each searched software component can perform a service. The confirmation includes a confirmation of the capability based on metadata provided at the time of registration by each software component and a confirmation that the service is actually possible. Software parts that have been confirmed to be capable and usable are extracted as software part candidates.
Next, the function flow is executed for each component function (S15). The execution of the component function in step S15 will be described in detail with reference to the flowchart of FIG. The software execution unit 110 executes the component function (S15), and when the execution of all the component functions constituting the function flow is completed (S16, Yes), the evaluation result of the executed function flow is sent to the results management unit 108. Output. The track record management unit 108 records the evaluation result in the function flow track record DB (S17). If the execution of the function flow is successful (S18, Yes), the execution result of the integrated function is generated based on the execution results of all the component functions that constitute the integrated function, and this flow ends. On the other hand, if the execution of the function flow has failed (S18, No), the process returns to step S12, and if there is an unexecuted function flow among the function flow candidates, the function flow with the next priority is executed. As described above, the execution of the function flow is performed in order from the highest priority order until the execution succeeds.
Next, the operation of executing the component functions in the processes S7 and S15 will be described in detail. FIG. 11 is a flowchart showing an example of the function execution operation. First, the software search unit 103 outputs, to the software determination unit 102, software component candidates that can execute the component function obtained by the search. The software determination unit 102 passes the request parameters and software component candidates to the rule engine unit 106.
Next, the rule engine unit 106 performs pre-processing for the actual result calculation. Here, rules of application parts such as information on software parts that do not work well with specific inputs and application rules such as preferential use of own software parts for specific customers are given as rules. Apply and delete software component candidates in advance or replace software component candidates. The rule engine unit 106 outputs to the priority order determination unit 107 the request parameter and the candidate software component that has undergone the pre-processing.
The priority order determination unit 107 calculates which software component is optimal using the past results, and determines the execution priority for the software component candidates (S21). Here, an example of the operation for determining the priority of execution of the software component will be described. First, the result calculation unit 107 extracts the number of given software component candidates from the result management unit 108. Software component priorities are calculated based on the scores, priorities are set according to the priorities, software components up to a specified rank are set as software component candidates, and the software component candidates and priorities are output to the software determination unit 102. To do. Software components are executed in order from the highest priority.
Next, the software determination unit 102 passes the request parameter, software component candidate, and priority order to the software execution unit 110. If there is no unexecuted software component (S22, No), this flow ends. On the other hand, if there is an unexecuted software component among the delivered software components (S22, Yes), the process proceeds to S23. Here, when there is no corresponding software component in the process of S3, it is included when there is no unexecuted function flow.
Next, the software execution unit 110 accesses the software providing server including the software component to be executed, acquires the software component, and executes the software component (S23). The software providing servers 2A, 2B, and 2C include a software component storage unit that stores software components. The software execution unit 110 outputs the evaluation result of the executed software component to the result management unit 108. The track record management unit 108 records the evaluation result in the component track record DB (S24). If the execution of the software component is successful (S25, Yes), the execution result of the software component is generated as the execution result of the component function, and this flow ends. On the other hand, if execution of the software component has failed (S25, No), the process returns to step S22, and if there is an unexecuted software component among the software component candidates, the software component with the next priority is executed. As described above, the software components are executed in order from the highest priority order until the execution succeeds.
The integrated service providing server 1 according to the present embodiment prepares functional flow candidates or software component candidates that operate for the same input, and even if one generates an error, another functional flow or software component has an error. If you do not wake up, you can work. On the software component providing servers 2A, 2B, and 2C, it is possible to refer to other software components without forcing the input range that is not good.
As described above, by accumulating the evaluation results of function flows executed in the past and the evaluation results of software components executed in the past as results, optimization of the results advances as the use of integrated services progresses. Go on. By using this record, it is possible to select an appropriate function flow or software component according to the request.
Next, the simulation unit 111 will be described. When a new software component is introduced, it is not selected because there is no track record regarding the software component, and there is a problem that a track record is not accumulated because it is not selected. In addition, failure to obtain results even during initial operation may lead to instability of operation.
Therefore, the integrated service management server 1 according to the present embodiment includes a simulation unit 111. The simulation unit 111 does not actually provide the integrated service to the user, but acquires results by performing a test similar to the actual service. The simulation unit 111 is automatically provided to the software component providing server that provides the software component at a timing required by the administrator of the integrated service management server 1 or when a new software component is applied, or when the service request is low. And run software components for testing with the goal of earning achievements. The operation in this case is not subject to billing.
As described above, the integrated service management server 1 according to the present embodiment can newly accept new software components even during operation, and can improve the quality and stability of operation. In addition, it can be confirmed in advance whether there is no problem in the operation by this execution.
In the present embodiment, the software execution unit 110 executes the function flow or the software component until it succeeds in order from the highest priority, but there are sufficient resources for the same request, and the candidate If there are many, the software execution unit 110 may execute a plurality of functional flows or software components at the same time even if no failure occurs, and return a better execution result. In that case, even if it fails, it is possible to obtain high-speed operation compared to selecting another candidate after failure, and because multiple executions are performed, results are also accumulated for other candidates There are advantages. In particular, when registering a new software component, for example, a process of mixing the new software component into a functional flow at a specified rate can be performed, thereby accumulating the results of the new software component.
Further, when the execution results of each functional flow or software component are different, a process for increasing the accuracy may be performed on the execution results obtained or the execution results of the functional flows or software components with a high track record. In this case, the software execution unit 110 can select a result with high accuracy and return it to the client 3. Further, when there is a request for returning a plurality of results from the client 3, it is also possible to process all the obtained execution results by ranking with this accuracy.
Next, the charging operation in the integrated service providing system will be described. The flow of money associated with the integrated service providing system can be broadly divided into an amount paid by the user of the integrated service and an amount received by the provider of each software component, and the difference is received by the provider of the integrated service. It will be the amount of money. Here, the cost for the integrated service is paid from the amount received by the provider of the integrated service. The accounting calculation as described above is performed by the accounting calculation unit 112.
First, the amount paid by the user of the integrated service will be described. For the user of the integrated service, the sum of the reference charges determined from the combination of the software components and the cost for providing the integrated service are calculated, and a higher amount is set. In some cases, this amount can be determined by comparing other equivalent services, and in this case, the standard charge for each software component is adjusted from the price as the service.
Next, the amount received by each software component provider will be described. Here, regarding the amount received by each software component provider, the charging method is a combination of basic charging, incentive charging, and penalty charging.
The reference charge is an amount indicating how much payment is guaranteed each time the software component is used. The base charge is determined according to the strategy and taking into account the general price of the market.
Penalty billing is an amount calculated based on the damage of a case that cannot be used when needed. Here, the inaccessibility at the required timing is mechanically counted, and the penalty is included even when there is no actual damage due to the fact that it could be compensated for by a substitute part. Based on the penalty amount, the integrated service provider sets an appropriate amount as the amount that makes the software component provider aware that the service will be degraded due to a decrease in availability. Shall be imposed.
Incentive billing is billing determined by the possibility of substituting the software component and the performance. Here, incentive charging will be described in detail. The degree of contribution for each software component necessary for incentive charging is calculated by a correlation analysis between the performance of the provided service and a set of similar performance. First, a track record having a request parameter similar to the track record of the provided service is extracted. Next, a correlation analysis is performed using the score of each software component included in the extracted performance and the score of the function flow included in the performance of the provided service, and the degree of contribution of each software component is calculated.
When a plurality of functional flow candidates are processed in parallel, all of the functional flow candidates that are actually executed are included in the contribution calculation target. As a result, software components that can be replaced are counted as cases where they are replaced with other components, and the contribution is calculated to be relatively low. On the other hand, the contribution of software components that have low replacement potential is calculated. Is calculated high. An amount obtained by distributing the total amount prepared for the incentive according to the contribution degree of each software component in the provided service is an incentive received by each software component.
As described above, the payment amount to the software component provider is “payment amount to software component = reference charge × number of uses + incentive charge−penalty charge”. Of these, incentive billing can make use of its track record and reflect market principles. Note that the integrated service providing system according to the present embodiment can provide other feedback such as a point system in addition to billing.
In the present embodiment, the integrated service providing server 1 selects and combines software components according to a request from a user using the client 3 and provides the software components. However, the software component providing servers 2A, 2B, and 2C are provided. Instead of the above, a knowledge base having a certain knowledge may be provided, and the knowledge may be provided upon request. Information of a certain knowledge provider is given to this knowledge base. The request from the user in this case is knowledge in a specific situation. The user feeds back to the integrated service providing server whether or not the knowledge is appropriate for the request, and the integrated service providing server acquires the feedback as an evaluation result and accumulates it as a result, so that the knowledge according to the request is appropriately obtained. You can choose to provide. Further, instead of charging, a certain knowledge provider can receive points according to the knowledge evaluation result. For example, when an integrated service providing system is used in a company, this point can be used as a reward, thereby promoting incentives to input good quality knowledge.
Embodiment 2. FIG.
In the present embodiment, an example will be described in which software is not executed on the integrated service providing server 1 side, but software is executed on the software component providing servers 2A, 2B, and 2C. Here, the execution and evaluation operations will be described. Except for the operations described below, the same operations as in the first embodiment are performed.
In this embodiment, since the software components are executed on the software component providing servers 2A, 2B, and 2C, the software component providing server includes a calculation unit, an error processing unit, and an evaluation process in addition to the software component storage unit A part.
First, the software execution unit 110 transmits a software component execution instruction and an argument to the corresponding software component providing server in the execution of the software in step S23. The software component providing server that has received the execution instruction and the argument from the software execution unit 110 executes the software component in the calculation unit. The error processing unit processes errors that occur due to execution of software components. The evaluation processing unit performs evaluation related to execution of the software component. The evaluation result generated by the evaluation processing unit includes success / failure indicating success or failure of execution, whether the input is optimal for the software component, errors such as errors occurring in the software component during execution, performance such as speed. After executing the software component, the software component providing server transmits the execution result and the evaluation result to the integrated service providing server 1.
On the other hand, the software execution unit 110 also evaluates the execution of the software component providing server. The evaluation result generated by the software execution unit 110 in this case is, for example, whether or not the software component providing server can be accessed at the time of execution instruction. The software execution unit 110 that has received the execution result and the evaluation result from the software component providing server outputs the evaluation result from the software component providing server and the evaluation result generated by itself to the result management unit 108. The result management unit 108 records the evaluation result in the function flow result DB or the software component result DB.
Embodiment 3 FIG.
In the present embodiment, an example will be described in which the integrated service providing server 1 side and the software component providing servers 2A, 2B, and 2C do not execute software and pass the function flow or software components to the client 3 as they are. Here, the operation with execution will be described. Except for the operations described below, the same operations as in the first embodiment are performed.
In the present embodiment, when a user transmits a request message using the client 3, it is possible to respond by changing the request message so that the function flow or the software component is returned as it is. The software execution unit 110 transmits, via the client interface unit 101, a function flow or software component selected in response to a request to the client 3 with a higher priority. The client 3 executes the software component and transmits an evaluation result regarding the quality of the software component to the integrated service providing server 1.
The result acquisition unit 109 acquires the evaluation result from the client 3 via the client interface unit 101 and outputs it to the result management unit 108. The performance management unit 108 records the evaluation result in the function flow performance DB or the parts performance DB.
The integrated service providing server 1 may return a plurality of function flow candidates and software component candidates to the client 3. In such a case, the function flow or software component can be selected on the client 3 side.
In addition, the integrated service providing server 1 does not transmit the software component to the client 3, but transmits information such as the selected function flow, the provider of the selected software component, the provider network ID, and the component ID. 3 may acquire and execute a software component from the software component providing server.
Industrial applicability
As described above, according to the present invention, it is possible to achieve high quality and stability in the operation when software components are integrated by selecting and combining software components using actual results. is there. In addition, by registering a plurality of corresponding software components for one request, it is possible to integrate and link scattered software components. The management man-hours required at that time are dramatically reduced by using the results, and the stability of the operation is ensured. In addition, the service is charged based on the contribution level, not by the individual software component provider, so it is possible to realize a highly practical charge and promote the registration of new software components. It also becomes.
Further, it is possible to greatly reduce the difficulty and complexity of finding and combining target services for the user. In addition, the provider of software components involved in integration reduces the threshold for providing services by substituting work that is combined with other services to make the services used.

Claims (23)

ネットワークを介して接続されたクライアントからの要求に応じて、ソフトウェア部品を提供する統合サービス提供サーバであって、
ソフトウェア部品を登録し、該ソフトウェア部品の機能を表す部品機能と該ソフトウェア部品の識別子とを蓄積するソフトウェア登録部と、
過去に与えられた要求と該要求に従って実行されたソフトウェア部品の評価結果とを該ソフトウェア部品の実績として蓄積する実績管理部と、
前記クライアントから要求を受信し、該要求に含まれた機能を抽出するクライアントインタフェース部と、
前記要求に基づいてソフトウェア部品の候補を前記ソフトウェア登録部から検索し、前記ソフトウェア部品の候補に対応する実績を前記実績管理部から取得し、該実績に基づいて前記ソフトウェア部品の候補の中から実行するソフトウェア部品である実行ソフトウェア部品を選択するソフトウェア選択部と、
前記実行ソフトウェア部品の実行の制御を行い、該実行により得られる前記実行ソフトウェア部品の評価結果を前記実績管理部へ出力するソフトウェア実行部と、
を備えてなる統合サービス提供サーバ。
An integrated service providing server that provides software components in response to a request from a client connected via a network,
A software registration unit for registering a software component and storing a component function representing the function of the software component and an identifier of the software component;
A results management unit that accumulates requests given in the past and evaluation results of software components executed according to the requests as results of the software components;
A client interface unit that receives a request from the client and extracts a function included in the request;
Based on the request, a software component candidate is searched from the software registration unit, a record corresponding to the software component candidate is acquired from the record management unit, and the software component candidate is executed based on the record A software selection unit that selects an execution software component that is a software component to be
A software execution unit that controls execution of the execution software component and outputs an evaluation result of the execution software component obtained by the execution to the results management unit;
An integrated service providing server comprising:
ソフトウェア部品を統合したソフトウェアを、ネットワークを介して接続されたクライアントからの要求に応じて提供する統合サービス提供サーバであって、
ソフトウェア部品を登録し、該ソフトウェア部品の機能を表す部品機能と該ソフトウェア部品の識別子とを蓄積するとともに、複数の部品機能から構成される機能フローを登録し、該機能フローを構成する複数の部品機能と該機能フローの機能と該機能フローの識別子とを蓄積するソフトウェア登録部と、
過去に与えられた要求と該要求に従って実行された機能フローの評価結果とを該機能フローの実績として蓄積し、過去に与えられた要求と該要求に従って実行されたソフトウェア部品の評価結果とを該ソフトウェア部品の実績として蓄積する実績管理部と、
前記クライアントから要求を受信し、該要求に含まれた機能を抽出するクライアントインタフェース部と、
前記要求に基づいて機能フローの候補を前記ソフトウェア登録部から検索し、前記機能フローの候補に対応する実績を前記実績管理部から取得し、実行する機能フローである実行機能フローを前記機能フローの候補に対応する実績に基づいて前記機能フローの候補の中から選択し、前記実行機能フローを構成する部品機能である複数の構成機能へ分解し、該構成機能に基づいて該構成機能毎のソフトウェア部品の候補を前記ソフトウェア登録部から検索し、前記構成機能毎のソフトウェア部品の候補に対応する実績を前記実績管理部から取得し、該実績に基づいて前記構成機能毎のソフトウェア部品の候補の中から実行するソフトウェア部品である前記構成機能毎の実行ソフトウェア部品を選択するソフトウェア選択部と、
前記構成機能毎の実行ソフトウェア部品の実行の制御を行い、該実行により得られる前記構成機能毎の実行ソフトウェア部品の評価結果と該評価結果に基づく前記実行機能フローの評価結果とを前記実績管理部へ出力するソフトウェア実行部と、
を備えてなる統合サービス提供サーバ。
An integrated service providing server that provides software in which software components are integrated in response to a request from a client connected via a network,
Registering a software component, storing a component function representing the function of the software component and an identifier of the software component, registering a functional flow composed of a plurality of component functions, and a plurality of components constituting the functional flow A software registration unit for storing functions, functions of the function flows, and identifiers of the function flows;
The request given in the past and the evaluation result of the function flow executed according to the request are accumulated as the results of the function flow, and the request given in the past and the evaluation result of the software component executed according to the request are stored in the A results management department that accumulates software component results,
A client interface unit that receives a request from the client and extracts a function included in the request;
Based on the request, a function flow candidate is searched from the software registration unit, a result corresponding to the function flow candidate is acquired from the result management unit, and an execution function flow that is a function flow to be executed is obtained from the function flow. Based on the performance corresponding to the candidate, the function flow is selected from the candidate candidates, decomposed into a plurality of component functions which are component functions constituting the execution function flow, and software for each component function based on the component function A candidate for a part is searched from the software registration unit, a record corresponding to the candidate software part for each component function is acquired from the record management unit, and a candidate software component for each component function is determined based on the record. A software selection unit that selects an execution software component for each component function that is a software component to be executed from:
The execution management of the execution software component for each component function is controlled, and the result of the execution software component evaluation result for each component function obtained by the execution and the evaluation result of the execution function flow based on the evaluation result A software execution unit that outputs to
An integrated service providing server comprising:
請求の範囲第2項に記載の統合サービス提供サーバにおいて、
前記ソフトウェア実行部はさらに、ネットワークを介して接続された外部のサーバから前記構成機能毎の実行ソフトウェア部品を取得し、前記構成機能毎の実行ソフトウェア部品の実行と前記構成機能毎の実行ソフトウェア部品の評価を行うとともに、前記構成機能毎の実行ソフトウェア部品の実行結果に基づいて前記実行機能フローの実行結果を生成し、前記構成機能毎の実行ソフトウェア部品の評価結果に基づいて前記実行機能フローの評価を行い、
前記クライアントインタフェース部はさらに、前記実行機能フローの実行結果をクライアントへ送信する
ことを特徴とする統合サービス提供サーバ。
In the integrated service providing server according to claim 2,
The software execution unit further acquires an execution software component for each component function from an external server connected via a network, and executes the execution software component for each component function and the execution software component for each component function. The execution function flow is generated based on the execution result of the execution software component for each component function, and the execution function flow is evaluated based on the evaluation result of the execution software component for each component function And
The integrated service providing server, wherein the client interface unit further transmits an execution result of the execution function flow to the client.
請求の範囲第3項に記載の統合サービス提供サーバにおいて、
前記ソフトウェア選択部は、実績管理部に蓄積された機能フローのうち、前記クライアントからの要求に類似した要求を持つ機能フローを前記機能フローの候補とし、前記機能フローの候補に対応する実績に基づいて前記機能フローの候補の優先順位を与え、最上位の優先順位を持つ前記機能フローの候補を前記実行機能フローとし、前記実行機能フローの実行が失敗した場合に次の優先順位を持つ前記機能フローの候補を前記実行機能フローとし、前記実行機能フローの構成機能毎のソフトウェア部品の候補に対応する実績に基づいて前記構成機能毎のソフトウェア部品の候補の優先順位を与え、最上位の優先順位を持つ前記ソフトウェア部品の候補を前記実行ソフトウェア部品とし、前記実行ソフトウェア部品の実行が失敗した場合に次の優先順位を持つ前記ソフトウェア部品の候補を前記実行ソフトウェア部品とする
ことを特徴とする統合サービス提供サーバ。
In the integrated service providing server according to claim 3,
The software selection unit sets a function flow having a request similar to the request from the client as a function flow candidate among the function flows stored in the result management unit, and based on the results corresponding to the function flow candidate. The function flow candidates are given priority, the function flow candidate having the highest priority is set as the execution function flow, and the execution function flow has the next priority when the execution function flow fails. The flow candidate is the execution function flow, and the priority order of the software component candidates for each component function is given based on the results corresponding to the software component candidates for each component function of the execution function flow. If the execution software component execution fails, the software component candidate having Integrated service providing server, characterized in that the said software candidate the running software component of the component with a priority.
請求の範囲第3項に記載の統合サービス提供サーバにおいて、
前記ソフトウェア登録部に新規のソフトウェア部品が登録された場合に、予め定められた規則や実績に基づいて前記新規のソフトウェア部品の実行を行うシミュレーション部を備えた
ことを特徴とする統合サービス提供サーバ。
In the integrated service providing server according to claim 3,
An integrated service providing server, comprising: a simulation unit that executes a new software component based on a predetermined rule or record when a new software component is registered in the software registration unit.
請求の範囲第3項に記載の統合サービス提供サーバにおいて、
前記予め定めた規則に従って前記ソフトウェア部品の候補の削除または前記ソフトウェア部品の候補の置き換えを行うルールエンジン部を備えた
ことを特徴とする統合サービス提供サーバ。
In the integrated service providing server according to claim 3,
An integrated service providing server comprising a rule engine unit that deletes the software component candidate or replaces the software component candidate in accordance with the predetermined rule.
請求の範囲第3項に記載の統合サービス提供サーバにおいて、
前記クライアントから受信した要求に類似した要求を持つ実績を前記実績管理部から抽出し、該実績に基づいて前記実行ソフトウェア部品の貢献度を算出し、該貢献度に応じて前記実行ソフトウェア部品への報酬を決定する課金計算部を備えた
ことを特徴とする統合サービス提供サーバ。
In the integrated service providing server according to claim 3,
A result having a request similar to the request received from the client is extracted from the result management unit, a contribution degree of the execution software component is calculated based on the result, and the execution software part is sent to the execution software part according to the contribution degree. An integrated service providing server comprising a billing calculation unit for determining a reward.
請求の範囲第3項に記載の統合サービス提供サーバにおいて、
前記ソフトウェア実行部は、複数の前記ソフトウェア部品の候補の実行を並列に行う
ことを特徴とする統合サービス提供サーバ。
In the integrated service providing server according to claim 3,
The integrated software providing server, wherein the software execution unit executes a plurality of candidate software components in parallel.
請求の範囲第2項に記載の統合サービス提供サーバにおいて、
前記ソフトウェア実行部はさらに、ネットワークを介して接続され前記実行ソフトウェア部品を持つ外部のサーバに対して前記実行ソフトウェア部品の実行の指示を送信することにより前記実行ソフトウェア部品を実行させ、前記実行ソフトウェア部品の実行結果と前記実行ソフトウェア部品の評価結果を受信し、前記構成機能毎の実行ソフトウェア部品の実行結果に基づいて前記実行機能フローの実行結果を生成し、前記構成機能毎の実行ソフトウェア部品の評価結果に基づいて前記実行機能フローの評価を行い、
前記クライアントインタフェース部はさらに、前記実行機能フローの実行結果をクライアントへ送信する
ことを特徴とする統合サービス提供サーバ。
In the integrated service providing server according to claim 2,
The software execution unit further causes the execution software component to be executed by transmitting an instruction to execute the execution software component to an external server connected via a network and having the execution software component. The execution result and the evaluation result of the execution software component are received, the execution result of the execution function flow is generated based on the execution result of the execution software component for each component function, and the execution software component is evaluated for each component function Based on the result, evaluate the execution function flow,
The integrated service providing server, wherein the client interface unit further transmits an execution result of the execution function flow to the client.
請求の範囲第9項に記載の統合サービス提供サーバにおいて、
前記ソフトウェア選択部は、実績管理部に蓄積された機能フローのうち、前記クライアントからの要求に類似した要求を持つ機能フローを前記機能フローの候補とし、前記機能フローの候補に対応する実績に基づいて前記機能フローの候補の優先順位を与え、最上位の優先順位を持つ前記機能フローの候補を前記実行機能フローとし、前記実行機能フローの実行が失敗した場合に次の優先順位を持つ前記機能フローの候補を前記実行機能フローとし、前記実行機能フローの構成機能毎のソフトウェア部品の候補に対応する実績に基づいて前記構成機能毎のソフトウェア部品の候補の優先順位を与え、最上位の優先順位を持つ前記ソフトウェア部品の候補を前記実行ソフトウェア部品とし、前記実行ソフトウェア部品の実行が失敗した場合に次の優先順位を持つ前記ソフトウェア部品の候補を前記実行ソフトウェア部品とする
ことを特徴とする統合サービス提供サーバ。
In the integrated service providing server according to claim 9,
The software selection unit sets a function flow having a request similar to the request from the client as a function flow candidate among the function flows stored in the result management unit, and based on the results corresponding to the function flow candidate. The function flow candidates are given priority, the function flow candidate having the highest priority is set as the execution function flow, and the execution function flow has the next priority when the execution function flow fails. The flow candidate is the execution function flow, and the priority order of the software component candidates for each component function is given based on the results corresponding to the software component candidates for each component function of the execution function flow. If the execution software component execution fails, the software component candidate having Integrated service providing server, characterized in that the said software candidate the running software component of the component with a priority.
請求の範囲第9項に記載の統合サービス提供サーバにおいて、
前記ソフトウェア登録部に新規のソフトウェア部品が登録された場合に、予め定められた規則や実績に基づいて前記新規のソフトウェア部品の実行の指示を前記新規のソフトウェア部品を提供する外部のサーバへ送信するシミュレーション部を備えた
ことを特徴とする統合サービス提供サーバ。
In the integrated service providing server according to claim 9,
When a new software component is registered in the software registration unit, an instruction to execute the new software component is transmitted to an external server that provides the new software component based on predetermined rules and results. An integrated service providing server characterized by having a simulation unit.
請求の範囲第9項に記載の統合サービス提供サーバにおいて、
前記予め定めた規則に従って前記ソフトウェア部品の候補の削除または前記ソフトウェア部品の候補の置き換えを行うルールエンジン部を備えた
ことを特徴とする統合サービス提供サーバ。
In the integrated service providing server according to claim 9,
An integrated service providing server comprising a rule engine unit that deletes the software component candidate or replaces the software component candidate in accordance with the predetermined rule.
請求の範囲第9項に記載の統合サービス提供サーバにおいて、
前記クライアントから受信した要求に類似した要求を持つ実績を前記実績管理部から抽出し、該実績に基づいて前記実行ソフトウェア部品の貢献度を算出し、該貢献度に応じて前記実行ソフトウェア部品への報酬を決定する課金計算部を備えた
ことを特徴とする統合サービス提供サーバ。
In the integrated service providing server according to claim 9,
A result having a request similar to the request received from the client is extracted from the result management unit, a contribution degree of the execution software component is calculated based on the result, and the execution software part is sent to the execution software part according to the contribution degree. An integrated service providing server comprising a billing calculation unit for determining a reward.
請求の範囲第9項に記載の統合サービス提供サーバにおいて、
前記ソフトウェア実行部は、複数の前記ソフトウェア部品の候補の実行の指示を前記ソフトウェア部品の候補を提供する外部のサーバへ並列に送信する
ことを特徴とする統合サービス提供サーバ。
In the integrated service providing server according to claim 9,
The software execution unit transmits an instruction to execute a plurality of software component candidates in parallel to an external server that provides the software component candidates.
請求の範囲第2項に記載の統合サービス提供サーバにおいて、
前記ソフトウェア実行部はさらに、ネットワークを介して接続された外部のサーバから前記構成機能毎の実行ソフトウェア部品を取得し、前記クライアントインタフェース部を介して前記クライアントへ、前記実行機能フローと前記構成機能毎の実行ソフトウェア部品を送信することにより、前記クライアントに前記実行機能フローと前記構成機能毎の実行ソフトウェア部品を実行させ、前記クライアントインタフェース部を介して前記クライアントから、前記実行機能フローと前記構成機能毎の実行ソフトウェア部品の実行結果と前記実行機能フローの評価結果と前記構成機能毎の実行ソフトウェア部品の評価結果を受信する
ことを特徴とする統合サービス提供サーバ。
In the integrated service providing server according to claim 2,
The software execution unit further acquires an execution software component for each component function from an external server connected via a network, and transmits the execution function flow and each component function to the client via the client interface unit. By transmitting the execution software component, the execution function flow and the execution software component for each component function are executed by the client, and the execution function flow and the component function are transmitted from the client via the client interface unit. An integrated service providing server that receives an execution result of the execution software component, an evaluation result of the execution function flow, and an evaluation result of the execution software component for each component function.
請求の範囲第15項に記載の統合サービス提供サーバにおいて、
前記ソフトウェア選択部は、実績管理部に蓄積された機能フローのうち、前記クライアントからの要求に類似した要求を持つ機能フローを前記機能フローの候補とし、前記機能フローの候補に対応する実績に基づいて前記機能フローの候補の優先順位を与え、最上位の優先順位を持つ前記機能フローの候補を前記実行機能フローとし、前記実行機能フローの実行が失敗した場合に次の優先順位を持つ前記機能フローの候補を前記実行機能フローとし、前記実行機能フローの構成機能毎のソフトウェア部品の候補に対応する実績に基づいて前記構成機能毎のソフトウェア部品の候補の優先順位を与え、最上位の優先順位を持つ前記ソフトウェア部品の候補を前記実行ソフトウェア部品とし、前記実行ソフトウェア部品の実行が失敗した場合に次の優先順位を持つ前記ソフトウェア部品の候補を前記実行ソフトウェア部品とする
ことを特徴とする統合サービス提供サーバ。
In the integrated service providing server according to claim 15,
The software selection unit sets a function flow having a request similar to the request from the client as a function flow candidate among the function flows stored in the result management unit, and based on the results corresponding to the function flow candidate. The function flow candidates are given priority, the function flow candidate having the highest priority is set as the execution function flow, and the execution function flow has the next priority when the execution function flow fails. The flow candidate is the execution function flow, and the priority order of the software component candidates for each component function is given based on the results corresponding to the software component candidates for each component function of the execution function flow. If the execution software component execution fails, the software component candidate having Integrated service providing server, characterized in that the said software candidate the running software component of the component with a priority.
請求の範囲第15項に記載の統合サービス提供サーバにおいて、
前記ソフトウェア登録部に新規のソフトウェア部品が登録された場合に、予め定められた規則や実績に基づいて前記新規のソフトウェア部品の実行を行う、または予め定められた規則や実績に基づいて前記新規のソフトウェア部品の実行の指示を前記新規のソフトウェア部品を提供する外部のサーバへ送信するシミュレーション部を備えた
ことを特徴とする統合サービス提供サーバ。
In the integrated service providing server according to claim 15,
When a new software component is registered in the software registration unit, the new software component is executed based on a predetermined rule or achievement, or the new software component is executed based on a predetermined rule or achievement. An integrated service providing server comprising: a simulation unit that transmits an instruction to execute a software component to an external server that provides the new software component.
請求の範囲第15項に記載の統合サービス提供サーバにおいて、
前記予め定めた規則に従って前記ソフトウェア部品の候補の削除または前記ソフトウェア部品の候補の置き換えを行うルールエンジン部を備えた
ことを特徴とする統合サービス提供サーバ。
In the integrated service providing server according to claim 15,
An integrated service providing server comprising a rule engine unit that deletes the software component candidate or replaces the software component candidate in accordance with the predetermined rule.
請求の範囲第15項に記載の統合サービス提供サーバにおいて、
前記クライアントから受信した要求に類似した要求を持つ実績を前記実績管理部から抽出し、該実績に基づいて前記実行ソフトウェア部品の貢献度を算出し、該貢献度に応じて前記実行ソフトウェア部品への報酬を決定する課金計算部を備えた
ことを特徴とする統合サービス提供サーバ。
In the integrated service providing server according to claim 15,
A result having a request similar to the request received from the client is extracted from the result management unit, a contribution degree of the execution software component is calculated based on the result, and the execution software part is sent to the execution software part according to the contribution degree. An integrated service providing server comprising a billing calculation unit for determining a reward.
請求の範囲第2項に記載の統合サービス提供サーバにおいて、
前記ソフトウェア実行部はさらに、前記クライアントインタフェース部を介して前記クライアントへ、前記実行機能フローと前記構成機能毎の実行ソフトウェア部品の実行の指示を送信することにより、前記クライアントに前記実行機能フローと前記構成機能毎の実行ソフトウェア部品を実行させ、前記クライアントインタフェース部を介して前記クライアントから、前記実行機能フローと前記構成機能毎の実行ソフトウェア部品の実行結果と前記実行機能フローの評価結果と前記構成機能毎の実行ソフトウェア部品の評価結果を受信する
ことを特徴とする統合サービス提供サーバ。
In the integrated service providing server according to claim 2,
The software execution unit further transmits an instruction to execute the execution software component for each component function to the client via the client interface unit, thereby transmitting the execution function flow and the client to the client. An execution software component for each component function is executed, and the execution function flow, an execution result of the execution software component for each component function, an evaluation result of the execution function flow, and the component function are transmitted from the client via the client interface unit. An integrated service providing server that receives the evaluation result of each executed software component.
ソフトウェア部品を統合したソフトウェアを要求に応じて提供する統合サービス提供システムであって、
請求の範囲第3項に記載の統合サービス提供サーバと、
ネットワークを介して前記統合サービス提供サーバへ要求を送信し、該要求に対する実行結果を受信するクライアントと、
ネットワークを介して前記統合サービス提供サーバへソフトウェア部品を提供するソフトウェア部品提供サーバと、
を備えてなる統合サービス提供システム。
An integrated service providing system that provides software integrated with software components upon request,
An integrated service providing server according to claim 3;
A client that sends a request to the integrated service providing server via a network and receives an execution result for the request;
A software component providing server for providing software components to the integrated service providing server via a network;
An integrated service providing system comprising:
ソフトウェア部品を統合したソフトウェアを、ネットワークを介して接続されたクライアントからの要求に応じて提供する統合サービス提供方法であって、
ソフトウェア部品を登録し、該ソフトウェア部品の機能を表す部品機能と該ソフトウェア部品の識別子とを蓄積するとともに、複数の部品機能から構成される機能フローを登録し、該機能フローを構成する複数の部品機能と該機能フローの機能と該機能フローの識別子とを蓄積するステップと、
過去に与えられた要求と該要求に従って実行された機能フローの評価結果とを該機能フローの実績として蓄積し、過去に与えられた要求と該要求に従って実行されたソフトウェア部品の評価結果とを該ソフトウェア部品の実績として蓄積するステップと、
前記クライアントから要求を受信し、該要求に含まれた機能を抽出するステップと、
前記要求に基づいて機能フローの候補を検索し、前記機能フローの候補に対応する実績を取得し、実行する機能フローである実行機能フローを前記機能フローの候補に対応する実績に基づいて前記機能フローの候補の中から選択し、前記実行機能フローを構成する部品機能である複数の構成機能へ分解し、該構成機能に基づいて該構成機能毎のソフトウェア部品の候補を検索し、前記ソフトウェア部品の候補に対応する実績を前記構成機能毎に取得し、前記ソフトウェア部品の候補のうち実行するソフトウェア部品である実行ソフトウェア部品を前記ソフトウェア部品の候補に対応する実績に基づいて前記ソフトウェア部品の候補の中から前記構成機能毎に選択するステップと、
前記構成機能毎の実行ソフトウェア部品を取得し、前記構成機能毎の実行ソフトウェア部品の実行と前記構成機能毎の実行ソフトウェア部品の評価を行うとともに、前記構成機能毎の実行ソフトウェア部品の実行結果に基づいて前記実行機能フローの実行結果を生成し、前記構成機能毎の実行ソフトウェア部品の評価結果に基づいて前記実行機能フローの評価を行い、前記構成機能毎の実行ソフトウェア部品の評価結果と該評価結果に基づく前記実行機能フローの評価結果とを蓄積するステップと、
前記実行機能フローの実行結果をクライアントへ送信するステップと、
を備えてなる統合サービス提供方法。
An integrated service providing method for providing software integrating software components in response to a request from a client connected via a network,
Registering a software component, storing a component function representing the function of the software component and an identifier of the software component, registering a functional flow composed of a plurality of component functions, and a plurality of components constituting the functional flow Storing a function, a function of the function flow, and an identifier of the function flow;
The request given in the past and the evaluation result of the function flow executed according to the request are accumulated as the results of the function flow, and the request given in the past and the evaluation result of the software component executed according to the request are stored in the Steps for accumulating software component results,
Receiving a request from the client and extracting a function included in the request;
A function flow candidate is searched based on the request, a result corresponding to the function flow candidate is obtained, and an execution function flow that is a function flow to be executed is determined based on the result corresponding to the function flow candidate. The software component is selected from the flow candidates, decomposed into a plurality of component functions that are component functions constituting the execution function flow, and the software component candidates for each component function are searched based on the component functions. A result corresponding to the candidate for the software component is acquired for each component function, and an execution software component that is a software component to be executed among the candidates for the software component is determined based on the result corresponding to the candidate for the software component. Selecting for each of the component functions from among,
The execution software component for each component function is acquired, the execution software component for each component function is executed and the execution software component for each component function is evaluated, and the execution software component is executed for each component function. Generating an execution result of the execution function flow, evaluating the execution function flow based on an evaluation result of the execution software component for each component function, and evaluating the execution software component for each component function and the evaluation result Storing the evaluation result of the execution function flow based on:
Transmitting the execution result of the execution function flow to the client;
An integrated service providing method comprising:
ソフトウェア部品を統合したソフトウェアを、ネットワークを介して接続されたクライアントからの要求に応じて提供するために、コンピュータにより読取可能な媒体に記憶された統合サービス提供プログラムであって、
ソフトウェア部品を登録し、該ソフトウェア部品の機能を表す部品機能と該ソフトウェア部品の識別子とを蓄積するとともに、複数の部品機能から構成される機能フローを登録し、該機能フローを構成する複数の部品機能と該機能フローの機能と該機能フローの識別子とを蓄積するステップと、
過去に与えられた要求と該要求に従って実行された機能フローの評価結果とを該機能フローの実績として蓄積し、過去に与えられた要求と該要求に従って実行されたソフトウェア部品の評価結果とを該ソフトウェア部品の実績として蓄積するステップと、
前記クライアントから要求を受信し、該要求に含まれた機能を抽出するステップと、
前記要求に基づいて機能フローの候補を検索し、前記機能フローの候補に対応する実績を取得し、実行する機能フローである実行機能フローを前記機能フローの候補に対応する実績に基づいて前記機能フローの候補の中から選択し、前記実行機能フローを構成する部品機能である複数の構成機能へ分解し、該構成機能に基づいて該構成機能毎のソフトウェア部品の候補を検索し、前記ソフトウェア部品の候補に対応する実績を前記構成機能毎に取得し、前記ソフトウェア部品の候補のうち実行するソフトウェア部品である実行ソフトウェア部品を前記ソフトウェア部品の候補に対応する実績に基づいて前記ソフトウェア部品の候補の中から前記構成機能毎に選択するステップと、
前記構成機能毎の実行ソフトウェア部品を取得し、前記構成機能毎の実行ソフトウェア部品の実行と前記構成機能毎の実行ソフトウェア部品の評価を行うとともに、前記構成機能毎の実行ソフトウェア部品の実行結果に基づいて前記実行機能フローの実行結果を生成し、前記構成機能毎の実行ソフトウェア部品の評価結果に基づいて前記実行機能フローの評価を行い、前記構成機能毎の実行ソフトウェア部品の評価結果と該評価結果に基づく前記実行機能フローの評価結果とを蓄積するステップと、
前記実行機能フローの実行結果をクライアントへ送信するステップと、
をコンピュータに実行させることを特徴とする統合サービス提供プログラム。
An integrated service providing program stored in a computer-readable medium for providing software in which software components are integrated in response to a request from a client connected via a network,
Registering a software component, storing a component function representing the function of the software component and an identifier of the software component, registering a functional flow composed of a plurality of component functions, and a plurality of components constituting the functional flow Storing a function, a function of the function flow, and an identifier of the function flow;
The request given in the past and the evaluation result of the function flow executed according to the request are accumulated as the results of the function flow, and the request given in the past and the evaluation result of the software component executed according to the request are stored in the Steps for accumulating software component results,
Receiving a request from the client and extracting a function included in the request;
A function flow candidate is searched based on the request, a result corresponding to the function flow candidate is obtained, and an execution function flow that is a function flow to be executed is determined based on the result corresponding to the function flow candidate. The software component is selected from the flow candidates, decomposed into a plurality of component functions that are component functions constituting the execution function flow, and the software component candidates for each component function are searched based on the component functions. A result corresponding to the candidate for the software component is acquired for each component function, and an execution software component that is a software component to be executed among the candidates for the software component is determined based on the result corresponding to the candidate for the software component. Selecting for each of the component functions from among,
The execution software component for each component function is acquired, the execution software component for each component function is executed and the execution software component for each component function is evaluated, and the execution software component is executed for each component function. Generating an execution result of the execution function flow, evaluating the execution function flow based on an evaluation result of the execution software component for each component function, and evaluating the execution software component for each component function and the evaluation result Storing the evaluation result of the execution function flow based on:
Transmitting the execution result of the execution function flow to the client;
An integrated service providing program characterized by causing a computer to execute.
JP2004564444A 2002-12-27 2002-12-27 Integrated service provision server Pending JPWO2004061652A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2002/013817 WO2004061652A1 (en) 2002-12-27 2002-12-27 Integrated service providing server, integrated service providing system, integrated service providing method, and intgral service providing program

Publications (1)

Publication Number Publication Date
JPWO2004061652A1 true JPWO2004061652A1 (en) 2006-05-18

Family

ID=32697333

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004564444A Pending JPWO2004061652A1 (en) 2002-12-27 2002-12-27 Integrated service provision server

Country Status (2)

Country Link
JP (1) JPWO2004061652A1 (en)
WO (1) WO2004061652A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4218766B2 (en) 2006-03-09 2009-02-04 インターナショナル・ビジネス・マシーンズ・コーポレーション Method, apparatus and program for testing scenarios
JP4866636B2 (en) * 2006-03-22 2012-02-01 株式会社日立製作所 Operation quality control method in distributed program execution environment
JP2008134914A (en) * 2006-11-29 2008-06-12 Nippon Telegr & Teleph Corp <Ntt> Composite service providing system and method
JP2008134913A (en) * 2006-11-29 2008-06-12 Nippon Telegr & Teleph Corp <Ntt> Composite service providing system and method
JP5370029B2 (en) * 2009-09-10 2013-12-18 株式会社リコー Integrated management apparatus, integrated management system, integrated management method, integrated management program, and recording medium recording the program
WO2021152802A1 (en) * 2020-01-30 2021-08-05 富士通株式会社 Service design device, service design method, and service design program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233239A (en) * 1992-02-20 1993-09-10 Fujitsu Ltd Automatic program formation device
JP3441528B2 (en) * 1993-09-29 2003-09-02 日立ソフトウエアエンジニアリング株式会社 Programming processing method and system for object-oriented programming system using figures
JP2000057188A (en) * 1998-08-10 2000-02-25 Nippon Telegr & Teleph Corp <Ntt> Hardware and software cooperative evaluating device
JP2001216144A (en) * 2000-02-03 2001-08-10 Hitachi Ltd Method for storing software component, storage medium and method for evaluating performance
JP4531242B2 (en) * 2000-11-15 2010-08-25 東京瓦斯株式会社 Billing method in fault diagnosis system
JP2002278755A (en) * 2001-03-16 2002-09-27 Hitachi Software Eng Co Ltd Method and device for calling selection of distributed software components

Also Published As

Publication number Publication date
WO2004061652A1 (en) 2004-07-22

Similar Documents

Publication Publication Date Title
Ouzzani et al. Efficient access to web services
CN108446975B (en) Quota management method and device
US9053231B2 (en) Systems and methods for analyzing operations in a multi-tenant database system environment
US20110010214A1 (en) Method and system for project management
US20050228855A1 (en) Acquisition system for distributed computing resources
JP2006511884A5 (en)
US20040205187A1 (en) Correlation of web service interactions in composite web services
JP6972796B2 (en) Software service execution equipment, systems, and methods
JP2008257676A (en) Verifying method for implementing management software
US20070112945A1 (en) Supply and demand project management tool
US10354255B2 (en) Client access license tracking mechanism
Singhera et al. Extended web services framework to meet non-functional requirements
US20170060728A1 (en) Program Lifecycle Testing
JPWO2004061652A1 (en) Integrated service provision server
CN111127224B (en) Information processing method, information processing device, electronic equipment and storage medium
Ben Njima et al. Development of a mobile web services discovery and composition model
CN116974874A (en) Database testing method and device, electronic equipment and readable storage medium
CN114546970A (en) Data sharing method and system based on participant alliance chain excitation
US20200364628A1 (en) Parallel versioning and multi-variate testing
Andreozzi et al. Towards a metamodeling based method for representing and selecting grid services
JP2003044276A (en) Software development management device, software development management method, program for making computer execute software development management method and computer readable recording medium having program for making computer execute software development management method recorded thereon
CN111338935B (en) Method and system for joint debugging
Ho et al. Developing software performance with the performance refinement and evolution model
US9412083B2 (en) Aggregation and workflow engines for managing project information
CN110572301B (en) Node monitoring method and system based on block chain

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060829

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070320

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070518

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070612