JP2000353084A - コンポーネントウェア流通装置、その方法およびコンポーネントウェア流通プログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents

コンポーネントウェア流通装置、その方法およびコンポーネントウェア流通プログラムを記録したコンピュータ読み取り可能な記録媒体

Info

Publication number
JP2000353084A
JP2000353084A JP11162583A JP16258399A JP2000353084A JP 2000353084 A JP2000353084 A JP 2000353084A JP 11162583 A JP11162583 A JP 11162583A JP 16258399 A JP16258399 A JP 16258399A JP 2000353084 A JP2000353084 A JP 2000353084A
Authority
JP
Japan
Prior art keywords
componentware
unit
distribution
entity
framework
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
JP11162583A
Other languages
English (en)
Inventor
Yukiteru Nozawa
澤 幸 輝 野
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP11162583A priority Critical patent/JP2000353084A/ja
Publication of JP2000353084A publication Critical patent/JP2000353084A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 コンポーネントウェアの流通を促進してアプ
リケーション構築の生産性を向上させることができるコ
ンポーネントウェア流通装置等を提供する。 【解決手段】 フレバードフレームワーク流通部11
は、実アプリケーション16を受け付けてフレバードフ
レームワーク17を抽出しリポジトリ15に格納する
他、プレーンフレームワーク18を抽出しプレーンフレ
ームワーク流通部12へ移管する。同様にプレーンフレ
ームワーク流通部12は、プレーンフレームワーク18
を抽出しリポジトリ15に格納する他、移管されたプレ
ーンフレームワーク18をリポジトリ15に格納する。
消費流通部13は、リポジトリ15で管理されているフ
レームワークと、広告20とを消費者に対して払い出
す。広告流通部14は、広告20をリポジトリ15に格
納する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はアプリケーション構
築の生産性を向上させるための技術に係り、とりわけ、
コンポーネントウェアの流通を促進するコンポーネント
ウェア流通装置、その方法およびコンポーネントウェア
流通プログラムを記録したコンピュータ読み取り可能な
記録媒体に関する。
【0002】
【従来の技術】新規にアプリケーションを構築しようと
する際には、生産性の向上を目的として、既存のアプリ
ケーションの構築の際に得られた何らかの成果物を再利
用しようとするアプローチが取られることが多い。
【0003】このような再利用アプローチがより効果を
発揮するアプリケーション構築手法の一つとして、特に
「部品化」という観点から、オブジェクト指向技術を利
用した構築手法が広く浸透するようになってきている。
【0004】オブジェクト指向技術を利用したアプリケ
ーション構築においては、アプリケーションを「オブジ
ェクト」と呼ばれる構成単位の集合体とみなす。それゆ
え、オブジェクト指向技術による再利用アプローチとし
ては、既存のアプリケーションに広範囲に見受けられる
オブジェクトを抽出し、あるいは今後広範囲に繰り返し
利用されるであろうオブジェクトの開発を目指す傾向を
有することになった。いわゆる「クラスライブラリ」と
呼ばれるもののアプローチである。
【0005】しかし、クラスライブラリに含まれるオブ
ジェクトは、上述した広範囲への適用可能性の追求とい
う理由から、非常に汎用的であることが求められるの
で、単機能的で、他のオブジェクトとの関連が非常に薄
い、孤立したオブジェクトとしてデザインされることが
多かった。例を挙げると、文字列やリストなどの汎用デ
ータ構造、ウィンドウやボタンなどのGUI部品などで
ある。
【0006】ところで、先の記述では、オブジェクト指
向技術ではアプリケーションをオブジェクトの集合体と
みなしているとした。しかし、単にオブジェクトを寄せ
集めただけではアプリケーションとしては十分に機能せ
ず、それらオブジェクト間に適切な関連付けを施して初
めてアプリケーションとして十分なものになり得る。す
なわち、個々のオブジェクトに加えて、それらオブジェ
クト間の連携のあり方が非常に重要である。
【0007】しかし、クラスライブラリに含まれるオブ
ジェクトは孤立したオブジェクトであるので、クラスラ
イブラリのみではオブジェクト間の連携のあり方を示す
ことができず、結果として、上述したような部分再利用
アプローチのみではアプリケーションの構築には不十分
であった。
【0008】そこで、クラスライブラリとは反対に、ア
プリケーション全体を再利用するアプローチも考えられ
る。例えば、ERP(Enterprise Resource Planning)
パッケージなどと呼ばれるもののアプローチである。ち
なみに、ERPパッケージはオブジェクト指向技術と接
点を持つものであるが、オブジェクト指向技術の発展の
延長線上に包含されてしまうものではない。ここではア
プリケーションの全体再利用性について説明するため
に、オブジェクト指向技術が提供するテクニックを取り
込んで構築されたアプリケーションとしてのERPパッ
ケージを引き合いに出しているに過ぎない。なお、ER
Pパッケージについては例えば、文献(「図解ERPの
導入」、松原著、日刊工業新聞社刊)や、文献(「ER
P入門」、同期ERP研究所編、工業調査会刊)を参照
されたい。
【0009】しかし、上述したような、アプリケーショ
ン全体を再利用するアプローチにも幾つかの問題が指摘
されている。
【0010】まずは、アプリケーション全体の再利用を
試みようとしても、それが技術的に難しい場合が多いと
いう事実である。例えば、ある基幹業務システムを実現
するアプリケーションを他の企業向けに再利用する場合
を想定すると、それをそのまま転用するということは考
え難く、新たに導入しようとしている企業の都合に合わ
せて、何らかの変更を施すのが一般的である。そのよう
な場合、単にアプリケーション全体が再利用の対象とし
て与えられても、どのオブジェクトをどのように変更し
て良いかを決定するのは非常に難しい。なぜなら、業務
を体現することになるオブジェクトは一般に複数に跨っ
ており、さらにそれらの緊密に連携しているオブジェク
トの一部を変更した場合、アプリケーション全体にどの
ような影響が波及するかを解析するのに有効な手法が明
確になっているわけではないからである。
【0011】また、アプリケーション全体を再利用する
ことがそもそも許されない場合がある。ERPパッケー
ジの例では初めから多くの企業で利用されることを目的
にしているので再利用が許されないということはない
が、個別企業向けに開発されたインデントアプリケーシ
ョンのような場合には、再利用が許されないということ
は十分にあり得る。なぜなら、自社のアプリケーション
を他社に転用するということは、業務ノウハウの開示に
相当してしまうため、当然のことながら提供元の企業は
転用を望まない。
【0012】以上の理由などから、アプリケーション全
体を再利用するアプローチも、アプリケーションの構築
には不十分であった。
【0013】そのため、以上のような経緯から、部分再
利用と全体再利用の両方の有効性を同時に発揮できるア
プリケーション構築手法が模索されてきた。そしてその
答えとして、アプリケーションフレームワークあるいは
デザインパターンという手法が注目されるようになって
きている。アプリケーションフレームワークとデザイン
パターンとは厳密には異なるが、オブジェクトの組合せ
パターンを再利用するという点で共通している。従っ
て、以下の説明においては、デザインパターンをアプリ
ケーションフレームワークに包含されるものとして考え
る。
【0014】アプリケーションフレームワークにおける
再利用アプローチのポイントは、ベースオブジェクトと
カスタムオブジェクトという考え方である。
【0015】「ベースオブジェクト」とは、アプリケー
ションの骨格を構成するオブジェクトであり、ある問題
領域を設定した場合に、その問題領域に対応するアプリ
ケーションに広く共通して現れるオブジェクトのことで
ある。なお、ベースオブジェクト間には、骨格を形成す
るための適切な関連付けがなされている。これらベース
オブジェクトとそれらの関連とは、基本的にアプリケー
ション毎で不変である。
【0016】これに対して「カスタムオブジェクト」と
は、アプリケーション毎の変更を吸収するためのオブジ
ェクトであり、その存在自体はある問題領域に対応する
アプリケーションに広く共通して現れるが、その内容は
個々のアプリケーション毎に異なるというオブジェクト
である。なお、カスタムオブジェクトは、基本的に組み
込まれるべきベースオブジェクトが決まっているのが普
通である。
【0017】アプリケーションフレームワークという手
法を用いたアプリケーション構築では、設定された問題
領域に最も良く合致するベースオブジェクト群とそれら
によって形成される骨格とを選び出し、さらにカスタム
オブジェクトを要求仕様に合わせて用意し、適切なベー
スオブジェクトに組み込む、という手順を踏むことにな
る。
【0018】このようなアプリケーションフレームワー
クという手法によって、各ベースオブジェクトあるいは
カスタムオブジェクトを再利用するという部分再利用
と、ベースオブジェクト間が構成する骨格、あるいはベ
ースオブジェクトとカスタムオブジェクトの組合せ情報
を再利用するという全体再利用とを同時に実現し、それ
らの有効性を同時に発揮させることができるようになっ
た。
【0019】しかし、アプリケーションフレームワーク
という手法によって、再利用によるアプリケーション構
築が一気に進展したかというと必ずしもそうではない。
なぜなら、再利用の対象がソースコードであることが一
般的であったためである。
【0020】再利用の対象がソースコードの場合にどの
ような問題があるかを以下に示す。
【0021】まずは、ソースコードが開示されてしまう
ことによる開発者側不利益である。ソースコードを再利
用対象とする場合には、当然のことながらそれを利用し
ようとする第三者的開発者にソースコードを開示するこ
とになる。問題になるのは、通常、ソースコードにはコ
ーディング上のノウハウが凝集されているものであり、
そのノウハウはオリジナルの開発者にとっての財産とし
て保護されるべきものであるということである。すなわ
ち、ソースコードを開示することによって、その財産が
流出してしまう恐れがあるということである。この問題
は、オリジナルの開発者と再利用を行う利用者とが異な
る企業であるような場合には、非常に深刻である。本
来、再利用によるアプリケーション構築は、生産性の向
上のみが達成されれば良いはずで、ソースコードのコー
ディングノウハウの流出は本意ではない。
【0022】また、ソースコードをコンパイルしなけれ
ばならないという利用者側不利益も存在する。通常、再
利用を試みた場合には、問題領域の広がりと複雑さとを
吸収できるだけの複数の既存成果物が対象となる。問題
は、それらの既存成果物が開発された環境が異なる場合
が多い、ということである。端的には開発言語が異なれ
ば使用するコンパイラも異なってしまうため、利用者は
複数の開発環境を駆使しなければ再利用を行うことがで
きなかった。
【0023】すなわち、アプリケーションフレームワー
ク自体は優れた手法であっても、その対象がソースコー
ドのままでは再利用アプローチを進展させるのは難しか
った。
【0024】一方で、再利用対象をソースコードから
「コンポーネントウェア」と呼ばれるバイナリ形式の成
果物とする手法も存在する。なお、ここでいうバイナリ
形式とは、ソースコードが既にコンパイルされ、リンク
するだけで実行可能になるような形式を指す。詳しく
は、文献(「平成9年度 ネットワーク時代のソフトビ
ジネスに関する調査報告書」、(社)情報サービス産業
協会刊)を参照されたい。コンポーネントウェアの例と
しては、Sun社が取りまとめているJavaBeansや、Micros
oft社が取りまとめているActiveXなどが挙げられる。
【0025】これまでのコンポーネントウェアによる再
利用では、上述したようなクラスライブラリ的な再利用
アプローチが多かった。例えば、Microsoft社が提供す
るVisual Basicと呼ばれる開発環境では、OCXと呼ば
れるコンポーネントウェアを取り扱うことができ、それ
らのコンポーネントウェアを、構築するアプリケーショ
ンに合わせて導入することで、再利用を行うことが可能
である。しかし、上述したように、クラスライブラリと
して抽出されたオブジェクトは単機能的で孤立してお
り、再利用アプローチとして不十分なものであった。
【0026】以上のようなコンポーネントによる部分再
利用に対して、全体再利用も試みられている。
【0027】一つは、IBM社が取りまとめているSan
Franciscoプロジェクトである。SanFranciscoプロジェ
クトでは、アプリケーションを構築する際に広く必要と
される汎用的なオブジェクトを、Foundation層、Common
Business Object層、Core Business Process層と階層
化した上で提供し、さらに業務特化の部分は個別に変更
可能とするアーキテクチャによって、コンポーネントに
よる再利用を実現している。特にCore Business Proces
s層においてデザインパターンを適用し、部分再利用と
全体再利用とを同時に実現している。
【0028】もう一つは、CBOP(Consortium for B
usiness Object Promotion)による取り組みである。C
BOPではビジネスオブジェクトというものを定義して
いる。CBOPが提供するビジネスオブジェクトのアー
キテクチャは、部分再利用のアプローチから得られる、
それ以上の分解ができない原子オブジェクトというもの
と、原子オブジェクトをベースに全体再利用のアプロー
チから得られる、ビジネスエンティティオブジェクト、
ビジネスプロセスオブジェクト、ビジネスタスクオブジ
ェクト、さらにはビジネスオブジェクトパターンと呼ば
れるものから構成されている。
【0029】
【発明が解決しようとする課題】上述したように、アプ
リケーション構築における生産性の向上に最も貢献する
という理由で普及してきたオブジェクト指向技術は、ア
プリケーションフレームワークとコンポーネントウェア
という両方の技術を利用することが最も望ましいという
結論に行き着いた。なお、本発明では、単体のソフトウ
ェア部品としてのコンポーネントウェアの概念に加え
て、アプリケーションフレームワークによってもたらさ
れるコンポーネントウェア単体同士の組合せまでを含め
て、あらためてコンポーネントウェアと呼ぶことにす
る。コンポーネントウェアは、部分再利用と全体再利用
の調和、さらに提供者側不利益と利用者側不利益の払拭
を実現するアーキテクチャを提供することで、再利用ア
プローチの進展に寄与する。
【0030】しかしながら、このようなコンポーネント
ウェアのアーキテクチャによってもたらされるソフトウ
ェア再利用技術のみでは、再利用アプローチによる生産
性の向上には限界があった。なぜなら、コンポーネント
ウェアの「流通」という側面が貧弱なためである。再利
用アプローチが効果的であるためには、再利用対象とな
るコンポーネントウェアの提供および消費が促進されな
ければならない。そしてそのためには、広範囲に渡る参
加者を伴う必要がある。言い換えると、アプリケーショ
ン構築を生業とする本来無関係である二者のそれぞれ
が、同一内容のコンポーネントウェアの提供および消費
にそれぞれの立場から関わることができなければならな
い。すなわち、単なるコンポーネントウェアのアーキテ
クチャの提供のみでは十分でなく、このような流通機能
が十分に提供されることが必要である。
【0031】なお、これまでに実現されてきたコンポー
ネントウェアの流通機能としては、上述したコンポーネ
ントウェアの例に含まれる、JavaBeansやActiveXコンポ
ーネントを対象としたものが存在する。例えば、インタ
ーネット上に存在するホームページ(http://www.compo
nent.software.net/や、http://www.componentsource.c
om/Default.asp?Set=Yなど)はActiveXコンポーネント
の流通を目的とした仮想店舗の役割を果たしている。ま
た、CBOPもコンポーネントウェアの流通に対する取
り組みを行っており、流通経路(開発や、認証、サポー
ト、利用など)の定義を行っている。
【0032】しかしながら、以上の例におけるコンポー
ネントの流通機能は全て、当初から再利用を念頭に置い
て開発したコンポーネントウェアのみを流通させるもの
である。すなわち、コンポーネントウェアの提供者側
が、ある特定の顧客向けにインデント開発されたアプリ
ケーションを適切な保護を施した上で再利用目的で公開
したいといった要求に応えられるものではなく、またコ
ンポーネントウェアの消費者側が、そのようなインデン
ト開発されたアプリケーションを再利用することで新た
な開発を行いたいといった要求に応えられるものでもな
かった。
【0033】そして、以上のような要求に応えることが
できていないために、より多くの提供者と消費者とをコ
ンポーネントウェア市場に呼び込むことができず、再利
用アプローチによるアプリケーション構築が十分な広が
りを持つには至らなかった。
【0034】本発明はこのような点を考慮してなされた
ものであり、コンポーネントウェアの流通を促進してア
プリケーション構築の生産性を向上させることができる
コンポーネントウェア流通装置、その方法およびコンポ
ーネントウェア流通プログラムを記録したコンピュータ
読み取り可能な記録媒体を提供することを目的とする。
【0035】なお、コンポーネントウェアの流通には様
々な立場の者が関わり、これら各者毎に個別の要求が存
在する。以下、本発明の目的をより明らかにするため、
コンポーネントウェアの流通に関わる各者毎の要求につ
いて詳細に説明する。
【0036】ここでは、コンポーネントウェアの流通に
関わる立場の者として、以下の五者を挙げる。
【0037】(1)システムインテグレータ(以下「S
I」という)…最終ユーザに納められるシステムから、
再利用対象となるコンポーネントウェアを抽出して提供
する役割を担う者。
【0038】(2)コンポーネントベンダ(以下「C
V」という)…直接最終ユーザに納められるシステムを
構築するのではなく、当初からCS(後述する)によっ
て再利用されることを目的としたコンポーネントウェア
を提供する役割を担う者。
【0039】(3)コンシューマ(以下「CS」とい
う)…SIやCVから提供されるコンポーネントウェア
を再利用して、最終ユーザに納めるシステムを構築する
役割を担う者。
【0040】(4)流通業者(以下「DS」という)…
SIやCVから提供されるコンポーネントウェアを受け
付け、さらにAD(後述する)から広告を受け付け、C
Sに提供するという、コンポーネントウェアおよび広告
を仲介する役割を担う者。
【0041】(5)広告主(以下「AD」という)…コ
ンポーネントウェアの流通に合わせた効果的な広告を出
稿する役割を担う者。
【0042】なお、以上に挙げた各者は役割によって分
類したものであり、同一の主体(例えば企業)が複数の
役割を担っても良いものとする。例えば、SIとCSが
同一のベンダ企業であるような場合も当然あり得るもの
とする。なお、最終ユーザとは実際に構築されるアプリ
ケーションのユーザのことを指すが、直接コンポーネン
トウェアの流通に関わる者ではないので、ここでの説明
からは除外する。
【0043】以下、上述したSI、CV、CS、DSお
よびADのそれぞれの立場からの要求について説明す
る。
【0044】(SIの立場から) (1)最終ユーザの承諾を前提として、コンポーネント
ウェアを提供することで得られる利益を最大化するため
に、構築したアプリケーションから抽出されるオブジェ
クトについて、ベースオブジェクトの実体、ベースオブ
ジェクト同士の組合せ情報、ベースオブジェクトとカス
タムオブジェクトの組合せ情報に加えて、カスタムオブ
ジェクトの実体までを提供できるようにしたい。
【0045】(2)最終ユーザからの制限の下で、コン
ポーネントウェアを提供することで得られる利益を相応
に得られるようにするために、構築したアプリケーショ
ンから抽出されるオブジェクトについて、ベースオブジ
ェクトの実体、カスタムオブジェクトのインタフェー
ス、ベースオブジェクト同士の組合せ情報、およびベー
スオブジェクトとカスタムオブジェクトの組合せ情報の
みを提供できるようにしたい。カスタムオブジェクトの
実体までは提供しないようにしたい。
【0046】(3)ベースオブジェクトおよびカスタム
オブジェクトの実装ノウハウについては提供しないよう
にしたい。
【0047】(CVの立場から) (1)コンポーネントウェアを提供することで得られる
利益を最大化するために、多くの最終ユーザに展開され
るような、ベースオブジェクトの実体、カスタムオブジ
ェクトのインタフェース、ベースオブジェクト同士の組
合せ情報、およびベースオブジェクトとカスタムオブジ
ェクトの組合せ情報までを提供できるようにしたい。カ
スタムオブジェクトの実体は最終ユーザ毎に異なるはず
なので提供せず、カスタムオブジェクトのインタフェー
スのみを提供したい。
【0048】(2)ベースオブジェクトの実装ノウハウ
については提供しないようにしたい。
【0049】(CSの立場から) (1)コンポーネントウェアを利用することで発生する
費用を最小化するために、最終ユーザ固有の仕様に対応
することになるカスタムオブジェクトについては実体を
利用せず、ベースオブジェクトの実体、カスタムオブジ
ェクトのインタフェース、ベースオブジェクト同士の組
合せ情報、およびベースオブジェクトとカスタムオブジ
ェクトの組合せ情報のみを利用できるようにしたい。カ
スタムオブジェクトの実体は、カスタムオブジェクトの
インタフェースから新規に作成するようにしたい。
【0050】(2)コンポーネントウェアの利用による
生産性の向上を最大化するために、最終ユーザ固有の仕
様の自由度を抑え、ベースオブジェクトの実体、ベース
オブジェクト同士の組合せ情報、ベースオブジェクトと
カスタムオブジェクトの組合せ情報に加えて、カスタム
オブジェクトの実体までを利用できるようにしたい。
【0051】(DSの立場から) (1)ベースオブジェクトの実体、ベースオブジェクト
同士の組合せ情報、ベースオブジェクトとカスタムオブ
ジェクトの組合せ情報、およびカスタムオブジェクトの
実体あるいはインタフェースを、SIあるいはCVから
CSへの流通を仲介することで利益を得たい。
【0052】(2)コンポーネントウェアの流通経路に
広告を出せるようにすることにより、ADからの広告収
入を得たい。
【0053】(ADの立場から) (1)自社(AD)で提供する商品/サービスの情報
を、CSに効率良く提供したい。
【0054】
【課題を解決するための手段】本発明の第1の解決手段
は、既存のアプリケーションからコンポーネントウェア
を抽出して流通させるコンポーネントウェア流通装置に
おいて、提供者により与えられた既存のアプリケーショ
ンから、ベースオブジェクトの実体、カスタムオブジェ
クトの実体またはインタフェース、およびそれらの組合
せ情報を含むコンポーネントウェアを抽出する第1コン
ポーネントウェア抽出部と、前記第1コンポーネントウ
ェア抽出部により抽出されたコンポーネントウェアを格
納して管理するコンポーネントウェア管理部と、前記コ
ンポーネントウェア管理部で管理されたコンポーネント
ウェアを消費者に対して提供する消費流通部とを備えた
ことを特徴とするコンポーネントウェア流通装置であ
る。
【0055】本発明の第1の解決手段においては、前記
第1コンポーネントウェア抽出部は前記コンポーネント
ウェアに含まれる前記カスタムオブジェクトの実体また
はインタフェースを選択的に抽出可能であることが好ま
しい。また、前記第1コンポーネントウェア抽出部は前
記コンポーネントウェアに含まれる前記ベースオブジェ
クトの実体および前記カスタムオブジェクトの実体を実
行可能形式で抽出することが好ましい。
【0056】また、本発明の第1の解決手段において
は、提供者により与えられた半完成的なアプリケーショ
ンから、ベースオブジェクトの実体、カスタムオブジェ
クトのインタフェース、およびそれらの組合せ情報を含
むコンポーネントウェアを抽出する第2コンポーネント
ウェア抽出部をさらに備え、前記コンポーネントウェア
管理部は第2コンポーネントウェア抽出部により抽出さ
れたコンポーネントウェアを格納して管理することが好
ましい。
【0057】さらに、本発明の第1の解決手段において
は、前記消費流通部は前記コンポーネントウェアに含ま
れる前記カスタムオブジェクトの実体またはインタフェ
ースを消費者に対して選択的に提供可能であることが好
ましい。また、前記消費流通部は前記コンポーネントウ
ェアに含まれる前記ベースオブジェクトの実体および前
記カスタムオブジェクトの実体を実行可能形式で提供す
ることが好ましい。
【0058】さらにまた、本発明の第1の解決手段にお
いては、広告を受け付ける広告流通部をさらに備え、前
記コンポーネントウェア管理部は前記広告流通部により
受け付けられた広告とコンポーネントウェアとを関連付
けて管理し、前記消費流通部はコンポーネントウェアと
ともに広告を提供することが好ましい。
【0059】なお、本発明の第1の解決手段において
は、前記第1コンポーネントウェア抽出部は既存のアプ
リケーションの提供者に対して利益を提供する手段を有
することが好ましい。また、前記第2コンポーネントウ
ェア抽出部は半完成的なアプリケーションの提供者に対
して利益を提供する手段を有することが好ましい。さら
に、前記消費流通部はコンポーネントウェアの消費者か
ら対価を徴収する手段を有することが好ましい。さらに
また、前記広告流通部は広告の出稿者から対価を徴収す
る手段を有することが好ましい。
【0060】本発明の第2の解決手段は、既存のアプリ
ケーションからコンポーネントウェアを抽出して流通さ
せるコンポーネントウェア流通方法において、提供者に
より与えられた既存のアプリケーションから、ベースオ
ブジェクトの実体、カスタムオブジェクトの実体または
インタフェース、およびそれらの組合せ情報を含むコン
ポーネントウェアを抽出するステップと、この抽出され
たコンポーネントウェアを消費者に対して提供するステ
ップとを含むことを特徴とするコンポーネントウェア流
通方法である。
【0061】本発明の第2の解決手段においては、抽出
対象となるコンポーネントウェアの前記カスタムオブジ
ェクトとしてその実体またはインタフェースのいずれか
を選択するステップをさらに含むことが好ましい。ま
た、提供対象となるコンポーネントウェアの前記カスタ
ムオブジェクトとしてその実体またはインタフェースの
いずれかを選択するステップをさらに含むことが好まし
い。
【0062】本発明の第3の解決手段は、既存のアプリ
ケーションからコンポーネントウェアを抽出して流通さ
せるコンポーネントウェア流通プログラムを記録したコ
ンピュータ読み取り可能な記録媒体において、提供者に
より与えられた既存のアプリケーションから、ベースオ
ブジェクトの実体、カスタムオブジェクトの実体または
インタフェース、およびそれらの組合せ情報を含むコン
ポーネントウェアを抽出する手順と、この抽出されたコ
ンポーネントウェアを消費者に対して提供する手順とを
コンピュータに実行させることを特徴とするコンポーネ
ントウェア流通プログラムを記録したコンピュータ読み
取り可能な記録媒体である。
【0063】本発明の第3の解決手段においては、抽出
対象となるコンポーネントウェアの前記カスタムオブジ
ェクトとしてその実体またはインタフェースのいずれか
を選択する手順をさらにコンピュータに実行させること
が好ましい。また、提供対象となるコンポーネントウェ
アの前記カスタムオブジェクトとしてその実体またはイ
ンタフェースのいずれかを選択する手順をさらにコンピ
ュータに実行させることが好ましい。
【0064】本発明の第1乃至第3の解決手段によれ
ば、提供者により与えられた既存のアプリケーションか
ら、ベースオブジェクトの実体、カスタムオブジェクト
の実体またはインタフェース、およびそれらの組合せ情
報を含むコンポーネントウェアを抽出し、この抽出され
たコンポーネントウェアを消費者に対して提供するの
で、全体再利用と部分再利用の長所が調和したコンポー
ネントウェアを提供者から消費者に対して効果的に流通
させることができる。また、流通対象となるコンポーネ
ントウェアは既存のアプリケーションから抽出されるの
で、当初から再利用を念頭において流通用のコンポーネ
ントウェアを開発する必要がない。
【0065】本発明の第1の解決手段によれば、第1コ
ンポーネントウェア抽出部により、コンポーネントウェ
アに含まれるカスタムオブジェクトの実体またはインタ
フェースを選択的に抽出可能とすることにより、業務ノ
ウハウを内包するカスタムオブジェクトについて、最終
ユーザの承諾状況を適切に反映した形で消費者に対して
提供することができ、最終ユーザを適切に保護しつつS
IとCSとの間の流通を促進することができる。また、
第1コンポーネントウェア抽出部により、コンポーネン
トウェアに含まれるベースオブジェクトの実体およびカ
スタムオブジェクトの実体を実行可能形式で抽出するこ
とにより、ベースオブジェクトおよびカスタムオブジェ
クトの実装ノウハウについては提供しないようにでき
る。
【0066】また、本発明の第1の解決手段によれば、
提供者により与えられた半完成的なアプリケーションか
ら、ベースオブジェクトの実体、カスタムオブジェクト
のインタフェース、およびそれらの組合せ情報を含むコ
ンポーネントウェアを抽出する第2コンポーネントウェ
ア抽出部をさらに備えているので、既存のアプリケーシ
ョンに加えて流通目的で開発された半完成的なアプリケ
ーションも効果的に流通させることができる。
【0067】さらに、本発明の第1の解決手段によれ
ば、消費流通部により、コンポーネントウェアに含まれ
るカスタムオブジェクトの実体またはインタフェースを
消費者に対して選択的に提供可能とすることにより、最
終ユーザ固有の仕様を含むカスタムオブジェクトについ
て、コンポーネントウェアを利用することで発生する費
用やカスタムオブジェクトの改変度合い等を考慮した形
で提供を受けることができ、消費者の選択の自由度を保
証しつつSIとCSとの間の流通を促進することができ
る。また、消費流通部により、コンポーネントウェアに
含まれるベースオブジェクトの実体およびカスタムオブ
ジェクトの実体を実行可能形式で提供することにより、
ベースオブジェクトおよびカスタムオブジェクトをコン
パイルすることなく利用できる。
【0068】さらにまた、本発明の第1の解決手段によ
れば、広告流通部により受け付けられた広告とコンポー
ネントウェアとを関連付けて管理し、消費流通部がコン
ポーネントウェアとともに広告を提供することにより、
コンポーネントウェアの流通経路に広告を出すことがで
き、自社(AD)で提供する商品/サービスの情報を、
CSに効率良く提供できる。
【0069】なお、本発明の第1の解決手段によれば、
第1コンポーネントウェア抽出部が既存のアプリケーシ
ョンの提供者に対して利益を提供する手段を有し、第2
コンポーネントウェア抽出部が半完成的なアプリケーシ
ョンの提供者に対して利益を提供する手段を有し、さら
に消費流通部がコンポーネントウェアの消費者から対価
を徴収する手段を有することにより、ベースオブジェク
トの実体、およびベースオブジェクト同士の組合せ情
報、およびベースオブジェクトとカスタムオブジェクト
の組合せ情報、およびカスタムオブジェクトの実体ある
いはインタフェースを、SIあるいはCVからCSへの
流通を仲介することで利益が得られるようになる。ま
た、広告流通部が広告の出稿者から対価を徴収する手段
を有することにより、ADからの広告収入を得られるよ
うになる。
【0070】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態について説明する。
【0071】用語の定義 まず、本明細書中で用いられる主要な用語について定義
を行う。
【0072】「コンポーネントウェア」とは、単体のソ
フトウェア部品そのものと、それらの組合せの総称とし
て定義される。具体的には、バイナリ形式のオブジェク
トを対象とした「アプリケーションフレームワーク」の
ことである。本発明では、このコンポーネントウェアの
流通を促進することを目的としている。
【0073】「アプリケーションフレームワーク」と
は、全体再利用と部分再利用を融合させた再利用アプロ
ーチとして定義される。アプリケーションフレームワー
クは、既存のアプリケーション全体をそのまま再利用す
るのではなく、かつ孤立した部品として再利用するわけ
でもなく、両者の長所をうまく融合させる。アプリケー
ションフレームワークにおいては、構築するアプリケー
ションを構成するオブジェクトを、「ベースオブジェク
ト」と「カスタムオブジェクト」という性格の異なるオ
ブジェクトに色分けしており、これが全体再利用と部分
再利用の融合を実現させている。
【0074】「ベースオブジェクト」とは、ある問題領
域に対応するアプリケーションに共通して存在するオブ
ジェクトのことである。ここで「問題領域」とは、流通
業者における在庫管理問題であったり、製造業における
受発注問題などといったものである。問題の境界のあり
方については、本発明と直接関係するものではないの
で、ここではこれ以上言及しない。対象とする問題領域
が同じであれば、それに対応する異なるアプリケーショ
ンに含まれるベースオブジェクトはそれぞれ、その内容
(属性およびメソッドによる振る舞い)もベースオブジ
ェクト同士の組合せも同じである。例えば、異なる二社
の流通業者AとBに納められる在庫管理アプリケーショ
ンINV_AとINV_Bを考えた際、当然のことなが
らINV_A≠INV_Bであるが、そこに含まれるベ
ースオブジェクトの内容とそれらの組合せについては同
じになる。
【0075】「カスタムオブジェクト」とは、ある問題
領域に対応するアプリケーション毎の差を吸収するため
のオブジェクトのことである。カスタムオブジェクト
は、ベースオブジェクトあるいは他のカスタムオブジェ
クトに組み込まれて機能する。問題領域が同じであって
も、それに対応する異なるアプリケーションに含まれる
カスタムオブジェクトはそれぞれ、その内容(属性およ
びメソッドによる振る舞い)も、ベースオブジェクトお
よびカスタムオブジェクトの組合せも異なる可能性があ
る。先に示した例では、INV_AとINV_Bとが異
なったアプリケーションとして存在できるのは、その差
をカスタムオブジェクトが体現するためである。
【0076】次に、本発明においてはコンポーネントウ
ェアの流通を目的としているわけであるが、実際に流通
されるものとしては、ベースオブジェクトあるいはカス
タムオブジェクトの「実体」、カスタムオブジェクトの
「インタフェース」、ベースオブジェクト同士あるいは
ベースオブジェクトとカスタムオブジェクトの「組合せ
情報」が基本である。
【0077】「実体」とは、ソースコードは既にコンパ
イルされており、リンクするのみで実行可能になるよう
なバイナリ形式のオブジェクトを意味する。実体は、値
を代入できる属性や、振る舞いを定義するメソッドの具
体的な内容の定義を備えている。Java言語環境を例
にとると、class定義をコンパイルして得られるclassフ
ァイルに該当する。
【0078】「インタフェース」とは、オブジェクトが
備えるべき属性や、メソッドにどのようなものがあるか
のみを定義し、その内容については定義しないような、
オブジェクトの境界のあり方を意味する。Java言語
環境を例にとると、interface定義をコンパイルして得
られるclassファイルに該当する。
【0079】「組合せ情報」とは、ある問題を解決する
ために、ある複数のオブジェクトが、どのような属性や
メソッドによって関連付けられて、どのように振る舞う
べきかを示したものを意味する。
【0080】ここでさらに、「実アプリケーション」、
「原アプリケーション」、「フレバードフレームワー
ク」および「プレーンフレームワーク」という用語を導
入する。
【0081】「実アプリケーション」とは、実際の最終
ユーザに納められるアプリケーションを意味する。「フ
レバードフレームワーク」あるいは「プレーンフレーム
ワーク」を抽出するもととなるものである。
【0082】「原アプリケーション」とは、特定の最終
ユーザに限定しないで、固有の仕様に対応する部分につ
いてはインタフェースのみ実装した、半完成的なアプリ
ケーションを意味する。「プレーンフレームワーク」を
抽出するもととなるものである。
【0083】「フレバードフレームワーク」とは、ベー
スオブジェクトの実体、カスタムオブジェクトの実体、
ベースオブジェクトの実体同士の組合せ情報、およびベ
ースオブジェクトの実体とカスタムオブジェクトの実体
の組合せ情報から構成されるコンポーネントウェアを意
味する。「フレバード(flavored:味付けされてい
る)」とは、ある特定の最終ユーザが実際に納められて
いる、すなわち汎用的なものではない、ということに由
来する。
【0084】「プレーンフレームワーク」とは、ベース
オブジェクトの実体、カスタムオブジェクトのインタフ
ェース、ベースオブジェクトの実体同士の組合せ情報、
およびベースオブジェクトの実体とカスタムオブジェク
トのインタフェースの組合せ情報から構成されるコンポ
ーネントウェアを意味する。「プレーン(plain:あっ
さりしている)」とは、特定の最終ユーザに限定されて
いない、すなわち汎用的なものである、ということに由
来する。
【0085】コンポーネントウェアの「流通」とは、仲
介者であるDSが、上述したようなコンポーネントウェ
ア、すなわち、ベースオブジェクトあるいはカスタムオ
ブジェクトの実体、カスタムオブジェクトのインタフェ
ース、ベースオブジェクト同士あるいはベースオブジェ
クトとカスタムオブジェクトの組合せ情報を、SIある
いはCVが「提供」するのを受け付け、CSが「消費」
するのを取り次ぐことを意味する。
【0086】コンポーネントウェアの「提供」とは、S
Iが自ら構築したアプリケーションから、ベースオブジ
ェクトあるいはカスタムオブジェクトの実体、ベースオ
ブジェクト同士あるいはベースオブジェクトとカスタム
オブジェクトの組合せ情報を抽出し、DSに引き渡すこ
とを意味する。あるいはSIが自ら構築したアプリケー
ションから、もしくはCVが、ベースオブジェクトの実
体、カスタムオブジェクトのインタフェース、ベースオ
ブジェクト同士あるいはベースオブジェクトとカスタム
オブジェクトの組合せ情報を抽出し、DSに引き渡すこ
とを意味する。SIあるいはCVは、DSにコンポーネ
ントウェアを提供する見返りとして、相応の利益を得る
ことができる。この利益によって、コンポーネントウェ
アの流通における提供の側面が促進される。またSIあ
るいはCVは、バイナリ形式のコンポーネントウェアを
提供すれば済み、ノウハウを秘匿することができる。こ
のことによっても、コンポーネントウェアの流通におけ
る提供の側面が促進される。
【0087】コンポーネントウェアの「消費」とは、D
Sが管理しているコンポーネントウェアをCSに引き渡
し、CSが自ら構築しようとしているアプリケーション
に再利用することを意味する。CSは、DSからコンポ
ーネントウェアを引き渡してもらう見返りとして、相応
の対価を支払うことになる。この対価が上述したSIあ
るいはCVの利益として還元されることで、コンポーネ
ントウェアの流通における提供の側面が促進される。ま
たCSは、バイナリ形式のコンポーネントウェアを利用
すれば済み、コンパイルの必要がなく、再利用しやすく
なる。このことによっても、コンポーネントウェアの流
通における消費の側面が促進される。
【0088】全体構成 図1は本発明によるコンポーネントウェア流通装置の全
体構成を示す図である。図1に示すように、コンポーネ
ントウェア流通装置10は、実アプリケーションまたは
原アプリケーションなどのアプリケーションからコンポ
ーネントウェアを抽出して流通させるためのものであ
り、フレバードフレームワーク流通部(第1コンポーネ
ントウェア抽出部)11、プレーンフレームワーク流通
部(第2コンポーネントウェア抽出部)12、消費流通
部13、広告流通部14、およびリポジトリ(コンポー
ネントウェア管理部)15を備えている。
【0089】このうちフレバードフレームワーク流通部
11は、実アプリケーション16を受け付けてフレバー
ドフレームワーク17を抽出しリポジトリ15に格納す
る他、実アプリケーション16を受け付けてプレーンフ
レームワーク18を抽出しプレーンフレームワーク流通
部12へ移管する。
【0090】プレーンフレームワーク流通部12は、原
アプリケーション19を受け付けてプレーンフレームワ
ーク18を抽出しリポジトリ15に格納する他、フレバ
ードフレームワーク流通部11から移管されたプレーン
フレームワーク18を受け付けてリポジトリ15に格納
する。
【0091】消費流通部13は、リポジトリ15で管理
されているフレバードフレームワーク17あるいはプレ
ーンフレームワーク18と、可能であれば広告20とを
消費者に対して払い出す。
【0092】広告流通部14は、広告20を受け付けて
リポジトリ15に格納する。
【0093】リポジトリ15は、フレバードフレームワ
ーク17、プレーンフレームワーク18および広告20
を格納して管理する。
【0094】次に、これらフレバードフレームワーク流
通部11、プレーンフレームワーク流通部12、消費流
通部13、広告流通部14およびリポジトリ15の詳細
について説明する。
【0095】フレバードフレームワーク流通部 フレバードフレームワーク流通部11は、SIが提供す
る実アプリケーション16を受け付けてフレバードフレ
ームワーク17を抽出しリポジトリ15に格納するとと
もに、実アプリケーション16を受け付けてプレーンフ
レームワーク18を抽出しプレーンフレームワーク流通
部12へ移管する機能を担う。また、フレバードフレー
ムワーク流通部11は、提供された実アプリケーション
16に応じた利益をSIに支払う機能を担う。
【0096】フレバードフレームワーク流通部11を通
してフレバードフレームワーク17あるいはプレーンフ
レームワーク18の提供が行われるとき、それを行うの
はSIとしての役割を担った者である。このSIは、実
際に実アプリケーション16を開発した者でも良いし、
その開発者の代理としての流通業者でも良い。
【0097】またフレバードフレームワーク流通部11
の物理的な構造を考える場合、実際のアプリケーション
開発者が主体であればアプリケーション開発者が直接利
用できる環境に、あるいは流通業者が主体であれば流通
業者が直接利用できる環境に配置されても良い。物理的
な配置とそれを透過的に扱う方法については本発明と直
接関係するものではないので、これ以上言及しない。
【0098】フレバードフレームワーク流通部11にお
ける流通のシナリオには、大きく以下の3種類が考えら
れる。
【0099】(1)第1シナリオFFW1…SIが、最
終ユーザの承認の下で、フレバードフレームワーク17
のみを流通させる。
【0100】(2)第2シナリオFFW2…SIが、最
終ユーザの制限の下で、プレーンフレームワーク18の
みを流通させる。
【0101】(3)第3シナリオFFW3…SIが、最
終ユーザの承認の下で、フレバードフレームワーク17
に加え、さらにプレーンフレームワーク18も流通させ
る。
【0102】提供に対する見返りとしてSIに支払われ
る利益は、基本的に、提供されるコンポーネントウェア
の価値に基づいて決定される。ここでコンポーネントウ
ェアの価値とは、例えば提供されたコンポーネントウェ
アに高い需要が見込まれるかといったことである。また
利益は、その他の要因によって変動させることもでき
る。ここでその他の要因とは、例えばSIとDSとの間
で結ばれる契約などである。
【0103】図2はフレバードフレームワーク流通部1
1の内部構成を示す図である。
【0104】以下、上述した3種類のシナリオに沿っ
て、フレバードフレームワーク流通部11の動作につい
て説明する。
【0105】[シナリオFFW1]まず、第1シナリオ
FFW1について説明する。なお、このシナリオの全体
像を表すフローチャートを図3に示す。
【0106】1.実アプリケーション16を提供しよう
とするSIの要求を、FFW受付部31が受け付ける
(ステップ101)。
【0107】2.FFW受付部31は、FFW制御部3
2を起動する(ステップ102)。
【0108】3.FFW受付部31は、次の要求に備え
て待機する(ステップ103)。
【0109】4.FFW制御部32は、実アプリケーシ
ョン登録部33を起動し、処理が終了するのを待つ(ス
テップ104)。
【0110】5.実アプリケーション登録部33は、提
供された実アプリケーション16をFFW作業領域34
に移す。実アプリケーション16の本体を移しても良い
し、その存在に関する情報のみを移しても良い(ステッ
プ105)。
【0111】6.FFW制御部32は、FFWオブジェ
クト抽出部35を起動し、処理が終了するのを待つ(ス
テップ106)。
【0112】7.FFWオブジェクト抽出部35は、F
FW作業領域34に格納されている実アプリケーション
16を走査し、実アプリケーション16に含まれるオブ
ジェクトを抽出し、その情報をFFW作業領域34に格
納する(ステップ107)。
【0113】8.FFW制御部32は、FFW化部36
を起動し、処理が終了するのを待つ(ステップ10
8)。
【0114】9.FFW化部36は、SIからの入力に
より、どのオブジェクトがベースオブジェクトなのか、
どのオブジェクトがカスタムオブジェクトなのか、どの
オブジェクトとどのオブジェクトがどのように組み合わ
されるのかといった、フレバードフレームワーク17と
して必要な情報を付加して、FFW作業領域34に格納
する(ステップ109)。
【0115】10.FFWベース化部36aは、指示し
ているオブジェクトがベースオブジェクトであるという
情報を与え、FFW作業領域34に格納する(ステップ
110)。
【0116】11.FFWカスタム化部36bは、指示
しているオブジェクトがカスタムオブジェクトであると
いう情報を与え、FFW作業領域34に格納する(ステ
ップ111)。
【0117】12.FFW組合せ部36cは、指示した
オブジェクト間がどのように組み合わされているかとい
う情報を与え、FFW作業領域34に格納する(ステッ
プ112)。
【0118】13.FFW制御部32は、FFW判断部
37を起動し、処理が終了するのを待つ(ステップ11
3)。
【0119】14.FFW判断部37は、SIからの
「フレバードフレームワークのみ流通」という入力を受
け付ける(ステップ114)。
【0120】15.FFW制御部32は、FFW登録部
38を起動し、処理が終了するのを待つ(ステップ11
5)。
【0121】16.FFW登録部38は、FFW作業領
域34に格納されているフレバードフレームワーク17
を取り出し、名称や権利、キーワードなどの情報を付加
した上で、リポジトリ15に登録する(ステップ11
6)。
【0122】17.FFW制御部32は、FFW支払部
39を起動し、処理が終了するのを待つ(ステップ11
7)。
【0123】18.FFW支払部39は、提供されたフ
レバードフレームワーク17の価値に応じた利益をSI
に支払う(ステップ118)。
【0124】[シナリオFFW2]次に、第2シナリオ
FFW2について説明する。なお、このシナリオの全体
像を表すフローチャートを図4に示す。なお、ステップ
201〜213までは第1シナリオFFW1と同じであ
る。
【0125】1.実アプリケーション16を提供しよう
とするSIの要求を、FFW受付部31が受け付ける
(ステップ201)。
【0126】2.FFW受付部31は、FFW制御部3
2を起動する(ステップ202)。
【0127】3.FFW受付部31は、次の要求に備え
て待機する(ステップ203)。
【0128】4.FFW制御部32は、実アプリケーシ
ョン登録部33を起動し、処理が終了するのを待つ(ス
テップ204)。
【0129】5.実アプリケーション登録部33は、提
供された実アプリケーション16をFFW作業領域34
に移す。実アプリケーション16の本体を移しても良い
し、その存在に関する情報のみを移しても良い(ステッ
プ205)。
【0130】6.FFW制御部32は、FFWオブジェ
クト抽出部35を起動し、処理が終了するのを待つ(ス
テップ206)。
【0131】7.FFWオブジェクト抽出部35は、F
FW作業領域34に格納されている実アプリケーション
16を走査し、実アプリケーション16に含まれるオブ
ジェクトを抽出し、その情報をFFW作業領域34に格
納する(ステップ207)。
【0132】8.FFW制御部32は、FFW化部36
を起動し、処理が終了するのを待つ(ステップ20
8)。
【0133】9.FFW化部36は、SIからの入力に
より、どのオブジェクトがベースオブジェクトなのか、
どのオブジェクトがカスタムオブジェクトなのか、どの
オブジェクトとどのオブジェクトがどのように組み合わ
されるのかといった、フレバードフレームワーク17と
して必要な情報を付加して、FFW作業領域34に格納
する(ステップ209)。
【0134】10.FFWベース化部36aは、指示し
ているオブジェクトがベースオブジェクトであるという
情報を与え、FFW作業領域34に格納する(ステップ
210)。
【0135】11.FFWカスタム化部36bは、指示
しているオブジェクトがカスタムオブジェクトであると
いう情報を与え、FFW作業領域34に格納する(ステ
ップ211)。
【0136】12.FFW組合せ部36cは、指示した
オブジェクト間がどのように組み合わされているかとい
う情報を与え、FFW作業領域34に格納する(ステッ
プ212)。
【0137】13.FFW制御部32は、FFW判断部
37を起動し、処理が終了するのを待つ(ステップ21
3)。
【0138】14.FFW判断部37は、SIからの
「プレーンフレームワークのみ流通」という入力を受け
付ける(ステップ214)。
【0139】15.FFW制御部32は、インタフェー
ス化部40を起動し、処理が終了するのを待つ(ステッ
プ215)。
【0140】16.インタフェース化部40は、FFW
作業領域34に格納されているフレバードフレームワー
ク17を取り出し、その中に含まれているカスタムオブ
ジェクトについて、インタフェースのみを残し、具体的
な属性値やメソッドの振る舞いについては削除し、再び
FFW作業領域34に格納する(ステップ216)。
【0141】17.FFW制御部32は、PFW移管部
41を起動し、処理が終了するのを待つ(ステップ21
7)。
【0142】18.PFW移管部41は、FFW作業領
域34に格納されているプレーンフレームワーク18を
取り出し、プレーンフレームワーク流通部12に移管す
る(ステップ218)。
【0143】[シナリオFFW3]最後に、第3シナリ
オFFW3について説明する。なお、このシナリオの全
体像を表すフローチャートを図5に示す。なお、ステッ
プ301〜313までは上述した第1シナリオFFW1
および第2シナリオFFW2と同じである。
【0144】1.実アプリケーション16を提供しよう
とするSIの要求を、FFW受付部31が受け付ける
(ステップ301)。
【0145】2.FFW受付部31は、FFW制御部3
2を起動する(ステップ302)。
【0146】3.FFW受付部31は、次の要求に備え
て待機する(ステップ303)。
【0147】4.FFW制御部32は、実アプリケーシ
ョン登録部33を起動し、処理が終了するのを待つ(ス
テップ304)。
【0148】5.実アプリケーション登録部33は、提
供された実アプリケーション16をFFW作業領域34
に移す。実アプリケーション16の本体を移しても良い
し、その存在に関する情報のみを移しても良い(ステッ
プ305)。
【0149】6.FFW制御部32は、FFWオブジェ
クト抽出部35を起動し、処理が終了するのを待つ(ス
テップ306)。
【0150】7.FFWオブジェクト抽出部35は、F
FW作業領域34に格納されている実アプリケーション
16を走査し、実アプリケーション16に含まれるオブ
ジェクトを抽出し、その情報をFFW作業領域34に格
納する(ステップ307)。
【0151】8.FFW制御部32は、FFW化部36
を起動し、処理が終了するのを待つ(ステップ30
8)。
【0152】9.FFW化部36は、SIからの入力に
より、どのオブジェクトがベースオブジェクトなのか、
どのオブジェクトがカスタムオブジェクトなのか、どの
オブジェクトとどのオブジェクトがどのように組み合わ
されるのかといった、フレバードフレームワーク17と
して必要な情報を付加して、FFW作業領域34に格納
する(ステップ309)。
【0153】10.FFWベース化部36aは、指示し
ているオブジェクトがベースオブジェクトであるという
情報を与え、FFW作業領域34に格納する(ステップ
310)。
【0154】11.FFWカスタム化部36bは、指示
しているオブジェクトがカスタムオブジェクトであると
いう情報を与え、FFW作業領域34に格納する(ステ
ップ311)。
【0155】12.FFW組合せ部36cは、指示した
オブジェクト間がどのように組み合わされているかとい
う情報を与え、FFW作業領域34に格納する(ステッ
プ312)。
【0156】13.FFW制御部32は、FFW判断部
37を起動し、処理が終了するのを待つ(ステップ31
3)。
【0157】14.FFW判断部37は、SIからの
「フレバードフレームワークおよびプレーンフレームワ
ークの流通」という入力を受け付ける(ステップ31
4)。
【0158】15.FFW制御部32は、FFW登録部
38を起動し、処理が終了するのを待つ(ステップ31
5)。
【0159】16.FFW登録部38は、FFW作業領
域34に格納されているフレバードフレームワーク17
を取り出し、名称や権利、キーワードなどの情報を付加
した上で、リポジトリ15に登録する(ステップ31
6)。
【0160】17.FFW制御部32は、FFW支払部
39を起動し、処理が終了するのを待つ(ステップ31
7)。
【0161】18.FFW支払部39は、提供されたフ
レバードフレームワーク17の価値に応じた利益をSI
に支払う(ステップ318)。
【0162】19.FFW制御部32は、インタフェー
ス化部40を起動し、処理が終了するのを待つ(ステッ
プ319)。
【0163】20.インタフェース化部40は、FFW
作業領域34に格納されているフレバードフレームワー
ク17を取り出し、その中に含まれているカスタムオブ
ジェクトについて、インタフェースのみを残し、具体的
な属性値やメソッドの振る舞いについては削除し、再び
FFW作業領域34に格納する(ステップ320)。
【0164】21.FFW制御部32は、PFW移管部
41を起動し、処理が終了するのを待つ(ステップ32
1)。
【0165】22.PFW移管部41は、FFW作業領
域34に格納されているプレーンフレームワーク18を
取り出し、プレーンフレームワーク流通部12に移管す
る(ステップ322)。
【0166】以上のとおり、フレバードフレームワーク
流通部11によれば、本発明の目的に沿った、以下のよ
うな効果が期待できる。
【0167】(1)実アプリケーション登録部33を介
して実アプリケーション16をそのまま受け付けること
により、SIによるコンポーネントウェアの提供が行い
易くなり、流通が促進される。
【0168】(2)インタフェース化部40を介して実
アプリケーション16からプレーンフレームワーク18
を得ることにより、SIが最終ユーザによる制限を守る
ことができ、流通が促進される。
【0169】(3)PFW移管部41を介してプレーン
フレームワーク流通部12への受付を行うことにより、
SIによるコンポーネントウェアの提供が行い易くな
り、流通が促進される。
【0170】(4)FFWオブジェクト抽出部35を介
してオブジェクトのまま取り扱うことにより、SIはベ
ースオブジェクトおよびカスタムオブジェクトの実装ノ
ウハウを公開せずに済み、流通が促進される。
【0171】(5)FFW化部36を介してベースオブ
ジェクトの実体、ベースオブジェクト同士の組合せ情
報、カスタムオブジェクトの実体、ベースオブジェクト
とカスタムオブジェクトの組合せ情報を取り扱うことに
より、全体再利用と部分再利用の融合が可能になり、流
通が促進される。
【0172】(6)FFW判断部37を介して、フレバ
ードフレームワーク17まで提供するのかプレーンフレ
ームワーク18のみを提供するのかをSIが選択できる
ようにすることにより、SIが選択に応じた利益を得る
ことが可能になり、流通が促進される。
【0173】(7)FFW支払部39を介してDSから
SIへ利益を提供することにより、流通経路が確立さ
れ、流通が促進される。
【0174】プレーンフレームワーク流通部 プレーンフレームワーク流通部12は、CVが提供する
原アプリケーション19を受け付けてプレーンフレーム
ワーク18を抽出しリポジトリ15に格納するととも
に、SIがフレバードフレームワーク流通部11を通し
て提供したプレーンフレームワーク18をリポジトリ1
5に格納する機能を担う。また、プレーンフレームワー
ク流通部12は、提供された原アプリケーション19ま
たはプレーンフレームワーク18に応じた利益をCVあ
るいはSIに支払う機能を担う。
【0175】プレーンフレームワーク流通部12を通し
てプレーンフレームワーク18の提供が行われるとき、
それを行うのはCVとしての役割を担った者である。こ
のCVは、実際に原アプリケーション19を開発したも
のでも良いし、その開発者の代理としての流通業者でも
良い。また、SIによってフレバードフレームワーク流
通部11を通してプレーンフレームワーク18の提供が
行われるときには、SIがCVとしての役割を担った者
になる。開発者の代理としての流通業者の考え方も同じ
である。
【0176】またプレーンフレームワーク流通部12の
物理的な構造を考える場合、CVが主体であればコンポ
ーネントベンダが直接利用できる環境に、あるいはアプ
リケーション開発者が主体であればアプリケーション開
発者が直接利用できる環境に、あるいは流通業者が主体
であれば流通業者が直接利用できる環境に配置されても
良い。物理的な配置とそれを透過的に扱う方法について
は本発明と直接関係するものではないので、これ以上言
及しない。
【0177】プレーンフレームワーク流通部12におけ
る流通のシナリオには、大きく以下の2種類が考えられ
る。
【0178】(1)第1シナリオPFW1…CVが、プ
レーンフレームワーク18を流通させる。
【0179】(2)第2シナリオPFW2…SIが、フ
レバードフレームワーク流通部11を通して、プレーン
フレームワーク18を流通させる。
【0180】提供に対する見返りとしてCVあるいはS
Iに支払われる利益は、基本的に、提供されるコンポー
ネントウェアの価値に基づいて決定される。また利益
は、その他の要因によって変動させることもできる。
【0181】図6はプレーンフレームワーク流通部12
の内部構成を示す図である。
【0182】以下、上述した2種類のシナリオに沿っ
て、プレーンフレームワーク流通部12の動作について
説明する。
【0183】[シナリオPFW1]まず、第1シナリオ
PFW1について説明する。なお、このシナリオの全体
像を表すフローチャートを図7に示す。
【0184】1.原アプリケーション19を提供しよう
とするCVの要求を、PFW受付部51が受け付ける
(ステップ401)。
【0185】2.PFW受付部51は、PFW制御部5
2を起動する(ステップ402)。
【0186】3.PFW受付部51は、次の要求に備え
て待機する(ステップ403)。
【0187】4.PFW制御部52は、原アプリケーシ
ョン登録部53を起動し、処理が終了するのを待つ(ス
テップ404)。
【0188】5.原アプリケーション登録部53は、提
供された原アプリケーション19をPFW作業領域54
に移す。原アプリケーション19の本体を移しても良い
し、その存在に関する情報のみを移しても良い(ステッ
プ405)。
【0189】6.PFW制御部52は、PFWオブジェ
クト抽出部55を起動し、処理が終了するのを待つ(ス
テップ406)。
【0190】7.PFWオブジェクト抽出部55は、P
FW作業領域54に格納されている原アプリケーション
19を走査し、原アプリケーション19に含まれるオブ
ジェクトを抽出し、その情報をPFW作業領域54に格
納する(ステップ407)。
【0191】8.PFW制御部52は、PFW化部56
を起動し、処理が終了するのを待つ(ステップ40
8)。
【0192】9.PFW化部56は、CVからの入力に
より、どのオブジェクトがベースオブジェクトなのか、
どのオブジェクトがカスタムオブジェクトなのか、どの
オブジェクトとどのオブジェクトがどのように組み合わ
されるのかといった、プレーンフレームワーク18とし
て必要な情報を付加して、PFW作業領域54に格納す
る(ステップ409)。
【0193】10.PFWベース化部56aは、指示し
ているオブジェクトがベースオブジェクトであるという
情報を与え、PFW作業領域54に格納する(ステップ
410)。
【0194】11.PFWカスタム化部56bは、指示
しているオブジェクトがカスタムオブジェクトであると
いう情報を与え、PFW作業領域54に格納する(ステ
ップ411)。
【0195】12.PFW組合せ部56cは、指示した
オブジェクト間がどのように組み合わされているかとい
う情報を与え、PFW作業領域54に格納する(ステッ
プ412)。
【0196】13.PFW制御部52は、PFW登録部
57を起動し、処理が終了するのを待つ(ステップ41
3)。
【0197】14.PFW登録部57は、PFW作業領
域54に格納されているプレーンフレームワーク18を
取り出し、名称や権利、キーワードなどの情報を付加し
た上で、リポジトリ15に登録する(ステップ41
4)。
【0198】15.PFW制御部52は、PFW支払部
58を起動し、処理が終了するのを待つ(ステップ41
5)。
【0199】16.PFW支払部58は、提供されたプ
レーンフレームワーク18の価値に応じた利益をCVに
支払う(ステップ416)。
【0200】[シナリオPFW2]次に、第2シナリオ
PFW2について説明する。なお、このシナリオの全体
像を表すフローチャートを図8に示す。
【0201】1.プレーンフレームワーク18を提供し
ようとするSIの要求を、PFW受付部51が受け付け
る(ステップ501)。
【0202】2.PFW受付部51は、PFW制御部5
2を起動する(ステップ502)。
【0203】3.PFW受付部51は、次の要求に備え
て待機する(ステップ503)。
【0204】4.PFW制御部52は、PFW被移管部
59を起動し、処理が終了するのを待つ(ステップ50
4)。
【0205】5.PFW被移管部59は、提供されたプ
レーンフレームワーク18をPFW作業領域54に移す
(ステップ505)。
【0206】6.PFW制御部52は、PFW登録部5
7を起動し、処理が終了するのを待つ(ステップ50
6)。
【0207】7.PFW登録部57は、PFW作業領域
54に格納されているプレーンフレームワーク18を取
り出し、名称や権利、キーワードなどの情報を付加した
上で、リポジトリ15に登録する(ステップ507)。
【0208】8.PFW制御部52は、PFW支払部5
8を起動し、処理が終了するのを待つ(ステップ50
8)。
【0209】9.PFW支払部58は、提供されたプレ
ーンフレームワーク18の価値に応じた利益をSIに支
払う(ステップ509)。
【0210】以上のとおり、プレーンフレームワーク流
通部12によれば、本発明の目的に沿った、以下のよう
な効果が期待できる。
【0211】(1)原アプリケーション登録部53を介
して原アプリケーション19をそのまま受け付けること
により、CVによるコンポーネントウェアの提供が行い
易くなり、流通が促進される。
【0212】(2)PFW被移管部59を介してフレバ
ードフレームワーク流通部11からの受付を行うことに
より、SIによるコンポーネントウェアの提供が行い易
くなり、流通が促進される。
【0213】(3)PFWオブジェクト抽出部55を介
してオブジェクトのまま取り扱うことにより、CVはベ
ースオブジェクトの実装ノウハウを公開せずに済み、流
通が促進される。
【0214】(4)PFW化部56を介してベースオブ
ジェクトの実体、ベースオブジェクト同士の組合せ情
報、カスタムオブジェクトのインタフェース、ベースオ
ブジェクトとカスタムオブジェクトの組合せ情報を取り
扱うことによって、全体再利用と部分再利用の融合が可
能になり、流通が促進される。
【0215】(5)PFW支払部58を介してDSから
CVあるいはSIに利益を提供することにより、流通経
路が確立され、流通が促進される。
【0216】消費流通部 消費流通部13は、CSが再利用したいコンポーネント
ウェアをリポジトリ15から取り込んでCSに払い出す
機能を担う。また、消費流通部13は、再利用したいコ
ンポーネントウェアに関連した広告20をCSに提供す
る機能を担う。さらに、消費流通部13は、再利用した
いコンポーネントウェアに応じた対価をDSから徴収す
る機能を担う。
【0217】消費流通部13を通してコンポーネントウ
ェアの提供が行われるとき、それを行うのはCSとして
の役割を担った者である。このCSは、実際にコンポー
ネントウェアを再利用する開発者でも良いし、その開発
者の代理としての流通業者でも良い。
【0218】また消費流通部13の物理的な構造を考え
る場合、CSが主体であればCSが直接利用できる環境
に、あるいは流通業者が主体であれば流通業者が直接利
用できる環境に配置されても良い。物理的な配置とそれ
を透過的に扱う方法については本発明と直接関係するも
のではないので、これ以上言及しない。
【0219】消費流通部13における流通のシナリオ
は、大きく以下の5種類が考えられる。
【0220】(1)第1シナリオCSM1…CSが、選
択の余地無く、フレバードフレームワーク17を消費す
る。
【0221】(2)第2シナリオCSM2…CSが、選
択の余地無く、プレーンフレームワーク18を消費す
る。
【0222】(3)第3シナリオCSM3…CSが、選
択の上で、フレバードフレームワーク17を消費する。
【0223】(4)第4シナリオCSM4…CSが、選
択の上で、プレーンフレームワーク18を消費する。
【0224】(5)第5シナリオCSM5…CSが、広
告20を消費する。
【0225】消費に対する見返りとしてDSに支払われ
る対価は、基本的に、消費されるコンポーネントウェア
の価値に基づいて決定される。また対価は、その他の要
因によって変動させることもできる。
【0226】図9は消費流通部13の内部構成を示す図
である。
【0227】以下、上述した5種類のシナリオに沿っ
て、消費流通部13の動作について説明する。
【0228】[シナリオCSM1]まず、第1シナリオ
CSM1について説明する。なお、このシナリオの全体
像を表すフローチャートを図10に示す。
【0229】1.コンポーネントウェアを再利用しよう
とするCSの要求を、CSM受付部61が受け付ける
(ステップ601)。
【0230】2.CSM受付部61は、CSM制御部6
2を起動する(ステップ602)。
【0231】3.CSM受付部61は、次の要求に備え
て待機する(ステップ603)。
【0232】4.CSM制御部62は、CSM選択部6
3を起動し、処理が終了するのを待つ(ステップ60
4)。
【0233】5.CSM選択部63は、CSからの入力
により、リポジトリ15に格納されているコンポーネン
トウェアの中からどのコンポーネントウェアを再利用す
るか選択し、その内容をCSM作業領域64に格納す
る。選択したコンポーネントウェアがフレバードフレー
ムワーク17のみの場合には、自動的にその再利用が決
定される(ステップ605)。
【0234】6.CSM選択部63は、CSからの入力
により、必要なコンポーネントウェアが全て選択される
まで、ステップ605を繰り返す(ステップ606)。
【0235】7.CSM制御部62は、CSM取込部6
5を起動し、処理が終了するのを待つ(ステップ60
7)。
【0236】8.CSM取込部65は、CSM作業領域
64に格納されているCSM選択部63で選択されたコ
ンポーネントウェアについての情報を取り出し、リポジ
トリ15からコンポーネントウェアを取り込み、CSM
作業領域64に格納する(ステップ608)。
【0237】9.CSM制御部62は、CSM払出部6
6を起動し、処理が終了するのを待つ(ステップ60
9)。
【0238】10.CSM払出部66は、CSM作業領
域64に格納されているコンポーネントウェアを、CS
に払い出す(ステップ610)。
【0239】11.CSM制御部62は、CSM徴収部
67を起動し、処理が終了するのを待つ(ステップ61
1)。
【0240】12.CSM徴収部67は、払い出された
コンポーネントウェアの価値に応じた対価をCSから徴
収する(ステップ612)。
【0241】[シナリオCSM2]次に、第2シナリオ
CSM2について説明する。なお、このシナリオの全体
像を表すフローチャートを図11に示す。なお、ステッ
プ701〜704までは上述した第1シナリオCSM1
と同じである。
【0242】1.コンポーネントウェアを再利用しよう
とするCSの要求を、CSM受付部61が受け付ける
(ステップ701)。
【0243】2.CSM受付部61は、CSM制御部6
2を起動する(ステップ702)。
【0244】3.CSM受付部61は、次の要求に備え
て待機する(ステップ703)。
【0245】4.CSM制御部62は、CSM選択部6
3を起動し、処理が終了するのを待つ(ステップ70
4)。
【0246】5.CSM選択部63は、CSからの入力
により、リポジトリ15に格納されているコンポーネン
トウェアの中からどのコンポーネントウェアを再利用す
るか選択し、その内容をCSM作業領域64に格納す
る。選択したコンポーネントウェアがプレーンフレーム
ワーク18のみの場合には、自動的にその再利用が決定
される(ステップ705)。
【0247】6.CSM選択部63は、CSからの入力
により、必要なコンポーネントウェアが全て選択される
まで、ステップ705を繰り返す(ステップ706)。
【0248】7.CSM制御部62は、CSM取込部6
5を起動し、処理が終了するのを待つ(ステップ70
7)。
【0249】8.CSM取込部65は、CSM作業領域
64に格納されているCSM選択部63で選択されたコ
ンポーネントウェアについての情報を取り出し、リポジ
トリ15からコンポーネントウェアを取り込み、CSM
作業領域64に格納する(ステップ708)。
【0250】9.CSM制御部62は、CSM払出部6
6を起動し、処理が終了するのを待つ(ステップ70
9)。
【0251】10.CSM払出部66は、CSM作業領
域64に格納されているコンポーネントウェアを、CS
に払い出す(ステップ710)。
【0252】11.CSM制御部62は、CSM徴収部
67を起動し、処理が終了するのを待つ(ステップ71
1)。
【0253】12.CSM徴収部67は、払い出された
コンポーネントウェアの価値に応じた対価をCSから徴
収する(ステップ712)。
【0254】[シナリオCSM3]次に、第3シナリオ
CSM3について説明する。なお、このシナリオの全体
像を表すフローチャートを図12に示す。
【0255】1.コンポーネントウェアを再利用しよう
とするCSの要求を、CSM受付部61が受け付ける
(ステップ801)。
【0256】2.CSM受付部61は、CSM制御部6
2を起動する(ステップ802)。
【0257】3.CSM受付部61は、次の要求に備え
て待機する(ステップ803)。
【0258】4.CSM制御部62は、CSM選択部6
3を起動し、処理が終了するのを待つ(ステップ80
4)。
【0259】5.CSM選択部63は、CSからの入力
により、リポジトリ15に格納されているコンポーネン
トウェアの中からどのコンポーネントウェアを再利用す
るか選択し、その内容をCSM作業領域64に格納する
(ステップ805)。
【0260】6.CSM判断部68は、選択したコンポ
ーネントウェアがフレバードフレームワーク17とプレ
ーンフレームワーク18の両方が存在する場合に、CS
からの入力によって、フレバードフレームワーク17の
再利用を決定する(ステップ806)。
【0261】7.CSM選択部63は、CSからの入力
により、必要なコンポーネントウェアが全て選択される
まで、ステップ805および806を繰り返す(ステッ
プ807)。
【0262】8.CSM制御部62は、CSM取込部6
5を起動し、処理が終了するのを待つ(ステップ80
8)。
【0263】9.CSM取込部65は、CSM作業領域
64に格納されているCSM選択部63で選択されたコ
ンポーネントウェアについての情報を取り出し、リポジ
トリ15からコンポーネントウェアを取り込み、CSM
作業領域64に格納する(ステップ809)。
【0264】10.CSM制御部62は、CSM払出部
66を起動し、処理が終了するのを待つ(ステップ81
0)。
【0265】11.CSM払出部66は、CSM作業領
域64に格納されているコンポーネントウェアを、CS
に払い出す(ステップ811)。
【0266】12.CSM制御部62は、CSM徴収部
67を起動し、処理が終了するのを待つ(ステップ81
2)。
【0267】13.CSM徴収部67は、払い出された
コンポーネントウェアの価値に応じた対価をCSから徴
収する(ステップ813)。
【0268】[シナリオCSM4]次に、第4シナリオ
CSM4について説明する。なお、このシナリオの全体
像を表すフローチャートを図13に示す。なお、ステッ
プ901〜904までは上述した第1シナリオCSM1
と同じである。
【0269】1.コンポーネントウェアを再利用しよう
とするCSの要求を、CSM受付部61が受け付ける
(ステップ901)。
【0270】2.CSM受付部61は、CSM制御部6
2を起動する(ステップ902)。
【0271】3.CSM受付部61は、次の要求に備え
て待機する(ステップ903)。
【0272】4.CSM制御部62は、CSM選択部6
3を起動し、処理が終了するのを待つ(ステップ90
4)。
【0273】5.CSM選択部63は、CSからの入力
により、リポジトリ15に格納されているコンポーネン
トウェアの中からどのコンポーネントウェアを再利用す
るか選択し、その内容をCSM作業領域64に格納する
(ステップ905)。
【0274】6.CSM判断部68は、選択したコンポ
ーネントウェアがフレバードフレームワーク17とプレ
ーンフレームワーク18の両方が存在する場合に、CS
からの入力によって、プレーンフレームワーク18の再
利用を決定する(ステップ906)。
【0275】7.CSM選択部63は、CSからの入力
により、必要なコンポーネントウェアが全て選択される
まで、ステップ905および906を繰り返す(ステッ
プ907)。
【0276】8.CSM制御部62は、CSM取込部6
5を起動し、処理が終了するのを待つ(ステップ90
8)。
【0277】9.CSM取込部65は、CSM作業領域
64に格納されているCSM選択部63で選択されたコ
ンポーネントウェアについての情報を取り出し、リポジ
トリ15からコンポーネントウェアを取り込み、CSM
作業領域64に格納する(ステップ909)。
【0278】10.CSM制御部62は、CSM払出部
66を起動し、処理が終了するのを待つ(ステップ91
0)。
【0279】11.CSM払出部66は、CSM作業領
域64に格納されているコンポーネントウェアを、CS
に払い出す(ステップ911)。
【0280】12.CSM制御部62は、CSM徴収部
67を起動し、処理が終了するのを待つ(ステップ91
2)。
【0281】13.CSM徴収部67は、払い出された
コンポーネントウェアの価値に応じた対価をCSから徴
収する(ステップ913)。
【0282】なお、選択したコンポーネントウェアにフ
レバードフレームワーク17とプレーンフレームワーク
18のどちらが存在するか、あるいは両方が存在する
か、さらにその状況に対してCSがどのような判断をし
たかによって、上述したシナリオCSM1〜CSM4は
混在する可能性がある。
【0283】[シナリオCSM5]最後に、第5シナリ
オCSM5について説明する。第5シナリオCSM5
は、他のシナリオCSM1〜CSM4におけるCSM選
択部63の中で展開されるサブシナリオである。なお、
このシナリオの全体像を表すフローチャートを図14に
示す。
【0284】1.CSM選択部63は、CSM広告部6
9を起動する(ステップ1001)。
【0285】2.CSM広告部69は、CSM選択部6
3になされたCSからの入力の内容を受け取り、リポジ
トリ15の中から関連の深い広告20を取り出し、CS
に提供する(ステップ1002)。
【0286】以上のとおり、消費流通部13によれば、
本発明の目的に沿った、以下のような効果が期待でき
る。
【0287】(1)CSM選択部63を介して多くのコ
ンポーネントウェアを示すことにより、CSによる再利
用要求に高い確率で応えられるようになり、流通が促進
される。
【0288】(2)CSM判断部68を介して、フレバ
ードフレームワーク17を再利用するのかプレーンフレ
ームワーク18を再利用するのかをCSが選択できるよ
うにすることにより、CSが選択に応じた対価を支払う
ことが可能になり、流通が促進される。
【0289】(3)CSM広告部69を介して、ADが
出稿する広告20が効率良く展開されることにより、A
Dが多く出稿するようになることで流通コストを下げる
ことができ、流通が促進される。
【0290】(4)CSM取込部65およびCSM払出
部66を介してコンポーネントウェアをオブジェクトの
まま取り扱うことにより、CSはベースオブジェクトお
よびカスタムオブジェクトをコンパイルすることなく再
利用することができ、流通が促進される。
【0291】(5)CSM徴収部67を介してCSから
DSへ対価を支払うことにより、流通経路が確立され、
流通が促進される。
【0292】広告流通部 広告流通部14は、ADが出稿する広告20を受け付け
てリポジトリ15に格納する機能を担う。また、広告流
通部14は、出稿された広告20に応じた対価をDSが
徴収する機能を担う。
【0293】広告流通部14を通して広告20の出稿が
行われるとき、それを行うのはADとしての役割を担っ
た者である。このADは、実際に広告20を出稿する者
でも良いし、その出稿者の代理としての流通業者でも良
い。
【0294】また広告流通部14の物理的な構造を考え
る場合、広告主が主体であれば広告主が直接利用できる
環境に、あるいは流通業者が主体であれば流通業者が直
接利用できる環境に配置されても良い。物理的な配置と
それを透過的に扱う方法については本発明と直接関係す
るものではないので、これ以上言及しない。
【0295】広告流通部14における流通のシナリオに
は、以下のみが考えられる。
【0296】(1)シナリオADV1…ADが、広告2
0を流通させる。
【0297】出稿に対する見返りとしてADが支払う対
価は、基本的に、出稿される広告20の展開見込みに基
づいて決定される。ここで広告20の展開見込みとは、
例えば出稿された広告20が非常に基礎的なインフラ技
術に関係したもので多くのコンポーネントウェアと関連
付けられることが見込まれる、といったことである。ま
た対価は、その他の要因によって変動させることもでき
る。ここでその他の要因とは、例えばADとDSとの間
で結ばれる契約などである。
【0298】図15は広告流通部14の内部構成を示す
図である。
【0299】[シナリオADV1]以下、シナリオAD
V1に沿って、広告流通部14の動作について説明す
る。
【0300】なお、シナリオの全体像を表すフローチャ
ートを図16に示す。
【0301】1.広告20を出稿しようとするADの要
求を、ADV受付部71が受け付ける(ステップ110
1)。
【0302】2.ADV受付部71は、ADV制御部7
2を起動する(ステップ1102)。
【0303】3.ADV受付部71は、次の要求に備え
て待機する(ステップ1103)。
【0304】4.ADV制御部72は、広告入稿部73
を起動し、処理が終了するのを待つ(ステップ110
4)。
【0305】5.広告入稿部73は、出稿された広告2
0をADV作業領域74に移す。広告20の本体を移し
ても良いし、その存在に関する情報のみを移しても良い
(ステップ1105)。
【0306】6.ADV制御部72は、広告登録部75
を起動し、処理が終了するのを待つ(ステップ110
6)。
【0307】7.広告登録部75は、ADV作業領域7
4に格納されている広告20を取り出し、名称や権利、
キーワードなどに加えて、展開見込みに関する情報を付
加した上で、リポジトリ15に登録する(ステップ11
07)。
【0308】8.ADV制御部72は、ADV徴収部7
6を起動し、処理が終了するのを待つ(ステップ110
8)。
【0309】9.ADV徴収部76は、出稿された広告
20の展開見込みに応じた対価をADから徴収する(ス
テップ1109)。
【0310】以上のとおり、広告流通部14によれば、
本発明の目的に沿った、以下のような効果が期待でき
る。
【0311】(1)広告登録部75を介して、ADが出
稿する広告20が効率良くCSに展開されることによ
り、ADが多く出稿するようになることで流通コストを
下げることができ、流通が促進される。
【0312】(2)ADV徴収部76を介してADから
DSへ対価を支払うことにより、流通コストを下げるこ
とができ、流通が促進される。
【0313】リポジトリ リポジトリ15は、コンポーネントウェア、すなわちS
Iが提供してCSが消費するフレバードフレームワーク
17、CVあるいはSIが提供してCSが消費するプレ
ーンフレームワーク18を管理する機能を担う。また、
リポジトリ15は、ADが出稿してCSが消費する広告
20を管理する機能を担う。
【0314】リポジトリ15においてフレバードフレー
ムワーク17、プレーンフレームワーク18および広告
20の管理が行われるとき、それを行うのはDSとして
の役割を担った者である。
【0315】またリポジトリ15の物理的な構造を考え
る場合、フレバードフレームワーク17、プレーンフレ
ームワーク18および広告20はいずれも基本的には流
通業者が直接利用できる環境に配置するものとする。物
理的な配置については本発明と直接関係するものではな
いので、これ以上言及しない。
【0316】図17はリポジトリ15の内部構成を示す
図である。
【0317】以下、リポジトリ15の動作について説明
する。
【0318】流通管理部81は、コンポーネントウェア
および広告20の流通に関する窓口となる機能を担う。
すなわち、フレバードフレームワーク流通部11あるい
はプレーンフレームワーク流通部12を介してコンポー
ネントウェアを受け付け、広告流通部14を介して広告
20を受け付け、さらに消費流通部13を介してコンポ
ーネントウェアおよび広告20を払い出す機能を担う。
フレバードフレームワーク流通部11およびプレーンフ
レームワーク流通部12を介して提供されたコンポーネ
ントウェアは、後述するコンポーネントウェア管理部8
2にその管理が引き渡される。また、広告流通部14を
介して提供された広告20は、後述する広告管理部89
にその管理が引き渡される。なお、消費流通部13を介
して消費されるコンポーネントウェアおよび広告20
は、コンポーネントウェア管理部82および広告管理部
89を通して消費される。ここで流通管理部81は、こ
れらのコンポーネントウェアおよび広告20がどのよう
にやりとりされているかを把握する機能も担う。
【0319】コンポーネントウェア管理部82は、コン
ポーネントウェアのライフサイクルの管理を行う。ここ
でコンポーネントウェアのライフサイクルとは、その生
成、消滅、参照などを意味する。すなわち、コンポーネ
ントウェアの生成とは、流通管理部81を介して提供さ
れたコンポーネントウェアを受け付け、ベースオブジェ
クト、カスタムオブジェクト、およびそれらの組合せ情
報を認識した上で、それぞれを後述するベースオブジェ
クト管理部83、カスタムオブジェクト管理部84、お
よび組合せ管理部85に引き渡すことを意味する。コン
ポーネントウェアの消滅とは、DSからの入力により、
指示されたコンポーネントウェアを構成するベースオブ
ジェクト、カスタムオブジェクト、およびそれらの組合
せ情報に対する削除が指示され、それらの指示をそれぞ
れベースオブジェクト管理部83、カスタムオブジェク
ト管理部84、および組合せ管理部85に引き渡すこと
を意味する。コンポーネントウェアの参照とは、流通管
理部81を介して要求されたコンポーネントウェアを構
成するベースオブジェクト、カスタムオブジェクト、お
よびそれらの組合せ情報に対する払出しの指示を、それ
ぞれベースオブジェクト管理部83、カスタムオブジェ
クト管理部84、および組合せ管理部85に引き渡すこ
とを意味する。
【0320】ベースオブジェクト管理部83は、コンポ
ーネントウェアを構成するベースオブジェクトのライフ
サイクル(生成、消滅、参照など)の管理を行う。ベー
スオブジェクトの生成とは、コンポーネントウェア管理
部82を介して提供されたベースオブジェクトを受け付
け、その存在に関する情報を生成することを意味する。
ベースオブジェクトの実体については、後述するベース
オブジェクト実体管理部86に引き渡す。さらに、認識
したベースオブジェクトに関する情報を組合せ管理部8
5に提供する。ベースオブジェクトの消滅とは、コンポ
ーネントウェア管理部82を介して指示されたベースオ
ブジェクトの削除指示を実行することを意味する。ベー
スオブジェクトの実体の削除については、ベースオブジ
ェクト実体管理部86に引き渡す。ベースオブジェクト
の参照とは、コンポーネントウェア管理部82を介して
指示されたベースオブジェクトの参照指示を実行するこ
とを意味する。ベースオブジェクトの実体の参照につい
ては、ベースオブジェクト実体管理部86に引き渡す。
【0321】カスタムオブジェクト管理部84は、コン
ポーネントウェアを構成するカスタムオブジェクトのラ
イフサイクル(生成、消滅、参照など)の管理を行う。
カスタムオブジェクトの生成とは、コンポーネントウェ
ア管理部82を介して提供されたカスタムオブジェクト
を受け付け、その存在に関する情報を生成することに意
味する。受け付けたカスタムオブジェクトが実体なのか
インタフェースのみなのかを認識した上で、それらをそ
れぞれカスタムオブジェクト実体管理部87かカスタム
オブジェクトインタフェース管理部88に引き渡す。ま
た、カスタムオブジェクト管理部84は、認識したカス
タムオブジェクトに関する情報を組合せ管理部85に提
供する。カスタムオブジェクトの消滅とは、コンポーネ
ントウェア管理部82を介して指示されたカスタムオブ
ジェクトの削除指示を実行することを意味する。カスタ
ムオブジェクトの実体あるいはインタフェースの削除に
ついては、それぞれカスタムオブジェクト実体管理部8
7あるいはカスタムオブジェクトインタフェース管理部
88に引き渡す。カスタムオブジェクトの参照とは、コ
ンポーネントウェアを介して指示されたカスタムオブジ
ェクトの参照指示を実行することを意味する。カスタム
オブジェクトの実体あるいはインタフェースの参照につ
いては、カスタムオブジェクト実体管理部87あるいは
カスタムオブジェクトインタフェース管理部88に引き
渡す。
【0322】組合せ管理部85は、コンポーネントウェ
アを構成するベースオブジェクト同士、およびベースオ
ブジェクトとカスタムオブジェクトの組合せ情報のライ
フサイクル(生成、消滅、参照など)の管理を行う。組
合せ情報の生成とは、コンポーネントウェア管理部82
を介して提供された組合せ情報を受け付け、さらにベー
スオブジェクト管理部83とカスタムオブジェクト管理
部84から提供されるオブジェクトに関する情報から、
それらの組合せ情報を生成することを意味する。組合せ
情報の消滅とは、コンポーネントウェア管理部82を介
して指示された組合せ情報の削除指示を実行することを
意味する。組合せ情報の参照とは、コンポーネントウェ
アを介して指示された参照指示を実行することを意味す
る。
【0323】ベースオブジェクト実体管理部86は、ベ
ースオブジェクトの実体のライフサイクル(生成、消
滅、参照など)の管理を行う。ベースオブジェクトの実
体の生成とは、ベースオブジェクト管理部83を介して
提供されたベースオブジェクトの実体を受け付け、格納
することを意味する。ベースオブジェクトの実体の消滅
とは、ベースオブジェクト管理部83を介して実行され
た削除指示に沿って、実際に削除することを意味する。
ベースオブジェクトの実体の参照とは、ベースオブジェ
クト管理部83を介して実行された参照指示に沿って、
内容を返すことを意味する。
【0324】カスタムオブジェクト実体管理部87は、
カスタムオブジェクトの実体のライフサイクル(生成、
消滅、参照など)の管理を行う。カスタムオブジェクト
の実体の生成とは、カスタムオブジェクト管理部84を
介して提供されたカスタムオブジェクトの実体を受け付
け、格納することを意味する。カスタムオブジェクトの
実体の消滅とは、カスタムオブジェクト管理部84を介
して実行された削除指示に沿って、実際に削除すること
を意味する。カスタムオブジェクトの実体の参照とは、
カスタムオブジェクト管理部84を介して実行された参
照指示に沿って、内容を返すことを意味する。
【0325】カスタムオブジェクトインタフェース管理
部88は、カスタムオブジェクトのインタフェースのラ
イフサイクル(生成、消滅、参照など)の管理を行う。
カスタムオブジェクトのインタフェースの生成とは、カ
スタムオブジェクト管理部84を介して提供されたカス
タムオブジェクトのインタフェースを受け付け、格納す
ることを意味する。カスタムオブジェクトのインタフェ
ースの消滅とは、カスタムオブジェクト管理部84を介
して実行された削除指示に沿って、実際に削除すること
を意味する。カスタムオブジェクトのインタフェースの
参照とは、カスタムオブジェクト管理部84を介して実
行された参照指示に沿って、内容を返すことを意味す
る。
【0326】広告管理部89は、広告20のライフサイ
クル(生成、消滅、参照など)の管理を行う。広告20
の生成とは、流通管理部81を介して提供された広告2
0を受け付け、格納することを意味する。広告20の消
滅とは、DSからの入力により指示された広告20の削
除の実行を意味する。広告20の参照とは、流通管理部
81を介して要求された広告20の払出しの実行を意味
する。
【0327】以上のとおり、リポジトリ15によれば、
本発明の目的に沿った、以下のような効果が期待でき
る。
【0328】(1)流通管理部81、コンポーネントウ
ェア管理部82、ベースオブジェクト管理部83、ベー
スオブジェクト実体管理部86、カスタムオブジェクト
管理部84およびカスタムオブジェクト実体管理部87
により、SIが最大限の利益を得ることが可能なフレバ
ードフレームワーク17を格納することができ、流通が
促進される。
【0329】(2)流通管理部81、コンポーネントウ
ェア管理部82、ベースオブジェクト管理部83、ベー
スオブジェクト実体管理部86、カスタムオブジェクト
管理部84およびカスタムオブジェクトインタフェース
管理部88により、SIが最終ユーザによる制限を守る
ことが可能なプレーンフレームワーク18を格納するこ
とができ、流通が促進される。
【0330】(3)流通管理部81、コンポーネントウ
ェア管理部82、ベースオブジェクト管理部83、ベー
スオブジェクト実体管理部86、カスタムオブジェクト
管理部84およびカスタムオブジェクトインタフェース
管理部88により、CVが最大限の利益を得ることが可
能なプレーンフレームワーク18を格納することがで
き、流通が促進される。
【0331】(4)流通管理部81、コンポーネントウ
ェア管理部82、ベースオブジェクト管理部83、ベー
スオブジェクト実体管理部86、カスタムオブジェクト
管理部84およびカスタムオブジェクト実体管理部87
により、SIおよびCVはベースオブジェクトおよびカ
スタムオブジェクトの実装ノウハウを公開せずに済み、
さらにCSはベースオブジェクトおよびカスタムオブジ
ェクトをコンパイルすることなく再利用することがで
き、流通が促進される。
【0332】(5)流通管理部81、コンポーネントウ
ェア管理部82、ベースオブジェクト管理部83、カス
タムオブジェクト管理部84および組合せ管理部85を
介してベースオブジェクトの実体、ベースオブジェクト
同士の組合せ情報、カスタムオブジェクトの実体あるい
はインタフェース、およびベースオブジェクトとカスタ
ムオブジェクトの組合せ情報を取り扱うことにより、全
体再利用と部分再利用の融合が可能になり、流通が促進
される。
【0333】(6)流通管理部81、コンポーネントウ
ェア管理部82および広告管理部89を介して、ADが
出稿する広告20が効率良くCSに展開されることによ
り、ADが多く出稿するようになることで流通コストを
下げることができ、流通が促進される。
【0334】このように本実施の形態によれば、以下の
ような効果が期待できる。
【0335】(1)最終ユーザの承諾を前提として、コ
ンポーネントウェアを提供することで得られる利益を最
大化するために、構築したアプリケーションから抽出さ
れるオブジェクトについて、ベースオブジェクトの実
体、およびベースオブジェクト同士の組合せ情報、およ
びベースオブジェクトとカスタムオブジェクトの組合せ
情報に加えて、カスタムオブジェクトの実体までを提供
できるようになる。
【0336】(2)最終ユーザからの制限の下で、コン
ポーネントウェアを提供することで得られる利益を相応
に得られるようにするために、構築したアプリケーショ
ンから抽出されるオブジェクトについて、ベースオブジ
ェクトの実体、カスタムオブジェクトのインタフェー
ス、ベースオブジェクト同士の組合せ情報、およびベー
スオブジェクトとカスタムオブジェクトの組合せ情報の
みを提供できるようになる。一方でカスタムオブジェク
トの実体までは提供しないようにできる。
【0337】(3)コンポーネントウェアを提供するこ
とで得られる利益を最大化するために、多くの最終ユー
ザに展開されるような、ベースオブジェクトの実体、お
よびベースオブジェクト同士の組合せ情報、およびベー
スオブジェクトとカスタムオブジェクトの組合せ情報ま
でを提供できるようになる。さらにカスタムオブジェク
トの実体は最終ユーザ毎に異なるはずなので提供せず、
インタフェースのみを提供できる。
【0338】(4)コンポーネントウェアを利用するこ
とで発生する費用を最小化するために、最終ユーザ固有
の仕様が対応することになるカスタムオブジェクトにつ
いては実体を利用することをせず、ベースオブジェクト
の実体、およびベースオブジェクト同士の組合せ情報、
およびベースオブジェクトとカスタムオブジェクトの組
合せ情報のみを利用できるようにできる。カスタムオブ
ジェクトの実体は、カスタムオブジェクトのインタフェ
ースから新規に作成するようにできる。
【0339】(5)コンポーネントウェアの利用による
生産性の向上を最大化するために、最終ユーザ固有の仕
様の自由度を抑え、ベースオブジェクトの実体、および
ベースオブジェクト同士の組合せ情報、およびベースオ
ブジェクトとカスタムオブジェクトの組合せ情報に加え
て、カスタムオブジェクトの実体までを利用できるよう
になる。
【0340】(6)ベースオブジェクトおよびカスタム
オブジェクトの実装ノウハウについては提供しないよう
にできる。
【0341】(7)ベースオブジェクトおよびカスタム
オブジェクトをコンパイルすることなく利用できる。
【0342】(8)ベースオブジェクトの実体、および
ベースオブジェクト同士の組合せ情報、およびベースオ
ブジェクトとカスタムオブジェクトの組合せ情報、およ
びカスタムオブジェクトの実体あるいはインタフェース
を、SIあるいはCVからCSへの流通を仲介すること
で利益が得られるようになる。
【0343】(9)コンポーネントウェアの流通経路に
広告20を出せるようにすることにより、ADからの広
告収入を得られるようになる。
【0344】(10)自社(AD)で提供する商品/サ
ービスの情報を、CSに効率良く提供できる。
【0345】なお、上述した実施の形態において、フレ
バードフレームワーク流通部11、プレーンフレームワ
ーク流通部12、消費流通部13、広告流通部14およ
びリポジトリ15はいずれも、専用のハードウェアによ
り実現することができる他、図47に示すようなコンピ
ュータ90上で動作するプログラムとして実現すること
ができる。コンピュータ90は、コンピュータ本体91
の他、CRT(Cathode Ray Tube)等の表示装置92、
キーボードやマウス等の入力装置93、FD(Floppy D
isk)ドライブ95、CD−ROM(Compact Disk - Re
ad Only Memory)ドライブ96、ハードディスク装置9
7等の各種の周辺機器を備えている。コンピュータ90
上で動作するプログラムは、コンピュータ90におい
て、フレキシブルディスク98や、CD−ROM99、
内部メモリ94、およびハードディスク装置97等のコ
ンピュータ読み取り可能な各種の記録媒体に格納され、
コンピュータ本体91内のCPU(Central Processing
Unit)から逐次読み出されて実行されることにより、
上述したようなフレバードフレームワーク流通部11、
プレーンフレームワーク流通部12、消費流通部13、
広告流通部14およびリポジトリ15の各機能を実現す
る。
【0346】また、上述した実施の形態において、フレ
バードフレームワーク流通部11、プレーンフレームワ
ーク流通部12、消費流通部13、広告流通部14およ
びリポジトリ15は、物理的に1つのハードウェア中に
含められている必要はなく、ネットワーク等の通信媒体
を介して複数の構成要素に展開されて存在することも可
能である。具体的には例えば、図48に示すようなネッ
トワークシステム100上において、サーバコンピュー
タ90aおよび複数のクライアント90bのそれぞれで
動作するプログラム(WebサーバおよびWebブラウ
ザ)の機能の一部として実現することができる。
【0347】
【実施例】次に、上述したコンポーネントウェア流通装
置10の具体的実施例について述べる。
【0348】なおここでは、用意するシナリオとして、
以下のものを考える。
【0349】1.SIが、実アプリケーション16から
フレバードフレームワーク17およびプレーンフレーム
ワーク18を提供する。
【0350】2.ADが、広告20を出稿する。
【0351】3.CSが、フレバードフレームワーク1
7および広告20を消費する。
【0352】4.DSが、SIに利益を払い、ADおよ
びCSから対価を徴収する。
【0353】また、コンポーネントウェア流通装置10
の環境として、以下のものを考える。
【0354】1.コンポーネントウェア流通装置10
は、DSの管轄下にあるWebサイトを中心として実現
される。
【0355】2.SI、AD、CSはWebブラウザを
利用して、コンポーネントウェア流通装置10にアクセ
スする。
【0356】以下、図18乃至図46を適宜参照して、
このようなシナリオおよび環境下でのコンポーネントウ
ェア流通装置10の動作例について説明する。図18乃
至図46はSI、ADおよびCSにより操作されるWe
bブラウザや所定ツールの画面例等を示す図である。
【0357】(SIによる操作)最初に、SIが実アプ
リケーション16からフレバードフレームワーク17お
よびプレーンフレームワーク18を提供する場合の動作
について説明する。
【0358】まず、SIがWebブラウザを介して、D
Sが管轄するコンポーネントウェア流通サイトのホーム
ページ151にアクセスする(図18参照)。さらに、
ホームページ151上の「提供を希望される方はこちら
へ→」というメッセージに従って、アイコン152をク
リックすることにより、コンポーネントウェア提供受付
ページ155へ移動する(図19参照)。以上の、DS
側で管轄するWebサイトに存在するWebサーバ(ハ
ードウェアおよびソフトウェア)、およびそこで管理さ
れる2つのページ、さらにSI側に存在するWebブラ
ウザが、フレバードフレームワーク流通部11における
FFW受付部31の実体となる。
【0359】次に、SIが、コンポーネントウェア提供
受付ページ155上の「実アプリケーションからの提供
を希望される方はこちらへ→」というメッセージに従っ
て、アイコン156をクリックすることにより、フレバ
ードフレームワーク17の提供受付ページ158へ移動
する(図20参照)。以上の、DS側で管轄するWeb
サーバ、およびそこで管理されるページ、さらにSI側
に存在するWebブラウザが、フレバードフレームワー
ク流通部11におけるFFW受付部31の実体の一部と
なる。
【0360】次に、コンポーネントウェア提供受付ペー
ジ155上の「実アプリケーションの登録を行います」
というアンカー159をクリックすることにより、SI
が開発した実アプリケーション16をDS側に送るため
の送信ツール165(図21参照)をダウンロードす
る。この送信ツールが必要な理由は、一般的なWebブ
ラウザではセキュリティ上の制約からクライアント側の
リソースにアクセスできないためである。さらに、SI
はダウンロードした送信ツール165を実行する(図2
1参照)。具体的には、SIは送信ツール165上で、
提供しようとしている実アプリケーション16が格納さ
れているディレクトリを指定し、送信ボタン166を押
す。これにより、DS側へ実アプリケーション16が送
信される。ここでは送信手段として、いわゆるメールシ
ステムによる方法を採用する。すなわち、DS側の実ア
プリケーション受付窓口となるメールアドレスに対し
て、実アプリケーション16を構成するファイル群をメ
ールとして送信するものとする。さらに、DS側ではメ
ールシステムにより送信されてきたメールを受け取り、
実アプリケーション16を再構成するプログラムを起動
し、実行する。メールを受信した後、自動的にプログラ
ムを起動するような仕組みは一般的なメールシステムに
備わっている。以上の、DS側で管轄するWebサイト
に存在するサーバ、およびそこで管理されているペー
ジ、送信ツール、実アプリケーション16を再構成する
メールシステムおよび再構成プログラム、さらにSI側
に存在するWebブラウザおよび実行される送信ツール
(メールシステムを含む)が、フレバードフレームワー
ク流通部11における実アプリケーション登録部33の
実体となる。
【0361】次に、DS側のメールシステムは、再構成
した実アプリケーション16をオブジェクト指向データ
ベースに格納する。このオブジェクト指向データベース
には、ディレクトリの構造とそこに含まれるファイルの
実体に合わせたスキーマがデザインされているものとす
る。以上の、DS側に存在するオブジェクト指向データ
ベースが、フレバードフレームワーク流通部11におけ
るFFW作業領域34の実体となる。
【0362】次に、DS側のメールシステムは、先にオ
ブジェクト指向データベースに格納された実アプリケー
ション16からオブジェクトを抽出するプログラムを続
けて起動する。ここで、受け付けられた実アプリケーシ
ョン16がJava言語で開発されているものとする
と、基本的にオブジェクトは拡張子“class”を持
つファイルを認識することで得ることができる。オブジ
ェクト指向データベースを用いれば、このような抽出検
索を発行するプログラムの開発は容易である。さらに抽
出プログラムは、得られたオブジェクトに対して、それ
らが備えているデータやメソッドにどのようなものがあ
るかを調べる。上述した場合と同様に実アプリケーショ
ン16がJava言語で開発されていれば、javap
コマンドを利用することによってデータとメソッドに関
する情報が得られる。さらに抽出して得られたオブジェ
クトをあらためてオブジェクト指向データベースに格納
する。以上の、DS側で管轄するメールシステムと、そ
れによって起動されるオブジェクト抽出プログラムが、
フレバードフレームワーク流通部11におけるFFWオ
ブジェクト抽出部35の実体となる。
【0363】次に、DS側のメールシステムは、実アプ
リケーション16を送信したSIに対して、提供された
実アプリケーション16をフレバードフレームワーク化
するように促すメール167を返信する(図22参
照)。SIはこのメール167を受け取り、Webブラ
ウザ上で「フレバードフレームワーク化を行います」と
いうアンカー160(図20参照)をクリックすること
により、フレバードフレームワーク編集ページ168へ
移動する(図23参照)。フレバードフレームワーク編
集ページ168には、Javaアプレットなどの技術を
用いることにより、GUIベースの編集プログラムをロ
ードすることができる。また、上述した実アプリケーシ
ョン16の登録作業によって、Webサーバ側に実アプ
リケーション16およびそこから抽出したオブジェクト
が存在するので、それらに関する情報をJavaアプレ
ットと一緒にダウンロードすることにより、SIによる
Webブラウザ上で編集作業を行うことができる。以上
の、DS側で管轄するWebサーバと、そこで管理され
るページ(Javaアプレットを含む)、およびSI側
のWebブラウザと、そこにダウンロードされたページ
(Javaアプレットを含む)が、フレバードフレーム
ワーク流通部11におけるFFW化部36の実体とな
る。
【0364】次に、SI側にダウンロードされたフレバ
ードフレームワーク編集ページ168上で、どのオブジ
ェクトがベースオブジェクトで、どのオブジェクトがカ
スタムオブジェクトで、どのオブジェクトとどのオブジ
ェクトがどのように組み合せられているかを指定する。
オブジェクト上でマウスを右クリックしたときの様子を
図4に示す。このとき、プルダウンメニュー169上で
「ベースオブジェクト」を選択すれば、その後そのオブ
ジェクトはベースオブジェクトとして認識される。カス
タムオブジェクトについても同様である。さらに、これ
らの選択は後でやり直しても良い。あるオブジェクトを
ドラッグして別のオブジェクトにドロップしたときの様
子を図25および図26に示す。このようなドロップに
より、両オブジェクト間が組み合わされて使用されると
いうことが認識される。また、このようなドロップによ
り、メソッドを選択するプルダウンメニューが表示さ
れ、オブジェクト間をどのメソッドで組み合せるかが認
識される。ベースオブジェクト/カスタムオブジェク
ト、およびそれらの組合せについて設定した例を図27
に示す。ここでは、オブジェクトのうちクラス名に
「●」が付けられているものがベースオブジェクト、
「○」が付けられているものがカスタムオブジェクトを
表す。また、オブジェクト間に存在する矢印が組合せを
表しており、さらにその中には組合せを果たすメソッド
名が示されている。以上の、オブジェクトを右クリック
したときに現れるプルダウンメニュー169が、フレバ
ードフレームワーク流通部11におけるFFWベース化
部36aおよびFFWカスタム化部36bの実体とな
り、オブジェクトをドラッグおよびドロップする仕組
み、およびその後現れるプルダウンメニューがFFW組
合せ部36cの実体となる。
【0365】次に、SI側のWebブラウザで先のフレ
バードフレームワーク提供受付ページ158(図20参
照)に戻り、「フレバードフレームワークとして提供す
るか、プレーンフレームワークとして提供するか判断し
ます」というメッセージ161に従って、どちらか一方
あるいは両方を提供するかを決定する。ここでは両方を
提供するので、SIがWebブラウザ上のページに存在
する「FFW&PFW」というボタン164を押す。以
上の、DS側で管轄するWebサーバ、およびそこで管
理されているページ(ボタンを含む)、およびSI側に
存在するWebブラウザが、フレバードフレームワーク
流通部11におけるFFW判断部37の実体となる。
【0366】次に、SIが「FFW&PFW」というボ
タン164(図20参照)を押すことにより、両方を提
供する場合のガイダンスを示す提供受付ページ170へ
移動する(図28参照)。以上の、DS側で管轄するW
ebサーバ、およびそこで管理されているページ、およ
びSI側に存在するWebブラウザが、フレバードフレ
ームワーク流通部11におけるFFW受付部31の実体
の残りの一部となる。
【0367】次に、SIが「フレバードフレームワーク
の登録を行います」というアンカー171をクリックす
ることにより、提供するフレバードフレームワーク17
に関する情報を入力するフレバードフレームワーク情報
入力ページ175へ移動する(図29参照)。このフレ
バードフレームワーク情報入力ページ175で、提供す
るフレバードフレームワーク17の名称や、権利(利用
の範囲制限など)、各種のキーワードによる情報を付加
する。入力が完了したら、「登録」というボタン176
を押す。すると、DS側で管轄するWebサーバがフレ
バードフレームワーク17をリポジトリ15に登録する
プログラムを起動する。一般的な、Webサーバでは、
CGI(Common Gateway Interface)と呼ばれるインタ
フェースに代表されるような任意のプログラムを起動す
る仕組みを備えており、このようなリポジトリ登録プロ
グラムを起動することは容易に実現できる。リポジトリ
登録プログラムは、オブジェクト指向データベースに格
納されているフレバードフレームワーク17と、先に入
力された名称などの付加情報とを併せて、DS側で管轄
されているリポジトリ15に登録する。以上の、DS側
で管轄するWebサーバ(プログラム起動の仕組みを含
む)、およびそこで管理されているページ、リポシドリ
登録プログラム、さらにSI側に存在するWebブラウ
ザが、フレバードフレームワーク流通部11におけるF
FW登録部38の実体となる。
【0368】次に、SIが提供受付ページ170(図2
8参照)に戻り、「御提供のフレバードフレームワーク
に対する代金を支払わせていただきます」というアンカ
ー172をクリックすることにより、提供するフレバー
ドフレームワーク17に関する代金支払いを行うフレバ
ードフレームワーク代金支払いページ177へ移動する
(図30参照)。このフレバードフレームワーク代金支
払いページ177では、提供するフレバードフレームワ
ーク17に対する代金をどのように支払うかを決定す
る。なお、本実施例では、代金の金額が予め提示されて
いる。これは、このような内容(代金の決定)について
の交渉は、一般的に本発明のようなシステムの外で行わ
れるのが常であるためである。もちろん、本発明のシス
テムの枠組みの中で直接交渉するような仕組みを持たせ
ることも、容易に実現できる。例えば映像配信経路をW
ebサーバ/ブラウザ上に確立し、SIとDSがインタ
ラクティブに直接交渉することも可能である。しかし、
交渉の性質上、そのような形態が普及するとは考えにく
いので、本実施例では除外した。決済方法を選択した
ら、「決定」ボタン178を押す。以上の、DS側で管
轄するWebサーバ、およびそこで管理されているペー
ジ、さらにSI側に存在するWebブラウザが、フレバ
ードフレームワーク流通部11におけるFFW支払部3
9の実体となる。
【0369】次に、SIが先の提供受付ページ170
(図28参照)に戻り、「プレーンフレームワーク化を
行います」というアンカー173をクリックすることに
より、提供するフレバードフレームワーク17をプレー
ンフレームワーク18に変換する。本実施例では、アン
カーをクリックすることでCGI等のインタフェースを
介して、変換プログラムが起動されるものとする。変換
プログラムは、オブジェクト指向データベースからフレ
バードフレームワーク17を取り出し、フレバードフレ
ームワーク17に含まれるカスタムオブジェクトに対
し、そのインタフェースのみを残し、具体的な属性値や
メソッドの振る舞いについては削除し、最終的にプレー
ンフレームワーク18としてオブジェクト指向データベ
ースに格納する。本実施例では提供するコンポーネント
ウェアがJava言語で開発されているとしているの
で、変換プログラムは、オブジェクト指向データベース
に格納されているカスタムオブジェクトに関する情報に
対して、javapコマンドによって得られているイン
タフェース部分のみ残し、個々の実体となるclass
ファイルそのものを削除するものとする。以上の、DS
側で管轄するWebサーバ(プログラム起動の仕組みを
含む)、およびそこで管理されているページ、変換プロ
グラム、さらにSI側に存在するWebブラウザが、フ
レバードフレームワーク流通部11におけるインタフェ
ース化部40の実体となる。
【0370】次に、SIが「プレーンフレームワーク提
供受付に移管します」というアンカー174をクリック
することにより、プレーンフレームワーク化されたコン
ポーネントウェアを受け付けるためのコンポーネントウ
ェア提供受付ページ179へ移動する(図31参照)。
以上の、DS側で管轄するWebサーバ、およびそこで
管理されているページ、さらにSI側に存在するWeb
ブラウザが、フレバードフレームワーク流通部11にお
けるPFW移管部41およびプレーンフレームワーク流
通部12におけるPFW受付部51の実体となる。
【0371】次に、「フレバードフレームワークからの
提供を希望される方はこちらへ→」というメッセージに
従って、SIがアイコン180をクリックすることによ
り、プレーンフレームワーク18の提供受付ページ18
2へ移動する(図32参照)。以上の、DS側で管轄す
るWebサーバ、およびそこで管理されているページ、
さらにSI側に存在するWebブラウザが、プレーンフ
レームワーク流通部12におけるPFW制御部52の実
体となる。
【0372】次に、SIが「プレーンフレームワークを
読み込みます」というアンカー183をクリックするこ
とにより、提供するプレーンフレームワーク18の移管
を行う。本実施例では、アンカーをクリックすることで
CGI等のインタフェースを介して、移管プログラムが
起動されるものとする。以上の、DS側で管轄するWe
bサーバ(プログラム起動の仕組みを含む)、およびそ
こで管理されている移管プログラムが、プレーンフレー
ムワーク流通部12におけるPFW被移管部59の実体
となる。
【0373】次に、DS側の移管プログラムは、フレバ
ードフレームワーク流通部11におけるオブジェクト指
向データベースに問合せを行い、当該プレーンフレーム
ワーク18を得て、プレーンフレームワーク流通部12
におけるオブジェクト指向データベースに格納する。以
上の、DS側に存在するオブジェクト指向データベース
が、プレーンフレームワーク流通部12におけるPFW
作業領域54の実体となる。
【0374】次に、SI側のWebブラウザでプレーン
フレームワーク提供受付ページ182(図32参照)に
戻り、「プレーンフレームワークの登録を行います」と
いうアンカー184をクリックすることにより、提供す
るプレーンフレームワーク18に関する情報を入力する
プレーンフレームワーク情報入力ページ187へ移動す
る(図33参照)。このプレーンフレームワーク情報入
力ページ187で、提供するプレーンフレームワーク1
8の名称や権利、各種のキーワードによる情報を付加す
る。入力が完了したら、「登録」というボタン188を
押す。すると、DS側で管轄するWebサーバがプレー
ンフレームワーク18をリポジトリ15に登録するプロ
グラムを起動する。リポジトリ登録プログラムは、オブ
ジェクト指向データベースに格納されているプレーンフ
レームワーク18と、先に入力された名称などの付加情
報とを併せて、DS側で管轄されているリポジトリ15
に登録する。以上の、DS側で管轄するWebサーバ
(プログラム起動の仕組みを含む)、およびそこで管理
されているページ、リポジトリ登録プログラム、さらに
SI側に存在するWebブラウザが、プレーンフレーム
ワーク流通部12におけるPFW登録部57の実体とな
る。
【0375】次に、SIが先のプレーンフレームワーク
提供受付ページ182(図32参照)に戻り、「御提供
のプレーンフレームワークに対する代金を支払わせてい
ただきます」というアンカー185をクリックすること
により、提供するプレーンフレームワーク18に関する
代金支払を行うプレーンフレームワーク代金支払ページ
189へ移動する(図34参照)。このプレーンフレー
ムワーク代金支払ページ189では、提供するプレーン
フレームワーク18に対する代金をどのように支払うか
を決定する。決済方法を選択したら、「決定」ボタン1
90を押す。以上の、DS側で管轄するWebサーバ、
およびそこで管理されているページ、さらにSI側に存
在するWebブラウザが、プレーンフレームワーク流通
部12におけるPFW支払部58の実体となる。
【0376】最後に、SIが先のプレーンフレームワー
ク提供受付ページ182(図32参照)に戻り、「終
了」ボタン186を押すことで、SIによる実アプリケ
ーション16からのフレバードフレームワーク17およ
びプレーンフレームワーク18の提供を完了する。
【0377】(ADによる操作)次に、ADが広告20
を出稿する場合の動作について説明する。
【0378】まず、ADがWebブラウザを介して、先
に示したコンポーネントウェア流通サイトのホームペー
ジ151にアクセスする(図18参照)。以上の、DS
側で管轄するWebサーバ、およびそこで管理されてい
るページ、さらにAD側に存在するWebブラウザが、
広告流通部14におけるADV受付部71の実体とな
る。
【0379】次に、ADが「広告の出稿を希望される方
はこちらへ→」というメッセージに従って、アイコン1
54をクリックすることにより、広告出稿受付ページ1
91n移動する(図35参照)。以上の、DS側で管轄
するWebサーバ、およびそこで管理されているペー
ジ、さらにAD側に存在するWebブラウザが、広告流
通部14におけるADV制御部72の実体となる。
【0380】次に、ADが「広告の入稿を受け付けま
す」というアンカー192をクリックすることにより、
ADが出稿する広告20をDS側に送るための送信ツー
ル196(図36参照)をダウンロードする。さらに、
ADはダウンロードした送信ツール196を実行する
(図36参照)。具体的には、ADは送信ツール196
上で、出稿しようとしている広告20が格納されている
ディレクトリを指定し、送信ボタン197を押す。これ
により、DS側へ広告20が送信される。ここでも送信
手段として、メールシステムによる方法を採用する。さ
らに、DS側ではメールシステムにより送信されてきた
メールを受け取り、広告20として再構成するプログラ
ムを起動し、実行する。以上の、DS側で管轄するWe
bサーバ、およびそこで管理されている送信ツール、広
告20を再構成するメーシルステムおよび再構成プログ
ラム、さらにAD側で実行される送信ツール(メールシ
ステムを含む)が、広告流通部14における広告入稿部
73の実体となる。
【0381】次に、DS側のメールシステムは、再構成
した広告20をオブジェクト指向データベースに格納す
る。以上の、DS側に存在するオブジェクト指向データ
ベースが、広告流通部14におけるADV作業領域74
となる。
【0382】次に、広告出稿受付ページ191上で、A
Dが「広告を登録します」というアンカー193をクリ
ックすることにより、出稿する広告20に関する情報を
入力する広告情報入力ページ198へ移動する(図37
参照)。この広告情報入力ページ198で、出稿する広
告20の名称や権利、キーワードなどに加えて展開見込
みに関する情報を付加する。入力が完了したら、「登
録」というボタン199を押す。すると、DS側で管轄
するWebサーバが広告20をリポジトリ15に登録す
るプログラムを起動する。リポジトリ登録プログラム
は、オブジェクト指向データベースに格納されている広
告20と、先に入力された名称などの付加情報とを併せ
て、DS側で管轄されているリポジトリ15に登録す
る。以上の、DS側で管轄するWebサーバ(プログラ
ム起動の仕組みを含む)、およびそこで管理されている
ページ、リポジトリ登録プログラム、さらにAD側に存
在するWebブラウザが、広告流通部14における広告
登録部75の実体となる。
【0383】次に、ADが先の広告出稿受付ページ19
1(図35参照)に戻り、「広告に対する料金を承らせ
ていただきます」というアンカー194をクリックする
ことにより、出稿する広告20に関する料金支払いを行
う広告料金支払ページ250へ移動する(図38参
照)。この広告料金支払ページ250では、出稿する広
告20に対する料金をどのように支払うかを決定する。
決済方法を選択したら、「決定」ボタン251を押す。
以上の、DS側で管轄するWebサーバ、およびそこで
管理されているページ、さらにAD側に存在するWeb
ブラウザが、広告流通部14におけるADV徴収部76
の実体となる。
【0384】最後に、ADが先の広告出稿受付ページ1
91(図35参照)に戻り、「終了」ボタンを押すこと
により、ADによる広告20の出稿を完了する。
【0385】(CSによる操作)次に、CSがフレバー
ドフレームワーク17および広告20を消費する場合の
動作について説明する。
【0386】まず、CSがWebブラウザを介して、D
Sが管轄するコンポーネントウェア流通サイトのホーム
ページ151にアクセスする(図18参照)。以上の、
DS側で管轄するWebサーバ、およびそこで管理され
ているページ、さらにCS側に存在するWebブラウザ
が、消費流通部13におけるCSM受付部61の実体と
なる。
【0387】次に、CSが「払出しを希望される方はこ
ちらへ→」というメッセージに従って、アイコン153
をクリックすることにより、コンポーネントウェア払出
受付ページ252へ移動する(図39参照)。以上の、
DS側で管轄するWebサーバ、およびそこで管理され
ているページ、さらにCS側に存在するWebブラウザ
が、消費流通部13におけるCSM制御部62の実体と
なる。
【0388】次に、CSが「コンポーネントウェアを選
択します」というアンカー253をクリックすることに
より、コンポーネントウェア選択ページ257へ移動す
る(図40参照)。コンポーネントウェア選択ページ2
57には、コンポーネントウェアを選択するためのJa
vaアプレットがダウンロードされる。CSは、このJ
avaアプレット上で必要なコンポーネントウェアの選
択を行う。まず、CSは必要となりそうなコンポーネン
トウェアが含んでいるであろうと思われるキーワードを
キーワード欄258に入力し、それらを含んだコンポー
ネントウェアの一覧を得る。コンポーネントウェアの一
覧は、「検索結果」として示される検索結果フィールド
259に表示される。CSは表示された個々のコンポー
ネントウェアについての詳細を知るために、表示されて
いるコンポーネントウェアをダブルクリックする。する
と、個々のコンポーネントウェアの詳細が表示される
(図41参照)。詳細情報を確認し、再利用対象とする
のであれば、検索結果フィールド259に表示されたコ
ンポーネントウェアをドラッグして、選択結果フィール
ド260にドロップする(図42および図43参照)。
以上の操作を、必要なコンポーネントウェアが全て選択
されるまで繰り返す。以上の、DS側で管轄するWeb
サーバ、およびそこで管理されているページ(Java
アプレットを含む)が、消費流通部13におけるCSM
選択部63の実体となる。
【0389】なお、選択されたコンポーネントウェアに
対して、フレバードフレームワーク17とプレーンフレ
ームワーク18の両方が用意されている場合には、その
どちらかを選択するか判断する必要がある。ここでは、
先のコンポーネントウェア選択ページ257において、
検索結果フィールド259から選択結果フィールド26
0にドロップしたときに、そのコンポーネントウェアに
フレバードフレームワーク17とプレーンフレームワー
ク18の両方が存在することをJavaアプレットが認
識し、CSに対してどちらを選択するのか判断を求める
ためのダイアログ262を表示するものとする(図44
参照)。以上の、Javaアプレットによるダイアログ
が、消費流通部13におけるCSM判断部68の実体と
なる。
【0390】また、先のJavaアプレットにおいて、
選択キーワードを入力することにより、そのキーワード
に合致する広告20、あるいはキーワードに直接合致し
なくても展開見込みにより対象となり得る広告20を選
び出し、Javaアプレット内にバナー広告263とし
て表示する(図40等参照)。以上の、Javaアプレ
ット(バナー広告)が、消費流通部13におけるCSM
広告部69の実体となる。
【0391】次に、CSが先のコンポーネントウェア選
択ページ257で「選択終了」ボタン261を押すこと
により、リポジトリ15に登録されているコンポーネン
トウェアの取り込みを行う。本実施例では、ボタンを押
すことでCGI等のインタフェースを介して、取込プロ
グラムが起動されるものとする。以上の、DS側で管轄
するWebサーバ、およびそこで管理されているページ
(ボタンを含む)、取込プログラム、さらにCS側に存
在するWebブラウザが、消費流通部13におけるCS
M取込部65の実体となる。
【0392】次に、先の取込プログラムは、取り込んだ
コンポーネントウェアをオブジェクト指向データベース
に格納する。以上の、DS側に存在するオブジェクト指
向データベースが、広告流通部14におけるCSM作業
領域64となる。
【0393】次に、CSが先のコンポーネントウェア払
出受付ページ252(図39参照)に戻り、「コンポー
ネントウェアを払い出します」というアンカー254を
クリックすることにより、コンポーネントウェアを払い
出すためのコンポーネントウェア払出ページ264へ移
動する(図45参照)。ここで払出しの方法を選択し
「決定」ボタン265を押すと、指定した方法でコンポ
ーネントウェアを払い出すための払出プログラムが起動
し、実行される。以上の、DS側で管轄するWebサー
バ、およびそこで管理されているページ(ボタンを含
む)、払出プログラム、さらにSI側に存在するWeb
ブラウザが、消費流通部13におけるCSM払出部66
の実体となる。
【0394】次に、CSが先のコンポーネントウェア払
出受付ページ252(図39参照)に戻り、「コンポー
ネントウェアに対する料金を承らせていただきます」と
いうアンカー255をクリックすることにより、消費す
るコンポーネントウェアに関する料金支払いを行うコン
ポーネントウェア料金支払ページ266に移動する(図
46参照)。このコンポーネントウェア料金支払ページ
267では、消費するコンポーネントウェアに対する料
金をどのように支払うかを決定する。決済方法を選択し
たら、「決定」ボタン267を押す。以上の、DS側で
管轄するWebサーバ、およびそこで管理されているペ
ージ、さらにCS側に存在するWebブラウザが、消費
流通部13におけるCSM徴収部67の実体となる。
【0395】最後に、CSが先のコンポーネントウェア
払出受付ページ252(図39参照)に戻り、「終了」
ボタン256を押すことにより、CSによるフレバード
フレームワーク17および広告20の消費を完了する。
【0396】なお以上の一連の作業の中で展開されてい
るWebブラウザ上でのセッション管理(ページのつな
がりや、そこで扱われているデータに対する認識)は、
coockieなどの技術によって実現可能である。
【0397】
【発明の効果】以上説明したように本発明によれば、コ
ンポーネントウェアの流通に関わる様々な立場の者の要
求を満足しつつ、コンポーネントウェアの流通を促進し
てアプリケーション構築の生産性を向上させることがで
きる。
【図面の簡単な説明】
【図1】本発明によるコンポーネントウェア流通装置の
一実施の形態の全体構成を示すブロック図。
【図2】図1に示すフレバードフレームワーク流通部の
内部構成を示すブロック図。
【図3】図1に示すフレバードフレームワーク流通部の
作用(シナリオFFW1)を説明するためのフローチャ
ート。
【図4】図1に示すフレバードフレームワーク流通部の
作用(シナリオFFW2)を説明するためのフローチャ
ート。
【図5】図1に示すフレバードフレームワーク流通部の
作用(シナリオFFW3)を説明するためのフローチャ
ート。
【図6】図1に示すプレーンフレームワーク流通部の内
部構成を示すブロック図。
【図7】図1に示すプレーンフレームワーク流通部の作
用(シナリオPFW1)を説明するためのフローチャー
ト。
【図8】図1に示すプレーンフレームワーク流通部の作
用(シナリオPFW2)を説明するためのフローチャー
ト。
【図9】図1に示す消費流通部の内部構成を示すブロッ
ク図。
【図10】図1に示す消費流通部の作用(シナリオCS
M1)を説明するためのフローチャート。
【図11】図1に示す消費流通部の作用(シナリオCS
M2)を説明するためのフローチャート。
【図12】図1に示す消費流通部の作用(シナリオCS
M3)を説明するためのフローチャート。
【図13】図1に示す消費流通部の作用(シナリオCS
M4)を説明するためのフローチャート。
【図14】図1に示す消費流通部の作用(シナリオCS
M5)を説明するためのフローチャート。
【図15】図1に示す広告流通部の内部構成を示すブロ
ック図。
【図16】図1に示す広告流通部の作用(シナリオAD
V1)を説明するためのフローチャート。
【図17】図1に示すリポジトリの内部構成を示すブロ
ック図。
【図18】コンポーネントウェア流通サイトの一例を示
す図。
【図19】コンポーネントウェア提供受付ページの一例
を示す図。
【図20】フレバードフレームワーク提供受付ページの
一例を示す図。
【図21】実アプリケーション送信ツールの一例を示す
図。
【図22】フレバードフレームワーク化を促すメールの
一例を示す図。
【図23】フレバードフレームワーク編集ページの一例
を示す図。
【図24】ベースオブジェクト/カスタムオブジェクト
の指定態様の一例を示す図。
【図25】オブジェクト間の組合せの指定態様の一例を
示す図。
【図26】オブジェクト間の組合せの指定態様の一例を
示す図。
【図27】ベースオブジェクト/カスタムオブジェクト
/組合せ情報の設定後の態様の一例を示す図。
【図28】フレバードフレームワークおよびプレーンフ
レームワークの両方の提供をガイドするページの一例を
示す図。
【図29】フレバードフレームワーク情報入力ページの
一例を示す図。
【図30】フレバードフレームワーク代金支払ページの
一例を示す図。
【図31】プレーンフレームワーク化されたコンポーネ
ントウェアの提供受付ページの一例を示す図。
【図32】プレーンフレームワーク提供受付ページの一
例を示す図。
【図33】プレーンフレームワーク情報入力ページの一
例を示す図。
【図34】プレーンフレームワーク代金支払ページの一
例を示す図。
【図35】広告出稿受付ページの一例を示す図。
【図36】広告送信ツールの一例を示す図。
【図37】広告情報入力ページの一例を示す図。
【図38】広告料金支払ページの一例を示す図。
【図39】コンポーネントウェア払出受付ページの一例
を示す図。
【図40】コンポーネントウェア選択ページの一例
(1)を示す図。
【図41】コンポーネントウェア選択ページの一例
(2)を示す図。
【図42】コンポーネントウェア選択ページの一例
(3)を示す図。
【図43】コンポーネントウェア選択ページの一例
(4)を示す図。
【図44】コンポーネントウェア選択ページの一例
(5)を示す図。
【図45】コンポーネントウェア払出ページの一例を示
す図。
【図46】コンポーネントウェア料金支払ページの一例
を示す図。
【図47】本発明が適用されるコンピュータのハードウ
ェア構成を示す図。
【図48】本発明が適用されるネットワークシステムの
一例を示す図。
【符号の説明】
10 コンポーネントウェア流通装置 11 フレバードフレームワーク流通部 12 プレーンフレームワーク流通部 13 消費流通部 14 広告流通部 15 リポジトリ 16 実アプリケーション 17 フレバードフレームワーク 18 プレーンフレームワーク 19 原アプリケーション 20 広告 31 FFW受付部 32 FFW制御部 33 実アプリケーション登録部 34 FFW作業領域 35 FFWオブジェクト抽出部 36 FFW化部 36a FFWベース化部 36b FFWカスタム化部 36c FFW組合せ部 37 FFW判断部 38 FFW登録部 39 FFW支払部 40 インタフェース化部 41 PFW移管部 51 PFW受付部 52 PFW制御部 53 原アプリケーション登録部 54 PFW作業領域 55 PFWオブジェクト抽出部 56 PFW化部 56a PFWベース化部 56b PFWカスタム化部 56c PFW組合せ部 57 PFW登録部 58 PFW支払部 59 PFW被移管部 61 CSM受付部 62 CSM制御部 63 CSM選択部 64 CSM作業領域 65 CSM取込部 66 CSM払出部 67 CSM徴収部 68 CSM判断部 69 CSM広告部 71 ADV受付部 72 ADV制御部 73 広告入稿部 74 ADV作業領域 75 広告登録部 76 ADV徴収部 81 流通管理部 82 コンポーネントウェア管理部 83 ベースオブジェクト管理部 84 カスタムオブジェクト管理部 85 組合せ管理部 86 ベースオブジェクト実体管理部 87 カスタムオブジェクト実体管理部 88 カスタムオブジェクトインタフェース管理部 89 広告管理部 90 コンピュータ 90a サーバコンピュータ 90b クライアントコンピュータ 91 コンピュータ本体 94 内部メモリ(記録媒体) 97 ハードディスク装置(記録媒体) 98 フレキシブルディスク(記録媒体) 99 CD−ROM(記録媒体) 100 ネットワークシステム

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】既存のアプリケーションからコンポーネン
    トウェアを抽出して流通させるコンポーネントウェア流
    通装置において、 提供者により与えられた既存のアプリケーションから、
    ベースオブジェクトの実体、カスタムオブジェクトの実
    体またはインタフェース、およびそれらの組合せ情報を
    含むコンポーネントウェアを抽出する第1コンポーネン
    トウェア抽出部と、 前記第1コンポーネントウェア抽出部により抽出された
    コンポーネントウェアを格納して管理するコンポーネン
    トウェア管理部と、 前記コンポーネントウェア管理部で管理されたコンポー
    ネントウェアを消費者に対して提供する消費流通部とを
    備えたことを特徴とするコンポーネントウェア流通装
    置。
  2. 【請求項2】前記第1コンポーネントウェア抽出部は前
    記コンポーネントウェアに含まれる前記カスタムオブジ
    ェクトの実体またはインタフェースを選択的に抽出可能
    であることを特徴とする請求項1記載のコンポーネント
    ウェア流通装置。
  3. 【請求項3】前記第1コンポーネントウェア抽出部は前
    記コンポーネントウェアに含まれる前記ベースオブジェ
    クトの実体および前記カスタムオブジェクトの実体を実
    行可能形式で抽出することを特徴とする請求項1記載の
    コンポーネントウェア流通装置。
  4. 【請求項4】提供者により与えられた半完成的なアプリ
    ケーションから、ベースオブジェクトの実体、カスタム
    オブジェクトのインタフェース、およびそれらの組合せ
    情報を含むコンポーネントウェアを抽出する第2コンポ
    ーネントウェア抽出部をさらに備え、 前記コンポーネントウェア管理部は第2コンポーネント
    ウェア抽出部により抽出されたコンポーネントウェアを
    格納して管理することを特徴とする請求項1記載のコン
    ポーネントウェア流通装置。
  5. 【請求項5】前記消費流通部は前記コンポーネントウェ
    アに含まれる前記カスタムオブジェクトの実体またはイ
    ンタフェースを消費者に対して選択的に提供可能である
    ことを特徴とする請求項1記載のコンポーネントウェア
    流通装置。
  6. 【請求項6】前記消費流通部は前記コンポーネントウェ
    アに含まれる前記ベースオブジェクトの実体および前記
    カスタムオブジェクトの実体を実行可能形式で提供する
    ことを特徴とする請求項1記載のコンポーネントウェア
    流通装置。
  7. 【請求項7】広告を受け付ける広告流通部をさらに備
    え、 前記コンポーネントウェア管理部は前記広告流通部によ
    り受け付けられた広告とコンポーネントウェアとを関連
    付けて管理し、前記消費流通部はコンポーネントウェア
    とともに広告を提供することを特徴とする請求項1記載
    のコンポーネントウェア流通装置。
  8. 【請求項8】前記第1コンポーネントウェア抽出部は既
    存のアプリケーションの提供者に対して利益を提供する
    手段を有することを特徴とする請求項1記載のコンポー
    ネントウェア流通装置。
  9. 【請求項9】前記第2コンポーネントウェア抽出部は半
    完成的なアプリケーションの提供者に対して利益を提供
    する手段を有することを特徴とする請求項4記載のコン
    ポーネントウェア流通装置。
  10. 【請求項10】前記消費流通部はコンポーネントウェア
    の消費者から対価を徴収する手段を有することを特徴と
    する請求項1記載のコンポーネントウェア流通装置。
  11. 【請求項11】前記広告流通部は広告の出稿者から対価
    を徴収する手段を有することを特徴とする請求項1記載
    のコンポーネントウェア流通装置。
  12. 【請求項12】既存のアプリケーションからコンポーネ
    ントウェアを抽出して流通させるコンポーネントウェア
    流通方法において、 提供者により与えられた既存のアプリケーションから、
    ベースオブジェクトの実体、カスタムオブジェクトの実
    体またはインタフェース、およびそれらの組合せ情報を
    含むコンポーネントウェアを抽出するステップと、 この抽出されたコンポーネントウェアを消費者に対して
    提供するステップとを含むことを特徴とするコンポーネ
    ントウェア流通方法。
  13. 【請求項13】抽出対象となるコンポーネントウェアの
    前記カスタムオブジェクトとしてその実体またはインタ
    フェースのいずれかを選択するステップをさらに含むこ
    とを特徴とする請求項12記載のコンポーネントウェア
    流通方法。
  14. 【請求項14】提供対象となるコンポーネントウェアの
    前記カスタムオブジェクトとしてその実体またはインタ
    フェースのいずれかを選択するステップをさらに含むこ
    とを特徴とする請求項12記載のコンポーネントウェア
    流通装置。
  15. 【請求項15】既存のアプリケーションからコンポーネ
    ントウェアを抽出して流通させるコンポーネントウェア
    流通プログラムを記録したコンピュータ読み取り可能な
    記録媒体において、 提供者により与えられた既存のアプリケーションから、
    ベースオブジェクトの実体、カスタムオブジェクトの実
    体またはインタフェース、およびそれらの組合せ情報を
    含むコンポーネントウェアを抽出する手順と、 この抽出されたコンポーネントウェアを消費者に対して
    提供する手順とをコンピュータに実行させることを特徴
    とするコンポーネントウェア流通プログラムを記録した
    コンピュータ読み取り可能な記録媒体。
  16. 【請求項16】抽出対象となるコンポーネントウェアの
    前記カスタムオブジェクトとしてその実体またはインタ
    フェースのいずれかを選択する手順をさらにコンピュー
    タに実行させることを特徴とする請求項15記載のコン
    ポーネントウェア流通プログラムを記録したコンピュー
    タ読み取り可能な記録媒体。
  17. 【請求項17】提供対象となるコンポーネントウェアの
    前記カスタムオブジェクトとしてその実体またはインタ
    フェースのいずれかを選択する手順をさらにコンピュー
    タに実行させることを特徴とする請求項15記載のコン
    ポーネントウェア流通プログラムを記録したコンピュー
    タ読み取り可能な記録媒体。
