JP5631270B2 - 支援装置及び支援システム及びコンピュータプログラム及び支援方法 - Google Patents

支援装置及び支援システム及びコンピュータプログラム及び支援方法 Download PDF

Info

Publication number
JP5631270B2
JP5631270B2 JP2011147638A JP2011147638A JP5631270B2 JP 5631270 B2 JP5631270 B2 JP 5631270B2 JP 2011147638 A JP2011147638 A JP 2011147638A JP 2011147638 A JP2011147638 A JP 2011147638A JP 5631270 B2 JP5631270 B2 JP 5631270B2
Authority
JP
Japan
Prior art keywords
input
component
data
item
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011147638A
Other languages
English (en)
Other versions
JP2013015974A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2011147638A priority Critical patent/JP5631270B2/ja
Publication of JP2013015974A publication Critical patent/JP2013015974A/ja
Application granted granted Critical
Publication of JP5631270B2 publication Critical patent/JP5631270B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

この発明は、利用者が、サービスなどの部品を複数組み合わせて、より複雑な部品を作成することを支援する支援装置に関する。
ウェブサービスのようなサービスは、ウェブなどを介して処理を提供する。効率的にサービスの開発をするため、既存のサービスを複数組み合わせることにより、より複雑な連携サービスを作成することが行われている。
しかし、既存のサービスが多数存在する場合など、既存のサービスをどのように組み合わせれば、最も効率よく連携サービスを作成できるか明らかでない場合がある。
このため、過去に作成した連携サービスにおける連携パターンに基づいて、新たに作成する連携サービスにおける連携パターンを推薦し、利用者による連携サービスの作成を支援する装置がある。
特開2010−191865号公報
過去の連携パターンに基づく推薦は、過去の連携パターンがなければ連携パターンを推薦できない。また、新しいサービスを使って連携サービスを作成する場合や、過去に作成した連携サービスとはまったく異なる連携サービスを作成する場合には、推薦された連携パターンが参考にならないことがある。
この発明は、例えば上記のような課題を解決するためになされたものであり、過去の連携パターンがない場合などにおいても、適切な連携パターンを推薦し、利用者による連携サービスなどの部品の作成を支援することを目的とする。
この発明にかかる支援装置は、複数の部品を組み合わせて構成される連携部品の作成を支援する支援装置において、
データを記憶する記憶装置と、データを処理する処理装置と、データを入力する入力装置と、データを出力する出力装置と、部品定義記憶部と、項目対応定義記憶部と、入力対応入力部と、出力対応入力部と、経路探索部と、連携パターン出力部とを有し、
上記部品定義記憶部は、上記記憶装置を用いて、複数の部品それぞれについて、上記部品が入力する項目を表わす入力項目データと、入力した項目に基づく処理をした結果として上記部品が出力する項目を表わす出力項目データとを含む部品定義データを記憶し、
上記項目対応定義記憶部は、上記記憶装置を用いて、上記部品定義記憶部が記憶した複数の部品定義データのうちいずれかの部品定義データに含まれる入力項目データが表わす項目と、他の部品定義データに含まれる出力項目データが表わす項目との間の対応関係を表わす項目対応定義データを記憶し、
上記入力対応入力部は、上記入力装置を用いて、上記部品定義記憶部が記憶した複数の部品定義データのうち、上記連携部品が入力する項目に対応する項目を入力する部品についての部品定義データを示す入力対応部品データを含む入力対応データを入力し、
上記出力対応入力部は、上記入力装置を用いて、上記部品定義記憶部が記憶した複数の部品定義データのうち、上記連携部品が出力する項目に対応する項目を出力する部品についての部品定義データを示す出力対応部品データを含む出力対応データを入力し、
上記経路探索部は、上記処理装置を用いて、上記部品定義記憶部が記憶した複数の部品定義データと、上記項目対応定義記憶部が記憶した項目対応定義データと、上記入力対応入力部が入力した入力対応データと、上記出力対応入力部が入力した出力対応データとに基づいて、ある部品が出力する項目と他の部品が入力する対応する項目とを接続して複数の部品を連結することにより、上記連携部品が入力する項目に対応する項目を入力する部品から上記連携部品が出力する項目に対応する項目を出力する部品まで至る経路を探索し、
上記連携パターン出力部は、上記出力装置を用いて、上記経路探索部が探索した経路を含む連携パターンを利用者に提示する画面を表わす連携パターンデータを出力することを特徴とする。
この発明にかかる支援装置によれば、部品の入力項目と出力項目との対応関係から、経路探索部が経路を探索し、探索した経路に基づいて連携パターンを推薦するので、適切な連携パターンを推薦し、利用者による連携サービスなどの部品の作成を支援することができる。
実施の形態1におけるコンピュータ910のハードウェア資源の一例を示す図。 実施の形態1における設計支援システム800の全体構成の一例を示すシステム構成図。 実施の形態1における連携サービス設計支援処理S500の流れの一例を示すスイムレーン図。 実施の形態1におけるテーブル581〜585の一例を示す図。 実施の形態1における連携サービス定義情報550,560の一例を示す図。 実施の形態1におけるテーブル間のキーの関係表の一例を示す図。 実施の形態1におけるスキーマ定義解析機能部222が検索したパスの一例を示す図。 実施の形態1におけるサービス設計画面生成部211が生成する連携サービス設計画面の一例を示す図。 実施の形態1におけるサービス定義生成機能部233が生成する連携サービスの定義情報の一例を示す図。 実施の形態2における設計支援システム801の構成の一例を示す図。 実施の形態2における部品定義記憶部251が記憶した部品定義データ850の一例を示す図。 実施の形態2における処理手順データ880によって表わされる連携部品の処理手順の一例を示す図。 実施の形態2における部品定義記憶部251が記憶した部品定義データ850の別の例を示す図。 実施の形態2における部品定義記憶部251が記憶した部品定義データ850の更に別の例を示す図。 実施の形態2における項目対応定義記憶部252が記憶した項目対応定義データ930の一例を示す図。 実施の形態2における端末装置101が支援装置201に対して送信する入出力項目対応データ970の一例を示す図。 実施の形態2における支援処理S700の流れの一例を示すフローチャート図。 実施の形態2における経路探索工程S720の流れの一例を示すフローチャート図。
実施の形態1.
実施の形態1について、図1〜図9を用いて説明する。
図1は、この実施の形態におけるコンピュータ910のハードウェア資源の一例を示す図である。
コンピュータ910は、例えば、処理装置911と、記憶装置914と、入力装置912と、出力装置913とを有する。
処理装置911は、記憶装置914が記憶したコンピュータプログラムを実行することにより、記憶装置914が記憶したデータを処理し、コンピュータ910全体を制御する。
記憶装置914は、処理装置911が実行するコンピュータプログラムや、処理装置911が処理するデータなどを記憶する。記憶装置914は、例えば、ROMなどの不揮発性メモリ、RAMなどの揮発性メモリ、磁気ディスク装置などの二次記憶装置である。
入力装置912は、コンピュータ910の外部から情報を入力し、処理装置911が処理できる形式のデータに変換する。入力装置912が変換したデータは、処理装置911が直接処理してもよいし、記憶装置914が一時的に記憶してもよい。入力装置912は、例えば、キーボードやマウスなど操作者による操作を入力する装置、カメラやスキャナなど画像を入力する装置、マイクなど音声を入力する装置、温度センサなど物理量を測定する装置、アナログ信号をデジタルデータに変換するアナログデジタル変換装置、フレキシブルディスクなどの記録媒体に記録されたデータを読み出す装置、インタフェース装置や通信装置など他の装置が出力した信号を受信する装置である。
出力装置913は、処理装置911が処理したデータや記憶装置914が記憶したデータを変換して、コンピュータ910の外部に出力する。出力装置913は、例えば、表示装置やプリンタなど視覚的に情報を出力する装置、スピーカなど聴覚的に情報を出力する装置、デジタルデータをアナログ信号に変換するデジタルアナログ変換装置、フレキシブルディスクなどの記録媒体にデータを書き込む装置、インタフェース装置や通信装置など他の装置に対して信号を送信する装置である。
後述する設計者端末装置100、設計支援装置200、設計支援情報記憶装置300、業務サーバ装置400などの装置は、記憶装置914が記憶したコンピュータプログラムをコンピュータ910が実行することにより実現される。
なお、これらの装置を構成する機能ブロックのうちのいくつかは、コンピュータ910ではなく、他の構成を用いて実現してもよい。また、これらの装置のうちのいくつかは、コンピュータ910を用いず、他の構成を用いて実現してもよい。また、これらの装置は、1つのコンピュータ910を用いて実現してもよいし、複数のコンピュータ910を用いて実現してもよい。また、1つのコンピュータ910を用いて、これらの装置のうち複数の装置を実現してもよい。
図2は、この実施の形態における設計支援システム800の全体構成の一例を示すシステム構成図である。
設計支援システム800は、複数のサービスを連携させて構成される連携サービスの設計を支援する。設計支援システム800は、例えば、設計者端末装置100と、設計支援装置200と、設計支援情報記憶装置300と、業務サーバ装置400とを有する。なお、設計者端末装置100や業務サーバ装置400は、複数あってもよい。
設計者端末装置100は、連携サービスの設計を行う設計者が利用する端末装置である。設計者端末装置100は、例えば、Windows(登録商標)などのOSを搭載した一般的なコンピュータであってもよい。設計者端末装置100は、例えば、クライアントプログラム実行部110を有する。クライアントプログラム実行部110は、処理装置911を用いて、記憶装置914が記憶したクライアントプログラムを実行する。クライアントプログラムは、例えば、クライアントサーバ形式のプログラムや、IEやFireFox(登録商標)などのウェブブラウザプログラムなどである。設計者端末装置100は、複数のクライアントプログラムを記憶し、実行してもよい。
設計支援装置200は、連携サービスの設計を行うための画面を提供する。設計支援装置200は、例えば、ウェブサーバ装置である。設計支援装置200は、例えば、サービス設計部210と、サービス推薦部220と、データ管理部230とを有する。
サービス設計部210は、処理装置911を用いて、記憶装置914が記憶したプログラムを実行することにより、設計者端末装置100からの画面操作を受け付け、サービスを設計するために必要な画面を提供する。サービス設計部210は、例えば、サービス設計画面生成部211と、連携サービス設計画面生成部212とを有する。サービス設計画面生成部211は、単体のサービスを設計するためのサービス設計画面を生成する。連携サービス設計画面生成部212は、複数のサービスを連携させてサービスを設計する連携サービス設計画面を生成する。サービス設計部210は、通信装置などの出力装置913を用いて、サービス設計画面生成部211が生成したサービス設計画面や、連携サービス設計画面生成部212が生成した連携サービス設計画面を、設計者端末装置100に対して送信する。設計者端末装置100のクライアントプログラム実行部110は、通信装置などの入力装置912を用いて、サービス設計画面や連携サービス設計画面を受信し、表示装置などの出力装置913を用いて、受信したサービス設計画面や連携サービス設計画面を表示する。
サービス推薦部220は、例えば、連携パターン推薦機能部221と、スキーマ定義解析機能部222とを有する。連携パターン推薦機能部221は、処理装置911を用いて、記憶装置914が記憶したプログラムを実行することにより、設計支援情報記憶装置300に蓄えられている情報を基に、連携パターンを推薦する。スキーマ定義解析機能部222は、外部のデータベースにアクセスしスキーマを解析する。
データ管理部230は、処理装置911を用いて、記憶装置914が記憶したプログラムを実行することにより、サービス設計部210が設計に必要となる情報にアクセスするために必要な情報を管理する。データ管理部230は、例えば、DB管理機能部231と、サービス管理機能部232と、サービス定義生成機能部233とを有する。DB管理機能部231は、設計支援装置200や業務サーバ装置400のサービスプログラム実行部420などがアクセスするデータベースに関する情報を管理する。サービス管理機能部232は、設計支援装置200により設計されたサービスに関する情報を管理する。サービス定義生成機能部233は、サービスを定義する情報を生成する。
設計支援情報記憶装置300は、サービスの設計に必要な情報を格納しておく。設計支援情報記憶装置300は、例えば、ファイルサーバ装置である。設計支援情報記憶装置300は、例えば、サービス定義記憶部310と、クエリ定義記憶部320と、スキーマ定義記憶部330と、DB管理情報記憶部340と、サービス管理情報記憶部350とを有する。
サービス定義記憶部310は、記憶装置914を用いて、単体のサービスの定義を記憶しておく。サービス定義記憶部310は、例えば、サービス名、サービスの入力項目、サービスの出力項目などの情報を管理する。また、サービスがクエリを利用している場合、サービス定義記憶部310は、利用しているクエリ名、サービスの入力項目とクエリの入力項目との間のマッピング定義、サービスの出力項目とクエリの出力項目との間のマッピング定義などの情報を管理する。
クエリ定義記憶部320は、記憶装置914を用いて、サービスが利用しているクエリの定義を記憶しておく。クエリ定義記憶部320は、例えば、クエリ名、クエリ文(SQL文)、クエリの入力項目、クエリの出力項目、利用するテーブル名、利用するデータベース名などの情報を管理する。
スキーマ定義記憶部330は、記憶装置914を用いて、サービスが利用しているデータベースのスキーマを記憶しておく。スキーマ定義記憶部330は、例えば、テーブル名、各テーブルの主キー、各テーブルの外部キー、各テーブルの参照可能なキーなどの情報を管理する。
DB管理情報記憶部340は、記憶装置914を用いて、サービスが利用するデータベースにアクセスするための情報を記憶しておく。DB管理情報記憶部340は、例えば、データベース名、データベースの種類、データベースへの接続URL、ユーザ名、パスワードなどの情報を管理する。
サービス管理情報記憶部350は、記憶装置914を用いて、設計されたサービスに関する情報を記憶しておく。サービス管理情報記憶部350は、例えば、サービス名、利用しているサービス名、サービスの実行順序、サービス間の入出力のマッピング定義などの情報を管理する。
業務サーバ装置400は、業務アプリケーションプログラムやサービスプログラムなどを実行する。業務サーバ装置400は、例えば、サーバ装置である。業務サーバ装置400は、例えば、業務アプリケーションプログラム実行部410と、サービスプログラム実行部420と、業務データベース記憶部430とを有する。業務アプリケーションプログラム実行部410は、処理装置911を用いて、記憶装置914が記憶した業務アプリケーションプログラムを実行する。業務アプリケーションプログラムは、サービスプログラム実行部420が提供するサービスを利用するプログラムである。サービスプログラム実行部420は、処理装置911を用いて、記憶装置914が記憶したサービスプログラムを実行する。サービスプログラムは、任意の処理を行うプログラムである。サービスプログラム実行部420は、業務データベース記憶部430を参照し、あるいは、更新することがある。業務サーバ装置400は、複数のサービスプログラムを記憶し、実行してもよい。業務データベース記憶部430は、記憶装置914を用いて、業務データベースを記憶する。業務サーバ装置400は、複数の業務データベースを記憶してもよい。
次に、動作について説明する。
サービス設計処理の全体の流れは、例えば、次のとおりである。
まず、設計者端末装置100のクライアントプログラム実行部110が、マウスなどの入力装置912を用いて、サービスの設計者(以下「ユーザ」と呼ぶ。)による操作を入力する。クライアントプログラム実行部110は、通信装置などの出力装置913を用いて、設計支援装置200に接続する。設計支援装置200は、通信装置などの入力装置912を用いて、クライアントプログラム実行部110からの接続を受ける。サービス設計画面生成部211が、処理装置911を用いて、サービス設計画面を生成し、もしくは、連携サービス設計画面生成部212が、処理装置911を用いて、連携サービス設計画面を生成する。設計支援装置200は、通信装置などの出力装置913を用いて、生成した画面を設計者端末装置100に対して送信する。クライアントプログラム実行部110は、通信装置などの入力装置912を用いて、設計支援装置200が送信した画面を受信し、表示装置などの出力装置913を用いて、受信した画面を表示する。クライアントプログラム実行部110は、マウスなどの入力装置912を用いて、表示した画面に対するユーザによるインタラクティブな操作を入力し、表示装置などの出力装置913を用いて、サービス及び連携サービスを実行するために必要な定義情報を表示する。
図3は、この実施の形態における連携サービス設計支援処理S500の流れの一例を示すスイムレーン図である。
連携サービス設計支援処理S500において、設計支援システム800は、既存のサービスや前もって作成したサービスを連携させることによりユーザが連携サービスを設計するのを支援する。設計者端末装置100は、設計支援装置200の連携サービス設計画面生成部212が生成した連携サービス設計画面を表示し、ユーザによる操作を入力し、入力した操作に対してインタラクティブに応答した画面を表示するなどして、連携サービスの設計を支援する。
連携サービス設計支援処理S500は、例えば、新規連携サービス作成選択工程S501と、既存資源一覧提示工程S502と、既存資源選択工程S503と、入出力決定工程S504と、関連資源抽出工程S505と、連携パターン生成工程S506と、連携パターン確認工程S507と、連携サービス登録工程S508と、マッピング定義生成工程S509と、定義情報格納工程S510とを有する。
新規連携サービス作成選択工程S501において、設計者端末装置100のクライアントプログラム実行部110は、表示装置などの出力装置913を用いて、設計支援装置200の連携サービス設計画面生成部212が生成した連携サービス設計画面を表示する。連携サービス設計画面には、あらかじめ、例えば「新規連携サービスの作成」ボタンが表示されている。ユーザは、例えば、連携サービス設計画面に表示された「新規連携サービスの作成」ボタンをクリックするなどして、新たな連携サービスの作成を開始する。クライアントプログラム実行部110は、マウスなどの入力装置912を用いて、ユーザによるインタラクティブな操作を入力することにより、ユーザが新たな連携サービスの作成を開始しようとしていることを入力する。クライアントプログラム実行部110は、通信装置などの出力装置913を用いて、新規連携サービス作成の開始を設計支援装置200に対して通知する。
既存資源一覧提示工程S502において、設計支援装置200のサービス設計部210は、通信装置などの入力装置912を用いて、新規連携サービス作成選択工程S501で設計者端末装置100が送信した新規連携サービス作成開始の通知を受け取る。連携サービス設計画面生成部212は、処理装置911を用いて、連携サービスを利用する上で使用するデータベースやテーブルなどの既存資源のリストを設計支援情報記憶装置300から取得する。
例えば、連携サービス設計画面生成部212は、処理装置911を用いて、DB管理機能部231に対して、利用可能なデータベースごとのテーブルの一覧の取得を指示する。DB管理機能部231は、通信装置などの出力装置913を用いて、設計支援情報記憶装置300に対して、利用可能なデータベースごとのテーブルの一覧の取得要求を通知する。設計支援情報記憶装置300のDB管理情報記憶部340は、通信装置などの入力装置912を用いて、設計支援装置200からの取得要求を受け取る。DB管理情報記憶部340は、処理装置911を用いて、受け取った取得要求にしたがって、利用可能なデータベースごとのテーブルの一覧を生成する。DB管理情報記憶部340が生成するテーブルの一覧には、それぞれのテーブルに含まれる項目の一覧も含まれる。DB管理情報記憶部340は、通信装置などの出力装置913を用いて、生成した一覧を設計支援装置200に対して送信する。設計支援装置200のDB管理機能部231は、通信装置などの入力装置912を用いて、設計支援情報記憶装置300が送信した一覧を受信する。連携サービス設計画面生成部212は、処理装置911を用いて、DB管理機能部231が受信した一覧を取得する。なお、データ管理部230は、設計支援情報記憶装置300以外の外部のデータベースに対する接続情報や、外部のデータベースを参照することにより、データベースやテーブルを取得する構成であってもよいし、あらかじめユーザが登録したデータベースやテーブルを取得する構成であってもよい。また、データ管理部230は、ユーザごとにアクセス権限を設定し、設計者端末装置100のユーザにアクセス権限があるデータベースやテーブルだけを取得する構成であってもよい。
また、連携サービス設計画面生成部212は、処理装置911を用いて、サービス管理機能部232に対して、設計支援情報記憶装置300に登録されているサービスの一覧の取得を指示する。サービス管理機能部232は、通信装置などの出力装置913を用いて、設計支援情報記憶装置300に対して、設計支援情報記憶装置300に登録されているサービスの一覧の取得要求を通知する。設計支援情報記憶装置300のサービス定義記憶部310は、通信装置などの入力装置912を用いて、設計支援装置200からの取得要求を受け取る。サービス定義記憶部310は、処理装置911を用いて、受け取った取得要求にしたがって、サービス定義記憶部310に登録されているサービスの一覧を生成する。サービス定義記憶部310が生成するサービスの一覧には、それぞれのサービスの入出力項目の一覧も含まれる。サービス定義記憶部310は、通信装置などの出力装置913を用いて、生成した一覧を設計支援装置200に対して送信する。設計支援装置200のサービス管理機能部232は、通信装置などの入力装置912を用いて、設計支援情報記憶装置300が送信した一覧を受信する。連携サービス設計画面生成部212は、処理装置911を用いて、サービス管理機能部232が受信した一覧を取得する。なお、設計支援情報記憶装置300は、サービス定義記憶部310に登録されているサービスだけでなく、サービス管理情報記憶部350に登録されている連携サービスも加えた一覧を生成する構成であってもよい。また、設計支援情報記憶装置300は、ユーザごとにアクセス権限を設定し、サービス定義記憶部310に登録されたサービスやサービス管理情報記憶部350に登録された連携サービスのうち、設計者端末装置100のユーザにアクセス権限があるサービスや連携サービスだけの一覧を生成する構成であってもよい。
連携サービス設計画面生成部212は、設計支援情報記憶装置300から取得した情報をユーザに提示する連携サービス設計画面を生成する。連携サービス設計画面生成部212が生成する連携サービス設計画面には、例えば、利用可能なデータベースごとのテーブルの一覧や、設計支援情報記憶装置300に登録されているサービスなどの一覧などが表示される。連携サービス設計画面生成部212は、通信装置などの出力装置913を用いて、生成した連携サービス設計画面を設計者端末装置100に対して送信する。
既存資源選択工程S503において、設計者端末装置100のクライアントプログラム実行部110は、通信装置などの入力装置912を用いて、既存資源一覧提示工程S502で設計支援装置200が送信した連携サービス設計画面を受信する。クライアントプログラム実行部110は、表示装置などの出力装置913を用いて、表示している連携サービス設計画面を更新し、受信した連携サービス設計画面を表示する。ユーザは、表示された連携サービス設計画面を見て、それぞれのテーブルに含まれる項目や、既存のサービスの入出力項目などを把握し、新たな連携サービスで使用するデータベース、テーブル、サービスなどの既存資源を選択する。クライアントプログラム実行部110は、マウスなどの入力装置912を用いて、ユーザによるインタラクティブな操作を入力することにより、ユーザが選択したデータベース、テーブル、サービスなどを入力する。
入出力決定工程S504において、クライアントプログラム実行部110は、マウスなどの入力装置912を用いて、ユーザによるインタラクティブな操作を入力することにより、ユーザが決定した新たな連携サービスの入出力項目を入力する。また、クライアントプログラム実行部110は、マウスなどの入力装置912を用いて、ユーザによるインタラクティブな操作を入力することにより、ユーザが定義した新たな連携サービスの入出力項目と既存資源選択工程S503で選択したテーブルの項目やサービスの入出力項目との間のマッピング(対応づけ)を入力する。クライアントプログラム実行部110は、通信装置などの出力装置913を用いて、既存資源選択工程S503で入力した新たな連携サービスで使用する既存資源の一覧と、入出力決定工程S504で入力した新たな連携サービスの入出力項目の一覧とマッピングとを設計支援装置200に対して送信する。
関連資源抽出工程S505において、設計支援装置200の連携サービス設計画面生成部212は、通信装置などの入力装置912を用いて、入出力決定工程S504で設計者端末装置100が送信した新たな連携サービスで使用する既存資源の一覧や新たな連携サービスの入出力項目の一覧やマッピングを受信する。連携サービス設計画面生成部212は、処理装置911を用いて、スキーマ定義解析機能部222に対して、新たな連携サービスで使用する既存資源に関連する資源の抽出を指示する。スキーマ定義解析機能部222は、処理装置911を用いて、新たな連携サービスで使用するテーブルに関連するテーブルや、新たな連携サービスで使用するサービスが使用するテーブルやそれに関連するテーブルなどを抽出する。
例えば、スキーマ定義解析機能部222は、処理装置911を用いて、DB管理情報記憶部340が記憶している情報に基づいて、新たな連携サービスで使用するテーブルが参照しているテーブル(以下「参照テーブル」と呼ぶ。)や、新たな連携サービスで使用するテーブルの主キーを参照しているテーブル(以下「非参照テーブル」と呼ぶ。)を抽出する。更に、スキーマ定義解析機能部222は、処理装置911を用いて、抽出した参照テーブルや非参照テーブルに対する参照テーブルや非参照テーブルを抽出する。これを繰り返すことにより、スキーマ定義解析機能部222は、新たな連携サービスで使用するテーブルに関連するすべてのテーブルを抽出する。
あるいは、スキーマ定義解析機能部222は、処理装置911を用いて、サービス定義記憶部310やクエリ定義記憶部320が記憶している情報に基づいて、新たな連携サービスで使用するサービスが使用するテーブルを抽出する。スキーマ定義解析機能部222は、抽出したテーブルを起点として、参照関係を辿り、抽出したテーブルに関連するすべてのテーブルを抽出する。
スキーマ定義解析機能部222は、処理装置911を用いて、抽出したテーブルの間のキーの関係を辿り、新たな連携サービスで使用する複数のテーブルの間を結びつけるパスを抽出する。
例えば、スキーマ定義解析機能部222は、新たな連携サービスの入力項目にマッピングされた項目を含むテーブルを起点とし、起点としたテーブルに対する参照関係があるテーブル(参照テーブル及び非参照テーブル)のなかに、新たな連携サービスの出力項目にマッピングされた項目を含むテーブル(以下「終点テーブル」と呼ぶ。)があるか否かを判定する。
起点としたテーブルに対する参照関係があるテーブルのなかに終点テーブルがない場合、スキーマ定義解析機能部222は、起点としたテーブルに対する参照関係があるテーブルを新たな起点とし、新たな起点としたテーブルに対する参照関係があるテーブルのなかに終点テーブルがあるか否かを判定する。これを繰り返すことにより、スキーマ定義解析機能部222は、新たな連携サービスで使用する複数のテーブルの間を結びつけるパスを抽出する。新たな連携サービスで使用する複数のテーブルの間を結びつけるパスが複数ある場合、スキーマ定義解析機能部222は、すべてのパスを抽出する構成であってもよいし、パスの長さが短い(キーの連鎖の数が少ない)ものを優先して、所定数のパスを抽出する構成であってもよい。
なお、スキーマ定義解析機能部222は、連携サービスの入力項目から出力項目へ向けてテーブルを辿るのではなく、逆に、出力項目から入力項目へ向けてテーブルを辿る構成であってもよい。
連携パターン生成工程S506において、連携パターン推薦機能部221は、処理装置911を用いて、関連資源抽出工程S505でスキーマ定義解析機能部222が抽出したパスに基づいて、ユーザに推薦する連携パターンを生成する。
例えば、連携パターン推薦機能部221は、処理装置911を用いて、サービス定義記憶部310やクエリ定義記憶部320が記憶した情報に基づいて、スキーマ定義解析機能部222が抽出したパスに含まれるそれぞれのテーブルについて、そのテーブルに属するサービスやクエリをすべて抽出する。連携パターン推薦機能部221は、処理装置911を用いて、抽出したそれぞれのサービスやクエリについて、推薦するか否かを決定する。例えば、連携パターン推薦機能部221は、スキーマ定義解析機能部222が抽出したパスにおいてそのテーブルと次のテーブルとを結びつける項目が出力項目に含まれていないサービスやクエリについて、推薦しないと決定する。同様に、連携パターン推薦機能部221は、スキーマ定義解析機能部222が抽出したパスにおいて前のテーブルとそのテーブルとを結びつける項目が入出力項目に含まれていないサービスやクエリについて、推薦しないと決定する。連携パターン推薦機能部221は、このような絞り込みをして残ったサービスやクエリについて、推薦すると決定する。なお、関連するテーブルをまたがるクエリやサービスがある場合には、それらを優先的に推薦すると決定する構成としてもよい。
なお、クエリが利用している入出力項目と、サービスが利用している入出力項目は名称が異なる場合があるので、連携パターン推薦機能部221は、サービス定義記憶部310が管理しているサービスの入力項目とクエリの入力項目のマッピング定義や、サービスの出力項目とクエリの出力項目のマッピング定義などに基づいて判断をする。
連携パターン推薦機能部221は、このようにして判断したテーブルやクエリを、関連資源抽出工程S505でスキーマ定義解析機能部222が抽出したパスにしたがって組み合わせることにより、連携パターンを生成する。
連携サービス設計画面生成部212は、処理装置911を用いて、関連資源抽出工程S505でスキーマ定義解析機能部222が抽出したパスや、連携パターン生成工程S506で連携パターン推薦機能部221が生成した連携パターンをユーザに提示する連携サービス設計画面を生成する。連携サービス設計画面生成部212は、通信装置などの出力装置913を用いて、生成した連携サービス設計画面を設計者端末装置100に対して送信する。
連携パターン確認工程S507において、設計者端末装置100のクライアントプログラム実行部110は、通信装置などの入力装置912を用いて、連携パターン生成工程S506で設計支援装置200が送信した連携サービス設計画面を受信する。クライアントプログラム実行部110は、表示装置などの出力装置913を用いて、表示している連携サービス設計画面を更新し、受信した連携サービス設計画面を表示する。ユーザは、連携サービス設計画面に表示された連携パターンを見て、新たな連携サービスが利用するサービスやクエリ、サービスの実行順序やサービス間の入出力マッピングの定義を確認する。複数の連携パターンが推薦された場合、ユーザは、そのなかから使用する連携パターンを選択する。クライアントプログラム実行部110は、マウスなどの入力装置912を用いて、ユーザによるインタラクティブな操作を入力することにより、ユーザが選択した連携パターンを入力する。また、ユーザは、必要があれば、選択した連携パターンを修正する。クライアントプログラム実行部110は、マウスなどの入力装置912を用いて、ユーザによるインタラクティブな操作を入力することにより、ユーザによる修正を入力する。
連携サービス登録工程S508において、クライアントプログラム実行部110は、マウスなどの入力装置912を用いて、ユーザによるインタラクティブな操作を入力することにより、ユーザが選択した連携パターンの修正が完了したことを入力する。クライアントプログラム実行部110は、通信装置などの出力装置913を用いて、ユーザが選択し修正した連携パターンを設計支援装置200に対して送信する。
マッピング定義生成工程S509において、設計支援装置200の連携サービス設計画面生成部212は、通信装置などの入力装置912を用いて、連携サービス登録工程S508で設計者端末装置100が送信した連携パターンを受信する。連携サービス設計画面生成部212は、処理装置911を用いて、サービス管理機能部232に対して、受信した連携パターンによる連携サービスの登録を指示する。サービス定義生成機能部233は、処理装置911を用いて、関連資源抽出工程S505で連携サービス設計画面生成部212が受信した新たな連携サービスの入出力項目やマッピング、マッピング定義生成工程S509で連携サービス設計画面生成部212が受信した連携パターンなどに基づいて、新たな連携サービスを定義する情報を生成する。サービス定義生成機能部233は、例えば、連携サービスの入出力項目やそのマッピングの定義、テーブル間のキーの関係、確定したサービスの入出力関係などに基づいて、サービス間の入出力変数やデータの入出力定義など、連携サービスにおけるサービス間の入出力関係の定義を生成する。
定義情報格納工程S510において、サービス管理機能部232は、処理装置911を用いて、マッピング定義生成工程S509でサービス定義生成機能部233が生成した情報などに基づいて、作成された連携サービスのサービス名や、利用しているサービス名、サービスの実行順序、サービス間の入出力のマッピング定義など、連携サービスを定義する情報を生成する。設計支援情報記憶装置300のサービス管理情報記憶部350は、記憶装置914を用いて、サービス管理機能部232が生成した情報を記憶する。
次に、具体例を使って、動作を説明する。
図4は、この実施の形態におけるテーブル581〜585の一例を示す図である。
テーブル581〜585そのものは、例えば、業務サーバ装置400の業務データベース記憶部430が記憶している。設計支援情報記憶装置300のDB管理情報記憶部340は、テーブル581〜585の項目や関係などの定義情報を記憶している。
「変圧器」テーブル581は、変圧器を管理するためのテーブルである。「変圧器」テーブル581は、「設備ID」「容量」「電気方式」「型番」「メーカー」「製造年月」「設置年月」「点検日」「点検結果」などの項目を有する。「変圧器」テーブル581の主キーは、「設備ID」である。
「電柱」テーブル583は、電柱を管理するためのテーブルである。「電柱」テーブル583は、「設備ID」「丈尺」「材質」「所有者」「メーカー」「製造年月」「設置年月」「点検日」「点検結果」などの項目を有する。「電柱」テーブル583の主キーは、「設備ID」である。
「電柱(地図)」テーブル585は、地図上に電柱を表示するためのテーブルである。「電柱(地図)」テーブル585は、「地物ID」「住所」「座標」「形状」「大きさ」「表示属性」「色」などの項目を有する。「電柱(地図)」テーブル585の主キーは、「地物ID」である。
「親子管理」テーブル582は、電柱と、その電柱に設置された変圧器との関係を管理するためのテーブルである。「親子管理」テーブル582は、「親設備ID」「子設備ID」などの項目を有する。
「親設備ID」は、「電柱」テーブル583の「設備ID」と関係づけられた外部キーである。したがって、「変圧器」テーブル581と「親子管理」テーブル582との間には、参照関係がある。「変圧器」テーブル581は、「親子管理」テーブル582に対する参照テーブルであり、「親子管理」テーブル582は、「変圧器」テーブル581に対する非参照テーブルである。
また、「子設備ID」は、「変圧器」テーブル581の「設備ID」と関係づけられた外部キーである。したがって、「親子管理」テーブル582と「電柱」テーブル583との間には、参照関係がある。「親子管理」テーブル582は、「電柱」テーブル583に対する非参照テーブルであり、「電柱」テーブル583は、「親子管理」テーブル582に対する参照テーブルである。
「親子管理」テーブル582の主キーは、「親設備ID」及び「子設備ID」である。
「電柱対応表」テーブル584は、電柱の設備IDと地物IDとの関係を管理するためのテーブルである。「電柱対応表」テーブル584は、「設備ID」「地物ID」などの項目を有する。
「設備ID」は、「電柱」テーブル583の「設備ID」と関係づけられた外部キーである。したがって、「電柱」テーブル583と「電柱対応表」テーブル584との間には、参照関係がある。「電柱」テーブル583は、「電柱対応表」テーブル584に対する参照テーブルであり、「電柱対応表」テーブル584は、「電柱」テーブル583に対する非参照テーブルである。
また、「地物ID」は、「電柱(地図)」テーブル585の「地物ID」と関係づけられた外部キーである。したがって、「電柱対応表」テーブル584と「電柱(地図)」テーブル585との間には、参照関係がある。「電柱対応表」テーブル584は、「電柱(地図)」テーブル585に対する非参照テーブルであり、「電柱(地図)」テーブル585は、「電柱対応表」テーブル585に対する参照テーブルである。
「電柱対応表」テーブル584の主キーは、「設備ID」及び「地物ID」である。
ユーザは、ある期間内に点検した結果が不良だった変圧器の位置を地図上に表示するサービスを設計しようとしている。そのため、ユーザは、点検期間の開始日と、点検期間の終了日とを入力とし、点検不良の変圧器が乗っている電柱の座標を出力とする「点検不良変圧器検索サービス」を作成する。
既存資源選択工程S503において、連携サービス設計画面に表示されたテーブルの一覧のなかから、ユーザは、変圧器の点検日を項目として有する「変圧器」テーブル581と、電柱の座標を項目として有する「電柱(地図)」テーブル585とを選択する。
入出力決定工程S504において、ユーザは、「点検不良変圧器検索サービス」の入力項目として、点検期間の開始日を表わす「S変圧器点検日」と、点検期間の終了日を表わす「E変圧器点検日」とを設定する。ユーザは、「点検不良変圧器検索サービス」の出力項目として、変圧器が乗っている電柱の地物IDを表わす「電柱ID」と、変圧器が乗っている電柱の住所を表わす「住所」と、変圧器が乗っている電柱の座標を表わす「座標」とを設定する。
ユーザは、選択した「変圧器」テーブル581及び「電柱(地図)」テーブル585の項目のなかから、設定した入出力項目に対応づける項目を選択する。ユーザは、入力項目である「S変圧器点検日」に、「変圧器」テーブル581の項目「点検日」を対応づける。ユーザは、入力項目である「E変圧器点検日」に、「変圧器」テーブル581の項目「点検日」を対応づける。ユーザは、出力項目である「電柱ID」に、「電柱(地図)」テーブル585の項目「地物ID」を対応づける。ユーザは、出力項目である「住所」に、「電柱(地図)」テーブル585の項目「住所」を対応づける。ユーザは、出力項目である「座標」に、「電柱(地図)」テーブル585の項目「座標」を対応づける。
図5は、この実施の形態における連携サービス定義情報550,560の一例を示す図である。
連携サービス定義情報550は、新たに作成する連携サービスの入力項目を定義するとともに、それぞれの入力項目が、どのテーブルのどの項目にマッピングされたかを定義する情報である。この例では、「点検不良変圧器箇所検索サービス」の入力項目「S変圧器点検日」が「変圧器」テーブル581の項目「点検日」にマッピングされ、入力項目「E変圧器点検日」が「変圧器」テーブル581の項目「点検日」にマッピングされていることを表わしている。
連携サービス定義情報560は、新たに作成する連携サービスの出力項目を定義するとともに、それぞれの出力項目が、どのテーブルのどの項目にマッピングされたかを定義する情報である。この例では、「点検不良変圧器箇所検索サービス」の出力項目「電柱ID」が「電柱(地図)」テーブル585の項目「地物ID」にマッピングされ、出力項目「住所」が「電柱(地図)」テーブル585の項目「住所」にマッピングされ、出力項目「座標」が「電柱(地図)」テーブル585の項目「座標」にマッピングされていることを表わしている。
クライアントプログラム実行部110は、処理装置911を用いて、ユーザの操作により入力した情報に基づいて、連携サービス定義情報550,560を生成し、設計支援装置200に対して送信する。
関連資源抽出工程S505において、スキーマ定義解析機能部222は、処理装置911を用いて、サービス設計画面生成部211が受信した連携サービス定義情報550,560などに基づいて、新たに作成する連携サービスで、少なくとも、「変圧器」テーブル581と、「電柱(地図)」テーブル585とが使用されることを把握する。
スキーマ定義解析機能部222は、処理装置911を用いて、DB管理情報記憶部340が記憶した情報に基づいて、「変圧器」テーブル581及び「電柱(地図)」テーブル585に対する参照テーブル及び非参照テーブルを検索する。その結果、スキーマ定義解析機能部222は、「変圧器」テーブル581に対する非参照テーブルである「親子管理」テーブル582と、「電柱(地図)」テーブル585に対する非参照テーブルである「電柱対応表」テーブル584とを見つける。スキーマ定義解析機能部222は、この2つのテーブル582,584が、新たに作成する連携サービスに関連するテーブルであると判断する。
次に、スキーマ定義解析機能部222は、処理装置911を用いて、DB管理情報記憶部340が記憶した情報に基づいて、新たに関連性が判明した「親子管理」テーブル582及び「電柱対応表」テーブル584に対する参照テーブル及び非参照テーブルを検索する。その結果、スキーマ定義解析機能部222は、「親子管理」テーブル582に対する参照テーブルである「変圧器」テーブル581及び「電柱」テーブル583と、「電柱対応表」テーブル584に対する参照テーブルである「電柱」テーブル583及び「電柱(地図)」テーブル585とを見つける。このうち、「変圧器」テーブル581及び「電柱(地図)」テーブル585は、既に、新たに作成する連携サービスとの関連性が判明しているので、新たに関連性が判明したテーブルは、「電柱」テーブル583だけである。
更に、スキーマ定義解析機能部222は、処理装置911を用いて、DB管理情報記憶部340が記憶した情報に基づいて、新たに関連性が判明した「電柱」テーブル583に対する参照テーブル及び非参照テーブルを検索する。その結果、スキーマ定義解析機能部222は、「電柱」テーブル583に対する非参照テーブルである「親子管理」テーブル582及び「電柱対応表」テーブル584を見つける。しかし、「親子管理」テーブル582及び「電柱対応表」テーブル584は、既に、新たに作成する連携サービスとの関連性が判明しているので、新たに関連性が判明したテーブルは、存在しない。これにより、スキーマ定義解析機能部222は、新たに作成する連携サービスに関連するテーブルがすべて見つかったと判断する。
なお、サービス設計画面生成部211は、スキーマ定義解析機能部222が見つけたテーブルの一覧をユーザに提示する連携サービス設計画面を生成する構成であってもよい。
図6は、この実施の形態におけるテーブル間のキーの関係表の一例を示す図である。
関係表は、例えば、番号611、主キー612、外部キー613、参照可能キー614などの項目を有する。
主キー612は、あるテーブルの主キーであって、他のテーブルから参照されている項目を表わす。
外部キー613は、主キー612が表わす項目を参照している他のテーブルにおいて、主キー612が表わす項目に対応づけられた外部キーである項目を表わす。
参照可能キー614は、主キー612が表わす項目を参照している他のテーブルにおいて、外部キー613が表わす項目以外に存在する外部キーである項目を表わす。
スキーマ定義解析機能部222は、処理装置911を用いて、新たに作成する連携サービスに関連するテーブルの間の関係を、例えば、この関係表のような形にまとめて整理する。
なお、サービス設計画面生成部211は、スキーマ定義解析機能部222がまとめた関係表をユーザに提示する連携サービス設計画面を生成する構成であってもよい。
スキーマ定義解析機能部222は、処理装置911を用いて、新たに作成する連携サービスの入力項目から出力項目へ至るパスを検索する。
まず、スキーマ定義解析機能部222は、「点灯不良変圧器箇所検索サービス」の出力項目にマッピングされた項目「地物ID」「住所」「座標」を有する「電柱(地図)」テーブル585を終点テーブルとする。
次に、スキーマ定義解析機能部222は、「点灯不良変圧器箇所検索サービス」の入力項目にマッピングされた項目「点検日」を有する「変圧器」テーブル581を起点とする。スキーマ定義解析機能部222は、起点とした「変圧器」テーブル581の主キーや外部キーに対応づけられた外部キーや主キーを有する他のテーブルを検索する。その結果、スキーマ定義解析機能部222は、「変圧器」テーブル581の主キーである項目「設備ID」に対応づけられた外部キーである項目「子設備ID」を有する「親子管理」テーブル582を見つける。
次に、スキーマ定義解析機能部222は、「親子管理」テーブル582を起点とする。スキーマ定義解析機能部222は、起点とした「親子管理」テーブル582の主キーや外部キーに対応づけられた外部キーや主キーを有する他のテーブルを検索する。その結果、スキーマ定義解析機能部222は、「親子管理」テーブル582の外部キーである項目「子設備ID」に対応づけられた主キーである項目「設備ID」を有する「変圧器」テーブル581と、「親子管理」テーブル582の外部キーである項目「親設備ID」に対応づけられた主キーである項目「設備ID」を有する「電柱」テーブル583とを見つける。このうち、「変圧器」テーブル581は、既に通過したテーブルなので、新たにたどり着いたテーブルは、「電柱」テーブル583である。
そこで、スキーマ定義解析機能部222は、今度は「電柱」テーブル583を起点とする。スキーマ定義解析機能部222は、起点とした「電柱」テーブル583の主キーや外部キーに対応づけられた外部キーや主キーを有する他のテーブルを検索する。その結果、スキーマ定義解析機能部222は、「電柱」テーブル583の主キーである項目「設備ID」に対応づけられた外部キーである項目「親設備ID」を有する「親子管理」テーブル582と、「電柱」テーブル583の主キーである項目「設備ID」に対応づけられた外部キーである項目「設備ID」を有する「電柱対応表」テーブル584とを見つける。
次に、スキーマ定義解析機能部222は、新たにたどり着いたテーブルである「電柱対応表」テーブル584を起点とする。スキーマ定義解析機能部222は、起点とした「電柱対応表」テーブルの主キーや外部キーに対応づけられた外部キーや主キーを有する他のテーブルを検索する。その結果、スキーマ定義解析機能部222は、「電柱対応表」テーブル584の外部キーである項目「設備ID」に対応づけられた主キーである項目「設備ID」を有する「電柱」テーブル583と、「電柱対応表」テーブル584の外部キーである項目「地物ID」に対応づけられた主キーである項目「地物ID」を有する「電柱(地図)」テーブル585とを見つける。このうち、「電柱(地図)」テーブル585は、終点テーブルであるから、スキーマ定義解析機能部222は、連携サービスの入力項目から出力項目へ至るパスを一つ発見したと判定する。
また、終点テーブル以外に、新たにたどり着いたテーブルがないので、スキーマ定義解析機能部222は、パスの検索が終了したと判定する。
なお、パスの検索の途中で、新たにたどりついたテーブルが複数ある場合、そこで、パスの検索が枝分かれする。スキーマ定義解析機能部222は、分かれた複数の枝を並行して検索する構成であってもよいし、分かれた枝の検索を保留し、一つずつ順に検索する構成であってもよい。
スキーマ定義解析機能部222は、処理装置911を用いて、検索したパスのなかに冗長な部分がないか判定する。冗長な部分があると判定した場合、スキーマ定義解析機能部222は、処理装置911を用いて、冗長な部分を排除する。
上記の例において、「電柱」テーブル583は、参照する必要がない。なぜなら、「電柱」テーブル583の「設備ID」は、「親子管理」テーブル582の項目「親設備ID」に対応づけられているとともに、「電柱対応表」テーブル584の項目「設備ID」に対応づけられている。したがって、「親子管理」テーブル582の項目「親設備ID」から、「電柱対応表」テーブル584の「設備ID」へ直接アクセスすることができる。このため、スキーマ定義解析機能部222は、処理装置911を用いて、検索したパスのなかから、「電柱」テーブル583を参照する部分を削除し、「親子管理」テーブル582の項目「親設備ID」と、「電柱対応表」テーブル584の項目「設備ID」とを対応づける。
図7は、この実施の形態におけるスキーマ定義解析機能部222が検索したパスの一例を示す図である。
この例におけるパスは、以下の手順により「点検不良変圧器箇所検索サービス」の入力項目から、出力項目へ至ることができることを示している。まず、「変圧器」テーブル581を使って、項目「設備ID」を取得する。次に、「親子管理」テーブル582を使って、項目「子設備ID」が「変圧器」テーブル581から取得した項目「設備ID」に一致するレコードの「親設備ID」を取得する。次に、「電柱対応表」テーブル584を使って、項目「設備ID」が「親子管理」テーブル582から取得した項目「親設備ID」に一致するレコードの「地物ID」を取得する。最後に、「電柱(地図)」テーブル585を使って、項目「地物ID]が「電柱対応表」テーブル584から取得した項目「地物ID」に一致するレコードを取得する。
連携サービスを完成させるためには、スキーマ定義解析機能部222が検索したパスにおけるテーブルを使った処理の部分を、具体的なクエリやサービスに置き換える必要がある。
連携パターン生成工程S506において、連携パターン推薦機能部221は、処理装置911を用いて、サービス定義記憶部310やクエリ定義記憶部320やサービス管理情報記憶部350が記憶した情報によって定義された既存のクエリやサービスを検索して、スキーマ定義解析機能部222が検索したパスにおけるテーブルを使った処理の部分を、置き換える具体的なクエリやサービスの候補を探す。連携パターン推薦機能部221は、処理装置911を用いて、見つけた候補のなかから、推薦するクエリやサービスを決定する。
図8は、この実施の形態におけるサービス設計画面生成部211が生成する連携サービス設計画面の一例を示す図である。
例えば、連携パターン推薦機能部221は、点検不良設備検索クエリを、「変圧器」テーブル581を使った処理の具体化候補として決定する。連携パターン推薦機能部221は、親設備検索クエリを、「親子管理」テーブル582を使った処理の具体化候補として決定する。連携パターン推薦機能部221は、地物検索クエリを、「電柱(地図)」テーブル585を使った処理の具体化候補として決定する。また、連携パターン推薦機能部221は、「電柱対応表」テーブル584を使った処理の具体化候補となるクエリやサービスを発見できなかったとする。
サービス設計画面生成部211は、処理装置911を用いて、スキーマ定義解析機能部222が検索したパスと、連携パターン推薦機能部221が決定した処理の具体化候補とに基づいて、連携サービス設計画面を生成する。この図における連携サービス設計画面は、スキーマ定義解析機能部222が検索したパスにおけるテーブルを使った処理の部分に、連携パターン推薦機能部221が決定した処理の具体化候補を当てはめた形式になっている。
この例において、連携パターン推薦機能部221は、「電柱対応表」テーブル584を使った処理の具体化候補を発見できなかったので、サービス設計画面生成部211が生成する連携サービス設計画面において、「電柱対応表」テーブル584を使った処理に対応する部分は、「XXX_サービス」のように記載され、空欄になっている。なお、サービス設計画面生成部211は、生成する連携サービス設計画面において、空欄部分の色を変えるなどして、ユーザが空欄を埋める必要があることをユーザに確実に知らせることができるような構成としてもよい。
ユーザは、この画面において、クエリの空欄部分にSQL文を書き入れるなどして、空欄を埋めるなどして、推薦された連携パターンを修正し、完成させる。
また、スキーマ定義解析機能部222が検索したパスが複数ある場合や、1つのテーブルを使った処理に対して連携パターン推薦機能部221が推薦する具体化候補が複数ある場合、サービス設計画面生成部211は、例えば、ユーザによるインタラクティブな操作により、表示する候補を入れ換えることができる連携サービス設計画面を生成する。
その場合、ユーザは、インタラクティブな操作により、表示される候補を入れ換えて、連携サービスで使用するクエリやサービスなどを選択する。
図9は、この実施の形態におけるサービス定義生成機能部233が生成する連携サービスの定義情報の一例を示す図である。
この例における定義情報は、連携サービス「点検不良変圧器箇所検索サービス」の定義を表わす。「点検不良変圧器箇所検索サービス」は、「S変圧器点検日」と「E変圧器点検日」とを入力し、「電柱ID」と「住所」と「座標」とを出力する。入力項目「S変圧器点検日」の値は、内部変数「点検不良変圧器箇所検索サービス.S変圧器点検日」に代入される。入力項目「E変圧器点検日」の値は、内部変数「点検不良変圧器箇所検索サービス.E変圧器点検日」に代入される。「点検不良変圧器箇所検索サービス」は、出力項目「電柱ID」として、内部変数「地物検索サービス.地物ID」の値を出力する。「点検不良変圧器箇所検索サービス」は、出力項目「住所」として、内部変数「地物検索サービス.住所」の値を出力する。「点検不良変圧器箇所検索サービス」は、出力項目「座標」として、内部変数「地物検索サービス.座標」の値を出力する。
「点検不良変圧器箇所検索サービス」は、4つのサービス「点検不良設備点検サービス」「親設備検索サービス」「地図変換サービス」「地物検索サービス」を連携させて実現されている。
「点検不良設備点検サービス」は、「S点検日」と「E点検日」とを入力し、「変圧器」テーブルを使って、「設備ID」と「容量」と「電気方式」と「型番」と「メーカー」と「製造年月」と「設置年月」と「点検日」と「点検結果」とを出力する。入力項目「S点検日」には、内部変数「点検不良変圧器箇所検索サービス.S変圧器点検日」を介して、「点検不良変圧器箇所検索サービス」の入力項目「S変圧器点検日」の値が代入される。入力項目「E点検日」には、内部変数「点検不良変圧器箇所検索サービス.E変圧器点検日」を介して、「点検不良変圧器箇所検索サービス」の入力項目「E変圧器点検日」の値が代入される。出力項目「設備ID」の値は、内部変数「点検不良設備点検サービス.設備ID」に代入される。それ以外の出力項目の値は、「点検不良変圧器箇所検索サービス」では使用されない。
「親設備検索サービス」は、「子設備ID」を入力し、「親子管理」テーブルを使って、「親設備ID」と「子設備ID」とを出力する。入力項目「子設備ID」には、内部変数「点検不良設備点検サービス.設備ID」を介して、「点検不良設備点検サービス」の出力項目「設備ID」の値が代入される。出力項目「親設備ID」の値は、内部変数「親設備検索サービス.親設備ID」に代入される。出力項目「子設備ID」の値は、「点検不良変圧器箇所検索サービス」では使用されない。
「地図変換サービス」は、「設備ID」を入力し、「電柱対応表」テーブルを使って、「地物ID」と「設備ID」とを出力する。入力項目「設備ID」には、内部変数「親設備検索サービス.親設備ID」を介して、「親設備検索サービス」の出力項目「親設備ID」の値が代入される。出力項目「地物ID」の値は、内部変数「地図変換サービス.地物ID」に代入される。出力項目「設備ID」の値は、「点検不良変圧器箇所検索サービス」では使用されない。
「地物検索サービス」は、「地物ID」を入力し、「電柱(地図)」テーブルを使って、「地物ID」と「住所」と「座標」と「形状」と「大きさ」と「表示属性」と「色」とを出力する。入力項目「地物ID」には、内部変数「地図変換サービス.地物ID」を介して、「地図変換サービス」の出力項目「地物ID」の値が代入される。出力項目「地物ID」の値は、内部変数「地物検索サービス.地物ID」に代入され、「点検不良変圧器箇所検索サービス」の出力項目「電柱ID」として出力される。出力項目「住所」の値は、内部変数「地物検索サービス.住所」に代入され、「点検不良変圧器箇所検索サービス」の出力項目「住所」として出力される。出力項目「座標」の値は、内部変数「地物検索サービス.座標」に代入され、「点検不良変圧器箇所検索サービス」の出力項目「座標」として出力される。それ以外の出力項目の値は、「点検不良変圧器箇所検索サービス」では使用されない。
なお、内部変数の名前は、他の内部変数と区別できれば、他の名前であってもよい。
また、内部変数を介さず、あるサービスの出力項目を他のサービスに直接入力する構成であってもよい。
以上のようにして、設計支援システム800は、ユーザが、連携サービスを設計することを支援する。
この実施の形態における設計支援装置200は、サービス定義とクエリ定義とスキーマ定義を管理することにより、サービスの連携パターンを推薦する。
サービス推薦部220は、サービス間に直接関連がなくても、クエリやスキーマの関係から関連するサービスを推薦できる。
設計支援装置200は、データを連携させるために必要なサービスが存在しない場合においても、データベース構造から不足するサービスを検出し、ユーザに通知できる。
サービス推薦部220は、不足するサービスがある場合にも、そのサービスを組込んだ形で連携サービスを推薦できる。
データベースのテーブル間の構造を基に連携パターンを推薦するので、過去の連携パターンがなくても連携パターンを推薦可能とすることができる。
また、連携に必要なサービスが不足していた場合には、その箇所をユーザに通知し、クエリの内容を定義しサービスインタフェースを定義させることで、不足しているサービスが組み込まれることを想定した上で連携パターンを推薦することができる。
実施の形態2.
実施の形態2について、図10〜図18を用いて説明する。
なお、実施の形態1と共通する部分については、同一の符号を付し、説明を省略する。
図10は、この実施の形態における設計支援システム801の構成の一例を示す図である。
設計支援システム801(支援システム)は、端末装置101と、支援装置201とを有する。
端末装置101は、連携部品(連携サービス)を設計する利用者が操作する装置である。支援装置201は、利用者が連携部品を設計するのを支援する装置である。端末装置101及び支援装置201は、例えば、実施の形態1で説明したコンピュータ910である。端末装置101と支援装置201とは、インターネットなどのネットワークやその他の通信回線などを介して接続している。
端末装置101は、マウスなどの入力装置912を用いて、利用者の操作を入力することにより、利用者が設計しようとしている連携部品の入力項目や出力項目を入力する。また、端末装置101は、マウスなどの入力装置912を用いて、利用者の操作を入力することにより、利用者が設計しようとしている連携部品の入力項目や出力項目が、既存の部品(連携サービスやサービスやテーブルなど)の項目のうちどの項目に対応しているかを入力する。端末装置101は、通信装置などの出力装置913を用いて、入力した連携部品の入力項目を表わす連携部品入力項目データと、それぞれの入力項目が既存のどの部品のどの項目に対応するのかを表わす入力対応データとを、支援装置201に対して送信する。端末装置101は、通信装置などの出力装置913を用いて、入力した連携部品の出力項目を表わす連携部品出力項目データと、それぞれの出力項目が既存のどの部品のどの項目に対応するのかを表わす出力対応データとを、支援装置201に対して送信する。
また、端末装置101は、通信装置などの入力装置912を用いて、支援装置201が探索した連携パターンを利用者に提示する画面を表わす連携パターンデータを受信する。端末装置101は、表示装置などの出力装置913を用いて、受信した連携パターンデータが表わす画面を表示する。
端末装置101は、マウスなどの入力装置912を用いて、利用者の操作を入力することにより、表示した画面によって提示され連携パターンをもとにして利用者が作成した連携パターンを入力する。端末装置101は、通信装置などの出力装置913を用いて、入力した連携パターンを表わす作成パターンデータを、支援装置201に対して送信する。
支援装置201は、例えば、部品定義記憶部251と、項目対応定義記憶部252と、入力対応入力部261と、出力対応入力部262と、作成パターン入力部263と、経路探索部271と、連携パターン生成部272と、部品定義生成部273と、連携パターン出力部281とを有する。
部品定義記憶部251は、記憶装置914を用いて、使用可能な既存の部品の定義を表わす部品定義データを、あらかじめ複数記憶している。それぞれの部品定義データは、1つの部品を表わす。部品定義記憶部251は、使用可能な既存の部品の数と同じ数の部品定義データを記憶している。部品は、いくつかの項目を入力し、入力した項目に対してなんらかの処理をして、処理した結果であるいくつかの項目を出力する。例えば、部品は、データベースに登録されたテーブルを参照して、入力項目が表わす条件に合致するレコードを検索し、検索したレコードのフィールドを出力項目として出力する。このような部品をテーブル使用部品と呼ぶ。なお、部品は、テーブル使用部品に限らず、スクリプト言語やその他のプログラミング言語によって記述された処理を実行するものであってもよい。また、部品は、複数の部品による処理を組み合わせた連携部品であってもよい。連携部品は、ある部品が出力した項目を入力項目として別の部品に入力することにより、複数の部品を連結し、全体として、単独の部品よりも複雑な処理を実現したものである。
また、利用者が新しい連携部品などの部品を作成した場合、部品定義記憶部251は、記憶装置914を用いて、その部品を表わす部品定義データを、追加して記憶する。利用者が新しい部品を作成するたび、部品定義記憶部251が記憶している部品定義データの数が増えていく。
項目対応定義記憶部252は、記憶装置914を用いて、部品定義記憶部251が記憶した部品の入力項目や出力項目の対応関係を項目対応定義データを複数記憶している。それぞれの項目対応定義データは、対応する項目である入出力項目を表わす。対応する項目とは、例えば、ある部品が出力する項目を、入力項目として別の部品に入力することができる場合をいう。すなわち、ある部品の出力項目と、別の部品の入力項目とが対応している場合、その2つの部品を連結することができる。なお、ある部品の1つの出力項目に対して、対応する入力項目を有する他の部品が複数ある場合もある。また、ある部品の1つの入力項目に対して、対応する出力項目を有する他の部品が複数ある場合もある。すなわち、項目の対応関係は、多対多の関係である。
入力対応入力部261は、通信装置などの入力装置912を用いて、端末装置101が送信した連携部品入力項目データと、入力対応データとを受信する。
出力対応入力部262は、通信装置などの入力装置912を用いて、端末装置101が送信した連携部品出力項目データと、出力対応データとを受信する。
経路探索部271は、処理装置911を用いて、部品定義記憶部251が記憶した複数の部品定義データと、項目対応定義記憶部252が記憶した複数の項目対応定義データと、入力対応入力部261が受信した連携部品入力項目データ及び入力対応データと、出力対応入力部262が受信した連携部品出力項目データ及び出力対応データとに基づいて、複数の部品を連結することにより、連携部品の入力項目に対応する項目から、連携部品の出力項目に対応する項目へ至る経路を探索する。
連携パターン生成部272は、処理装置911を用いて、経路探索部271が探索した経路に基づいて、利用者が作成しようとしている連携部品を構成するために考えられる連携パターンを利用者に対して提示する画面を表わす連携パターンデータを生成する。
連携パターン出力部281は、通信装置などの出力装置913を用いて、連携パターン生成部272が生成した連携パターンデータを、端末装置101に対して送信する。
作成パターン入力部263は、通信装置などの入力装置912を用いて、連携パターン出力部281が送信した連携パターンデータが表わす画面を利用者が見て、利用者が作成した連携パターンを表わす作成パターンデータを受信する。
部品定義生成部273(連携部品定義生成部)は、処理装置911を用いて、作成パターン入力部263が受信した作成パターンデータに基づいて、利用者が作成した連携部品などの部品の定義を表わす部品定義データを生成する。部品定義記憶部251は、記憶装置914を用いて、部品定義生成部273が生成した部品定義データを、新たに追加して記憶する。また、部品定義生成部273は、処理装置911を用いて、利用者が新たに作成した連携部品などの部品の入力項目や出力項目が、既存の部品の入力項目や出力項目のうちどれに対応するかに基づいて、項目対応定義記憶部252が記憶した項目対応定義データを更新する。項目対応定義記憶部252は、記憶装置914を用いて、部品定義生成部273が更新した項目対応定義データを記憶する。
図11は、この実施の形態における部品定義記憶部251が記憶した部品定義データ850の一例を示す図である。
この例に示した部品定義データ850は、連携部品を表わす。連携部品についての部品定義データ850は、例えば、部品識別子851と、入力項目データ群860と、出力項目データ群870と、処理手順データ880とを含む。
部品識別子851は、部品定義データ850によって定義される部品を、一意に識別するためのデータである。
入力項目データ群860は、例えば、必須入力項目データ861や、任意入力項目データ862を含む。必須入力項目データ861は、その部品が必ず入力する必須入力項目を表わす入力項目データである。入力項目データ群860は、必須入力項目データ861を含んでも含まなくてもよく、複数の必須入力項目データ861を含んでもよい。任意入力項目データ862は、その部品が入力してもしなくてもよい任意入力項目を表わす入力項目データである。入力項目データ群860は、任意入力項目データ862を含んでも含まなくてもよく、複数の任意入力項目データ862を含んでもよい。それぞれの入力項目データは、1つの入力項目を表わす。入力項目データ群860は、その部品が入力する必須入力項目の数と同じ数の必須入力項目データ861を含み、その部品が入力する任意入力項目の数と同じ数の任意入力項目データ862を含む。入力項目データは、例えば、入力項目の名称を表わす入力項目名称データを含む。
出力項目データ群870は、例えば、出力項目データ871を含む。出力項目データ871は、その部品が出力する出力項目を表わす。出力項目データ群870は、少なくとも1つの出力項目データ871を含む。出力項目データ群870は、複数の出力項目データ871を含んでもよい。それぞれの出力項目データ871は、1つの出力項目を表わす。出力項目データ群870は、その部品が出力する出力項目の数と同じ数の出力項目データ871を含む。出力項目データ871は、例えば、出力項目の名称を表わす出力項目名称データを含む。
処理手順データ880は、その部品がする処理の手順を表わす。連携部品についての処理手順データ880は、処理の手順として、連携部品のどの入力項目をどの部品に入力するか、どの部品の出力項目を入力項目として別の部品に入力するか、どの部品の出力項目を連携部品の出力項目として出力するかなどを表わす。処理手順データ880は、例えば、複数の使用部品データ881と、出力マッピングデータ群884とを含む。
それぞれの使用部品データ881は、その連携部品が使用する部品の1つを表わす。処理手順データ880は、その連携部品が使用する部品の数と同じ数の使用部品データ881を含む。使用部品データ881は、使用部品識別子882と、入力マッピングデータ883とを含む。使用部品識別子882は、他の部品の識別データであり、その連携部品が使用する他の部品を示す。入力マッピングデータ883は、使用部品識別子882によって示される他の部品の入力項目に入力する項目(連携部品の入力項目や、更に他の部品の出力項目など)を表わす。使用部品データ881は、少なくとも、使用部品識別子882によって示される他の部品の必須入力項目の数と同じ数の入力マッピングデータ883を含み、多くとも、その部品の必須入力項目の数と任意入力項目の数との合計と同じ数の入力マッピングデータ883を含む。それぞれの入力マッピングデータ883は、その部品の1つの入力項目について、その入力項目に割り付ける項目を表わす。
出力マッピングデータ群884は、その連携部品の出力項目として、どの部品のどの出力項目を出力するかを表わす。出力マッピングデータ群884は、出力マッピングデータ885を含む。出力マッピングデータ群884は、出力項目データ群870に含まれる出力項目データ871の数、すなわち、その連携部品が出力する出力項目の数と同じ数の出力マッピングデータ885を含む。それぞれの出力マッピングデータ885は、その連携部品の1つの出力項目について、その出力項目に割り付ける他の部品の出力項目を表わす。
図12は、この実施の形態における処理手順データ880によって表わされる連携部品の処理手順の一例を示す図である。
この例において、連携部品は、3つの部品A〜Cを連結することによって実現される。連携部品は、2つの必須入力項目A,Bと、1つの任意入力項目Aとを入力し、2つの出力項目A,Bを出力する。
部品Aは、少なくとも2つの入力項目と、少なくとも2つの出力項目とを有する。部品Aの入力項目の一つには、連携部品の必須入力項目Bが入力される。部品Aのもう一つの入力項目には、連携部品の任意入力項目Aが入力される。なお、任意入力項目Aは入力されない場合があるので、任意入力項目が入力される部品Aの入力項目は、任意入力項目でなれけばならない。また、部品Aは、この2つ以外に入力項目を有していてもよいが、この2つの入力項目以外の入力項目には、何も入力されないので、やはり任意入力項目でなければならない。
部品Bは、少なくとも2つの入力項目と、少なくとも2つの出力項目とを有する。部品Bの入力項目の一つには、連携部品の必須入力項目Aが入力される。部品Bのもう一つの入力項目には、部品Aの出力項目の一つが入力される。この2つの入力項目は、必須入力項目であってもよいし、任意入力項目であってもよい。なお、部品Bは、この2つ以外に入力項目を有していてもよいが、この2つの入力項目以外の入力項目には何も入力されないので、任意入力項目でなければならない。
部品Cは、少なくとも2つの入力項目と、少なくとも1つの出力項目とを有する。部品Cの入力項目の一つには、部品Bの出力項目の一つが入力される。部品Cのもう一つの入力項目には、部品Aのもう一つの出力項目が入力される。
部品Bのもう一つの出力項目は、連携部品の出力項目Aとして、出力される。部品Cの出力項目は、連携部品の出力項目Bとして、出力される。
なお、部品A〜Cは、上記以外に出力項目を有していてもよい。上記以外の出力項目は、単に使用されないだけである。
図13は、この実施の形態における部品定義記憶部251が記憶した部品定義データ850の別の例を示す図である。
この例に示した部品定義データ850が表わす部品は、連携部品ではなく、単独の部品である。単独の部品についての部品定義データ850は、連携部品の場合と同様、部品識別子851と、入力項目データ群860と、出力項目データ群870と、処理手順データ880とを含む。このうち、部品識別子851、入力項目データ群860、出力項目データ群870は、連携部品についての部品定義データ850に含まれる部品識別子851、入力項目データ群860、出力項目データ群870と同様である。
単独の部品についての処理手順データ880は、処理の手順として、その部品がする具体的な処理の内容を表わす。処理手順データ880は、例えば、その部品がする具体的な処理の内容を表わす処理内容データ887を含む。その部品がテーブル使用部品である場合、処理内容データ887は、例えば、SQL文を表わす。その場合、その部品がする処理は、そのSQL文を使ってデータベースにアクセスすることである。あるいは、処理内容データ887は、スクリプト言語などのプログラミング言語によって記述されたプログラムを表わす。その場合、その部品がする処理は、そのプログラムを実行することである。
図14は、この実施の形態における部品定義記憶部251が記憶した部品定義データ850の更に別の例を示す図である。
この例に示した部品定義データ850は、その部品が使用するテーブルのみが定義され、その部品がする処理の手順が定義されていない特別なテーブル使用部品を表わす。部品定義データ850は、例えば、部品識別子851と、使用テーブルデータ890とを含み、処理手順データ880を含まない。
使用テーブルデータ890は、その部品が使用するテーブルを示す。使用テーブルデータ890は、例えば、テーブル情報データ891と、フィールドデータ892とを含む。
テーブル情報データ891は、その部品が使用するテーブルにアクセスするための情報を表わす。テーブル情報データ891は、例えば、データベースの所在を表わすアドレスや、そのデータベース内におけるテーブルの名称などを表わす。また、テーブル情報データ891は、そのデータベースにアクセスするためのユーザ名やパスワードなどの情報を含んでいてもよい。
フィールドデータ892は、そのテーブルのフィールドを表わす。使用テーブルデータ890は、そのテーブルのフィールドのうち利用可能なフィールドの数と同じ数のフィールドデータ892を含む。それぞれのフィールドデータ892は、そのテーブルの1つのフィールドを表わす。フィールドデータ892は、例えば、そのフィールドの名称を表わすフィールド名称データを含む。
なお、フィールドデータ892は、支援装置201の処理を高速化するため、そのテーブルを含むデータベースにアクセスせずにそのテーブルのフィールドを知るために用意されているものであり、使用テーブルデータ890は、フィールドデータ892を含まない構成であってもよい。その場合、支援装置201は、データベースにアクセスして、そのテーブルにどのようなフィールドがあるかを取得すればよい。
テーブル使用部品が使用するテーブルのフィールドは、部品が入力あるいは出力する項目に相当する。ただし、処理の手順が定義されていないので、どのフィールドが入力項目になり、どのフィールドが出力項目になるかは、決まっていない。すなわち、すべてのフィールドが任意入力項目であると同時に、すべてのフィールドが出力項目であるということができる。
なお、部品定義記憶部251は、使用可能なすべてのデータベースの使用可能なすべてのテーブルについて、処理手順が定義されていないテーブル使用部品を表わす部品定義データを記憶している。
図15は、この実施の形態における項目対応定義記憶部252が記憶した項目対応定義データ930の一例を示す図である。
項目対応定義データ930は、例えば、対応出力項目データ940と、対応入力項目データ950と、対応フィールドデータ960とを含む。
項目対応定義データ930は、対応出力項目データ940を含んでも含まなくてもよく、複数の対応出力項目データ940を含んでもよい。それぞれの対応出力項目データ940は、対応する複数の項目のうちの1つの出力項目を表わす。対応出力項目データ940は、例えば、対応出力部品識別子941と、対応出力項目名称データ942とを含む。対応出力部品識別子941は、部品定義記憶部251が記憶した複数の部品定義データ850のうちいずれかの部品定義データ850に含まれる部品識別子851であり、その出力項目を出力する部品を示す。対応出力項目名称データ942は、その部品の出力項目のうち、対応する出力項目の名称を表わす。
項目対応定義データ930は、対応入力項目データ950を含んでも含まなくてもよく、複数の対応入力項目データ950を含んでもよい。それぞれの対応入力項目データ950は、対応する複数の項目のうちの1つの入力項目を表わす。対応入力項目データ950は、例えば、対応入力部品識別子951と、対応入力項目名称データ952とを含む。対応入力部品識別子951は、部品定義記憶部251が記憶した複数の部品定義データ850のうちいずれかの部品定義データ850に含まれる部品識別子851であり、その入力項目を入力する部品を示す。対応入力項目名称データ952は、その部品の入力項目のうち、対応する入力項目の名称を表わす。
項目対応定義データ930は、対応フィールドデータ960を含んでも含まなくてもよく、複数の対応フィールドデータ960を含んでもよい。それぞれの対応フィールドデータ960は、対応する複数の項目のうちの1つの項目を表わす。なお、対応フィールドデータ960が表わす項目は、処理手順が定義されていないテーブル使用部品の項目、すなわち、使用するテーブルのフィールドを表わす。上述したように、処理手順が定義されていないテーブル使用部品において、使用するテーブルのフィールドは、入力項目にもなり得るし、出力項目にもなり得る。対応フィールドデータ960は、例えば、対応テーブル識別子961と、対応フィールド名称データ962とを含む。対応テーブル識別子961は、部品定義記憶部251が記憶した複数の部品定義データ850のうち、処理手順が定義されていないテーブル使用部品を表わす部品定義データ850のいずれかに含まれる部品識別子851であり、そのフィールドを有するテーブルを使用するテーブル使用部品を表わす。対応フィールド名称データ962は、そのテーブルのフィールドのうち、対応するフィールドの名称を表わす。
1つの項目対応定義データ930は、対応出力項目データ940が表わす出力項目と、対応入力項目データ950が表わす入力項目と、対応フィールドデータ960が表わすフィールドとが対応していることを表わす。
図16は、この実施の形態における端末装置101が支援装置201に対して送信する入出力項目対応データ970の一例を示す図である。
入出力項目対応データ970は、利用者が作成しようとしている連携部品の入力項目及び出力項目が、既存のどの部品のどの入力項目及び出力項目に対応するかを表わす。入出力項目対応データ970は、例えば、入力対応データ980と、出力対応データ990とを含む。
入出力項目対応データ970は、少なくとも1つの入力対応データ980を含む。それぞれの入力対応データ980は、連携部品が入力する1つの入力項目を表わす。入力対応データ980は、例えば、入力対応部品データ981と、入力対応項目データ982とを有する。入力対応部品データ981は、部品定義記憶部251が記憶した複数の部品定義データ850のうちいずれかの部品定義データ850に含まれる部品識別子851であり、連携部品の入力項目に対応する入力項目を有する部品を示す。入力対応項目データ982は、その部品の入力項目のうち、連携部品の入力項目に対応する入力項目の名称を表わす。端末装置101が送信した入力対応データ980は、支援装置201の入力対応入力部261が入力する。
入出力項目対応データ970は、少なくとも1つの出力対応データ990を含む。それぞれの出力対応データ990は、連携部品が出力する1つの出力項目を表わす。出力対応データ990は、例えば、出力対応部品データ991と、出力対応項目データ992とを有する。出力対応部品データ991は、部品定義記憶部251が記憶した複数の部品定義データ850のうちいずれかの部品定義データ850に含まれる部品識別子851であり、連携部品の出力項目に対応する出力項目を有する部品を示す。出力対応項目データ992は、その部品の出力項目のうち、連携部品の出力項目に対応する出力項目の名称を表わす。端末装置101が送信した出力対応データ990は、支援装置201の出力対応入力部262が入力する。
図17は、この実施の形態における支援処理S700の流れの一例を示すフローチャート図である。
支援処理S700において、支援装置201は、利用者が新しい連携部品を作成するのを支援する。支援処理S700は、例えば、入出力項目入力工程S710と、経路探索工程S720と、連携パターン生成工程S730と、連携パターン出力工程S740と、作成パターン入力工程S750と、部品定義生成工程S760と、部品定義記憶工程S770とを有する。
入出力項目入力工程S710において、入力対応入力部261は、入力装置912を用いて、端末装置101が送信した入出力項目対応データ970のうち入力対応データ980を入力する。出力対応入力部262は、入力装置912を用いて、端末装置101が送信した入出力項目対応データ970のうち出力対応データ990を入力する。
経路探索工程S720において、経路探索部271は、処理装置911を用いて、入出力項目入力工程S710で入力対応入力部261が入力した入力対応データ980や出力対応入力部262が入力した出力対応データ990、あらかじめ部品定義記憶部251が記憶した部品定義データ850や項目対応定義記憶部252が記憶した項目対応定義データ930などに基づいて、連携部品の入力項目から出力項目へ至る経路を探索する。
連携パターン生成工程S730において、連携パターン生成部272は、処理装置911を用いて、経路探索工程S720で経路探索部271が探索した経路に基づいて、連携パターンデータを生成する。
連携パターン出力工程S740において、連携パターン出力部281は、出力装置913を用いて、連携パターン生成工程S730で連携パターン生成部272が生成した連携パターンデータを端末装置101に対して出力する。
作成パターン入力工程S750において、作成パターン入力部263は、入力装置912を用いて、端末装置101が送信した作成パターンデータを入力する。
部品定義生成工程S760において、部品定義生成部273は、処理装置911を用いて、作成パターン入力工程S750で作成パターン入力部263が入力した作成パターンデータに基づいて、新たに作成された部品を定義する部品定義データ850を生成し、項目対応定義記憶部252が記憶した項目対応定義データ930を更新する。
部品定義記憶工程S770において、部品定義記憶部251は、記憶装置914を用いて、部品定義生成工程S760で部品定義生成部273が生成した部品定義データ850を記憶する。項目対応定義記憶部252は、記憶装置914を用いて、部品定義生成工程S760で部品定義生成部273が更新した項目対応定義データ930を記憶する。
図18は、この実施の形態における経路探索工程S720の流れの一例を示すフローチャート図である。
経路探索工程S720は、例えば、終点選択工程S721と、再帰処理S722と、経路構築工程S729とを有する。再帰処理S722は、例えば、入力項目選択工程S723と、起点判定工程S724と、中断判定工程S725と、対応出力部品判定工程S726と、対応出力部品選択工程S727と、判定工程S728とを有する。
終点選択工程S721において、経路探索部271は、処理装置911を用いて、入出力項目入力工程S710で出力対応入力部262が入力した出力対応データ990に基づいて、利用者が新たに作成しようとしている連携部品の出力項目に対応する出力項目を有する既存の部品のなかから、まだ選択していない部品を選択する。
すべての部品が選択済であり、選択すべき部品がない場合、経路探索部271は、経路探索工程S720を経路構築工程S729へ進める。
まだ選択していない部品がある場合、経路探索部271は、処理装置911を用いて、まだ選択していない部品のなかから、部品を1つ選択する。経路探索部271は、処理装置911を用いて、選択した部品について、再帰処理S722を呼び出す。
呼び出した再帰処理S722から戻ったのち、経路探索部271は、終点選択工程S721を繰り返し、次の部品を選択する。
経路探索部271は、呼び出された再帰処理S722の処理を、入力項目選択工程S723から開始する。
入力項目選択工程S723において、経路探索部271は、処理装置911を用いて、部品定義記憶部251が記憶した部品定義データ850のなかから、再帰処理S722の呼び出し元で選択した部品についての部品定義データ850を取得する。経路探索部271は、処理装置911を用いて、取得した部品定義データ850に基づいて、その部品が入力する入力項目のなかから、まだ選択していない入力項目を選択する。
すべての入力項目が選択済であり、選択すべき入力項目がない場合、経路探索部271は、再帰処理S722を判定工程S728へ進める。
まだ選択していない入力項目がある場合、経路探索部271は、処理装置911を用いて、まだ選択していない入力項目のなかから、入力項目を1つ選択する。経路探索部271は、再帰処理S722を起点判定工程S724へ進める。
なお、処理手順が定義されていないテーブル使用部品の場合、経路探索部271は、処理装置911を用いて、使用しているテーブルのフィールドを任意入力項目として選択する。
起点判定工程S724において、経路探索部271は、処理装置911を用いて、入出力項目入力工程S710で出力対応入力部262が入力した入力対応データ980に基づいて、入力項目選択工程S723で選択した入力項目が、利用者が新たに作成しようとしている連携部品の入力項目に対応する入力項目であるか否かを判定する。
選択した入力項目が連携部品の入力項目に対応する入力項目である場合、経路探索部271は、再帰処理S722を入力項目選択工程S723に戻し、次の入力項目を選択する。
選択した入力項目が連携部品の入力項目に対応する入力項目でない場合、経路探索部271は、再帰処理S722を中断判定工程S725へ進める。
中断判定工程S725において、経路探索部271は、処理装置911を用いて、経路探索を中断するか否かを判定する。例えば、再帰処理S722を呼び出す深さの上限をあらかじめ定めておき、再帰処理S722を呼び出した深さが所定の上限に達している場合、経路探索部271は、処理装置911を用いて、経路探索を中断すると判定する。
経路探索を中断すると判定した場合、経路探索部271は、記憶装置914を用いて、入力項目選択工程S723で選択した入力項目について、経路探索に失敗したことを記憶する。経路探索部271は、再帰処理S722を入力項目選択工程S723に戻し、次の入力項目を選択する。
経路探索を中断せうず継続すると判定した場合、経路探索部271は、再帰処理S722を対応出力部品判定工程S726へ進める。
対応出力部品判定工程S726において、経路探索部271は、処理装置911を用いて、項目対応定義記憶部252が記憶した項目対応定義データ930に基づいて、入力項目選択工程S723で選択した入力項目に対応する出力項目を有する部品の一覧を取得する。経路探索部271は、処理装置911を用いて、取得した一覧のなかに、後述する判定工程S728で起点に到達可能であると判定した部品があるか否かを判定する。
取得した一覧のなかに、起点に到達可能な部品がある場合、経路探索部271は、記憶装置914を用いて、入力項目選択工程S723で選択した入力項目について、経路探索に成功したことを記憶する。経路探索部271は、再帰処理S722を入力項目選択工程S723に戻し、次の入力項目を選択する。
取得した一覧のなかに、起点に到達可能な部品がない場合、経路探索部271は、再帰処理S722を対応出力部品選択工程S727へ進める。
対応出力部品選択工程S727において、経路探索部271は、処理装置911を用いて、対応出力部品判定工程S726で取得した一覧に含まれる部品のうち、後述する判定工程S728で起点に到達可能か否かをまだ判定していない部品であって、まだ選択していない部品を選択する。
起点に到達可能か否かをまだ判定していない部品がすべて選択済であり、まだ選択していない部品がない場合、経路探索部271は、処理装置911を用いて、入力項目選択工程S723で選択した入力項目について、経路探索に失敗したことを記憶する。経路探索部271は、再帰処理S722を入力項目選択工程S723に戻し、次の入力項目を選択する。
起点に到達可能か否かをまだ判定していない部品で、まだ選択していない部品がある場合、経路探索部271は、処理装置911を用いて、そのなかから部品を1つ選択する。経路探索部271は、処理装置911を用いて、選択した部品について、再帰処理S722を再帰的に呼び出す。
呼び出した再帰処理S722から戻ったのち、経路探索部271は、処理装置911を用いて、選択した部品についての再帰処理S722における判定結果に基づいて、その部品が起点に到達可能な部品であるか否かを判定する。
その部品が起点に到達可能な部品であると判定した場合、経路探索部271は、記憶装置914を用いて、入力項目選択工程S723で選択した入力項目について、経路探索に成功したことを記憶する。経路探索部271は、再帰処理S722を入力項目選択工程S723に戻し、次の入力項目を選択する。
その部品が起点に到達可能な部品でないと判定した場合、経路探索部271は、処理装置911を用いて、対応出力部品選択工程S727を繰り返し、次の部品を選択する。
判定工程S728において、経路探索部271は、処理装置911を用いて、再帰処理S722の呼び出し元で選択した部品が、起点に到達可能な部品であるか否かを判定する。その部品の入力項目に必須入力項目が含まれる場合、すべての必須入力項目について経路探索に成功していれば、経路探索部271は、その部品が起点に到達可能であると判定する。また、その部品が、処理手順が定義されていないテーブル使用部品である場合など、入力項目に必須入力項目が含まれず、すべての入力項目が任意入力項目である場合、いずれかの任意入力項目について経路探索に成功していれば、経路探索部271は、その部品が起点に到達可能であると判定する。それ以外の場合、経路探索部271は、その部品が起点に到達可能でないと判定する。経路探索部271は、記憶装置914を用いて、その部品についての判定結果を記憶する。経路探索部271は再帰処理S722を終了し、経路探索工程S720を呼び出し元に戻す。
経路構築工程S729において、経路探索部271は、処理装置911を用いて、起点に到達可能であると判定した部品を辿ることにより、連携部品の入力項目から出力項目へ至る経路を構築する。
このようにして、それぞれの部品が、連携部品の入力項目に対応する入力項目に到達可能であるか否かを判定することにより、連携部品の入力項目から出力項目へ至る経路を見つけることができる。
処理手順が定義されていないテーブル使用部品について、使用するテーブルの任意のフィールドを、そのテーブル使用部品の入力項目及び出力項目とすることができるものとして、経路を探索する。そのテーブルを使用するテーブル使用部品について、処理の手順がまだ定義されていなくても、共通するテーブルのフィールドであれば、なんらかの処理により、入力項目と出力項目として結びつけることができると考えられる。そこで、処理手順が定義されていないテーブル使用部品を通る経路も、探索対象とすることにより、連携部品の入力項目から出力項目へ至る経路が見つかる可能性が高まる。
このようにして見つけた経路に基づいて、連携パターンを生成し、利用者に提示することにより、利用者は、その連携パターンを多少修正することにより、簡単に連携部品を作成することができる。
例えば、利用者は、提示された連携パターンのなかに、処理手順が定義されていないテーブル使用部品が含まれている場合、例えばSQL文を使って、そのテーブル使用部品の処理手順を定義する。
以上、各実施の形態で説明した構成は、一例であり、他の構成であってもよい。例えば、異なる実施の形態で説明した構成を組み合わせた構成であってもよいし、本質的でない部分の構成を、他の構成で置き換えた構成であってもよい。
以上説明した支援装置(201;設計支援装置200、設計支援情報記憶装置300)は、複数の部品を組み合わせて構成される連携部品の作成を支援する。
支援装置は、データを記憶する記憶装置(914)と、データを処理する処理装置(911)と、データを入力する入力装置(912)と、データを出力する出力装置(913)と、部品定義記憶部(251;サービス定義記憶部310、クエリ定義記憶部320、サービス管理情報記憶部350)と、項目対応定義記憶部(252;スキーマ定義記憶部330)と、入力対応入力部(261;サービス設計部210)と、出力対応入力部(262;サービス設計部210)と、経路探索部(271;スキーマ定義解析機能部222)と、連携パターン出力部(281;サービス設計部210)とを有する。
上記部品定義記憶部は、上記記憶装置を用いて、複数の部品それぞれについて、上記部品が入力する項目を表わす入力項目データと、入力した項目に基づく処理をした結果として上記部品が出力する項目を表わす出力項目データとを含む部品定義データを記憶する。
上記項目対応定義記憶部は、上記記憶装置を用いて、上記部品定義記憶部が記憶した複数の部品定義データのうちいずれかの部品定義データに含まれる入力項目データが表わす項目と、他の部品定義データに含まれる出力項目データが表わす項目との間の対応関係を表わす項目対応定義データを記憶する。
上記入力対応入力部は、上記入力装置を用いて、上記部品定義記憶部が記憶した複数の部品定義データのうち、上記連携部品が入力する項目に対応する項目を入力する部品についての部品定義データを示す入力対応部品データを含む入力対応データを入力する。
上記出力対応入力部は、上記入力装置を用いて、上記部品定義記憶部が記憶した複数の部品定義データのうち、上記連携部品が出力する項目に対応する項目を出力する部品についての部品定義データを示す出力対応部品データを含む出力対応データを入力する。
上記経路探索部は、上記処理装置を用いて、上記部品定義記憶部が記憶した複数の部品定義データと、上記項目対応定義記憶部が記憶した項目対応定義データと、上記入力対応入力部が入力した入力対応データと、上記出力対応入力部が入力した出力対応データとに基づいて、ある部品が出力する項目と他の部品が入力する対応する項目とを接続して複数の部品を連結することにより、上記連携部品が入力する項目に対応する項目を入力する部品から上記連携部品が出力する項目に対応する項目を出力する部品まで至る経路を探索する。
上記連携パターン出力部は、上記出力装置を用いて、上記経路探索部が探索した経路を含む連携パターンを利用者に提示する画面を表わす連携パターンデータを出力する。
複数の部品を連結することにより、連携部品が入力する項目に対応する項目を入力する部品から連携部品が出力する項目に対応する項目を出力する部品までの経路を経路探索部が探索するので、利用者が、その経路をもとにして容易に連携部品を作成することができる。
以上説明した支援装置(201;200,300)において、上記部品定義記憶部(251;310,320,350)が記憶した複数の部品定義データのうち少なくともいずれかは、データベースに登録されたテーブルを使用するテーブル使用部品を表わす。
テーブル使用部品は、データベースに登録されたテーブルを使用するので、テーブルのフィールドを入力項目や出力項目にすることができる。また、データベースに設定されたリレーションシップを、項目対応定義記憶部が記憶する項目対応定義データとして利用したり、リレーションシップに基づいて項目対応定義データを容易に生成したりすることができる。このため、利用者が容易に連携部品を作成することができる。
以上説明した支援装置(201;200,300)において、上記テーブル使用部品を表わす部品定義データのうち少なくともいずれかは、上記テーブル使用部品がする処理の手順を表わす処理手順データを含む。
上記連携パターン出力部(281;210)が出力する連携パターンデータが表わす画面は、上記経路探索部(271;222)が探索した経路に含まれる部品が上記テーブル使用部品である場合、上記テーブル使用部品を表わす部品定義データが上記処理手順データを含めば、上記処理手順データが表わす処理の手順を上記利用者に提示する。また、上記テーブル使用部品を表わす部品定義データが上記処理手順データを含まなければ、上記テーブル使用部品がする処理の入力を促す。
テーブル使用部品がする処理の手順が定義されていなくても、その部品を通る経路を経路探索部が探索するので、経路が見つかりやすい。このため、利用者が、その経路をもとにして容易に連携部品を作成できる。
以上説明した支援装置(201;200,300)において、上記テーブル使用部品を表わす部品定義データは、上記テーブル使用部品が使用するテーブルを示す使用テーブルデータを含む。
上記経路探索部(271;222)は、上記処理装置(911)を用いて、上記テーブル使用部品を表わす部品定義データが上記処理手順データを含まない場合、上記使用テーブルデータによって示されるテーブルのフィールドのうち任意のフィールドを上記テーブル使用部品が入力する項目及び上記テーブル使用部品が出力する項目とすることができるものとして、上記経路を探索する。
処理の手順が定義されていないテーブル使用部品について、使用するテーブルの任意のフィールドが、そのテーブル使用部品の入力項目または出力項目であるものとして、経路探索部が経路を探索するので、経路が見つかりやすい。このため、利用者が、その経路をもとにして容易に連携部品を作成できる。
以上説明した支援装置(201;200,300)は、更に、作成パターン入力部(263;サービス設計部210)と、連携部品定義生成部(部品定義生成部273;サービス定義生成機能部233)とを有する。
上記作成パターン入力部は、上記入力装置(912)を用いて、上記連携パターン出力部(281;210)が出力した連携パターンデータが表わす画面によって上記利用者に提示された連携パターンに基づいて上記利用者が作成した連携パターンを表わす作成パターンデータを入力する。
上記連携部品定義生成部は、上記処理装置(911)を用いて、上記作成パターン入力部が入力した作成パターンデータに基づいて、上記作成パターンデータが表わす連携パターンを使った連携部品についての部品定義データを生成する。
上記部品定義記憶部(251;310,320,350)は、上記記憶装置(914)を用いて、上記連携部品定義生成部が生成した部品定義データを記憶する。
支援装置による支援に基づいて利用者が作成した新しい連携部品についての部品定義データを、連携部品定義生成部が生成し、部品定義記憶部が記憶するので、新しい連携部品を利用者が作成するたびに、部品定義記憶部が記憶している部品定義データが増えていく。これにより、利用者が更に複雑な連携部品を作成することができる。
以上説明した支援システム(設計支援システム801;800)は、上記支援装置(201;200,300)と、利用者が操作する端末装置(101;設計者端末装置100)とを有する。
上記端末装置は、上記連携パターン出力部が出力した連携パターンデータが表わす画面を表示する。
端末装置が表示した画面を見て、利用者が連携部品を作成するので、容易に連携部品を作成することができる。
100 設計者端末装置、101 端末装置、110 クライアントプログラム実行部、200 設計支援装置、201 支援装置、210 サービス設計部、211 サービス設計画面生成部、212 連携サービス設計画面生成部、220 サービス推薦部、221 連携パターン推薦機能部、222 スキーマ定義解析機能部、230 データ管理部、231 DB管理機能部、232 サービス管理機能部、233 サービス定義生成機能部、251 部品定義記憶部、252 項目対応定義記憶部、261 入力対応入力部、262 出力対応入力部、263 作成パターン入力部、271 経路探索部、272 連携パターン生成部、273 部品定義生成部、281 連携パターン出力部、300 設計支援情報記憶装置、310 サービス定義記憶部、320 クエリ定義記憶部、330 スキーマ定義記憶部、340 DB管理情報記憶部、350 サービス管理情報記憶部、400 業務サーバ装置、410 業務アプリケーションプログラム実行部、420 サービスプログラム実行部、430 業務データベース記憶部、550,560 連携サービス定義情報、581〜585 テーブル、611 番号、612 主キー、613 外部キー、614 参照可能キー、800,801 設計支援システム、850 部品定義データ、851 部品識別子、860 入力項目データ群、861 必須入力項目データ、862 任意入力項目データ、870 出力項目データ群、871 出力項目データ、880 処理手順データ、881 使用部品データ、882 使用部品識別子、883 入力マッピングデータ、884 出力マッピングデータ群、885 出力マッピングデータ、887 処理内容データ、890 使用テーブルデータ、891 テーブル情報データ、892 フィールドデータ、910 コンピュータ、911 処理装置、912 入力装置、913 出力装置、914 記憶装置、930 項目対応定義データ、940 対応出力項目データ、941 対応出力部品識別子、942 対応出力項目名称データ、950 対応入力項目データ、951 対応入力部品識別子、952 対応入力項目名称データ、960 対応フィールドデータ、961 対応テーブル識別子、962 対応フィールド名称データ、970 入出力項目対応データ、980 入力対応データ、981 入力対応部品データ、982 入力対応項目データ、990 出力対応データ、991 出力対応部品データ、992 出力対応項目データ、S500 連携サービス設計支援処理、S501 新規連携サービス作成選択工程、S502 既存資源一覧提示工程、S503 既存資源選択工程、S504 入出力決定工程、S505 関連資源抽出工程、S506,S730 連携パターン生成工程、S507 連携パターン確認工程、S508 連携サービス登録工程、S509 マッピング定義生成工程、S510 定義情報格納工程、S700 支援処理、S710 入出力項目入力工程、S720 経路探索工程、S721 終点選択工程、S722 再帰処理、S723 入力項目選択工程、S724 起点判定工程、S725 中断判定工程、S726 対応出力部品判定工程、S727 対応出力部品選択工程、S728 判定工程、S729 経路構築工程、S740 連携パターン出力工程、S750 作成パターン入力工程、S760 部品定義生成工程、S770 部品定義記憶工程。

