JP3726708B2 - 多階層システムおよびオブジェクト転送プログラム - Google Patents
多階層システムおよびオブジェクト転送プログラム Download PDFInfo
- Publication number
- JP3726708B2 JP3726708B2 JP2001148412A JP2001148412A JP3726708B2 JP 3726708 B2 JP3726708 B2 JP 3726708B2 JP 2001148412 A JP2001148412 A JP 2001148412A JP 2001148412 A JP2001148412 A JP 2001148412A JP 3726708 B2 JP3726708 B2 JP 3726708B2
- Authority
- JP
- Japan
- Prior art keywords
- layer
- transfer
- information
- common
- function
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
- Multi Processors (AREA)
Description
【発明の属する技術分野】
本発明は、複数の層からなる多階層システムおよび各層間でオブジェクトを転送するオブジェクト転送プログラムに関する。
【0002】
【従来の技術】
多階層システムは、複数の層を組み合わせることによって構築される。「層」とは、ある特定の特徴を持つ機能を実装する論理的な単位である。この機能の例としては、例えば、データベースにアクセスする機能や、業務ロジックを実行する機能等がある。
【0003】
ある層で実行される処理は、その層に存在するオブジェクトによって変化する。例えば、データベースにアクセスする機能に対応する層に、預金口座オブジェクト(預金口座を表現するオブジェクト)が存在する場合、預金口座オブジェクトは、そのオブジェクトが表す預金口座の名義人や預金残高等の情報をデータベースに保存したり、データベースから名義人や預金残高等の情報を呼び出す機能を提供する。この層に他のオブジェクトが存在する場合、そのオブジェクトは、名義人や預金残高等ではなく、他の情報の保存や呼出しを行う機能を提供する。また、例えば、業務ロジックの実行機能に対応する層に預金口座オブジェクトが存在する場合、預金口座オブジェクトは、利息計算処理や入出金処理等を実行する機能を提供する。この層に他のオブジェクトが存在する場合、そのオブジェクトは、利息計算処理や入出金処理等ではなく、オブジェクトに応じた業務ロジックを実行する機能を提供する。
【0004】
多階層システムの形態として、例えば、各層がそれぞれ異なる情報処理装置によって実現され、各層間の情報の授受が、各装置を接続する通信ネットワークを介して行われる場合がある。あるいは、各層が同一の情報処理装置内で実現され、各層間の情報の授受が、プロセス間通信によって行われる場合がある。また、例えば、各層が同一の情報処理装置内で実現され、同一のプロセスのもとで各層間の情報の授受が行われる場合がある。
【0005】
従来の多階層システムでは、同一の対象を表すオブジェクトを層毎に別々に作成して、各層に存在するオブジェクト同士が情報を授受するように設計される場合があった。以下、このような設計の手法を、第一の手法と記す。第一の手法では、例えば、層NにおいてオブジェクトAが作成され、層MにおいてオブジェクトBが作成され、オブジェクトA,Bが情報を授受するように設計されていた。オブジェクトA,Bは、同一の対象Xを表現するオブジェクトであるが、存在する層が異なる別個のオブジェクトである。層Mに存在するオブジェクトBによって対象Xに対してある処理を行い、引き続き同一の対象Xに対する処理をオブジェクトAに要求する場合、層Mは、オブジェクトAによる処理に必要な情報を層Nに送る。そして、層Mは、対象Xに対するオブジェクトAの処理結果をオブジェクトBに反映させるための情報を層Nから返される。層Nでは、層Mから返された情報を元に対象Xに関する情報を更新する。
【0006】
より具体的な例として、オブジェクトA,Bがともに、預金口座を表現する預金口座オブジェクトである場合を例に説明する。オブジェクトが層Nにおいて提供する機能は、業務ロジックを実行する機能であり、オブジェクトが層Mにおいて提供する機能は、データベースにアクセスする機能であるとする。層Nに存在する預金口座オブジェクト(オブジェクトA)は、利息計算処理や入出金処理等の実行機能を提供するように設計される。また、層Mに存在する預金口座オブジェクト(オブジェクトB)は、名義人等の情報の保存や呼出しを行う機能を提供するように設計される。オブジェクトBによってデータベースから呼び出した名義人の口座について利息計算を要求する場合、層Mは、利息計算に必要な情報を層Nに送り、オブジェクトAによる利息計算結果を返される。
【0007】
また、第一の手法とは異なる手法として、一つのオブジェクトに全ての層の機能を持たせて、そのオブジェクトが存在する層で利用できない機能については利用しないように設計する手法がある。例えば、オブジェクトが層Nにおいて提供する機能は、業務ロジックを実行する機能であり、オブジェクトが層Mにおいて提供する機能はデータベースにアクセスする機能であるとする。この場合、預金口座オブジェクトは、利息計算処理等の実行機能と、情報の保存や呼出しを行う機能とを提供するように設計される。そして、このオブジェクトは、層Nに存在するときには情報の保存や呼出しを行う機能を利用せず、また、層Mに存在するときには利息計算処理等の機能を利用しないように設計される。このような設計の手法を、以下、第二の手法と記す。
【0008】
【発明が解決しようとする課題】
第一の手法では、同一の対象を表すオブジェクトを各層毎に設計しなくてはならなかった。すなわち、同一の対象に対して複数のオブジェクトを設計しなくてはならなかった。
【0009】
また、各層間の情報の授受が複雑化するという問題があった。例えば、オブジェクトAによる処理に必要な情報を層Mから層Nに送る場合、オブジェクトB全体の情報を送るとする。この場合、層Mは、層Nにおいて必要でない情報も送ってしまうため、層Nが層Mのオブジェクト全体の情報を受け取ることができるようにしなければならなかった。同様に、各層が、他の層のオブジェクト全体の情報を受け取ることができるようにしなければならなかった。
【0010】
層Mが、オブジェクトB全体の情報を送るのではなく、オブジェクトAによる処理に必要な情報のみを抽出して層Nに送る場合には、抽出すべき情報を特定しておく必要がある。同様に、他の層Lに処理を要求する場合には、層Lで必要とされる情報を特定しておく必要がある。このため、設計者は、層毎で必要とされる情報を特定して、層に応じた情報を抽出するように設計しなければならなかった。例えば、層の数がnであって、全ての層間で情報の授受がある場合にはnC2の組み合わせの関係を管理して設計を行わなければならないので、その設計は容易でない。
【0011】
また、第二の手法では、オブジェクトは、ある層に存在するときにオブジェクト自身が持つ他の層の機能を利用しないように設計され、プログラマは設計に従いプログラムを記述する。しかし、プログラマが誤った記述をしやすいという問題があった。例えば、プログラマが、オブジェクトが存在する層では本来利用できない機能を利用するような記述をすることがあった。そして、このような記述がなされると、実際に処理を実行するまでプログラムの誤りを検出しにくいという問題があった。そのため、プログラマは、オブジェクトがある層に存在しているときに、そのオブジェクトの他の層における機能を利用しないように、注意してプログラムを記述しなければならなかった。さらに、第二の手法では、オブジェクトが、全部の層の機能を持ち、各層において利用しない機能も持つことになるので、情報処理装置のリソースが多く消費されてしまうという問題があった。
【0012】
本発明は、各層間の情報の授受を簡易化することができる多階層システム、および、この多階層システムに適用されるオブジェクト転送プログラムを提供することを目的とする。また、設計者やプログラマの負担が少なく、情報処理装置のリソースの消費が少ない多階層システムを提供することを目的とする。
【0013】
【課題を解決するための手段】
本発明による多階層システムは、特定の特徴を持つ機能を実装する論理的な単位である層を複数有し、各層間でオブジェクトを転送して所定の目的を達成する多階層システムであって、各層は、一つのオブジェクトが各層で共通に有する共通部を転送用オブジェクトとして転送するオブジェクト転送手段を備え、各層間で転送されるオブジェクトは、前記オブジェクト転送手段によって転送用オブジェクトとして転送され、各層で、その層に応じた機能を提供し、転送用オブジェクトを受け取ったときに、転送用オブジェクトに対して固有の情報を付加する固有部付加手段を備えた層を有し、その層に転送されるオブジェクトは、固有部付加手段によって固有の情報が付加されることによって、その層に応じた機能を提供することを特徴とする。所定の目的とは、例えば、銀行で扱われる情報に対する各種処理の遂行である。
【0014】
固有の情報は、例えば、各層が固有に備えるメソッドあるいはデータを含む。
【0015】
また、多階層システムは、転送用オブジェクトを受け取った層が、転送用オブジェクトとして転送された共通部のみによって、その層に応じた機能を提供するように構成されていてもよい。すなわち、固有の情報が必要ない場合には、転送用オブジェクトから共通部のみを受け取るように構成されていてもよい。
【0016】
また、本発明によるオブジェクト転送プログラムは、特定の特徴を持つ機能を実装する論理的な単位である層の間でオブジェクトを転送するオブジェクト転送プログラムであって、コンピュータに、層内に存在するオブジェクトから前記層に固有の情報を取り外すことによって、前記オブジェクトが各層で共通に有する共通部を得る処理、前記共通部を他の層に転送する処理、および、他の層から共通部を受け取り、前記共通部に前記固有の情報を付加する処理、を実行させることを特徴とする。
【0017】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明による多階層システムの実施の一形態を示すブロック図である。図1は、情報処理装置1と情報処理装置11とが、通信ネットワーク41によって接続されている場合の例を示す。情報処理装置1は、オブジェクトが層Nに存在するときに提供する機能を実現する。情報処理装置11は、オブジェクトが層Mに存在するときに提供する機能を実現する。すなわち、情報処理装置1,11は、それぞれ層N、層Mに対応する。なお、層の数は、二つに限定されず、三以上の層からなるシステムであってもよい。
【0018】
情報処理装置1,11において、CPU2,12は、それぞれ記憶装置3,13が記憶するプログラムやオブジェクトに従って処理を実行する。ネットワークインタフェース部9,19は、それぞれ他の情報処理装置と情報を送受信する。
【0019】
層Nオブジェクト4と層Mオブジェクト14は、ともに同一の対象を表現するオブジェクトである。ある対象を表現する一つのオブジェクトは、層Nと層Mとの間で転送され、そのオブジェクトが、層Nに存在するときには層Nオブジェクト4となり、層Mに存在するときには層Mオブジェクト14となる。したがって、層Nオブジェクト4と層Mオブジェクト14は、別個のオブジェクトではない。また、層Nと層Mとの間で転送されるオブジェクトは、存在する層によって提供する機能が変化する。したがって、層Nオブジェクト4と層Mオブジェクト14は、別個のオブジェクトではないが、提供する機能は異なる。
なお、ある対象を表現するオブジェクトは、層Nと層Mとの間で転送される場合、後述する転送用オブジェクトとして転送される。
【0020】
共通部31は、ある一つのオブジェクトが、各層において共通に有している属性(データ)とメソッドである。すなわち、共通部31は、一つのオブジェクトが層Nに存在する場合と層Mに存在する場合とで共通に有している属性とメソッドである。共通部31となる属性やメソッドは、オブジェクトが表す対象に応じて予め定められている。層N固有部6は、共通部31に付加されることによって、オブジェクトの層Nにおける機能を提供するデータやメソッドである。層Nオブジェクト4は、共通部31と、層N固有部6とからなる。
層Mオブジェクト14も、層Nオブジェクト4と同様の構成であり、共通部31と、層M固有部16とからなる。層M固有部16は、共通部31に付加されることによって、オブジェクトの層Mにおける機能を提供するデータやメソッドである。
【0021】
オブジェクト転送プログラム7は、層Nオブジェクト4の共通部31を転送用オブジェクトとして情報処理装置11に送信するプログラムである。すなわち、オブジェクト転送プログラム7は、層Nオブジェクト4から層N固有部6を取り外して、転送用オブジェクトを作成し、情報処理装置11に送信する。
同様に、オブジェクト転送プログラム17は、層Mオブジェクト14の共通部31を転送用オブジェクトとして情報処理装置1に送信するプログラムである。
【0022】
また、オブジェクト転送プログラム7は、情報処理装置1が転送用オブジェクトを受信したときに、そのオブジェクトの層Nにおける機能を実現する層Nオブジェクト4を作成する。記憶装置3は、予め所定の場所に層N固有部6を記憶しておく。オブジェクト転送プログラム7は、転送用オブジェクトを受信したときに、所定の場所から層N固有部6を呼び出して、共通部31(受信した転送用オブジェクト)に付加することによって、層Nオブジェクト4を作成する。
同様に、オブジェクト転送プログラム17も、情報処理装置11が転送用オブジェクトを受信したときに、記憶装置13の所定の場所から層M固有部16を呼び出して、共通部31(受信した転送用オブジェクト)に付加することによって、層Mオブジェクト14を作成する。なお、記憶装置13は、予め所定の場所に層M固有部16を記憶しておく。
【0023】
各記憶装置3,13は、転送用オブジェクトの種類と、転送用オブジェクトに応じて呼び出すべき固有部の記憶場所との対応関係を予め記憶する。図2(a)は、記憶装置3が記憶する対応関係の例である。オブジェクト転送プログラム7は、この対応関係にしたがって、転送用オブジェクトを受信したときに、層N固有部6を呼び出す。図2(a)に示す例では、転送用オブジェクトとして共通部31を受信したときに、記憶場所Pから層N固有部6を呼び出す。
同様に、図2(b)は、記憶装置13が記憶する対応関係の例である。図2(b)に示す例では、オブジェクト転送プログラム17は、転送用オブジェクトとして共通部31を受信したときに、記憶場所Qから層M固有部16を呼び出す。
【0024】
図2では、共通部31に対応する固有部の記憶場所を示したが、転送用オブジェクトとして転送されるオブジェクトは、共通部31に限定されない。共通部31以外の共通部が定められているならば、記憶装置3,13は、その共通部と、その共通部に応じて呼び出すべき固有部の記憶場所との対応関係を予め記憶する。
【0025】
各層において、オブジェクト転送プログラム7,17以外のプログラムが、所定の場所から層N固有部6や層M固有部16を呼び出して、層Nオブジェクト4や層Mオブジェクト14を作成してもよい。これらのプログラムがオブジェクト4,14を作成するのは、転送用オブジェクトを受信したときに限定されない。
【0026】
層は、転送用オブジェクトを受け取ったときに、転送用オブジェクトに固有部を付加することなく、転送用オブジェクトをそのまま保持してもよい。このような層において、層Nオブジェクト4や層Mオブジェクト14は、転送用オブジェクトとして転送された共通部31のみを含む。すなわち、オブジェクトが、ある層に存在しているときに提供する機能を、共通部31のみが実現してもよい。例えば、共通部31があるデータとそのデータを表示するメソッドを備えているとする。そして、オブジェクトが層Mにおいてデータ表示機能を提供するならば、層Mオブジェクト14は層M固有部16を含まず、共通部31のみを備える。そして、共通部31のメソッドにより層Mにおいてデータ表示機能を提供する。
【0027】
ある層においてオブジェクトが提供する機能が共通部31のみによって提供されるならば、記憶装置は固有部(層N固有部6や層M固有部16)を記憶しない。また、転送用オブジェクトの種類と固有部の記憶場所の対応関係として、転送用オブジェクトの種類に対応させて「固有部はない。」という情報を記憶する。図2(c)は、固有部を記憶しない場合の、転送用オブジェクトの種類と記憶場所との対応関係の例である。記憶装置3,13が、図2(c)に例示する情報を持つ場合、オブジェクト転送プログラム7,17は、受信した転送用オブジェクトをそのまま層Nオブジェクト4や層Mオブジェクト14とする。例えば、転送用オブジェクトとして共通部31を受信したならば、共通部31をそのまま層Nオブジェクト4等とする。
【0028】
本例において、オブジェクト転送手段および固有部付加手段は、層Nでは、CPU2、記憶装置3、オブジェクト転送プログラム7によって実現される。また、層Mでは、CPU12、記憶装置13、オブジェクト転送プログラム17によって実現される。
オブジェクト転送プログラム7は、コンピュータに、層内に存在するオブジェクト(層Nオブジェクト4)から前記層に固有の情報(層N固有部6)を取り外すことによって、前記オブジェクトが各層で共通に有する共通部を得る処理、前記共通部を他の層に転送する処理、および、他の層から共通部を受け取り、前記共通部に前記固有の情報(層N固有部6)を付加する処理を実行させるためのプログラムである。オブジェクト転送プログラム17も、同様のプログラムである。
【0029】
次に、転送用オブジェクトの授受を行う場合の動作について説明する。
ここでは、情報処理装置1から情報処理装置11に転送用オブジェクトを送信する場合を例に説明する。図3は、オブジェクト転送プログラム7に従うCPU2の動作の例を示す流れ図である。図4は、オブジェクト転送プログラム17に従うCPU12の動作の例を示す流れ図である。
【0030】
層Nから層Mにオブジェクトを転送し、そのオブジェクトの層Mにおける処理を要求する場合、オブジェクト転送プログラム7には、まず層Nオブジェクト4の情報が渡される(ステップS71)。続いて、CPU2は、ステップS71において渡された層Nオブジェクト4が層N固有部6を含んでいるか否かを判断する(ステップS72)。この判断は、層Nオブジェクト4が予め定められた共通部31のデータやメソッド以外の情報を含んでいるか否かによって行う。
【0031】
層Nオブジェクト4が層N固有部6を含んでいなければ、層Nオブジェクト4は、共通部31のみからなるので、その共通部31(層Nオブジェクト4)を転送用オブジェクトとする(ステップS74)。また、層Nオブジェクト4が層N固有部6を含んでいれば、CPU2は、層N固有部6を取り外す処理を行う(ステップS73)。そして、層N固有部6が取り外された共通部31を転送用オブジェクトとする(ステップS74)。続いて、CPU2は、転送用オブジェクトを情報処理装置11に送信する(ステップS75)。
【0032】
情報処理装置11において、CPU12は、ステップS75において送信された転送用オブジェクトを受信する(ステップS76)。続いて、CPU12は、転送用オブジェクトの種類と固有部との対応関係の情報を参照して、固有部を付加する必要があるか否かを確認する(ステップS77)。CPU12は、対応関係を示す情報において、固有部の記憶場所が示されているならば、固有部を付加する必要があると判断する。また、対応関係を示す情報において、「固有部はない。」という情報が示されているならば、固有部を付加する必要はないと判断する。例えば、記憶装置13が図2(b)に例示する対応関係の情報を保持しているのであれば、CPU12は、受信した転送用オブジェクト(共通部31)に、対応する層M固有部16を付加する必要があると判断する。一方、記憶装置13が図2(c)に例示する対応関係の情報を保持しているのであれば、CPU12は、受信した転送用オブジェクト(共通部31)に対して固有部を付加する必要はないと判断する。
【0033】
CPU12は、ステップS77において固有部を付加する必要がないと判断したならば、受信した転送用オブジェクトを層Mオブジェクト14とする(ステップS79)。また、ステップS77において固有部を付加する必要があると判断したならば、転送用オブジェクトの種類に対応する記憶場所から固有部を呼び出す(ステップS78)。例えば、記憶装置13が図2(b)に例示する情報を記憶していれば、転送用オブジェクト(共通部31)に対応する固有部として、記憶場所Qから層M固有部16を呼び出す。CPU12は、ステップS78の次に、転送用オブジェクトに層M固有部16を付加して層Mオブジェクト14を作成する(ステップS79)。CPU12は、ステップS79において作成した層Mオブジェクト14を記憶装置13に保持させる(ステップS80)。
【0034】
情報処理装置11から情報処理装置1に転送用オブジェクトを送信する場合の動作も、ステップS71〜S80と同様である。
【0035】
このような多階層システムによれば、各層の間でオブジェクトを授受するときに、層N固有部6を含む層Nオブジェクト4全体や、層M固有部16を含む層Mオブジェクト14全体を転送することがない。そのため、従来の第一の手法のように、層N(情報処理装置1)が層Nで実行されないメソッド等を受け取れるようにする必要がない。層M(情報処理装置11)も、層Mで実行されないメソッド等を受け取れるようにする必要がない。
また、オブジェクトを他の層に転送するときには、共通部を転送用オブジェクトとして授受し、転送用オブジェクトに、各層で必要なメソッドやデータが付加される。したがって、処理を要求する層では、固有部を除いて共通部を送ればよいので、送り先毎に必要な情報を選び出す必要がない。本発明では、授受する共通部を定め、固有部の付加や取り外しを行えばよいので、設計時の負担が軽減される。
また、オブジェクトは、各層において、その層での役割に適した機能のみを提供する。したがって、設計時に、各層毎の役割を明確にすることができ、オブジェクトの各層における機能を洗い出すことができる。
【0036】
また、従来の第二の手法と異なり、層Nに存在するオブジェクトは、そのオブジェクトが他の層に存在するときに提供する機能を持つことがない。同様に、層Mに存在するオブジェクトは、そのオブジェクトが他の層に存在するときに提供する機能を持つことがない。従って、オブジェクトがある層に存在しているときに、そのオブジェクトの他の層における機能を利用しないようにプログラムを記述する必要がなく、プログラマの負担が軽減される。また、プログラマが誤って、利用できない機能を利用するような記述をしても、その誤りをすぐに検出できる。
そして、各層に存在するオブジェクトは、他の層における機能を持たないので、情報処理装置のリソースの消費を少なくすることができる。
【0037】
次に、預金口座を扱うシステムに本発明を適用した場合の動作の例を説明する。システムの構成は、図1に例示する場合と同様である。オブジェクトが層Nにおいて提供する機能は、業務ロジックを実行する機能であり、オブジェクトが層Mにおいて提供する機能はデータベースにアクセスする機能であるとする。預金口座を表現する預金口座オブジェクトは、層Nにおいて、入出金や利息計算処理等の機能を提供する。また、預金口座オブジェクトは、層Mにおいて、名義人、残高等の情報の保存や呼び出し機能を提供する。預金口座オブジェクトは、層Nに転送されたときには層Nオブジェクト4になり、層Mに転送されたときには層Mオブジェクト14になる。本例において、預金口座オブジェクトの共通部31は、預金口座の名義人情報、残高情報、入手金履歴等のデータを含む。また、預金口座オブジェクトの共通部31は、名義人情報等を共通部31の属性として設定するメソッドや、設定されている情報を提供するメソッド等を含む。
【0038】
層N固有部6は、預金口座の入出金処理や利息計算処理を行うメソッドを含む。また、層M固有部16は、名義人情報、残高情報、入出金履歴等のデータを保存したり、保存したデータを呼び出すメソッドを含む。層M固有部16は、データ保存場所の情報も含む。
【0039】
記憶装置3は、図2(a)に例示するように、名義人情報等を含む共通部31に対応させて、層N固有部6の記憶場所を保持する。したがって、情報処理装置1が転送用オブジェクトとして共通部31を受信した場合、共通部31に対応する層N固有部6(入出金処理を行うメソッド等)が呼び出され、共通部31には層N固有部6が付加される。
記憶装置13は、図2(b)に例示するように、共通部31に対応させて、層M固有部16の記憶場所を保持する。情報処理装置11が転送用オブジェクトとして共通部31を受信した場合、共通部31に対応する層M固有部16(データ保存を行うメソッド等)が呼び出され、共通部31に層M固有部16が付加される。
【0040】
図5は、呼び出した名義人の口座に対して、預金口座オブジェクトが層Nにおいて入出金処理等を行い、その結果を層Mで保存する際の動作の例を示す流れ図である。まず、記憶装置13が記憶するプログラムに従い、CPU12が層Mオブジェクト14を作成する(ステップS101)。このプログラムは、オブジェクト転送プログラム17でなくてもよい。また、ステップS101において作成される層Mオブジェクトには、名義人情報等の具体的データは含まれていない。続いて、CPU12は、作成した層Mオブジェクト14の層M固有部16のメソッドにより、名義人情報、残高情報、入出金履歴等のデータを呼び出し、共通部31の属性として設定する(ステップS102)。この処理により、層Mオブジェクト14は、名義人情報等の具体的データを備える。
【0041】
続いて、オブジェクト転送プログラム17に、層Mオブジェクト14の情報が渡され、CPU12は、層Mオブジェクト14から層M固有部16を取り外す(ステップS103)。層Mオブジェクト14には共通部31以外のデータやメソッドが含まれているので、CPU12は、層M固有部6があると判断し、データの保存場所の情報や、データの保存、呼び出しを行うメソッドを取り外す。ステップS103は、前述のステップS71〜ステップS73に相当する処理である。
【0042】
ステップS103の処理によって、名義人情報等のデータや、データの設定等を行うメソッドを含む共通部31が得られる。CPU12は、この共通部31を転送用オブジェクトとし(ステップS104)、情報処理装置1に送信する(ステップS105)。情報処理装置1は、転送用オブジェクトを受信する。ステップS104,S105は、ステップS74〜S76に相当する処理である。このように、層Mオブジェクト14として存在していた預金口座オブジェクトは、転送用オブジェクトとして転送される。
【0043】
情報処理装置1のCPU2は、転送用オブジェクトとして共通部31を受信したならば、対応する層N固有部6を呼び出して、共通部31に付加する(ステップS106)。すなわち、入出金処理や利息計算処理を行うメソッドを呼び出し、受信した共通部31に付加することにより層Nオブジェクト4を作成する。ステップS106は、ステップS77〜S79に相当する処理である。CPU2は、作成した層Nオブジェクト4を記憶装置3に保持させる(ステップS107)。これは、ステップS80に相当する処理である。
【0044】
CPU2は、層N固有部6のメソッドによって入出金処理等を行い、共通部31の残高情報や入出金履歴等を更新する(ステップS108)。続いて、オブジェクト転送プログラム7に、層Nオブジェクト4の情報が渡され、CPU2は、層Nオブジェクト4から層N固有部6を取り外す(ステップS109)。層Nオブジェクト4には共通部31以外のメソッドが含まれているので、CPU2は、層N固有部6があると判断し、入出金処理や利息計算処理を行うメソッドを取り外す。ステップS109は、前述のステップS71〜ステップS73に相当する処理である。
【0045】
ステップS109の処理によって、名義人情報等のデータや、データの設定等を行うメソッドを含む共通部31が得られる。CPU2は、この共通部31を転送用オブジェクトとし(ステップS110)、情報処理装置11に送信する(ステップS111)。情報処理装置11は、転送用オブジェクトを受信する。ステップS110,S111は、ステップS74〜S76に相当する処理である。このように、層Nオブジェクト4として存在していた預金口座オブジェクトは、転送用オブジェクトとして転送される。
【0046】
情報処理装置11のCPU12は、転送用オブジェクトとして共通部31を受信したならば、対応する層M固有部16を呼び出して、共通部31に付加する(ステップS112)。すなわち、名義人情報等のデータを保存したり、保存したデータを呼び出すメソッドや、データの保存場所の情報を呼び出し、受信した共通部31に付加することにより層Mオブジェクト14を作成する。ステップS112は、ステップS77〜S79に相当する処理である。CPU12は、作成した層Mオブジェクトを記憶装置13に保持させる(ステップS113)。これは、ステップS80に相当する処理である。
【0047】
CPU12は、ステップS108で更新された共通部31の情報を、層M固有部16のメソッドによってデータ保存場所に記憶させる(ステップS114)。
【0048】
このようなシステムでは、層Nが、データを保存するメソッド等を受け取る必要がない。同様に、層Mが、入出金処理を行うメソッド等を受け取る必要がない。また、預金口座オブジェクトを他の層に転送するときには、名義人情報、残高情報、入出金履歴等のデータや、それらのデータを設定するメソッド等を共通部31として送受信すればよい。本例のシステムでは、このような共通部を定め、固有部の付加や取り外しを行えばよいので、設計時の負担が軽減される。
【0049】
また、層Nに存在する預金口座オブジェクト(層Nオブジェクト4)は、データの保存や呼び出しを行うメソッドを有していないので、層Nにおいて、これらの機能を利用しないようにプログラムを記述する必要はない。同様に、層Mに存在する預金口座オブジェクト(層Mオブジェクト14)は、入出金処理や利息計算処理を行うメソッドを有していないので、層Mにおいて、これらの機能を利用しないようにプログラムを記述する必要がない。したがって、プログラマの負担を軽減させることができる。
【0050】
また、上記の例では、情報処理装置1,11において、受信した転送用オブジェクトに対して層N固有部6や層M固有部16を付加する場合を示したが、ある層における機能が共通部31のメソッドによって実現される場合には、固有部を付加しなくてもよい。例えば、預金口座を扱うシステムにおいて、オブジェクトの層Nにおける機能は、上記の例と同様に業務ロジックの実行機能であるとする。そして、オブジェクトの層Mにおける機能は、データ表示機能およびデータ設定機能であるとする。預金口座オブジェクトは、層Mに存在する場合、名義人情報、残高情報、入出金履歴の情報を表示する機能や、ユーザから入力された情報を共通部の属性として設定する機能を提供する。これらの機能は、預金口座オブジェクトの共通部31(情報を共通部31の属性として設定するメソッド、設定されている情報を提供するメソッド)により実現される。
【0051】
この場合、情報処理装置11の記憶装置13は、層M固有部16を保持しない。そして、図2(c)に例示するように、共通部31に対応させて「固有部はない。」という情報を記憶する。CPU12は、転送用オブジェクトとして共通部31を受信したとき、「固有部はない。」という情報に基づいて、受信した共通部31を層Mオブジェクトとする。そして、CPU12は、共通部31のメソッドにより、データの表示等を行う。
【0052】
また、情報処理装置1に、転送用オブジェクトを送信する場合、層Mオブジェクトは共通部31のみからなるので、CPU12は、固有部を取り外すことなく共通部31を転送用オブジェクトとする。
なお、この場合、情報処理装置1が転送用オブジェクトを受信したときの動作は、ステップS106〜S111と同様である。
【0053】
上記の各例では、各層に対応する情報処理装置が異なり、通信ネットワーク41を介してオブジェクトを授受する場合を示した。本発明の形態は、各層に対応する情報処理装置が異なる場合に限定されない。例えば、各層が同一の情報処理装置によって実現され、プロセス間通信によってオブジェクトが転送される構成であってもよい。また、各層が同一の情報処理装置によって実現され、同一プロセスのもとでオブジェクトが転送される構成であってもよい。
【0054】
このように本発明では、各層は、通信ネットワークを介して接続される複数の情報処理装置によって実現され、前記通信ネットワークを介して転送用オブジェクトを転送する構成であってもよい
また、各層は、同一の情報処理装置によって実現され、プロセス間通信により転送用オブジェクトを転送する構成であってもよい。
また、各層は、同一の情報処理装置によって実現され、同一プロセスのもとで転送用オブジェクトを転送する構成であってもよい。
【0055】
【発明の効果】
本発明によれば、各層は、一つのオブジェクトが各層で共通に有する共通部を転送用オブジェクトとして転送するオブジェクト転送手段を備え、各層間で転送されるオブジェクトは、前記オブジェクト転送手段によって転送用オブジェクトとして転送され、各層で、その層に応じた機能を提供するので、各層は、実行されないメソッド等を受け取る必要がない。また、オブジェクト転送先の層毎に必要な情報を選び出す必要がなく、共通部を転送用オブジェクトとして送信すればよい。したがって、層間の情報の授受に関する設計の負担が軽減される。さらに、オブジェクトがある層に存在しているときに、そのオブジェクトの他の層における機能を利用しないようにプログラムを記述する必要がなく、プログラマの負担が軽減される。オブジェクトは、ある層に存在しているときに、他の層において提供すべき機能を有さないので、情報処理装置のリソースを多く消費することもない。
【図面の簡単な説明】
【図1】 本発明による多階層システムの実施の一形態を示すブロック図である。
【図2】 転送用オブジェクトの種類と固有部の記憶場所との対応関係の例を示す説明図である。
【図3】 転送用オブジェクトを転送する際の動作の例を示す流れ図である。
【図4】 転送用オブジェクトを受け取る際の動作の例を示す流れ図である。
【図5】 預金口座を扱う多階層システムの動作の例を示す流れ図である。
【符号の説明】
1 情報処理装置
2 CPU
3 記憶装置
4 層Nオブジェクト
6 層N固有部
7 オブジェクト転送プログラム
11 情報処理装置
12 CPU
13 記憶装置
14 層Mオブジェクト
16 層M固有部
17 オブジェクト転送プログラム
31 共通部31
Claims (4)
- 特定の特徴を持つ機能を実装する論理的な単位である層を複数有し、各層間でオブジェクトを転送して所定の目的を達成する多階層システムであって、
各層は、一つのオブジェクトが各層で共通に有する共通部を転送用オブジェクトとして転送するオブジェクト転送手段を備え、
各層間で転送されるオブジェクトは、前記オブジェクト転送手段によって転送用オブジェクトとして転送され、各層で、その層に応じた機能を提供し、
転送用オブジェクトを受け取ったときに、転送用オブジェクトに対して固有の情報を付加する固有部付加手段を備えた層を有し、その層に転送されるオブジェクトは、前記固有部付加手段によって固有の情報が付加されることによって、その層に応じた機能を提供する
ことを特徴とする多階層システム。 - 固有の情報は、各層が固有に備えるメソッドあるいはデータを含む請求項1記載の多階層システム。
- 転送用オブジェクトを受け取った層は、転送用オブジェクトとして転送された共通部のみによって、その層に応じた機能を提供する
請求項1記載の多階層システム。 - 特定の特徴を持つ機能を実装する論理的な単位である層の間でオブジェクトを転送するオブジェクト転送プログラムであって、コンピュータに、
層内に存在するオブジェクトから前記層に固有の情報を取り外すことによって、前記オブジェクトが各層で共通に有する共通部を得る処理、
前記共通部を他の層に転送する処理、および
他の層から共通部を受け取り、前記共通部に前記固有の情報を付加する処理、
を実行させるためのオブジェクト転送プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001148412A JP3726708B2 (ja) | 2001-05-17 | 2001-05-17 | 多階層システムおよびオブジェクト転送プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001148412A JP3726708B2 (ja) | 2001-05-17 | 2001-05-17 | 多階層システムおよびオブジェクト転送プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002342099A JP2002342099A (ja) | 2002-11-29 |
JP3726708B2 true JP3726708B2 (ja) | 2005-12-14 |
Family
ID=18993734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001148412A Expired - Fee Related JP3726708B2 (ja) | 2001-05-17 | 2001-05-17 | 多階層システムおよびオブジェクト転送プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3726708B2 (ja) |
-
2001
- 2001-05-17 JP JP2001148412A patent/JP3726708B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002342099A (ja) | 2002-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4729172B2 (ja) | 宣言型パラダイムをサポートするステートレスなウェブ環境におけるトランザクションを実行するための方法および装置 | |
EP0649089B1 (en) | System and method for optimizing message flows between agents in distributed computations | |
US20090300017A1 (en) | Transaction Parallel Control Method, and Database Managemet System | |
US7921075B2 (en) | Generic sequencing service for business integration | |
US8606833B2 (en) | Method and system of committing operations of a synchronized transaction | |
US8499298B2 (en) | Multiprocessing transaction recovery manager | |
US20070033640A1 (en) | Generic context service in a distributed object environment | |
JP2000339287A (ja) | 作業負荷によって管理されるクライアント/サーバ・データ処理システムにおける集中アフィニティ維持装置および方法 | |
WO2023231665A1 (zh) | 分布式事务处理方法、系统、设备及可读存储介质 | |
CN107526645A (zh) | 一种通信优化方法及系统 | |
US9529651B2 (en) | Apparatus and method for executing agent | |
US6658644B1 (en) | Services-based architecture for a telecommunications enterprise | |
CN114564435A (zh) | 异构多核芯片的核间通信方法、装置及介质 | |
US20080082964A1 (en) | Method and system for data preparation and communication between software applications | |
CN109634764A (zh) | 工作流控制方法、装置、设备、存储介质和系统 | |
CN107682460A (zh) | 一种分布式存储集群数据通信方法及系统 | |
JPH0962635A (ja) | 疎結合並列処理環境においてトランザクション直列化制御機能を有する顧客情報制御システム及び方法 | |
CN100461124C (zh) | 计算机系统和信息处理方法 | |
US7133913B2 (en) | Information routing | |
JPH0944461A (ja) | 疎結合並列処理環境においてapiスタート及びキャンセルトランザクション機能を有する顧客情報制御システム及び方法 | |
US7234147B1 (en) | Method and apparatus for supporting data communication between program components | |
JP3726708B2 (ja) | 多階層システムおよびオブジェクト転送プログラム | |
US8549537B2 (en) | Middleware bridge system and method | |
EP3759603B1 (en) | In-line event handlers across domains | |
US7693988B2 (en) | Subject/observer update control method and apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050602 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050621 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050810 |
|
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: 20050906 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050919 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |