JPH1173320A - フレームワークおよびソフトウェア・システムを開発する方法 - Google Patents

フレームワークおよびソフトウェア・システムを開発する方法

Info

Publication number
JPH1173320A
JPH1173320A JP10186292A JP18629298A JPH1173320A JP H1173320 A JPH1173320 A JP H1173320A JP 10186292 A JP10186292 A JP 10186292A JP 18629298 A JP18629298 A JP 18629298A JP H1173320 A JPH1173320 A JP H1173320A
Authority
JP
Japan
Prior art keywords
business
controller
framework
company
objects
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10186292A
Other languages
English (en)
Inventor
James Carey
ジェームス・カーレィ
Brent Carlson
ブレント・カールソン
Timothy Graser
ティモシー・グラサー
Anders Nilsson
アンデルス・ニールソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH1173320A publication Critical patent/JPH1173320A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】オブジェクト指向技術を使用してソフトウェア
・アプリケーションを開発するための技術的基礎を提供
する。 【解決手段】マルチレベル組織構造によってビジネスの
モデル化を可能にするフレームワークによってこの課題
を解決する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、オブジェクト指向
技術およびフレームワークを使用してソフトウェア・シ
ステムを開発する方法に関し、特に、フレームワークを
提供して、マルチレベル組織構造によってビジネスをモ
デル化することを可能にする方法に関する。
【0002】本出願は、同じ出願人によって同じ出願日
に出願された以下の同時係属出願に関連する。
【0003】「A method of developing a softwa
re system using Object Oriented Technology」
(出願人ドケット番号GE997034) 「A method for using decoupled chain of res
ponsibility」(出願人ドケット番号GE99703
5) 「Framework for Business Applications providin
g financial integration」(出願人ドケット番号G
E997036) 「Framework for business applications using c
ached aggregate and specification key」(出願
人ドケット番号GE997039) 「Method of error handling in a framework」
(出願人ドケット番号GE997041) 「A method of locating software objects in
different containers」(出願人ドケット番号GE9
97042)
【0004】
【従来の技術】競争力を維持または拡大するため、世界
中のほぼあらゆる業種の企業が、自社の情報技術を手直
しおよび更新して、顧客の要求を満たし、ひいては市場
で成功を収めなければならない。しかし、従来的に開発
されたソフトウェアに基づく情報システムを最新に維持
することは、少なくとも費用のかかる試みであり、多く
の場合、解決不可能な問題である。オブジェクト指向技
術または単にオブジェクト技術(略して「OOT」また
は単に「OT」ともいう)は、会社の情報システム内で
ソフトウェア・アプリケーションの開発、維持および拡
張に伴う問題を解消し、多数のアプリケーションおよび
ハードウェア・プラットフォームにまたがる相互運用性
および適応性を提供する技術的可能性を有している。
【0005】オブジェクト指向技術は、コンピュータ・
システムのオペレーティング・ソフトウェアおよびアプ
リケーション・ソフトウェアの開発方法を記述する。従
来的な非オブジェクト指向のソフトウェア開発方法とは
反対に、オブジェクト指向技術は、自動車開発の場合の
工具および部品にたとえられる、ソフトウェアの開発の
ためにあらかじめ設計された「メソッド」および「オブ
ジェクト」を含み、使用する。
【0006】必要なねじそれぞれを個々に開発するので
はなく、標準化されたねじを使用し、それを所要の長さ
に切り詰めることによって個々に適合させることができ
る自動車開発の場合と同様に、ソフトウェアの開発で
も、オブジェクト指向技術は、ソフトウェア・テンプレ
ートの1種として「クラス」を提供し、このクラスから
個々の「オブジェクト」をインスタンス生成することが
できる。これらのクラスは普通、ソフトウェア・ライブ
ラリまたはいわゆる「クラス・ライブラリ」に格納され
る。クラス・ライブラリとは、単に、ライブラリと呼ば
れる特殊なファイリング・フォーマットでいっしょに格
納されるいくつかのクラスの集合体である。
【0007】オブジェクト指向技術において、「オブジ
ェクト」とは、関連のデータおよび手続きからなるソフ
トウェアの独立部分である。データとは、コンピュータ
・プログラム中の、情報、たとえば名前または在庫部品
番号を格納することができる情報または空間をいう。手
続きとは、コンピュータに実際に何かをやらせるプログ
ラムの部分、たとえば、計算を実行させるプログラムの
部分または何かをコンピュータ・ディスク上に記憶させ
るプログラムの部分である。オブジェクト指向技術にお
いて、オブジェクトの手続きが「メソッド」と呼ばれ
る。
【0008】オブジェクトがそれ自体の中にデータおよ
び手続きを有するソフトウェアの独立部分であるという
概念が、ソフトウェアを開発する新たな方法である。非
オブジェクト指向ソフトウェアでは、しばしばプログラ
ム全体のデータの大部分がプログラムの始まり近くでい
っしょにグループ分けされ、手続きがこの共通のデータ
のプールにしたがう。この従来の方法は小さめのプログ
ラムにはうまく働くが、ソフトウェアが大きくなり、い
くぶん複雑になり始めるとすぐ、どの手続きがどのデー
タを使用しているのかを理解することがますます困難に
なる。これが、従来のソフトウェア・プログラムをデバ
ッグまたは変更することをきわめて困難で費用のかかる
ものにする。
【0009】オブジェクト指向技術において、一般に、
オブジェクト指向ソフトウェアをデバッグし、維持し、
機能強化することはより易しい。もっとも一般的な3種
のオブジェクト指向プログラミング言語は、おそらく
「C++」、「JAVA」および「Smalltalk」であ
る。データおよびメソッドの両方がオブジェクトの中に
含まれるという概念は「カプセル化」と呼ばれる。カプ
セル化の概念の一部は、オブジェクトが他のオブジェク
トと通信する予測可能な方法、いわゆる予測可能な「イ
ンタフェース」またはメソッド契約とも呼ばれるものを
有することである。
【0010】インタフェースが変更されないならば、オ
ブジェクトの中の符号またはメソッドは、そのオブジェ
クトと相互作用する他のオブジェクトの能力を損なうこ
となく、変更することができる。たとえば、TAX CALCU
LATIONオブジェクトは、PAYCHECKオブジェクトが使用す
るための予測可能なインタフェースを有するであろう。
インタフェースが変更されないならば、税法が変わるた
びにTAX CALCULATIONオブジェクトの中の詳細なプログ
ラム符号を変更することができ、給与支払いシステム中
の他のオブジェクトはそのような変更に関して何も知ら
なくてもよい。
【0011】オブジェクト指向技術において、一つのオ
ブジェクトが別のオブジェクトからその行動およびデー
タの一部を受け継ぐことができるという概念を伝えるの
に「継承」という語が使用される。たとえば、従業員と
は人のタイプであるため、EMPLOYEEオブジェクトは、PE
RSONオブジェクトの特性、たとえば名前、生年月日およ
び住所データを継承するかもしれず、そのようなデータ
を更新し、表示するためのメソッドを継承するかもしれ
ない。
【0012】オブジェクトが他のオブジェクトからその
特性のいくつかを継承するとしても、そのオブジェクト
は、それ自体の非継承特性をも有することができ、通常
は有するであろう。たとえば、PERSONオブジェクトは、
人物の住所を表示するための継承可能なメソッドを有す
るが、すべての人物が給与をもらうわけではないため、
PERSONオブジェクトは、おそらく、給与履歴を表示する
ためのメソッドを有しないであろう。EMPLOYEEオブジェ
クトはPERSONオブジェクトからこのメソッドを継承する
ことができないため、EMPLOYEEオブジェクトは、給与履
歴を表示するためにそれ自体のメソッドを定義しなけれ
ばならない。
【0013】オブジェクト指向技術は明らかに、ソフト
ウェア・アプリケーションの開発、維持および拡張にと
ってもっとも進んだ方法であると思われるが、ソフトウ
ェア・アプリケーションを開発する多くの会社が、既存
のアプリケーションの手直しおよびオブジェクト指向技
術を使用する新たなアプリケーションの作成に伴う費用
および危険性を懸念している。そのようなソフトウェア
・アプリケーション開発者にとって、ソフトウェア・ア
プリケーションの技術的基礎が、オブジェクト指向技術
を基礎として使用するツールとして構築されて、各開発
者が高度にオリジナルのソフトウェア製品を開発できる
ようでなければならない。この技術的基礎は、以前には
ソフトウェア・アプリケーション開発者が自ら開発しな
ければならなかった基本的アプリケーション構造を構成
するフレームワークによって形成される。
【0014】オブジェクト指向技術において、「フレー
ムワーク」とは、フレームの中の個々のクラスのいずれ
によっても提供されない機能の共通に必要な部分を提供
するために共働する再使用可能なクラスのセットまたは
集合体を述べるために使用される。したがって、フレー
ムワークは、多数のオブジェクトをいっしょに使用し
て、一つ一つのオブジェクトでは実行できない一つ以上
のタスクを実行する具体的な方法を定義する。言い換え
るならば、フレームワークとは、繰り返し起こるプログ
ラミング問題に対処するいくつかのオブジェクトの、再
使用可能で、あらかじめ定義され、あらかじめ設計され
た束である。
【0015】フレームワークは、オブジェクトどうしの
再使用可能な関係を把握して、それらのオブジェクトが
必要とされるたびにそれらをその同じ関係で再びアセン
ブルする必要がないようにする方法を提供する。フレー
ムワークは、多数のオブジェクトをいっしょにグループ
分けして、必要とされるたびに下層のオブジェクト・レ
ベルで考えこむべきでない機能を実行する方法を提供す
る。たとえば、PRINTフレームワークは、プログラマが
いずれかのプリンタで何かを容易に印刷するために必要
であるすべてのオブジェクトからなり、おそらくは、プ
リンタ選択、ディスクへのスプールまたはエラー検出、
たとえば「用紙切れ」のオブジェクトを含む。フレーム
ワークは、たとえば、金融、物流管理または製造の業種
で、ソフトウェア・アプリケーションのための技術的基
礎を含むソフトウェア・オブジェクトのグループとみな
すことができる。フレームワークはソフトウェア・アプ
リケーションの骨組みを表すが、通常、フレームワーク
は実行可能なソフトウェア・プログラムではない。
【0016】ソフトウェア・アプリケーションを開発す
るための技術的基礎としてフレームワークを提供するこ
とにより、以下の問題に対処しなければならない。
【0017】アプリケーションは、市販されているすべ
てのハードウェア・プラットフォームおよび関連のソフ
トウェア・オペレーティング・システムをサポートしな
ければならない。アプリケーションはまた、グラフィカ
ル・ユーザ・インタフェースおよびウィンドウ処理技術
をはじめとする、クライアント/サーバ機器構成に関す
る要件を満たさなければならない。
【0018】また、アプリケーションは、インタネット
互換性およびアクセス・オン・デマンドを提供しなけれ
ばならない。さらに、アプリケーションは、インストー
ルされるソフトウェアに関して統合された解を提供しな
ければならない。
【0019】従来技術(たとえば、E. GAMMAらの「Des
ign Patterns: elements of reusable object-ori
ented software」、Addison-Wesley、1995、ISBN 0-2
01-63361-2を参照)から公知であるものは、二つのオブ
ジェクト指向設計パターン「責任連鎖」および「戦略」
である。
【0020】フレームワークの要件は、マルチレベル組
織構造によってビジネスをモデル化できることである。
ビジネス・プロセスの要件を与えられると、組織構造内
の各会社は、どの情報を親組織とで共用するか、どの情
報をそれ自体に固有のものにするかをカスタマイズする
ことができなければならない。オブジェクト指向フレー
ムワークの場合には、この要件は、ビジネス・オブジェ
クト(BO)を、組織構造内の親会社および子会社の間
で選択的に共用することができるような方法で定義しな
ければならないことを意味する。具体的には、親会社が
所与のタイプのビジネス・オブジェクトのインスタンス
のセットを導入するならば、子会社は、その所与のBO
のそれ自体のセットを導入して親のセットから自らのセ
ットを隔離し、自らのレベルでセットを定義せずに親の
セットを完全に共用し、ただし、特定のBOを自らのレ
ベルでセットに含まれるBOで打ち消し、親のセットを
共用し、ただし、セット中の特定のBOを隠蔽し、親の
セット中のBOを自ら部分的に共用するオプションを有
しなければならない。すなわち、BOデータのサブセッ
トが公であり、親会社と子会社とで共用されるべきであ
り、残りのデータが各会社に専有かつ固有であるべきで
ある。
【0021】添付図面において、クラス、オブジェク
ト、関係などの表現の標準は、少なくとも部分的に、Gr
ady Boochの「Object-Oriented Analysis and Desi
gn with Applications」第二版(The Benjamin/Cumm
ings Publishing Company,Ind., Redwood City, C
A, USA)に準じて使用する。
【0022】
【発明が解決しようとする課題】本発明の目的は、上記
に論じた課題を解消する、オブジェクト指向技術を使用
してソフトウェア・アプリケーションを開発するための
技術的基礎を提供することである。
【0023】本発明のさらなる目的は、マルチレベル組
織構造によってビジネスをモデル化することができるフ
レームワークを提供することである。
【0024】
【課題を解決するための手段】本発明は、これらの目的
を、独立請求項に記載の方法および装置によって解決す
る。本発明の具体的な実施態様は、それぞれの従属請求
項に提示する。
【0025】さらに、本発明は、コンピュータ・システ
ムによって処理される多数のオブジェクトを含む、たと
えばビジネス・アプリケーションのソフトウェア・シス
テムを開発するために使用されるフレームワークであっ
て、組織構造が、ツリー構造に組織された会社オブジェ
クトによって表現され、前記会社オブジェクトが、指定
データを名前によってそのインスタンス生成されたオブ
ジェクトに加えることができる能力を提供するプロパテ
ィ・コンテナ・インタフェースを実現し、コントローラ
・オブジェクトがプロパティとして前記会社オブジェク
トに付加されていることを特徴とするフレームワークを
提供する。
【0026】上述した共用要件のすべてに対処するた
め、抽象コントローラ・クラスを定義して、管理される
ビジネス・オブジェクトのアクセスに定義される共通メ
ソッドを提示する。この抽象クラスによって提示される
インタフェースは、クライアントにより、コントローラ
からのビジネス・オブジェクトにアクセスするために使
用される。
【0027】そして、抽象コントローラ・クラスのサブ
クラスが、管理されるオブジェクト、すなわち、会社階
層に付加された、コントローラによって包含されるオブ
ジェクトに関して会社のツリー構造の層を隔離または合
併する能力を提供して、クライアントによる明示的な知
識または行動なしで、会社階層の上で管理されたオブジ
ェクトの論理的見解を効果的に生成する。
【0028】
【発明の実施の形態】本発明の主体を開発ツールとして
使用するソフトウェア・アプリケーションの開発は、図
1に示す四つの層の構成とみなすことができる。
【0029】一番下の層がベース層101である。ベー
ス層101は、異なるオペレーティング・システム、た
とえばOS/2、OS/400、AIXおよびNTの下
で潜在的に作動するサーバ・ハードウェア111とのイ
ンタフェースを提供し、管理する。サーバ・ハードウェ
ア111は、通信ネットワーク113を介してクライア
ント・ハードウェア112に接続されている。クライア
ント・ハードウェア112もまた、異なるオペレーティ
ング・システム、たとえばOS/2、NTおよびAIX
の下で潜在的に作動することができる。図1に示す実施
態様は、クライアント/サーバ・アプリケーションのサ
ーバ部のみの開発を示す。
【0030】ベース層101は、オペレーティング・シ
ステムの近くの多くの機能、たとえばオブジェクトの発
見、それらの名前の追跡、それらに対するアクセスの制
御、競合解消、セキュリティ管理およびインストールを
含む、より上位のオブジェクトための技術的基礎を表
す。ベース層101はまた、下層構造の複雑さをソフト
ウェア・アプリケーション開発者から隠しながら、オブ
ジェクトを構築するための一貫したモデルを提供する、
いわゆるオブジェクト・モデル・クラスを含む。ベース
層101は、ベース層101によって提供されるインタ
フェース機能を使用する、その上のオブジェクト技術の
アプリケーションに必要な、下位ミドルウェアの1種と
みなすことができる。
【0031】ベース層101の上には、共通ビジネス・
オブジェクト102を含む層がある。この共通ビジネス
・オブジェクト層102は、ビジネス・アプリケーショ
ンの中で共通に必要な機能、たとえば日時、通貨、住
所、単位および暦を実行する多数のオブジェクトを提供
する。これらの共通ビジネス・オブジェクトは、ソフト
ウェア・アプリケーション開発者が選択し、ビジネス・
アプリケーションを生成するのに使用することができる
構成単位を表す。たとえば、これらの共通ビジネス・オ
ブジェクトをコピーし、拡張して、新たな機能を実行す
ることができる。たとえば、日時オブジェクトを拡張し
て、旧暦を扱うこともできる。
【0032】共通ビジネス・オブジェクト層102の上
の層103は、コア・ビジネス・プロセスをすでに含
み、コア・ビジネス・プロセス層103とみなすことが
できる。この層103は通常、実行可能な符号を提供し
ないが、この層103の中で、本発明を使用して開発さ
れるビジネス・ソフトウェア・アプリケーションが形成
し始める。各コア・ビジネス・プロセス層は、一つの特
定のタイプのアプリケーション、たとえば台帳または倉
庫管理のために構築される。
【0033】このコア・ビジネス・プロセス層103
は、完全なソフトウェア・アプリケーション・プログラ
ムではないが、このタイプのアプリケーション・プログ
ラムのすべてが必要とする基本機能をすべて含む上位ミ
ドルウェアとみなすことができる。このコア・ビジネス
・プロセス層103こそが、共通ビジネス・オブジェク
トのいくつかが、構築されるフレームワークのタイプ、
たとえば倉庫管理に固有の多数のオブジェクトに連結さ
れるアプリケーション・フレームワークを生成する。得
られるフレームワークは、共通に使用される機能を含
み、かつ拡張しやすいような方法で構成される。
【0034】上述の3層モデルの上に、ソフトウェア・
アプリケーション開発者によって生成され、実行可能な
符号を表すアプリケーション・ソフトウェアが位置す
る。ベース層101だけを使用するのか、ベース層10
1および共通ビジネス・オブジェクト層102を使用す
るのか、3層101、102および103すべてを使用
するのかは、ソフトウェア・アプリケーション開発者が
自らのソフトウェア・アプリケーションの開発に関して
選択する。いずれの場合にも、開発者は、アプリケーシ
ョンの残り部分を自ら開発しなければならず、したがっ
て、得られるソフトウェア・アプリケーション・プログ
ラムそれぞれが完全なオリジナル製品になる。
【0035】本発明の主体は、3層モデル101、10
2および103の中で表現されるのであり、本発明を使
用して開発されるソフトウェア・アプリケーション12
1の実行可能な符号によって表現されるのではないこと
に留意すること。
【0036】図2は、責任駆動戦略の連鎖のクラス表現
を示す。クライアント可視クラス301は、具体的連鎖
戦略302または具体的単純戦略303のいずれかで構
成することができる。理由は、いずれのタイプのクラス
も戦略インタフェース306をサポートするからであ
る。これが、アプリケーション開発者またはユーザが、
具体的単純戦略を303を使用しているときには性能に
関して、具体的連鎖戦略302を使用しているときには
融通性に関して、特定のクライアント可視クラス・イン
スタンス301を調整することを可能にする。プロパテ
ィとして保持される策略、たとえば策略B232が図2
の具体的連鎖戦略302のインスタンスであって、それ
により、より大きな融通性を提供してもよい。この融通
性は無限に拡張することもできるが、ただし、性能にお
ける対応する減少が伴う。具体的連鎖戦略302とカプ
セル化責任連鎖305との関係304は、実際の用途に
基づいて異なるかもしれない。たとえば、具体的連鎖戦
略302がカプセル化責任連鎖305を直接実施する
か、あるいは、具体的連鎖戦略302が一つ以上のカプ
セル化責任連鎖305オブジェクトを保持するか、ある
いは、具体的連鎖戦略302が、他のオブジェクトにお
けるプロパティによって保持される一つ以上のカプセル
化責任連鎖305オブジェクトを参照する。
【0037】上述したマルチレベル組織構造を用いるビ
ジネスのモデル化にしたがって共用要件のすべてに対処
するため、抽象コントローラ・クラスを定義して、管理
されるビジネス・オブジェクトのアクセスに関して定義
される共通のメソッドを提示する。この抽象クラスによ
って提示されるインタフェースは、クライアントによ
り、コントローラからのビジネス・オブジェクトにアク
セスするために使用される。この抽象コントローラ・ク
ラスからコントローラの二つの具体的サブクラスが導出
される。
【0038】第一のいわゆる「ルート」コントローラ
は、ビジネス・オブジェクトの集合体を保持し、その集
合体においてビジネス・オブジェクトを生成し、削除す
るためのメソッドを提供するコントローラである。ルー
ト・コントローラの集合体におけるビジネス・オブジェ
クトに対してのみ、このコントローラを介してアクセス
することができる。したがって、ある会社がBOのセッ
トをルート・コントローラ中に維持するとき、それは、
それ自体をその親のセット(あるならば)から隔離して
いる。
【0039】第二の具体的サブクラスは「集約」コント
ローラである。ルート・コントローラと同様に、集約コ
ントローラは、それ自体が管理するビジネス・オブジェ
クトの集合体を保持するが、ルート・コントローラとは
違って、ルート・コントローラまたは別の集約コントロ
ーラのいずれであってもよい「親」コントローラに対す
るアクセスを有する。集約コントローラを介してビジネ
ス・オブジェクトにアクセスするとき、コントローラは
まず、要求されたビジネス・オブジェクトを求めてそれ
自体の集合体をチェックする(ビジネス・オブジェクト
は普通、コントローラ構造の中でそれらを参照するため
に使用される一意IDによって識別される)。要求され
るビジネス・オブジェクトがそこに見つかるならば、そ
れは戻される。見つからないならば、親コントローラが
検索され、要求されたビジネス・オブジェクトを戻すよ
うに依頼される。要求されるビジネス・オブジェクトが
見つかるか、ルート・コントローラに遭遇するまで、こ
の行動が繰り返される。この行動は、クライアントに対
し、集約コントローラが、それが直接管理するビジネス
・オブジェクトおよび親コントローラの連鎖にあるビジ
ネス・オブジェクトを含む「論理的」範囲を有するよう
に見せることができる。集約コントローラはまた、親の
ビジネス・オブジェクトを、それ自体の集合体の中の一
致するもの(一致する一意ID)で打ち消すことができ
る。
【0040】集約コントローラの特殊化が、「隠蔽」コ
ントローラとして知られるサブクラスである。集約コン
トローラのすべての機能を提供することに加え、隠蔽コ
ントローラは、それが通常は一意なIDによって「隠蔽
する」ことを望む親コントローラによって保持されるビ
ジネス・オブジェクトの集合体を維持する。所与のID
を有するビジネス・オブジェクトが隠蔽コントローラに
対して要求されると、コントローラはまず、その「隠
蔽」オブジェクトの集合体をチェックする。オブジェク
トがそこに見つかるとしても、コントローラは、クライ
アントに対し、要求されたビジネス・オブジェクトが見
つからないと表示する。オブジェクトが隠蔽オブジェク
ト集合体の中にないならば、そのオブジェクトは、通常
の集約コントローラのやり方で検索される。隠蔽コント
ローラは、子会社が、親会社のセットの中の特定のビジ
ネス・オブジェクトを隠しながらも他のものを共用する
ことを許す。
【0041】集約コントローラによって使用される反復
性探索のタイプは、「責任連鎖」パターン(E. GAMMA
らの「Design Patterns: elements of reusable o
bject-oriented software」、Addison-Wesley、 199
5、ISBN 0-201-63361-2を参照)を使用するタイプであ
る。集約コントローラの場合、連鎖のリンクは直接的で
はない。代わりに、集約コントローラは、まず、その関
連会社(直接リンクが保持されているもの)に行き、会
社の組織ツリー構造を介して親会社にアクセスしたの
ち、親会社のプロパティ・コンテナ・インタフェースを
使用して親コントローラに要求することにより、その親
にアクセスする。このような、親コントローラと子コン
トローラとの関係のモデル化が、他のレベルでコントロ
ーラに悪影響を及ぼすことなく、組織構造のいかなるレ
ベルにおいてもコントローラを追加したり、削除した
り、変更したりすることを可能にする。すなわち、新た
なコントローラがある会社とそれの現在の親コントロー
ラの間に追加されるとき、より低いレベルの集約コント
ローラに対し、親コントローラ・リンクを再構築するよ
うに要求する。
【0042】図3は、ルート・コントローラおよび集約
コントローラならびにそれらの相互作用の具体例を示
す。この例では、会社1(401)を使用するクライア
ントがルート・コントローラ406と共働し、管理され
るオブジェクト・インスタンスA409およびB410
を見る。会社2(402)または会社3(403)のい
ずれかを使用するクライアントが、会社クラスによって
実現されるプロパティ・コントローラの行動を介して同
じルート・コントローラ406と共働する。会社4(4
04)を使用するクライアントが、集約コントローラ4
07と共働し、管理されるオブジェクト・インスタンス
A409(ルート・コントローラ406から検索)、B
412(局所的に検索して、ルート・コントローラ上の
インスタンスB410をオーバライドしたもの)および
D413(局所的に検索)を見る。会社5(405)を
使用するクライアントは、ルート・コントローラ408
と共働し、管理されるオブジェクト・インスタンスC4
11だけを見る。この場合、ルート・コントローラが検
索連鎖を終端させるため、オブジェクト・インスタンス
A409およびB410は見えない。
【0043】管理されるクラスのインスタンスを生成す
るとき、二つのコントローラ・タイプを合わせ、それら
の相互作用を指定することにより、データが部分的に共
用され、部分的に専有であるビジネス・オブジェクトを
実現することが可能である。図4に示すように、一方の
コントローラ・タイプ502は、ビジネス・オブジェク
ト504(専有データが位置する)のインスタンスを含
み、他方のコントローラ・タイプ503は、ビジネス・
オブジェクトの共用データ505のインスタンスを含
む。ビジネス・オブジェクト共用データ505のインス
タンスは、他のフレームワーク・オブジェクトとして生
成され、維持される。ビジネス・オブジェクト504の
インスタンスは、同じキー(通常はID)のビジネス・
オブジェクト共用データのインスタンスがすでに存在し
ない限り、生成することはできない。そして、ビジネス
・オブジェクト504は、その共通キー(ID)を使用
してビジネス・オブジェクト共用データ・オブジェクト
をそのコントローラ503から検索し、そのオブジェク
トに対する指標を維持する。したがって、ビジネス・オ
ブジェクト504は、その複合的関係によってビジネス
・オブジェクトの全行動を論理的に表現する。ビジネス
・オブジェクト共用データ503を求めてのコントロー
ラの検索は、前記のプロパティ検索のすべての規則にし
たがう。
【0044】先に記したように、ビジネス・オブジェク
ト504は、専有である属性、たとえばオブジェクト5
06を保持し、一方、関連の共用データ・オブジェクト
505は、共用される属性、たとえばオブジェクト50
7を保持する。ビジネス・オブジェクトは、すべての専
有データおよびすべての共用データをセットし、検索す
るためのインタフェースを提供し、したがって、複合ビ
ジネス・オブジェクトの全行動をサポートする。ビジネ
ス・オブジェクト504は、その関連の共用データ・オ
ブジェクト505の指標をはがし、共用データ・オブジ
ェクト505の属性507の関連のアクセサ・メソッド
に呼び出しの情報を転送することにより、共用属性(た
とえば507)をセットし、検索するためのクライアン
ト呼び出しを実現して、それにより、セットの場合には
共用データ・オブジェクトで属性をセットし、検索の場
合には属性をクライアントに戻す。ビジネス・オブジェ
クト504は、直接含まれる専有属性をセットまたは検
索することにより、専有属性(たとえば506)をセッ
トし、検索するためのクライアント呼び出しを実現す
る。この場合、共用データ・オブジェクト505は関与
しない。ビジネス・オブジェクト504はまた、すべて
の共用データ・メソッドのリストを戻すメソッドを実現
する。このリストは、メンテナンス・グラフィカル・ユ
ーザ・インタフェース(GUI)によって、たとえば、
共用データのセット・メソッドに制御アクセスするため
に使用することができる。
【0045】ビジネス・オブジェクト504(プロパテ
ィ・アクセス図を参照)および共用データ・オブジェク
ト505は、プロパティとしての属性のセットおよび検
索のためのメソッドを実現する。共用されることになっ
ているプロパティとして保持される属性は、共用データ
・オブジェクト505でプロパティとして保持される。
専有であることになっているプロパティとして保持され
る属性は、ビジネス・オブジェクト504でプロパティ
として保持される。プロパティとして保持される属性の
検索は、以下のアルゴリズムを含む。クライアントがビ
ジネス・オブジェクト504でプロパティ検索メソッド
を呼び出して、検索すべき属性のプロパティIDをパス
する。一致するIDのプロパティがビジネス・オブジェ
クト504で見つかるならば、属性がクライアントに戻
される。一致するIDのプロパティがビジネス・オブジ
ェクト504で見つからないならば、ビジネス・オブジ
ェクト504は、関連の共用データ・オブジェクト50
5の指標をはがし、適切なプロパティ検索メソッドをそ
れに呼び出し、クライアントによって与えられたプロパ
ティIDをパスする。そして、その呼び出しから戻され
た値がクライアントに戻される。
【0046】上述したプロパティ属性分解アルゴリズム
に対してフレームワークで使用される機能強化は、
「親」指標を各ビジネス・オブジェクト中の別のビジネ
ス・オブジェクトに付加することにより、階層の中に配
置される能力をビジネス・オブジェクトに与えることで
ある。
【0047】ビジネス・オブジェクトが階層親を有する
ときのプロパティ属性検索のメソッドを次のように図5
に示す。クライアントがビジネス・オブジェクト601
でプロパティ検索メソッドを呼び出して、検索される属
性のプロパティIDをパスする。一致するIDのプロパ
ティがビジネス・オブジェクト601で見つかるなら
ば、属性がクライアントに戻される。一致するIDのプ
ロパティがビジネス・オブジェクト601で見つからな
いならば、ビジネス・オブジェクト601は、関連の共
用データ・オブジェクト602の指標をはがし、適切な
プロパティ検索メソッドをそれに呼び出す。一致するI
Dのプロパティが共用データ・オブジェクト602で見
つかるならば、属性がクライアントに戻される。一致す
るIDのプロパティが共用データ・オブジェクト602
で見つからないならば、ビジネス・オブジェクト601
は、その親ビジネス・オブジェクト603の指標をはが
し、適切なプロパティ検索メソッドをそれに呼び出し
て、親オブジェクトに対してアルゴリズムを繰り返させ
る。したがって、プロパティが親ビジネス・オブジェク
ト603で見つからないならば、共用データ・オブジェ
クト604は、再試行されたのち、603の親オブジェ
クト(あるならば)が続く。プロパティが見つかるか、
探索中の現在のビジネス・オブジェクトが親指標を有し
ないかのいずれかの場合に検索アルゴリズムは終了す
る。
【0048】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)コンピュータ・システムによって処理される多数
のオブジェクトを含む、たとえばビジネス・アプリケー
ションのソフトウェア・システムを開発するために使用
されるフレームワークであって、組織構造が、ツリー構
造に組織された会社オブジェクトによって表現され、前
記会社オブジェクトが、指定データを名前によってその
インスタンス生成されたオブジェクトに加えることがで
きる能力を提供するプロパティ・コンテナ・インタフェ
ースを実現し、コントローラ・オブジェクトがプロパテ
ィとして前記会社オブジェクトに付加されていることを
特徴とするフレームワーク。 (2)共用要件に付されるビジネス・オブジェクトのク
ラスごとにコントローラ・クラスが導入される上記
(1)記載のフレームワーク。 (3)前記ビジネス・オブジェクトの所与のものについ
て、クライアントが前記ビジネス・オブジェクト・クラ
スのオブジェクトをアクセス、削除または生成するため
のインタフェースを前記コントローラ・クラスが提供す
る上記(2)記載のフレームワーク。 (4)前記コントローラ・オブジェクトが、前記組織構
造のいずれかの点で前記プロパティとしての前記会社オ
ブジェクトと関連することができる上記(1)〜(3)
のいずれか1項記載のフレームワーク。 (5)前記コントローラ・クラスが終了行動を提供し、
前記会社ツリー構造中でより高位のコントローラに含ま
れる管理されるオブジェクト・インスタンスがクライア
ントによって見られることを前記終了行動が防ぐ、ある
いは、前記コントローラ・クラスが集約行動を提供し、
前記集約行動が前記インスタンスが見られることを許す
上記(2)項記載のフレームワーク。 (6)前記集約行動がビジネス・オブジェクト・インス
タンスの打ち消しをサポートして、前記会社ツリー構造
の中でより高位にある同じ識別子(ID)を有するイン
スタンスの代わりに局所ビジネス・オブジェクト・バー
ジョンが見えるようにする上記(5)項記載のフレーム
ワーク。 (7)隠蔽行動が、前記会社ツリー構造中でより高位に
あるビジネス・オブジェクトが局所的に見えることを防
ぐ上記(5)または(6)記載のフレームワーク。 (8)コントローラと、相互作用するビジネス・オブジ
ェクト生成行動との組み合わせが、ビジネス・オブジェ
クトが専有部分および共用部分を有することを許し、前
記クライアントが、専有コンポーネントと共用コンポー
ネントとの合計を表す複合ビジネス・オブジェクトのみ
を見る上記(2)記載のネットワーク。 (9)オブジェクト指向技術と、上記(1)〜(8)の
いずれか1項記載のフレームワークとを使用してソフト
ウェア・システムを開発する方法。 (10)上記(1)〜(8)のいずれか1項記載のフレ
ームワークを記憶するデータ記憶媒体。
【図面の簡単な説明】
【図1】本発明を使用してソフトウェア・アプリケーシ
ョンを開発することができる4層スキーマ図である。
【図2】責任駆動戦略の連鎖のクラス表現を示す図であ
る。
【図3】ルート・コントローラおよび集約コントローラ
ならびにそれらの相互作用の具体例を示す図である。
【図4】2種のコントローラ・タイプの組み合わせを示
す図である。
【図5】ビジネス・オブジェクトが階層親を有するとき
の、プロパティ属性検索のためのメソッドを示す図であ
る。
【符号の説明】
101 ベース層 102 共通ビジネス・オブジェクト層 103 コア・ビジネス・プロセス層 111 サーバ・ハードウェア 112 クライアント・ハードウェア 113 通信ネットワーク 120 ソフトウェア・アプリケーション
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ブレント・カールソン スウェーデン国191 50、 ソレントゥナ プラトーヴェーイェーン 26 (72)発明者 ティモシー・グラサー アメリカ合衆国55901、 ミネソタ州、 ロチェスター エヌエム サーティエイ ス・ストリート 1317 (72)発明者 アンデルス・ニールソン ノルウェー国エヌ−1481、 アーガン ツ ェッスリア 47

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】コンピュータ・システムによって処理され
    る多数のオブジェクトを含む、たとえばビジネス・アプ
    リケーションのソフトウェア・システムを開発するため
    に使用されるフレームワークであって、 組織構造が、ツリー構造に組織された会社オブジェクト
    によって表現され、 前記会社オブジェクトが、指定データを名前によってそ
    のインスタンス生成されたオブジェクトに加えることが
    できる能力を提供するプロパティ・コンテナ・インタフ
    ェースを実現し、 コントローラ・オブジェクトがプロパティとして前記会
    社オブジェクトに付加されていることを特徴とするフレ
    ームワーク。
  2. 【請求項2】共用要件に付されるビジネス・オブジェク
    トのクラスごとにコントローラ・クラスが導入される請
    求項1記載のフレームワーク。
  3. 【請求項3】前記ビジネス・オブジェクトの所与のもの
    について、クライアントが前記ビジネス・オブジェクト
    ・クラスのオブジェクトをアクセス、削除または生成す
    るためのインタフェースを前記コントローラ・クラスが
    提供する請求項2記載のフレームワーク。
  4. 【請求項4】前記コントローラ・オブジェクトが、前記
    組織構造のいずれかの点で前記プロパティとしての前記
    会社オブジェクトと関連することができる請求項1〜3
    のいずれか1項記載のフレームワーク。
  5. 【請求項5】前記コントローラ・クラスが終了行動を提
    供し、前記会社ツリー構造中でより高位のコントローラ
    に含まれる管理されるオブジェクト・インスタンスがク
    ライアントによって見られることを前記終了行動が防
    ぐ、あるいは、 前記コントローラ・クラスが集約行動を提供し、前記集
    約行動が前記インスタンスが見られることを許す請求項
    2項記載のフレームワーク。
  6. 【請求項6】前記集約行動がビジネス・オブジェクト・
    インスタンスの打ち消しをサポートして、前記会社ツリ
    ー構造の中でより高位にある同じ識別子(ID)を有す
    るインスタンスの代わりに局所ビジネス・オブジェクト
    ・バージョンが見えるようにする請求項5項記載のフレ
    ームワーク。
  7. 【請求項7】隠蔽行動が、前記会社ツリー構造中でより
    高位にあるビジネス・オブジェクトが局所的に見えるこ
    とを防ぐ請求項5または6記載のフレームワーク。
  8. 【請求項8】コントローラと、相互作用するビジネス・
    オブジェクト生成行動との組み合わせが、ビジネス・オ
    ブジェクトが専有部分および共用部分を有することを許
    し、前記クライアントが、専有コンポーネントと共用コ
    ンポーネントとの合計を表す複合ビジネス・オブジェク
    トのみを見る請求項2記載のネットワーク。
  9. 【請求項9】オブジェクト指向技術と、請求項1〜8の
    いずれか1項記載のフレームワークとを使用してソフト
    ウェア・システムを開発する方法。
  10. 【請求項10】請求項1〜8のいずれか1項記載のフレ
    ームワークを記憶するデータ記憶媒体。
JP10186292A 1997-08-14 1998-07-01 フレームワークおよびソフトウェア・システムを開発する方法 Pending JPH1173320A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE97114037.1 1997-08-14
EP97114037 1997-08-14

Publications (1)

Publication Number Publication Date
JPH1173320A true JPH1173320A (ja) 1999-03-16

Family

ID=8227213

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10186292A Pending JPH1173320A (ja) 1997-08-14 1998-07-01 フレームワークおよびソフトウェア・システムを開発する方法

Country Status (2)

Country Link
US (1) US6134706A (ja)
JP (1) JPH1173320A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002358200A (ja) * 2001-06-04 2002-12-13 Yokogawa Electric Corp 業務システムの構築装置及び業務システム
JP2005526308A (ja) * 2002-02-15 2005-09-02 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 移動体端末のための階層アーキテクチャ
US7406474B2 (en) 2004-12-08 2008-07-29 International Business Machines Corporation Discovering object definition information in an integrated application environment
JP2016062190A (ja) * 2014-09-16 2016-04-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation プログラミング言語の処理系を実現する装置及び方法

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7140001B1 (en) * 1998-07-24 2006-11-21 Kabushiki Kaisha Toshiba Method for constructing business application system and computer-readable storage medium having stored framework for business application system
US6427229B1 (en) * 1998-10-22 2002-07-30 International Business Machines Corporation Object oriented mechanism and method for maintaining elements on a flexibly constrained collection that may use any suitable object as a key
US6718533B1 (en) * 1999-02-26 2004-04-06 Real-Time Innovations, Inc. Method for building a real-time control system with mode and logical rate
US7162427B1 (en) * 1999-08-20 2007-01-09 Electronic Data Systems Corporation Structure and method of modeling integrated business and information technology frameworks and architecture in support of a business
US6970844B1 (en) 1999-08-27 2005-11-29 Computer Sciences Corporation Flow designer for establishing and maintaining assignment and strategy process maps
US6961708B1 (en) 1999-08-27 2005-11-01 Computer Sciences Corporation External interface for requesting data from remote systems in a generic fashion
US7693844B1 (en) * 1999-10-29 2010-04-06 Computer Sciences Corporation Configuring processing relationships among entities of an organization
US8589777B1 (en) 2000-01-21 2013-11-19 International Business Machines Corporation Method and system for calculating cost of a compilation of content
US7340481B1 (en) 2000-01-21 2008-03-04 International Business Machines Corp. Method and system for adding user-provided content to a content object stored in a data repository
US7613993B1 (en) 2000-01-21 2009-11-03 International Business Machines Corporation Prerequisite checking in a system for creating compilations of content
US6839701B1 (en) 2000-01-21 2005-01-04 International Business Machines Hitmask for querying hierarchically related content entities
US6449627B1 (en) * 2000-01-21 2002-09-10 International Business Machines Corp. Volume management method and system for a compilation of content
US7076494B1 (en) 2000-01-21 2006-07-11 International Business Machines Corporation Providing a functional layer for facilitating creation and manipulation of compilations of content
US7089239B1 (en) 2000-01-21 2006-08-08 International Business Machines Corporation Method and system for preventing mutually exclusive content entities stored in a data repository to be included in the same compilation of content
US7401097B1 (en) 2000-01-21 2008-07-15 International Business Machines Corporation System and method for creating compilations of content
US7043488B1 (en) 2000-01-21 2006-05-09 International Business Machines Corporation Method and system for storing hierarchical content objects in a data repository
US6986102B1 (en) 2000-01-21 2006-01-10 International Business Machines Corporation Method and configurable model for storing hierarchical data in a non-hierarchical data repository
US7346844B1 (en) 2000-01-21 2008-03-18 International Business Machines, Corporation Method and system for moving content in a content object stored in a data repository
US7356766B1 (en) 2000-01-21 2008-04-08 International Business Machines Corp. Method and system for adding content to a content object stored in a data repository
US7007034B1 (en) 2000-01-21 2006-02-28 International Business Machines Corporation File structure for storing content objects in a data repository
US6993743B2 (en) * 2000-06-03 2006-01-31 Sun Microsystems, Inc. Method and apparatus for developing enterprise applications using design patterns
EP2317432A1 (en) * 2000-10-26 2011-05-04 Microsoft Development Center Copenhagen ApS A system and method supporting configurable object definitions
EP1342157B1 (en) * 2000-11-09 2008-10-15 Navision A/S An auto-generated task sequence
US7882253B2 (en) * 2001-04-05 2011-02-01 Real-Time Innovations, Inc. Real-time publish-subscribe system
US7278134B2 (en) * 2001-04-27 2007-10-02 International Business Machines Corporation Three dimensional framework for information technology solutions
CN1383060A (zh) * 2001-04-28 2002-12-04 国际商业机器中国香港有限公司 基于计算机编制电子商务计划的系统和方法
US7000199B2 (en) * 2001-05-09 2006-02-14 Fairisaac And Company Inc. Methodology for viewing large strategies via a computer workstation
US7322024B2 (en) * 2002-03-18 2008-01-22 Logiclibrary, Inc. Generating reusable software assets from distributed artifacts
US7149734B2 (en) * 2001-07-06 2006-12-12 Logic Library, Inc. Managing reusable software assets
US20030088858A1 (en) * 2001-11-07 2003-05-08 International Business Machines Corporation Closed-loop design methodology for matching customer requirements to software design
US8412813B2 (en) * 2002-03-18 2013-04-02 Logiclibrary, Inc. Customizable asset governance for a distributed reusable software library
US7200805B2 (en) * 2002-03-19 2007-04-03 Logiclibrary, Inc. Dynamic generation of schema information for data description languages
IES20030702A2 (en) * 2002-09-23 2004-01-14 Neos Financial Systems Ltd A data processing system and method
US7499935B2 (en) * 2002-11-06 2009-03-03 Lawrence Casey J System and method for enabling access to a data source through a graphical interface
US7418448B2 (en) * 2003-03-12 2008-08-26 Microsoft Corporation Organization structure system
US20040187140A1 (en) * 2003-03-21 2004-09-23 Werner Aigner Application framework
US7302677B2 (en) * 2003-05-08 2007-11-27 Microsoft Corporation Event driven graph explorer for model-based testing of software
US7853507B2 (en) * 2003-06-23 2010-12-14 Omx Technology Ab Method for organizing financial instruments in a CSD-system
US7383534B1 (en) * 2003-09-10 2008-06-03 Symantec Corporation Configuration system and methods including configuration inheritance and revisioning
US7472422B1 (en) 2003-09-10 2008-12-30 Symantec Corporation Security management system including feedback and control
US7685016B2 (en) * 2003-10-07 2010-03-23 International Business Machines Corporation Method and system for analyzing relationships between persons
US20050096950A1 (en) * 2003-10-29 2005-05-05 Caplan Scott M. Method and apparatus for creating and evaluating strategies
JP4722558B2 (ja) * 2004-06-01 2011-07-13 株式会社小松製作所 ダイクッション装置
US20060167778A1 (en) * 2004-09-21 2006-07-27 Whitebirch Software, Inc. Object-oriented financial modeling
US7533128B1 (en) 2005-10-18 2009-05-12 Real-Time Innovations, Inc. Data distribution service and database management systems bridge
US20070118527A1 (en) * 2005-11-22 2007-05-24 Microsoft Corporation Security and data filtering
US8099716B2 (en) * 2005-11-28 2012-01-17 Ubiquity Software Corporation Limited Service structured application development architecture
US8671135B1 (en) 2006-04-24 2014-03-11 Real-Time Innovations, Inc. Flexible mechanism for implementing the middleware of a data distribution system over multiple transport networks
US7827559B1 (en) 2006-04-24 2010-11-02 Real-Time Innovations, Inc. Framework for executing multiple threads and sharing resources in a multithreaded computer programming environment
US7783853B1 (en) 2006-04-24 2010-08-24 Real-Time Innovations, Inc. Memory usage techniques in middleware of a real-time data distribution system
US7831526B1 (en) 2006-08-25 2010-11-09 Fair Isaac Corporation Article and method for finding a compact representation to visualize complex decision trees
US20080208645A1 (en) * 2007-02-23 2008-08-28 Controlpath, Inc. Method for Logic Tree Traversal
US20080228535A1 (en) * 2007-03-13 2008-09-18 Kevin Hanes Information Handling System Deployment Assessment
US20080228814A1 (en) * 2007-03-13 2008-09-18 Jefferson Raley Determining Software Rationalization for Optimizing Information Handling System Deployments
US20080228505A1 (en) * 2007-03-13 2008-09-18 Kevin Hanes Client Deployment Optimization Model
US8533661B2 (en) * 2007-04-27 2013-09-10 Dell Products, Lp System and method for automated on-demand creation of a customized software application
US7788150B2 (en) * 2007-06-15 2010-08-31 Trustwave Holdings, Inc. Method for assessing risk in a business
US8200609B2 (en) * 2007-08-31 2012-06-12 Fair Isaac Corporation Construction of decision logic with graphs
US8312389B2 (en) 2007-08-31 2012-11-13 Fair Isaac Corporation Visualization of decision logic
US8266090B2 (en) 2007-08-31 2012-09-11 Fair Isaac Corporation Color-coded visual comparison of decision logic
US8060421B1 (en) * 2007-10-17 2011-11-15 The Mathworks, Inc. Object oriented financial analysis tool
US8280836B2 (en) 2008-09-08 2012-10-02 Fair Isaac Corporation Converting unordered graphs to oblivious read once ordered graph representation
US8237716B2 (en) * 2008-09-08 2012-08-07 Fair Isaac Corporation Algorithm for drawing directed acyclic graphs
US8730241B2 (en) * 2008-09-08 2014-05-20 Fair Isaac Corporation Techniques for drawing curved edges in graphs
US20100088391A1 (en) * 2008-10-06 2010-04-08 Frank Brunswig Backend service adaptation
US8959481B2 (en) * 2009-04-30 2015-02-17 International Business Machines Corporation Determining system level dependencies
US8732211B2 (en) 2011-01-28 2014-05-20 International Business Machines Corporation Method, computer system, and physical computer storage medium for organizing data into data structures
US9710282B2 (en) 2011-12-21 2017-07-18 Dell Products, Lp System to automate development of system integration application programs and method therefor
US8943076B2 (en) 2012-02-06 2015-01-27 Dell Products, Lp System to automate mapping of variables between business process applications and method therefor
US8805716B2 (en) 2012-03-19 2014-08-12 Dell Products, Lp Dashboard system and method for identifying and monitoring process errors and throughput of integration software
US8782103B2 (en) 2012-04-13 2014-07-15 Dell Products, Lp Monitoring system for optimizing integrated business processes to work flow
US9606995B2 (en) 2012-04-30 2017-03-28 Dell Products, Lp Cloud based master data management system with remote data store and method therefor
US9158782B2 (en) 2012-04-30 2015-10-13 Dell Products, Lp Cloud based master data management system with configuration advisor and method therefore
US9015106B2 (en) 2012-04-30 2015-04-21 Dell Products, Lp Cloud based master data management system and method therefor
US8589207B1 (en) 2012-05-15 2013-11-19 Dell Products, Lp System and method for determining and visually predicting at-risk integrated processes based on age and activity
US9069898B2 (en) 2012-05-31 2015-06-30 Dell Products, Lp System for providing regression testing of an integrated process development system and method therefor
US9092244B2 (en) 2012-06-07 2015-07-28 Dell Products, Lp System for developing custom data transformations for system integration application programs
US9207915B2 (en) * 2012-11-07 2015-12-08 Infosys Limited Methods for detecting plagiarism in software code implementing a design pattern, including detecting a design pattern implemented in the software code and creating a representation that implements program logic associated with at least one function implementing the design pattern
US9268533B2 (en) 2013-01-30 2016-02-23 International Business Machines Corporation Method and apparatus for enabling layered property definition in traditional and cloud computing environments
US9665403B2 (en) 2013-03-15 2017-05-30 Miosoft Corporation Executing algorithms in parallel
US9613112B2 (en) * 2013-03-15 2017-04-04 Miosoft Corporation Structuring data
US9183074B2 (en) 2013-06-21 2015-11-10 Dell Products, Lp Integration process management console with error resolution interface
US10089343B2 (en) * 2015-11-18 2018-10-02 Sap Se Automated analysis of data reports to determine data structure and to perform automated data processing
US11475030B2 (en) 2016-11-10 2022-10-18 Ronald Scott Visscher System with a unique and versatile evaluation method
US10498858B2 (en) 2016-12-14 2019-12-03 Dell Products, Lp System and method for automated on-demand creation of and execution of a customized data integration software application
CN111090424B (zh) * 2019-11-28 2023-12-19 武汉虹信技术服务有限责任公司 一种基于iOS的无限层级通讯录的搭建方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5642511A (en) * 1994-12-16 1997-06-24 International Business Machines Corporation System and method for providing a visual application builder framework
US5878427A (en) * 1995-05-31 1999-03-02 Texas Instruments Incorporated Method and system for assembling complex objects
US5890132A (en) * 1996-06-14 1999-03-30 Electronic Data Systems Corporation Associating a physical application to a business operation
US5893107A (en) * 1996-07-01 1999-04-06 Microsoft Corporation Method and system for uniformly accessing multiple directory services
US5860005A (en) * 1996-07-16 1999-01-12 Fujitsu Ltd. Apparatus for supporting development of information processing system
US5890161A (en) * 1997-10-28 1999-03-30 Microsoft Corporation Automatic transaction processing of component-based server applications

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002358200A (ja) * 2001-06-04 2002-12-13 Yokogawa Electric Corp 業務システムの構築装置及び業務システム
JP2005526308A (ja) * 2002-02-15 2005-09-02 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 移動体端末のための階層アーキテクチャ
US7406474B2 (en) 2004-12-08 2008-07-29 International Business Machines Corporation Discovering object definition information in an integrated application environment
US8302107B2 (en) 2004-12-08 2012-10-30 International Business Machines Corporation Discovering object definition information in an integrated application environment
US9218225B2 (en) 2004-12-08 2015-12-22 International Business Machines Corporation Discovering object definition information in an integrated application environment
US10248473B2 (en) 2004-12-08 2019-04-02 International Business Machines Corporation Discovering object definition information in an integrated application environment
JP2016062190A (ja) * 2014-09-16 2016-04-25 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation プログラミング言語の処理系を実現する装置及び方法
US9921858B2 (en) 2014-09-16 2018-03-20 International Business Machines Corporation Apparatus and method for realizing runtime system for programming language
US10331465B2 (en) 2014-09-16 2019-06-25 International Business Machines Corporation Apparatus and method for realizing runtime system for programming language
US10922107B2 (en) 2014-09-16 2021-02-16 International Business Machines Corporation Apparatus and method for realizing runtime system for programming language