Claims (6)

  1. 複数の部品を組み合わせて構成される連携部品の作成を支援する支援装置において、
    データを記憶する記憶装置と、データを処理する処理装置と、データを入力する入力装置と、データを出力する出力装置と、部品定義記憶部と、項目対応定義記憶部と、入力対応入力部と、出力対応入力部と、経路探索部と、連携パターン出力部とを有し、
    上記部品定義記憶部は、上記記憶装置を用いて、複数の部品それぞれについて、上記部品が入力する項目を表わす入力項目データと、入力した項目に基づく処理をした結果として上記部品が出力する項目を表わす出力項目データとを含む部品定義データを記憶し、
    上記項目対応定義記憶部は、上記記憶装置を用いて、上記部品定義記憶部が記憶した複数の部品定義データのうちいずれかの部品定義データに含まれる入力項目データが表わす項目と、他の部品定義データに含まれる出力項目データが表わす項目との間の対応関係を表わす項目対応定義データを記憶し、
    上記入力対応入力部は、上記入力装置を用いて、上記部品定義記憶部が記憶した複数の部品定義データのうち、上記連携部品が入力する項目に対応する項目を入力する部品についての部品定義データを示す入力対応部品データを含む入力対応データを入力し、
    上記出力対応入力部は、上記入力装置を用いて、上記部品定義記憶部が記憶した複数の部品定義データのうち、上記連携部品が出力する項目に対応する項目を出力する部品についての部品定義データを示す出力対応部品データを含む出力対応データを入力し、
    上記経路探索部は、上記処理装置を用いて、上記部品定義記憶部が記憶した複数の部品定義データと、上記項目対応定義記憶部が記憶した項目対応定義データと、上記入力対応入力部が入力した入力対応データと、上記出力対応入力部が入力した出力対応データとに基づいて、ある部品が出力する項目と他の部品が入力する対応する項目とを接続して複数の部品を連結することにより、上記連携部品が入力する項目に対応する項目を入力する部品から上記連携部品が出力する項目に対応する項目を出力する部品まで至る経路を探索し、
    上記連携パターン出力部は、上記出力装置を用いて、上記経路探索部が探索した経路を含む連携パターンを利用者に提示する画面を表わす連携パターンデータを出力し、
    上記部品定義記憶部が記憶した複数の部品定義データのうち少なくともいずれかは、データベースに登録されたテーブルを使用するテーブル使用部品を表わし、
    上記テーブル使用部品を表わす部品定義データのうち少なくともいずれかは、上記テーブル使用部品がする処理の手順を表わす処理手順データを含み、
    上記連携パターン出力部が出力する連携パターンデータが表わす画面は、上記経路探索部が探索した経路に含まれる部品が上記テーブル使用部品である場合、上記テーブル使用部品を表わす部品定義データが上記処理手順データを含めば、上記処理手順データが表わす処理の手順を上記利用者に提示し、上記テーブル使用部品を表わす部品定義データが上記処理手順データを含まなければ、上記テーブル使用部品がする処理の入力を促す
    ことを特徴とする支援装置。
  2. 上記テーブル使用部品を表わす部品定義データは、上記テーブル使用部品が使用するテーブルを示す使用テーブルデータを含み、
    上記経路探索部は、上記処理装置を用いて、上記テーブル使用部品を表わす部品定義データが上記処理手順データを含まない場合、上記使用テーブルデータによって示されるテーブルのフィールドのうち任意のフィールドを上記テーブル使用部品が入力する項目及び上記テーブル使用部品が出力する項目とすることができるものとして、上記経路を探索することを特徴とする請求項に記載の支援装置。
  3. 上記支援装置は、更に、作成パターン入力部と、連携部品定義生成部とを有し、
    上記作成パターン入力部は、上記入力装置を用いて、上記連携パターン出力部が出力した連携パターンデータが表わす画面によって上記利用者に提示された連携パターンに基づいて上記利用者が作成した連携パターンを表わす作成パターンデータを入力し、
    上記連携部品定義生成部は、上記処理装置を用いて、上記作成パターン入力部が入力した作成パターンデータに基づいて、上記作成パターンデータが表わす連携パターンを使った連携部品についての部品定義データを生成し、
    上記部品定義記憶部は、上記記憶装置を用いて、上記連携部品定義生成部が生成した部品定義データを記憶することを特徴とする請求項1又は2のいずれかに記載の支援装置。
  4. 請求項1から請求項のいずれか1項に記載の支援装置と、利用者が操作する端末装置とを有し、
    上記端末装置は、上記連携パターン出力部が出力した連携パターンデータが表わす画面を表示することを特徴とする支援システム。
  5. データを記憶する記憶装置と、データを処理する処理装置と、データを入力する入力装置と、データを出力する出力装置とを有するコンピュータを、請求項1から請求項のいずれか1項に記載の支援装置として機能させることを特徴とするコンピュータプログラム。
  6. データを記憶する記憶装置と、データを処理する処理装置と、データを入力する入力装置と、データを出力する出力装置とを有する支援装置が、複数の部品を組み合わせて構成される連携部品の作成を支援する支援方法において、
    上記記憶装置が、複数の部品それぞれについて、上記部品が入力する項目を表わす入力項目データと、上記部品が入力した項目に基づく処理をした結果として出力する項目を表わす出力項目データとを含む部品定義データを記憶し、
    上記記憶装置が、上記記憶装置が記憶した複数の部品定義データのうちいずれかの部品定義データに含まれる入力項目データが表わす項目と、他の部品定義データに含まれる出力項目データが表わす項目との間の対応関係を表わす項目対応定義データを記憶し、
    上記入力装置が、上記記憶装置が記憶した複数の部品定義データのうち、上記連携部品が入力する項目に対応する項目を入力する部品についての部品定義データを示す入力対応部品データを含む入力対応データを入力し、
    上記入力装置が、上記記憶装置が記憶した複数の部品定義データのうち、上記連携部品が出力する項目に対応する項目を出力する部品についての部品定義データを示す出力対応部品データを含む出力対応データを入力し、
    上記処理装置が、上記記憶装置が記憶した複数の部品定義データと、上記記憶装置が記憶した項目対応定義データと、上記入力装置が入力した入力対応データと、上記入力装置が入力した出力対応データとに基づいて、ある部品が出力する項目と他の部品が入力する対応する項目とを接続して複数の部品を連結することにより、上記連携部品が入力する項目に対応する項目を入力する部品から上記連携部品が出力する項目に対応する項目を出力する部品まで至る経路を探索し、
    上記出力装置が、上記処理装置が探索した経路を含む連携パターンを利用者に提示する画面を表わす連携パターンデータを出力し、
    上記記憶装置が記憶した複数の部品定義データのうち少なくともいずれかは、データベースに登録されたテーブルを使用するテーブル使用部品を表わし、
    上記テーブル使用部品を表わす部品定義データのうち少なくともいずれかは、上記テーブル使用部品がする処理の手順を表わす処理手順データを含み、
    上記連携パターンデータが表わす画面は、探索された経路に含まれる部品が上記テーブル使用部品である場合、上記テーブル使用部品を表わす部品定義データが上記処理手順データを含めば、上記処理手順データが表わす処理の手順を上記利用者に提示し、上記テーブル使用部品を表わす部品定義データが上記処理手順データを含まなければ、上記テーブル使用部品がする処理の入力を促す
    ことを特徴とする支援方法。
