−−−ネットワーク構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、本実施形態の電子データ交換システムたる電子データ交換サーバ100(以下、電子データ交換サーバ)を含むネットワーク構成図である。図1に示す電子データ交換サーバ100は、マルチテナント環境のEDIシステムにおいて、SLAの遵守を図りつつ効率的な商取引データの処理を可能とするコンピュータシステムである。
なお、本実施形態では、企業間の商取引における注文や見積依頼と、それらに対する回答を電子データで送受信する状況を踏まえた説明を行う。しかしながら、それ以外の、企業間での各種電子データのやり取りに関しても本発明は同様に適用可能である。
図1に例示するネットワーク構成は、EDIサービスを提供する電子データ交換サーバ100と、EDIサービスの会員たる各企業の業務システム1001〜1004とが、インターネットなど適宜な通信網10を介して、通信可能に接続された構成となっている。なお、本実施形態の電子データ交換サーバ100と、業務システム1001〜1004をあわせて電子データ交換システムを構成するとしてもよい。
ここでまず、電子データ交換サーバ100が提供するEDIサービスの会員企業間の関係性について説明する。企業の立場において、EDIサービスの導入は、商取引データの送受信を効率化することが目的となっている。しかしながら、EDIサービスの会員として、商取引データの送信者だけが存在しても、商取引は成り立しない。従って、送信者がEDIサービスを介して送信した商取引データを受信し、応答する受信者も、同じEDIサービスを利用する状況が必要である。
そこで通常は、EDIサービス導入を決定した企業(主に物品やサービスの発注者)がEDIサービスにおける「幹事会員」(図1における“企業A”、“企業B”)となると共に、自身の取引相手の企業(主に受注者)に対して、同じEDIサービスの「参加会員」(図1における“企業X”、“企業Y”)となるよう要請する。この取引相手の企業がEDIサービスの「参加会員」となった場合、上述の「幹事会員」との取引関係をEDIサービスにて設定し、実際の商取引を行うことになる。
こうした会員企業間の関係性において、EDIサービスにおける、商取引データの送受信に関する時間的制約(SLAに反映される)を規定するニーズがあるのは幹事会員である。従って、幹事会員が、EDIサービスの契約時にSLAを締結することになる。
こうした本実施形態では、「幹事会員企業A」、「幹事会員企業B」、「参加会員企業X」、「参加会員企業Y」が同じEDIサービス、すなわち電子データ交換サーバ100を利用し、「幹事会員企業A」と「幹事会員企業B」のそれぞれが、EDIサービスの運
営企業とSLAを締結しているとする。
図1のネットワーク構成のうち、上述した幹事会員企業や参加会員企業が備えるのが、業務システム1001〜1004である。こうした業務システム1001〜1004は、例えば各企業が独自に採用している任意の受発注システム1005と、その受発注システムが生成する商取引データや電子データ交換サーバ100から受信する商取引データを蓄積する記憶装置1006と、商取引データを電子データ交換サーバ100と送受信する通信装置1007を少なくとも備えている。但し、EDIサービスの利用を前提として従来から存在する一般的な業務システムの構成と同様であり、詳細な説明は省略する。
なお、業務システム1001〜1004らが、電子データ交換サーバ100を介して送信する商取引データは、各企業の任意のフォーマットの電子ファイルである。その詳細については後述するが、各企業の業務システムにおけるバッチ処理で、任意の個数の電子ファイルすなわち個別ファイルが統合された集信ファイルである。こうした集信ファイルは、企業ごとの任意のタイミングで電子データ交換サーバ100に送信されるものとする。−−−ハードウェア構成−−−
続いて、本実施形態の電子データ交換サーバ100のハードウェア構成について説明する。図2は、本実施形態における電子データ交換サーバ100のハードウェア構成例を示す図である。本実施形態における電子データ交換サーバ100は、SSD(Solid State Drive)やハードディスクドライブなど適宜な不揮発性記憶素子で構成される記憶装置101、RAMなど揮発性記憶素子で構成されるメモリ103、記憶装置101に保持されるプログラム102をメモリ103に読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうCPUなどの演算装置104、通信網10と接続し各企業の業務システム1001〜1004との通信処理を担う通信装置105、を少なくとも備える。
なお、記憶装置101内には、本実施形態の電子データ交換システムとして必要な機能部1010〜1070を実装する為のプログラム102に加えて、各種データ1081〜1086が格納されている。こうしたデータ1081〜1086の詳細については後述する。
また、記憶装置101はファイル蓄積部1020を保持している。このファイル蓄積部1020は、当該電子データ交換サーバ100の通信部1010が幹事会員企業や参加会員企業の業務システム1001〜1004から受信した集信ファイル(複数の個別ファイルを統合した電子ファイル)や、フォーマット変換部1050やファイル分割部1060による所定処理を受けた集信ファイルや個別ファイルを蓄積している。勿論、ファイル蓄積部1020は、記憶装置101ではなくメモリ103に備わるとしてもよい。
次に、当該電子データ交換サーバ100の備える各機能部について説明する。このうち通信部1010は、幹事会員企業や参加会員企業の業務システム1001〜1004から受信した集信ファイルに対して、当該集信ファイルを一意に表すファイルIDを所定規則で付与し、ファイル蓄積部1020に蓄積するプログラムによって構成されている。また更に、当該通信部1010は、フロー制御部1030から個別ファイルの配信命令を受けた場合に、ファイル蓄積部1020に蓄積されている配信対象の個別ファイルを指定の順序で、指定の宛先に送信するプログラムによって構成されている。
なお、当該通信部1010は、ネットワークインターフェイスなど適宜な通信装置105によって構成される。
また、フロー制御部1030は、ファイル蓄積部1020を監視し、一定の期間ごとに、ファイル蓄積部1020に蓄積された集信ファイル群に対して、後述する各処理部1040〜1070を呼び出し、当該集信ファイル群の優先制御、フォーマット変換、ファイル分割、振分を行い、配信対象の個別ファイルを生成するごとに、通信部1010に対して当該個別ファイルを、指定の順序で、指定の宛先に送信するように命令するプログラムとして構成されている。当該フロー制御部1030および各処理部1040〜1070の動作フローは後述する。
また、優先制御部1040は、上述のフロー制御部1030から、ファイル蓄積部1020に蓄積されている集信ファイル群に対する優先制御処理の命令を受けて、記憶装置101に格納されているマスタ群1081〜1084を参照して集信ファイル群の処理順序を指定する処理順序テーブル1085、1086を生成し、当該処理順序テーブルを記憶装置101に格納するプログラムとして構成されている。
また、フォーマット変換部1050は、上述のフロー制御部1030から、ファイル蓄積部1020に蓄積されている集信ファイル群に対するフォーマット変換処理の命令を受けて、記憶装置101に格納されている処理順序テーブル1085、1086を参照して、変換対象となっている集信ファイル群を判別してフォーマット変換を行い、その変換後の集信ファイルをファイル蓄積部1020に蓄積するプログラムとして構成されている。
ここで上述のフォーマット変換について説明する。EDIサービスを利用する各企業の業務システムは、業界標準や独自仕様など、任意のフォーマットの電子ファイル、すなわち集信ファイルを生成し、電子データ交換サーバ100に送信してくる。それらの集信ファイルに対して、統一的な処理や配信を行うために、業界標準や当該EDIサービス指定仕様、そして受信者の業務システムに合わせた仕様などに、フォーマット変換を行う必要がある。
このフォーマット変換の仕様は、企業毎に定義することが通常であり、本実施形態では詳細には言及しないが、フォーマット変換部1050は、企業毎のフォーマット変換定義(記憶装置101に予め保持)に基づいてフォーマット変換処理を実行する。このフォーマット変換には、文字コード変換や辞書変換(ある単語を別の単語に置き換える、など)の処理も含まれている。こうした各種のフォーマット変換は、その処理時間が長くなるケースもある。
また、ファイル分割部1060は、上述のフロー制御部1030から、ファイル蓄積部1020に蓄積されている集信ファイル群に対するファイル分割処理の命令を受けて、記憶装置101に格納されている処理順序テーブル1085、1086を参照して、分割対象となっている集信ファイルを判別し、個別ファイルへのファイル分割を行い、その分割後の電子ファイル群、すなわち個別ファイル群をファイル蓄積部1020に蓄積するプログラムとして構成されている。
ここで、上述のファイル分割について説明する。EDIサービスを利用する各企業から送信されてくる集信ファイルは、複数個の個別ファイルを結合したり、圧縮したりして統合した形であることが通常である。そのため、集信ファイルの送信先に統合前の個別ファイル群を配信するためには、個別ファイルへのファイル分割を行う必要がある。
例えば、CSV(Comma−Separated Values)形式やXML(Extensible Markup Language)形式のファイルは、カンマ区切りで各値が定義されたファイルであるなど、その形式の特性上、個別ファイルへの分割方法の定義が容易である。そのため、上述のフォーマット変換では、任意フォーマットから
CSV形式やXML形式に変換することが電子データ交換サーバ100にとって好適である。本実施形態では、詳細には言及しないが、電子データ交換サーバ100のファイル分割部1060は、企業毎のファイル分割定義(記憶装置101に予め保持)に基づいてファイル分割を行う。
また、振分部1070は、上述のフロー制御部1030から、ファイル蓄積部1020に蓄積されている個別ファイル群に対する振り分け処理の命令を受けて、記憶装置101に格納されている処理順序テーブル1085、1086を参照し、配信対象となっている個別ファイル群を判別し、その電子ファイル群、配信順序、そして宛先に関する情報をフロー制御部1030に通知するプログラムと、この通知後に、処理順序テーブル1085、1086の状態を更新し、未処理の個別ファイルがあれば優先制御処理の継続を、未処理の個別ファイルがなければ優先制御処理の終了を、フロー制御部1030に通知するプログラムとして構成されている。
−−−データ構造例−−−
続いて、本実施形態の電子データ交換サーバ100が用いるデータ類について説明する。図3A〜図3Dに、本実施形態における集信ファイル2010〜2040の具体例1〜4を示す。集信ファイルは、上述の通り、幹事会員企業や参加会員企業の業務システム1001〜1004から送信されてくる電子ファイルである。
この集信ファイル2010〜2040は、複数個の個別ファイル2011〜2014、2021〜2023、2031〜2033、2041〜2042が統合された形となっている。
例えば、集信ファイル2010は、「幹事会員企業A」の業務システム1001から受信した集信ファイルであり、「参加会員企業X」への注文情報である個別ファイル2011、「参加会員企業X」への見積情報である個別ファイル2012、「参加会員企業X」への環境情報である個別ファイル2013、そして「参加会員企業Y」への注文情報である個別ファイル2014が統合されている。また、この集信ファイル2010には、通信部1010によって、ファイルID:F001が付加されている。他の集信ファイル2020、2030、2040も同様の構造である。
ところで、任意の種類、宛先、個数の個別ファイル群が統合された集信ファイルは、フォーマット変換し、ファイル分割を行わないと、含まれる個別ファイルの正確な内訳はわからないことが一般的である。本実施形態の電子データ交換サーバ100では、そのような集信ファイル群に対する優先制御(後述)について対応可能となっている。但し、集信ファイルのフォーマットが、電子データ交換サーバ100の規定する構造たるCSV形式やXML形式であれば、フォーマット変換前にファイル分割をすることで個別ファイルの内訳がわかることもあり、そのような集信ファイル群に対する優先制御については、他の実施形態で説明する。
続いて図4は、本実施形態における会員マスタ1081のデータ構成例を示す図である。本実施形態の会員マスタ1081は、EDIサービスを利用する会員企業の会員IDをキーとして、それぞれの会員企業の会員種別(幹事会員か参加会員か)の値を対応付けたレコードの集合体となっている。こうした会員マスタ1081は、各会員企業のEDIサービス利用登録時に、登録・更新される。
続いて図5は、本実施形態における優先度マスタ1082のデータ構成例を示す図である。本実施形態における優先度マスタ1082は、上述の幹事会員がEDIサービスの契約時に締結する、商取引データ(この場合は個別ファイル)の送受信の時間的制限に対す
るSLAに相当するマスタである。
当該優先度マスタ1082は、幹事会員IDをキーとして、その会員が送受信する個別ファイルの情報区分(例:注文情報、見積情報、環境情報)と、それぞれの情報区分の個別ファイルに対する処理の優先度(所要時間の上限)の各値を対応付けたレコードの集合体となっている。
図5で例示する優先度マスタ1082では、「幹事会員企業A」が送受信する注文情報、見積情報、環境情報、「幹事会員企業B」が送受信する注文情報、見積情報に対して、優先度が指定された構造を示している。
なお、「幹事会員企業から参加会員企業への商取引データの送信」だけでなく、「参加会員企業から幹事会員企業への商取引データの送信」に対しても、幹事会員企業の指定した優先度が適用される必要がある。EDIサービスを利用する幹事会員企業にとって、商取引データの送信だけでなく受信も含めた商取引が、迅速化したい業務内容となるためである。この優先度マスタ1082は、各幹事会員企業のEDIサービス利用契約時に、登録、更新されるものである。
続いて図6は、本実施形態における情報区分マスタ1083のデータ構成例を示す図である。本実施形態における情報区分マスタ1083は、EDIサービスを利用する会員企業の会員IDをキーとして、それぞれの会員企業が送信する集信ファイルに含まれうる個別ファイルの情報区分の値を対応付けたレコードの集合体となっている。
この情報区分マスタ1083によって、集信ファイルのフォーマット変換やファイル分割を行わなくても、集信ファイルの送信者に基づいて、優先度の高い個別ファイルを含む集信ファイルである可能性を判定できる。図6で例示する情報区分マスタ1083では、「会員企業A」の集信ファイルには、注文情報、見積情報、環境情報が含まれる可能性があり、「会員企業B」の集信ファイルには注文情報、見積情報が含まれる可能性があることを示している。また、この情報区分マスタ1083は、各会員企業のEDIサービスの利用登録時に、登録、更新されるものである。
図7は、本実施形態における取引関係マスタ1084のデータ構成例を示す図である。本実施形態における取引関係マスタ1084は、幹事企業会員と参加企業会員の間で送受信する集信ファイルが含みうる個別ファイル、すなわち情報区分のリストである。
この取引関係マスタ1084によって、特に、参加会員企業の集信ファイルのフォーマット変換やファイル分割を行わなくても、優先度の高い個別ファイルを含む集信ファイルである可能性を判定できる。図7で例示する取引関係マスタ1084では、「幹事会員企業A」と「参加会員企業X」の間でやり取りする集信ファイルに、注文情報、見積情報、環境情報が含まれる可能性があることを示している。この取引関係マスタ1084は、各会員企業のEDIサービスの利用登録時に、登録、更新されるものである。
−−−フロー例−−−
以下、本実施形態における電子データ交換方法の実際手順について図に基づき説明する。以下で説明する電子データ交換方法に対応する各種動作は、電子データ交換サーバ100がメモリ等に読み出して実行するプログラム102によって実現される。そして、このプログラム102は、以下に説明される各種の動作を行うためのコードから構成されている。
図8は、本実施形態における電子データ交換方法のフロー例を示す図である。ここでは
、ファイル蓄積部1020に蓄積された複数の集信ファイル群に対し、フロー制御部1030が行う優先送信処理の手順について、図3の集信ファイル、図4〜7の各マスタを例として説明する。
この場合、電子データ交換サーバ100のフロー制御部1030は、ファイル蓄積部1020を監視し、一定の期間ごとに、ファイル蓄積部1020に蓄積された集信ファイル群に対して、優先送信処理を行う(S7001)。
以降の処理は、ケース1:「集信ファイル2010と集信ファイル2020が蓄積されている場合」、とケース2:「集信ファイル2030と集信ファイル2040が蓄積されている場合」、のそれぞれについて説明する。ケース1は、送信者が幹事会員企業のみである場合、ケース2は送信者が参加会員企業のみである場合である。なお、送信者が幹事会員企業、参加会員企業の混在の場合も、同様の処理を適用することが可能である。
[ケース1]
フロー制御部1030は、優先制御部1040を呼び出し、ファイル蓄積部1020に蓄積されている各集信ファイル2010、2020に対して優先度判定処理を実施させる。 この場合の優先制御部1040は、該当集信ファイル2010、2020の送信元企業の会員ID(図3A、3Bにおける“From”以降の値)を、会員マスタ1081に照合して、該当各集信ファイル2010、2020の送信者の会員種別に関する判定を行う(S7002)。
集信ファイル2010の送信者は「会員企業A」、すなわち会員ID「A」であるため、これを会員マスタ1081に照合すれば「幹事会員」と判定される。同様に、集信ファイル2020の送信者は「会員企業B」、すなわち会員ID「B」であるため、これを会員マスタ1081に照合すれば「幹事会員」であると判定される。
続いて優先制御部1040は、上述のステップS7002で該当集信ファイルから読み取った会員企業の会員IDの値を、情報区分マスタ1083に照合して、該当集信ファイルに含まれうる個別ファイルの情報区分を判定する(S7003)。
集信ファイル2010の送信者は「会員企業A」、すなわち会員ID「A」であるため、これを情報区分マスタ1083に照合すれば、集信ファイル2010に含まれうる個別ファイルの情報区分は、注文情報、見積情報、環境情報であると判定される。同様に、集信ファイル2020に含まれうる個別ファイルの情報区分は、注文情報、見積情報であると判定される。
この判定の結果、送信者が幹事会員であると判定した場合(S7003:幹事企業)、優先制御部1040は、該当集信ファイルについての処理としてS7005へステップを遷移させる。上述の例では、各集信ファイル2010、2020のいずれも、その送信者が幹事会員であるため、ステップはS7005に遷移することになる。
この場合、優先制御部1040は、上述の各ステップで得ている会員IDをキーに、優先度マスタ1082で検索を実行し、該当会員が送信してきた各集信ファイルが含みうる個別ファイルに基づいて、当該集信ファイルに対する処理の優先度を特定する(S7005)。例えば、会員ID「A」の会員企業に由来する集信ファイル2010が含みうる個別ファイル(情報区分)に基づいた優先度は、注文情報が「15分」、見積情報が「60分」、環境情報が「無条件」、と判定できる。また、会員ID「B」の会員企業に由来する集信ファイル2020が含みうる個別ファイル(情報区分)に基づいた優先度は、注文情報が「30分」、見積情報が「60分」、と判定できる。
また、当該ステップにおける優先制御部1040は、上述のように判定した優先度の高い順に、集信ファイルと情報区分の組合せをリスト化した、処理順序テーブル1085を生成して記憶装置101に格納し、フロー制御部1030に通知する。
こうして優先制御部1040が生成した処理順序テーブル1085の一例を図9に示す。図9では、送信者が幹事企業のみである場合の処理順序テーブル1085の構造と、その遷移例を示している。この処理順序テーブル1085は、処理の優先度の高い順を示す「順序」、集信ファイルに対するフォーマット変換の処理状態を表す「状態」、集信ファイルを一意に示す「集信ファイルID」、集信ファイルに含まれうる個別ファイルの属性として送信元たる「幹事会員ID」と「情報区分」、各値を組み合わせた構成となっている。
図9における処理順序テーブル1085の例では、まず順序「1」番目に、上述で特定している個別ファイルのうち、最も優先度の高い、すなわち処理の所要時間が最も短い「15分」が指定されている「幹事会員企業Aの注文情報」を含みうる集信ファイル2010(集信ファイルID:F001)が設定される。
また、順序「2」番目には、次に優先度の高い、すなわち処理の所要時間が二番目に短い「30分」が指定されている「幹事会員企業Bの注文情報」を含みうる集信ファイル2020(集信ファイルID:F002)が設定される。
また、順序「3」番目には、三番目に優先度の高い、すなわち処理の所要時間が三番目に短い「60分」が指定されている「幹事会員企業Aの見積情報」を含みうる集信ファイル2010(集信ファイルID:F001)が設定される。なお、この「幹事会員企業Aの見積情報」と同じ優先度たる「60分」が指定されている「幹事会員企業Bの見積情報」を含みうる集信ファイル2020(集信ファイルID:F002)については、順序「4」番目としているが、この順序は、例えばファイル蓄積部1020に蓄積された順序を用いて決定したものとする。
最後の順序「5」番目には、優先度の最も低い、すなわち処理の所要時間が最も長い、「無条件」が指定されている「幹事会員企業Aの環境情報」を含みうる集信ファイル2010(集信ファイルID:F001)が設定される。こうした処理順序テーブル生成時点では、各レコードにおける「状態」欄は全て「未」の値が設定される。
次に、フロー制御部1030は、上述の優先制御部1040から、処理順序テーブル1085の生成完了通知を受けて、フォーマット変換部1050を呼び出し、ファイル蓄積部1020に蓄積されている集信ファイル群に対してフォーマット変換処理を実施させる(S7006)。
この場合のフォーマット変換部1050は、上述のステップS7005で作成されている処理順序テーブル1085を参照し、優先的にフォーマット変換を行う集信ファイルを判定する。具体的には、処理順序テーブル1085の「状態」を参照し、「未」となっている集信ファイルのうち「順序」の値が最小のもの、すなわち最上位のものを、優先的にフォーマット変換を行う集信ファイルとして判定してフォーマット変換を行う。
フォーマット変換部1050は、こうしたフォーマット変換を施した後の集信ファイルをファイル蓄積部1020に蓄積する。そして、処理順序テーブル1085のレコードのうち、当該フォーマット変換対象となった集信ファイルに対応するレコードにおいて、「状態」欄の値を「変換済」に更新し、フロー制御部1030に通知する。ここでは、順序
「1」に対応する集信ファイル2010(集信ファイルID:F001)がフォーマット変換の対象となり、処理順序テーブル1085の順序1番目、3番目、5番目に対応するレコードの「状態」欄の値が「変換済」に更新されることとなる。
続いてフロー制御部1030は、上述のフォーマット変換部1050から、処理順序テーブル1085の更新完了通知を受けて、ファイル分割部1060を呼び出し、ファイル蓄積部1020に蓄積されている集信ファイル群(フォーマット変換済)に対してファイル分割処理を実施させる(S7007)。
この場合のファイル分割部1060は、処理順序テーブル1085を参照し、優先的にファイル分割を行う集信ファイルを判定する。具体的には、処理順序テーブル1085における各レコードの「状態」欄の値を参照し、その値が「変換済」となっている集信ファイルのうち、「順序」がより上位のものを優先的にファイル分割を行う集信ファイルとして判定してファイル分割を行う。またファイル分割部1060は、ファイル分割によって得た個別ファイル群をファイル蓄積部1020に蓄積する。
上述までの例であれば、ファイル分割部1060は、優先的にファイル分割を行う対象として集信ファイル2010(集信ファイルID:F001)に対するファイル分割を実行し、「参加会員企業X」宛の注文情報2011、「参加会員企業X」宛の見積情報2012、「参加会員企業X」宛の環境情報2013、「参加会員企業Y」宛の注文情報2014という、4個の個別ファイルを、集信ファイル2010から分割することになる。
このうち注文情報2011と注文情報2014は、処理順序テーブル1085における順序「1」番目に対応する個別ファイル、見積情報2012は、順序「3」番目に対応する個別ファイル、環境情報2014は、順序「5」番目に対応する個別ファイルである。
そこでファイル分割部1060は、ファイル分割処理後に、処理順序テーブル1085の各レコードのうち、実際に生成した個別ファイルに対応するレコード、すなわち順序1番目、3番目、5番目に対応するレコードの「状態」欄を「変換済」から「分割済」に更新し、フロー制御部1030に通知する。この時の処理順序テーブル1085の「状態」を図9の1085−11に示す。なお、例えば、集信ファイル2010に「環境情報」が含まれていない場合には、5番目のレコードにおける「状態」欄の値を、「変換済」から「無」に更新する。
次にフロー制御部1030は、上述のファイル分割部1060から、処理順序テーブル1085の更新完了通知を受けて、振分部1070を呼び出し、ファイル蓄積部1020に蓄積されている個別ファイル群に対して配信、振分の処理を実施させる(S7008)。
この場合の振分部1070は、処理順序テーブル1085を参照し、優先的に配信する個別ファイルを判定する。具体的には、処理順序テーブル1085の各レコードにおける「状態」欄の値を参照し、その値が「分割済」となっている集信ファイルのうち、「順序」がより上位の個別ファイルを、優先的に配信する個別ファイルとして判定し、当該個別ファイルを指定する情報と配信順序と宛先について、フロー制御部1030に通知する。
一方、フロー制御部1030は、その通知を受けて、通信部1010を呼び出し、配信対象となった個別ファイルを指定順序で指定宛先に送信するように命令する。ここでは、順序「1」に対応する個別ファイルが配信対象となり、この個別ファイルの属性「幹事会員企業A」の「注文情報」を持つ、注文情報2011、および、属性「幹事会員企業A」の「注文情報」を持つ、注文情報2014が優先的に配信されることになる。
次に、振分部1070は、処理順序テーブル1085の各レコードのうち、「状態」欄の値が「分割済」のレコードであって、上述の配信を行った個別ファイルに対応するレコードについて、その「状態」欄を「分割済」から「配信済」に更新する。また、振分部1070は、今回配信対象とならなかった個別ファイルの属性に対応するレコード、すなわち順序3番目、5番目に対応するレコードの「状態」欄の値を、「分割済」から「保留」に更新する。この時の処理順序テーブル1085の「状態」を図9の1085−12に示す。
続いて振分部1070は、処理順序テーブル1085を更新した旨を、フロー制御部1030に通知する(S7009)。この時、振分部1070は、処理順序テーブル1085の「状態」欄の値が「未」の集信ファイルが残っていれば、上述のステップS7006の処理へ戻ることをフロー制御部1030に通知する。また、処理順序テーブル1085の「状態」欄の値が「未」の集信ファイルが残っていなければ、優先制御を終了することを、フロー制御部1030に通知する。
ここでは、処理順序テーブル1085における順序2番目、4番目に対応する集信ファイル2020(集信ファイルID:F002)の「状態」は「未」として残っている。そのため、引き続きステップS7006を実施する。この場合のステップS7006では、フォーマット変換部1050が、集信ファイル2020(集信ファイルID:F002)のフォーマット変換を実行し、続くステップS7007にて、ファイル分割部1060がファイル分割を実行し、「参加会員企業X」宛の注文情報2021、「参加会員企業X」宛の見積情報2022、「参加会員企業Y」宛の見積情報2023という、3個の個別ファイルを集信ファイル2020から分割することになる。
上述の注文情報2021は、処理順序テーブル1085の順序2番目に対応する個別ファイル、見積情報2022と見積情報2023は、順序4番目に対応する個別ファイルとなる。この時の処理順序テーブル1085を図9の1085−13に示す。
また、続くステップS7008では、残り全ての個別ファイルが配信対象として判定され、順序2〜5に従って配信されることになる。具体的には、注文情報2021、見積情報2012、見積情報2022、見積情報2023、環境情報2014の順で配信がなされる。以上で、全ての集信ファイルに含まれる個別ファイルの配信が完了する。
なお、処理順序テーブル1085の更新を、フォーマット変換部1050、ファイル分割部1060、振分部1070が行うように説明したが、更新に必要な情報を受けて、フロー制御部1030が全て更新するようにしてもよい。
[ケース2]
ここでは、上述のケース1と異なる部分について主に説明する。このケース2における、ステップS7002で、優先制御部1040は、集信ファイル2030の送信者は「参加会員企業X」、集信ファイル2040の送信者は「参加会員企業Y」、と判定することになる。
次に、ステップS7003で、優先制御部1040は、集信ファイル2030に含まれうる個別ファイルの情報区分は、注文情報、見積情報、環境情報、集信ファイル2040に含まれうる個別ファイルの情報区分は、注文情報、見積情報、と判定する。ここで、送信者が「参加会員」である集信ファイルに対しては、ステップがS7004に遷移する。
この場合、優先制御部1040は、取引関係マスタ1084を参照し、参加会員が送信する集信ファイルに含まれうる個別ファイルの情報区分ごとに、取引相手となる幹事会員を判定する(S7004)。「参加会員企業X」が送信する集信ファイルに対しては、注
文情報と見積情報は「幹事会員企業A」と「幹事会員企業B」が取引相手であり、環境情報は「幹事会員企業A」が取引相手と判定される。「参加会員企業Y」が送信する集信ファイルに対しては、注文情報と見積情報は「幹事企業会員A」と「幹事会員企業B」が取引相手と判定される。以上より、送信者が参加会員である集信ファイルに対しても、取引相手の幹事会員企業のSLAを紐付けることができるようになる。
続いてS7005で、優先制御部1040は、処理順序テーブル1086を生成し、これを記憶装置101に格納する。図10は、本実施形態における処理順序テーブルの遷移例2を示す図である。この処理順序テーブル1086は、送信者が参加企業のみである場合の処理順序テーブルとなる。
上述のステップS7004において判定した取引相手と、含まれうる個別ファイルの情報区分より、集信ファイル2030(集信ファイルID:F101)には、「幹事会員企業A」への注文情報(15分)、見積情報(60分)、環境情報(無条件)、「幹事会員企業B」への注文情報(30分)、見積情報(60分)が含まれる可能性がある。また、集信ファイル2040(集信ファイルID:F102)には、「幹事会員企業A」への注文情報(15分)、見積情報(60分)、「幹事会員企業B」への注文情報(30分)、見積情報(60分)が含まれる可能性がある。そのため、合計9種類の個別ファイルの情報区分に対する順序付けがなされたリストとなる。
以降の処理は上述のケース1と同様であり、処理順序テーブル1086の「状態」は、S7007完了時には図10の1086−11、S7008完了時には図10の1086−12、2回目のS7007完了時には図10の1086−13となる。
−−−他の実施形態−−−
次に、他の実施形態として、集信ファイルが、フォーマット変換前にファイル分割を行うことができる場合の優先制御について図に基づき説明する。図11は、他の実施形態における電子データ交換方法のフロー例を示す図である。なお、当該他の実施形態における電子データ交換サーバ100の構成は、上述の本実施形態と同様であり、優先制御の処理フローのみが異なる。よって、図11〜13を用いて、上述の本実施形態と異なる部分について説明する。なお、図12は他の実施形態における、送信者が幹事企業のみである場合の処理順序テーブルの構造と更新フローを示す図である。また、図13は他の実施形態における、送信者が参加企業のみである場合の処理順序テーブルの構造と更新フローを示す図である。
ここで、図11のステップS7001〜S7005の各処理は、上述した本実施形態と同様であるため説明を省略する。ステップS7005を完了すると、上述の本実施形態と同様の処理順序テーブル1085(1086)が生成されることになる。以降、処理順序テーブル1085に対応する処理について説明する。
この場合のフォーマット変換部1050は、既に述べたステップS7006と同様に、集信ファイル群から優先的に処理を行う集信ファイルを判定する。上述の本実施形態のケース1と同様の集信ファイル群の場合、集信ファイル2010(集信ファイルID:F001)が処理の対象となる。ここでフォーマット変換部1050は、この集信ファイル2010のフォーマットの判定を行う(S10001)。
図3での説明で既述のように、フォーマット変換前にファイル分割を行うことができる形式の集信ファイルである場合(S10001:分割可)、フォーマット変換部1050は、処理順序テーブル1085における対応レコードの「状態」を「未」から「分割可」に更新し、フロー制御部1030に通知する。
他方、フォーマット変換前にファイル分割を行えないと判定した場合(S10001:分割不可)、フォーマット変換部1050は、上述の本実施形態と同様に図8のS7006以降を実施する。以降、説明を単純化するために、集信ファイルは全て、フォーマット変換前に分割可能とするが、分割不可能なファイルが混在している場合でも、上述の本実施形態のS7009の後にS10001へ戻ることで優先制御を行うことが可能である。
続いてフロー制御部1030は、フォーマット変換部1050から、フォーマット変換前に分割可能であることの通知を受け、ファイル分割部1060を呼び出し、処理順序テーブル1085で「状態」欄の値が「分割可」となっている集信ファイルに対してファイル分割を実行する(S10002)。
この場合のファイル分割部1060は、ファイル分割の処理後に、処理順序テーブル1085における該当レコードの「状態」欄を「分割可」から「分割済・未変換」に更新し、フロー制御部1030に通知する。
続いてフロー制御部1030は、上述のファイル分割部1060から通知を受けて、フォーマット変換部1050を呼び出し、処理順序テーブル1085のレコードにおいて、「状態」欄の値が「分割済み・未変換」となっている集信ファイルのうち、「順序」が最上位のものの個別ファイル群(ステップS10002のファイル分割で得ているもの)を、フォーマット変換する(S10003)。
このフォーマット変換後、フロー制御部1030は、処理順序テーブル1085で、フォーマット変換の対象となった個別ファイルに対応するレコードの「状態」欄を「分割済・変換済」に更新し、フロー制御部1030に通知する。この時の処理順序テーブル1085の「状態」欄を図12の1085−21に示す。また、処理順序テーブル1086に対応する処理であれば、図13の1086−21が対応している。
次に、フロー制御部1030は、フォーマット変換部1050から通知を受けて、振分部1070を呼び出し、「分割済・変換済」となった個別ファイルを配信対象と判定し、配信方法をフロー制御部1030に通知する。
この場合のフロー制御部1030は、その通知を受けて、通信部1010を呼び出し、配信対象となった個別ファイルの配信を実行する。
次に、振分部1070は、処理順序テーブル1085のレコードのうち、配信済の個別ファイルに対応するレコードの「状態」欄を「分割済・変換済」から「配信済」に更新し、未配信のレコードの「状態」欄を「分割済・未変換」から「保留・未変換」に更新する。この時の処理順序テーブル1085の「状態」を図12の1085−22に示す。また、処理順序テーブル1086に対応する処理であれば、図13の1086−22が対応している。
続いて振分部1070は、上述の図8のフローにおけるステップS7009と同様に、未処理の集信ファイルがあれば、S10001の処理へ戻り、未処理の集信ファイルがなければ、優先制御を終了することを、フロー制御部1030に通知する(S10004)。
以降、S10001〜S10003をもう1回行うことで、全ての集信ファイルに含まれる個別ファイルの配信が完了する。2回目のステップS10003における配信前の処理順序テーブル1085の「状態」を図12の1085−23に示す。また、処理順序テ
ーブル1086に対応する処理であれば、図13の1086−23が対応している。
以上の他の実施形態によれば、集信ファイルのフォーマットの自由度は減少するものの、優先度の低い個別ファイルのフォーマット変換を待たずに、優先度の高い個別ファイルをより迅速に配信できるようになる。
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
こうした本実施形態によれば、マルチテナント環境のEDIシステムにおいて、集信ファイル間をまたがって、各集信ファイルに含まれる各個別ファイルの処理優先度を適宜に決定し、効率的に配信することが出来る。これにより、マルチテナント環境のEDIシステムにおける処理効率が改善され、SLAの遵守、および運用コストやサービス価格の抑制が可能となる。また、SLAに応じて、EDIシステムにおけるリソースを過度に増強する事態も回避出来る。つまり、一般的なリソース構成のEDIシステムにおいて、データ処理効率を高め、全体として商取引データの処理、配信の速度も改善されることになる。ひいては、マルチテナント環境のEDIシステムにおいて、SLAの遵守を図りつつ効率的な商取引データの処理が可能となる。
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の電子データ交換システムにおいて、前記演算装置は、前記ファイルからの電子データ抽出に際し、当該ファイルの所定フォーマットへの変換、および、当該変換後のファイルからの各電子データの分割、を実行して電子データを抽出するものである、としてもよい。
これによれば、上述のファイル、すなわち集信ファイルの形式が、ユーザ企業の業務システム等での形式となっている状況に対応し、EDIシステムで規定する所定ファイル形式への変換処理と、その変換処理で得たファイルからの各電子データ、すなわち個別ファイルの分割処理についても、データ処理の優先度に応じた順序で実行することが出来る。従って、マルチテナント環境のEDIシステムにおいて、SLAの遵守を図りつつ、更に効率的な商取引データの処理が可能となる。
また、本実施形態の電子データ交換システムにおいて、前記演算装置は、前記ファイルの形式が、前記所定フォーマットへの変換無しで前記分割を行えるものである場合、当該ファイルからの各電子データの分割を実行した後、前記処理順序に従って、前記分割で得た電子データの所定フォーマットへの変換を実行し、当該変換後の電子データを前記送信先に配信するものである、としてもよい。
これによれば、上述のフォーマット変換の実行順序に関しても、データ処理の優先度に応じた順序で実行することが出来る。従って、マルチテナント環境のEDIシステムにおいて、SLAの遵守を図りつつ、より一層効率的な商取引データの処理が可能となる。
また、本実施形態の電子データ交換システムにおいて、前記演算装置は、前記処理順序を仮定するに際し、所定期間内に受信した複数のファイルについて、各ファイルの送信者たる当事者が送信する可能性のある電子データ種別と当該当事者に対応した、各ファイルをまたがる前記優先度を前記テーブルに基づき判定し、当該判定した優先度に基づいて、当該各ファイルに含まれうる電子データ間での処理順序を仮定するものである、としてもよい。
これによれば、複数の集信ファイルを跨がって、上述の優先度に基づいた、各個別ファイルに対するデータ処理の順番を決定し、実行することが出来る。ひいては、複数ユーザ
企業がリソースを共有するマルチテナント環境のEDIシステムにおいて、複数の集信ファイルが同時期に集中した場合でも、SLAの遵守を図りつつ、より一層効率的な商取引データの処理が可能となる。
また、本実施形態の電子データ交換方法において、前記情報処理システムが、前記ファイルからの電子データ抽出に際し、当該ファイルの所定フォーマットへの変換、および、当該変換後のファイルからの各電子データの分割、を実行して電子データを抽出する、としてもよい。
また、本実施形態の電子データ交換方法において、前記情報処理システムが、前記ファイルの形式が、前記所定フォーマットへの変換無しで前記分割を行えるものである場合、当該ファイルからの各電子データの分割を実行した後、前記処理順序に従って、前記分割で得た電子データの所定フォーマットへの変換を実行し、当該変換後の電子データを前記送信先に配信する、としてもよい。
また、本実施形態の電子データ交換方法において、前記情報処理システムが、前記処理順序を仮定するに際し、所定期間内に受信した複数のファイルについて、各ファイルの送信者たる当事者が送信する可能性のある電子データ種別と当該当事者に対応した、各ファイルをまたがる前記優先度を前記テーブルに基づき判定し、当該判定した優先度に基づいて、当該各ファイルに含まれうる電子データ間での処理順序を仮定する、としてもよい。