Also Published As

Publication number Publication date
US6134706A (en) 2000-10-17

Similar Documents

Publication Publication Date Title
JPH1173320A (ja) フレームワークおよびソフトウェア・システムを開発する方法
JP3566550B2 (ja) ソフトウェア・システムを開発するためのコンピュータ・システムおよびコンピュータ可読な記憶媒体
US6106569A (en) Method of developing a software system using object oriented technology
US5557793A (en) In an object oriented repository, a method for treating a group of objects as a single object during execution of an operation
US6038393A (en) Software development tool to accept object modeling data from a wide variety of other vendors and filter the format into a format that is able to be stored in OMG compliant UML representation
US6052525A (en) Method of error handling in a framework
US7577934B2 (en) Framework for modeling and providing runtime behavior for business software applications
US7424485B2 (en) Method and apparatus for generating user interfaces based upon automation with full flexibility
US5644764A (en) Method for supporting object modeling in a repository
US5671398A (en) Method for collapsing a version tree which depicts a history of system data and processes for an enterprise
US7730446B2 (en) Software business process model
US7085752B2 (en) Customization of metadata describing objects in a computing environment
US5581755A (en) Method for maintaining a history of system data and processes for an enterprise
US6073111A (en) Container materialization/dematerialization for reduced dataload and improved data-coherency in workflow-management systems
US20040230559A1 (en) Information processing device and information processing method
US20100005074A1 (en) System and method for accessing data
EP0841612A2 (en) Framework for software development
JPH0764778A (ja) オブジェクト指向コンピュータ・システム及びオブジェクト実行方法
RU2413978C2 (ru) Безопасность на основе области
US6499064B1 (en) Method of using decoupled chain of responsibility
US6092075A (en) Framework for business applications using cached aggregate and specification key
EP0897149B1 (en) Framework for business applications providing financial integration
US6954895B1 (en) Method and apparatus for using and storing objects
WO1997044729A1 (en) Application services builder
US6418483B2 (en) Method of locating software objects in different containers