JP11162583A 1999-06-09 1999-06-09 コンポーネントウェア流通装置、その方法およびコンポーネントウェア流通プログラムを記録したコンピュータ読み取り可能な記録媒体 Pending JP2000353084A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11162583A JP2000353084A (ja) 1999-06-09 1999-06-09 コンポーネントウェア流通装置、その方法およびコンポーネントウェア流通プログラムを記録したコンピュータ読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11162583A JP2000353084A (ja) 1999-06-09 1999-06-09 コンポーネントウェア流通装置、その方法およびコンポーネントウェア流通プログラムを記録したコンピュータ読み取り可能な記録媒体

Publications (1)

Publication Number Publication Date
JP2000353084A true JP2000353084A (ja) 2000-12-19

Family

ID=15757358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11162583A Pending JP2000353084A (ja) 1999-06-09 1999-06-09 コンポーネントウェア流通装置、その方法およびコンポーネントウェア流通プログラムを記録したコンピュータ読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JP2000353084A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006106948A (ja) * 2004-10-01 2006-04-20 Hitachi Ltd アプリケーションプログラム開発支援方法及びシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006106948A (ja) * 2004-10-01 2006-04-20 Hitachi Ltd アプリケーションプログラム開発支援方法及びシステム
JP4554321B2 (ja) * 2004-10-01 2010-09-29 株式会社日立製作所 アプリケーションプログラム開発支援方法及びシステム