JP2011147638A 2011-07-01 2011-07-01 支援装置及び支援システム及びコンピュータプログラム及び支援方法 Expired - Fee Related JP5631270B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011147638A JP5631270B2 (ja) 2011-07-01 2011-07-01 支援装置及び支援システム及びコンピュータプログラム及び支援方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011147638A JP5631270B2 (ja) 2011-07-01 2011-07-01 支援装置及び支援システム及びコンピュータプログラム及び支援方法

Publications (2)

Publication Number Publication Date
JP2013015974A JP2013015974A (ja) 2013-01-24
JP5631270B2 true JP5631270B2 (ja) 2014-11-26

Family

ID=47688619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011147638A Expired - Fee Related JP5631270B2 (ja) 2011-07-01 2011-07-01 支援装置及び支援システム及びコンピュータプログラム及び支援方法

Country Status (1)

Country Link
JP (1) JP5631270B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001236215A (ja) * 2000-02-24 2001-08-31 Hitachi Ltd システム制御方法およびそれを実施した情報処理システム並びにその処理プログラムを格納した記録媒体
JP4145477B2 (ja) * 2000-11-07 2008-09-03 富士通株式会社 オブジェクト連携装置
JP2004164313A (ja) * 2002-11-13 2004-06-10 Fujitsu Ltd サービス連携装置
JP4808558B2 (ja) * 2006-07-12 2011-11-02 日本電信電話株式会社 連携シナリオ作成支援システム及びその方法並びにプログラム
JP4851556B2 (ja) * 2009-04-10 2012-01-11 株式会社エヌ・ティ・ティ・ドコモ 連携サーバ装置、アプリケーション連携判断システム、及び、アプリケーション連携判断方法