Similar Documents

Publication Publication Date Title
US20210398147A1 (en) System and method for online content delivery
US7478163B2 (en) Method and apparatus for presenting multimedia content and for facilitating third party representation of an object
US7779352B1 (en) Method and apparatus for generating a website using a multi-dimensional description of the website
US5819092A (en) Online service development tool with fee setting capabilities
US6697825B1 (en) Method and apparatus for generating and modifying multiple instances of element of a web site
US8136027B2 (en) Method and apparatus for providing conditional customization for generating a web site
US8037193B2 (en) Virtual token
CN1124010C (zh) 连到计算机网络上的信息站和服务器
US20170103050A9 (en) Method and apparatus for generating a web site with dynamic content data from an external data source integrated therein
US20110145326A1 (en) WORKFLOW CUSTOMIZATION METHOD IN SaaS ENVIRONMENT
US7028254B2 (en) System and method for providing a marketing presentation
Cetin et al. Legacy migration to service-oriented computing with mashups
JP2000353084A (ja) コンポーネントウェア流通装置、その方法およびコンポーネントウェア流通プログラムを記録したコンピュータ読み取り可能な記録媒体
US7437317B1 (en) System and method for providing a distributed marketing presentation
US20030188024A1 (en) Method and system for a cloaking service for use with a distributed virtual enterprise
JP2002197017A (ja) ネットワークシステム、データ処理装置、及び記録媒体
US20230394543A1 (en) Multi-vendor api marketplace with targeted content and customized rate plan monetizaion capabilities
AU775865B2 (en) A virtual token
US20040133654A1 (en) Method for adding sound via a telephone network to a page of data that can be remotely consulted via a communication network, site, voice server and computer using said method
US20110196763A1 (en) Method and apparatus for client-in-charge business transaction processing
WO2001018664A9 (en) System and method of permissive data flow and application transfer
JP2002373224A (ja) ボランティア活動支援システム、装置、記録媒体及びプログラム
Lau et al. Web-Service Based Information Integration for e-Mortgage Contract Matchmaking Decision Support: A Case Study in Hong Kong
JP2007052746A (ja) 広告取引システム、広告取引方法及び広告取引用プログラム
WO2001052165A1 (en) A system and method for providing a distributed marketing presentation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090327

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090717