Also Published As

Publication number Publication date
JP2013015974A (ja) 2013-01-24

Similar Documents

Publication Publication Date Title
JP4010516B2 (ja) 変換規則導出システム
Frischmuth et al. Ontowiki–an authoring, publication and visualization interface for the data web
CN101488151A (zh) 一种聚合Web站点内容的系统和方法
JP5949222B2 (ja) 運用管理支援装置、方法及びプログラム
US20150106701A1 (en) Input support method and information processing system
JP5312103B2 (ja) 画面表示プログラム生成装置及び画面表示システム及びコンピュータプログラム及び画面表示プログラム生成方法
JP4941779B2 (ja) 作業手順書生成装置、方法、及び、プログラム
JP5634374B2 (ja) 仕様作成支援装置、及び、プログラム
JP5631270B2 (ja) 支援装置及び支援システム及びコンピュータプログラム及び支援方法
JP5973091B2 (ja) 開発支援システム
US11030206B2 (en) Display method and display apparatus
US20210004524A1 (en) Catalog file creation assistance device, catalog file creation assistance method, and catalog file creation assistance program
JP6590905B2 (ja) コンテンツ開発装置
JP6287506B2 (ja) データベースアクセス制御プログラム、データベースアクセス制御方法、及び情報処理装置
CN107451167A (zh) 站内点击位的点击数据获取方法和系统
JP2013084100A (ja) 部品管理用プログラム及び部品管理装置
JP6101880B1 (ja) Webページを表示するためのシステム、プログラムおよび記録媒体
JP2021068365A (ja) 計算機システム及びデータの管理方法
JP2020009169A (ja) 注釈の付与を支援するための情報処理システム及びプログラム
CN104536758B (zh) 一种图形生成方法及装置
JP6109766B2 (ja) ルールテーブル生成装置、生成方法および生成プログラム
JP2015022356A (ja) テストシナリオバリエーション生成装置及び方法及びプログラム
JP5202598B2 (ja) ワークフロー管理装置、及びワークフロー管理プログラム
CN112732254B (zh) 网页开发方法、装置、计算机设备和存储介质
JP6686093B2 (ja) 画面対応付け方法、情報処理装置、操作再現システム及び画面対応付けプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140729

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140825

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140909

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141007

R150 Certificate of patent or registration of utility model

Ref document number: 5631270

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees