JP6190569B2 - 開発者インタフェース提供方法およびシステム - Google Patents

開発者インタフェース提供方法およびシステム Download PDF

Info

Publication number
JP6190569B2
JP6190569B2 JP2011147347A JP2011147347A JP6190569B2 JP 6190569 B2 JP6190569 B2 JP 6190569B2 JP 2011147347 A JP2011147347 A JP 2011147347A JP 2011147347 A JP2011147347 A JP 2011147347A JP 6190569 B2 JP6190569 B2 JP 6190569B2
Authority
JP
Japan
Prior art keywords
program
component
components
unit
developer interface
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.)
Active
Application number
JP2011147347A
Other languages
English (en)
Other versions
JP2012014700A (ja
Inventor
東 洙 李
東 洙 李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NHN Corp
Original Assignee
NHN Entertainment 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 NHN Entertainment Corp filed Critical NHN Entertainment Corp
Publication of JP2012014700A publication Critical patent/JP2012014700A/ja
Application granted granted Critical
Publication of JP6190569B2 publication Critical patent/JP6190569B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

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)

Description

本発明は、開発者インタフェース提供方法およびシステムに関し、より具体的には、コミュニケーションバスを用いて登録されたコンポーネントの実行による開発者インタフェースを提供する方法およびシステムに関する。
ソフトウェアの開発において極めて強調されていることの1つがリユース(reuse)性である。開発を完了したソフトウェアを他の様々なソフトウェアにおいてリユースすることは追加開発を必要としないことによる費用減少、既に使用していることによる安定性の確保など、数多い長所がある。
過去にソフトウェアのリユースは、コードまたはコンパイルが完了した状態のバイナリのリユースに限定されていた。プログラムの開発者は、他の開発者が製作したコードをリユースするためにソースファイルを用いて自身のプログラムと共にコンパイルしたり、プログラムファイル(exeファイル、dllファイル)をリユースするためにそのファイルをコピーして自身のプログラムでリユースしたりしていた。
しかし、必要に応じて、コード自体やdllファイルに含まれる開発が完了したコードを超えて、既にメモリにロードされ、起動している他のプログラムをリユースすることができると、より優れたリユース性を提供することができる。
例えば、メッセンジャープログラムが動作している状態において、ゲームプログラムがこのメッセンジャープログラムをリユースすると、ゲームプログラムがメッセンジャープログラムの中にあるログインしているユーザのユーザ情報を用いてゲームの中でログイン中のユーザ情報を活用し、ゲームの中に当該ユーザを招待することもできる。
本発明の目的は、コミュニケーションバスを用いて登録された複数のコンポーネントの間のデータを共有する方法およびシステムを提供することにある。
本発明の他の目的は、登録された複数のコンポーネントを実行しながら新規コンポーネントを追加する方法およびシステムを提供することにある。
本発明の他の目的は、コミュニケーションバスを用いて登録中であるコンポーネントの登録を取り消す方法およびシステムを提供することにある。
本発明の他の目的は、開発者インタフェースを活用して既にロードされたプログラムを構成するコンポーネントを用いて新しいプログラムを生成する方法およびシステムを提供することにある。
本発明の一実施形態に係る開発者インタフェース提供方法は、複数のコンポーネントから構成されるプログラム(1)をロードするステップと、前記ロードされたプログラム(1)を構成する複数のコンポーネントのうち少なくとも1つのコンポーネントを用いてプログラム(3)を生成するステップとを含んでもよい。
また、前記ロードされたプログラム(1)およびコンポーネントを共有する1つ以上のプログラム(2)をロードするステップをさらに含んでもよい。
また、前記プログラム(3)を生成するステップは、前記プログラム(1)を構成する少なくとも1つのコンポーネントと前記プログラム(2)を構成する少なくとも1つのコンポーネントを用いて前記プログラム(3)を生成してもよい。
また、前記ロードしたプログラム(1)およびプログラム(2)を構成する複数のコンポーネントを開発者インタフェースによって露出するステップをさらに含んでもよい。
また、前記プログラム(3)を生成するステップは、前記開発者インタフェースによって露出されたプログラム(1)およびプログラム(2)を構成する複数のコンポーネントのうち少なくとも1つのコンポーネント選択が入力されるステップと、前記選択の入力された少なくとも1つのコンポーネントを結合して前記プログラム(3)を生成するステップとを含んでもよい。
ここで、前記開発者インタフェースは、XMLベースの動的開発者インタフェースであってもよい。
また、前記コンポーネントのタイプは、動的リンクライブラリおよび実行プログラムのうちいずれか1つであってもよい。
また、本発明の一実施形態に係る開発者インタフェースシステムは、複数のコンポーネントから構成されるプログラム(1)をロードするプログラムロード部と、前記ロードされたプログラム(1)を構成する複数のコンポーネントのうち少なくとも1つのコンポーネントを用いてプログラム(3)を生成する生成部とを備えてもよい。
また、前記プログラムロード部は、前記ロードされたプログラム(1)およびコンポーネントを共有する1つ以上のプログラム(2)をロードしてもよい。
前記生成部は、前記プログラム(1)を構成する少なくとも1つのコンポーネントと前記プログラム(2)を構成する少なくとも1つのコンポーネントを用いて前記プログラム(3)を生成してもよい。
また、前記ロードしたプログラム(1)およびプログラム(2)を構成する複数のコンポーネントを開発者インタフェースによって露出するインタフェース露出部をさらに備えてもよい。
また、前記生成部は、前記開発者インタフェースによって露出されたプログラム(1)およびプログラム(2)を構成する複数のコンポーネントのうち少なくとも1つのコンポーネント選択が入力されるコンポーネント選択部と、前記選択の入力された少なくとも1つのコンポーネントを結合して前記プログラム(3)を生成するプログラム生成部とを備えてもよい。
本発明の一実施形態によると、コミュニケーションバスを用いて開発者インタフェースシステムに登録された複数のコンポーネントの間のデータを共有することができる。
本発明の一実施形態によると、開発者インタフェースシステムに登録された複数のコンポーネントを実行しながら新規コンポーネントを追加することができる。
本発明の一実施形態によると、コミュニケーションバスを用いて開発者インタフェースシステムに登録したコンポーネントの登録を取り消すことができる。
本発明の一実施形態によると、コミュニケーションバスを用いて開発者インタフェースシステムに登録したコンポーネントを調整することができる。
本発明の一実施形態に係るコミュニケーションバスを用いてコンポーネントを登録する過程を説明するために提供される図である。 本発明の一実施形態に係る本発明の一実施形態に係る開発者インタフェースシステムの構成を示す図である。 本発明の一実施形態に係る開発者インタフェースシステムにおける生成部の細部構成を示す図である。 本発明の一実施形態によってロードされたプログラムを構成するコンポーネントを用いて新しいプログラムを生成する方法を説明するために提供されるフローチャートである。 本発明の一実施形態によりコミュニケーションバスを介して共有される複数のコンポーネントを用いて新しいプログラムを生成する方法を説明するためのフローチャートである。
以下、本発明の実施形態を図面を参照しながら詳細に説明する。
図1は、本発明の一実施形態に係るコミュニケーションバスを用いてコンポーネントを開発者インタフェースシステムに登録する過程を説明するために提供される図である。
図1において、コンポーネント(1)30、コンポーネント(2)40、およびコンポーネント(4)60は、コミュニケーションバス20を用いて既に開発者インタフェースシステム10に登録された状態であり、コンポーネント(3)50を登録しようとする場合、開発者インタフェースシステム10は、コミュニケーションバス20を用いてコンポーネント(3)50を登録してもよい。
ここで、開発者インタフェースシステム10は、コンポーネント(3)50が新規に登録されたことをコンポーネント(1)30、コンポーネント(2)40、およびコンポーネント(4)60に通知してもよい。これによって、コミュニケーションバス20を介して既に開発者インタフェースシステム10登録されたコンポーネント(1)30、コンポーネント(2)40、およびコンポーネント(4)60と、新規に開発者インタフェースシステム10に登録されたコンポーネント(3)50が互いに共有してもよい。一例として、コンポーネント(1)、コンポーネント(2)、およびコンポーネント(4)を構成している各データと新規に登録されたコンポーネント(3)50を構成しているデータとをコミュニケーションバス20を介して互いに共有してもよい。ここで、コンポーネント(1)30〜コンポーネント(4)60を構成するデータはXML形式のデータであってもよい。ここで、XML形式のデータは、DTD(Document Type Definition)を用いて定義される。
図2は、本発明の一実施形態に係る開発者インタフェースシステムの構成を示す図である。
図2に示すように、開発者インタフェースシステム200は、コンポーネント登録部210、コンポーネント共有部220、登録取消し部230、プログラムロード部240、および生成部250を備えてもよい。
コンポーネント登録部210は、コミュニケーションバス(communication bus)300を用いて1つ以上のコンポーネントを開発者インタフェースシステム200に登録してもよい。ここで、コンポーネントは、クライアントで動作する複数のサービスに該当するプログラムを構成するモジュールである。すなわち、プログラムは、複数のコンポーネントで構成してもよい。ここで、プログラムはゲーム、メッセンジャー、ブログなどを含み、コンポーネントはゲーム、メッセンジャー、ブログなどのプログラムを構成するためのウェブページ、アバター、背景、テキスト、音楽、およびゲームアイテムなどのモジュールを備えてもよい。
一例として、コンポーネント(1)410およびコンポーネント(2)420はプログラム(1)を構成するモジュールであり、コンポーネント(3)430およびコンポーネント(4)440はプログラム(2)を構成するモジュールであってもよい。ここで、コンポーネント(1)410およびコンポーネント(2)420は既に登録されており、コンポーネント(3)430を新規に登録する場合、コンポーネント登録部210は、コミュニケーションバス300を用いてコンポーネント(3)430を新規に登録してもよい。そして、コンポーネント登録部210は、コンポーネント(3)430が新規に登録されたことをコミュニケーションバス300を用いてコンポーネント(1)410、コンポーネント(2)420に通知してもよい。
また、コンポーネント登録部210は、登録された少なくとも1つのコンポーネントが実行中である場合に、新規コンポーネントを追加してもよい。
これによって、コンポーネント共有部220は、コミュニケーションバス300を用いて開発者インタフェースシステム200に登録されたコンポーネントを互いに共有してもよい。一例として、コンポーネント共有部220は、登録されたコンポーネントを構成するXML形式のデータをコミュニケーションバス300を介して共有してもよい。図2によると、コンポーネント共有部220は、1つのランチャー(launcher)でコンポーネント(1)410〜コンポーネント(4)440が有するデータをコミュニケーションバス300を用いて共有してもよい。このために、コンポーネント共有部220は、登録されたコンポーネントから受信したデータをコミュニケーションバス300を介して他のコンポーネントに送信してもよい。
一例として、ゲームのプログラム(1)4100を構成するコンポーネント(1)410およびコンポーネント(2)420とメッセンジャー(messenger)のプログラム(2)4200を構成するコンポーネント(3)430およびコンポーネント(4)440がコミュニケーションバス300を介して共有される場合、開発者インタフェースシステム200は、メッセンジャーにユーザがログインしたことをゲーム上に表示してもよい。ここで、コンポーネント(3)430はメッセンジャーログ情報に該当するモジュールであり、コンポーネント(4)440はメッセンジャー顔文字、フォントに該当するデザインモジュールである場合、コンポーネント(3)430は、メッセンジャーに登録されたユーザがメッセンジャーにログインするたびにメッセンジャーログ情報をコミュニケーションバス300にブロードキャストしてもよい。これによって、コンポーネント(3)430は、ユーザがメッセンジャーにログインするたびにメッセンジャー情報をコンポーネント(1)410およびコンポーネント(2)420に送信する場合にコンポーネント(3)を修正する必要がない。
そして、コンポーネント共有部220は、コミュニケーションバス300を介して受信したメッセンジャーログ情報をコミュニケーションバス300を用いてコンポーネント(1)410およびコンポーネント(2)420に送信してもよい。これによって、ゲーム上にメッセンジャーへとユーザがログインしたことに関する情報を表示してもよい。これによって、コンポーネント(1)410およびコンポーネント(2)420は、提供されるライブラリをそのまま用いてメッセンジャー情報を受信してもよい。すなわち、コンポーネント(1)410およびコンポーネント(2)420から構成されたプログラム(1)4100は、メッセンジャーログ情報を受信するためのプロトコルを設計したり、あるいはコードを開発したりしなくてもよい。
他の例として、ゲームのプログラム(1)4100がコンポーネント(1)410およびコンポーネント(2)420に構成され、ブログのプログラム(3)とコンポーネントを共有する場合、コンポーネント(1)410は、動作しているゲームの現在の画面をキャプチャー(capture)してコミュニケーションバス300に送信してもよい。これによって、コンポーネント共有部220は、受信したキャプチャー画面をコミュニケーションバス300を用いてプログラム(3)を構成しているコンポーネントに送信してもよい。これによって、ブログにはキャプチャー画面がアップロードされてもよい。
また他の例として、ゲームのプログラム(1)4100とウェブページのプログラム(4)を構成しているコンポーネントが共有される場合、プログラム(1)4100を構成するコンポーネント(1)410は、クエスト(quest)実行に関連するウェブページ要求データをコミュニケーションバス300に送信してもよい。これによって、コンポーネント共有部220は、コミュニケーションバス300を介してウェブページ要求データを受信し、受信したウェブページ要求データをコミュニケーションバス300を用いてプログラム4を構成するコンポーネントに送信してもよい。そして、コンポーネント共有部220は、プログラム(4)でコミュニケーションバス300を介して受信したウェブページをコミュニケーションバス300を用いてプログラム(1)4100を構成するコンポーネント(1)410およびコンポーネント(2)420のうち少なくとも1つに送信してもよい。これによって、ゲーム上にクエスト実行に関連するウェブページが表示されてもよい。
登録取消し部230は、登録されている新規コンポーネントの登録取消しが要求されると、新規コンポーネントの登録を取り消してもよい。ここで、新規コンポーネントの登録が取消されても、実行されているコンポーネントについては実行を終了することなく引き続き実行される。
プログラムロード部240は、登録されたコンポーネントを構成するプログラムをロードしてもよい。ここで、プログラムロード部240は、登録されたコンポーネントを構成するプログラムのうちいずれか1つのプログラムをロードした状態で、他の登録コンポーネントを構成しているプログラムをロードしてもよい。ここで、登録されたコンポーネントは、コミュニケーションバス300を介して共有されるため、プログラムロード部240は、コミュニケーションバス300を介して第1プログラム4100とコンポーネントを共有する1つ以上のプログラムをロードしてもよい。
一例として、プログラムロード部240は、ゲームのプログラム(1)4100をロードしている状態で、メッセンジャーのプログラム(2)4200をロードしてもよい。ここで、プログラム(1)4100がメインに実行される状態において、プログラム(2)4200はプログラム(1)4100に従属して実行されてもよい。すなわち、プログラム(1)をメインとする1つのランチャーで複数のプログラムが実行されてもよい。
生成部250は、ロードされたプログラムを構成するコンポーネントを用いて新しいプログラムを生成してもよい。一例として、プログラム(1)4100がロードされた場合、生成部250は、プログラム(1)4100を構成するコンポーネント(1)410およびコンポーネント(2)420のうち少なくとも1つを用いてプログラム(3)を生成してもよい。
また、複数のプログラムがロードされた場合、生成部250は、複数のプログラムを構成するコンポーネントを用いて新しいプログラムを生成してもよい。
一例として、プログラム(1)4100およびプログラム(2)4200がロードされた場合、生成部250は、プログラム(1)4100を構成する複数のコンポーネントおよびプログラム(2)4200を構成する複数のコンポーネントのいずれか1つ以上のコンポーネントを選択してもよい。そして、生成部250は、選択したコンポーネントを結合して新しいプログラム(3)を生成してもよい。
ここで、生成部250は、プログラム(3)を生成するために求められる1つ以上の新規コンポーネントを生成してもよい。これによって、生成部250は、生成した新規コンポーネントと選択したコンポーネントとを結合してプログラム(3)を生成してもよい。
以下では図3を参照して、ロードされたプログラムを構成するコンポーネントを用いて新しいプログラムを生成する過程について詳説する。
図3は、本発明の一実施形態に係る開発者インタフェースシステムにおける生成部の細部構成を示す図である。
図3を参照すると、生成部250は、インタフェース露出部251、コンポーネント選択部252、プログラム生成部253を備えてもよい。
インタフェース露出部251は、ロードされた1つ以上のプログラムを構成するコンポーネントを開発者インタフェースによって開発者に露出してもよい。ここで、プログラムを構成するコンポーネントのタイプは、動的リンクライブラリ(Dynamic Linked Library:DLL)および実行プログラム(Execute Program:EXE)のうちのいずれか1つであってもよい。
一例として、プログラムロード部240においてプログラム(1)4100をロードする場合、インタフェース露出部251は、プログラム(1)4100を構成する複数のコンポーネントを開発者インタフェースによって露出してもよい。すなわち、インタフェース露出部251は、開発者インタフェースによってコンポーネント(1)410およびコンポーネント(2)420を露出してもよい。
他の例として、プログラムロード部240においてプログラム(1)およびプログラム(2)をロードする場合、インタフェース露出部251は、プログラム(1)4100およびプログラム(2)4200を構成する複数のコンポーネントを開発者インタフェースによって露出してもよい。すなわち、インタフェース露出部251は、開発者インタフェースによってコンポーネント(1)410〜コンポーネント(4)440を開発者に露出してもよい。
コンポーネント選択部252は、開発者インタフェースによって露出されたコンポーネントのいずれか1つ以上のコンポーネントを選択してもよい。ここで、コンポーネント選択部252は、露出されたコンポーネントのうち新しいプログラム(3)を生成するために必要なコンポーネント選択を開発者から入力されてもよい。ここで、開発者インタフェースとしてXMLベースの動的開発者インタフェースを用いてもよい。
一例として、コンポーネント(1)410はゲームのプログラム(1)4100のウェブ制御モジュールであり、コンポーネント(2)420はプログラム(1)4100の画面大きさ調整モジュールであり、コンポーネント(3)430はメッセンジャーのプログラム(2)4200のメッセンジャーログ情報に対するモジュールであり、コンポーネント(4)440はプログラム(2)4200のデザインモジュールである場合、コンポーネント選択部252は、開発者インタフェースによって露出されたコンポーネント(1)410〜コンポーネント(4)440のうち、コンポーネント(2)420およびコンポーネント(4)440の選択が入力されてもよい。
これによって、プログラム生成部253は、選択されたコンポーネント(2)420とコンポーネント(4)440とを結合して新しいプログラム(3)を生成してもよい。
図4は、本発明の一実施形態によってロードされたプログラムを構成するコンポーネントを用いて新しいプログラムを生成する方法を説明するためのフローチャートである。
まず、プログラムロード部240は、開発者インターフェースシステムに登録されたコンポーネントを構成する1つ以上のプログラムをロードしてもよい。一例として、プログラム(1)4100およびプログラム(2)4200が登録された場合、プログラムロード部240は、プログラム(1)をロードしてもよい(S510)。ここで、プログラム(1)4100は、コンポーネント(1)410およびコンポーネント(2)420で構成され、プログラム(2)4200はコンポーネント(3)430およびコンポーネント(4)440で構成されてもよい。ここで、登録されたコンポーネント(1)410〜コンポーネント(4)440をコミュニケーションバス300を介して共有してもよい。
次に、インタフェース露出部251は、ロードされたプログラムを構成するコンポーネントを開発者インタフェースによって開発者に露出してもよい(S520)。一例として、インタフェース露出部251は、プログラム(1)4100を構成するコンポーネント(1)410およびコンポーネント(2)420を開発者インタフェースによって露出されてもよい。
そして、コンポーネント選択部252は、露出されたコンポーネントのうち1つ以上のコンポーネント選択を入力してもよい。一例として、コンポーネント選択部252は、露出されたコンポーネント1および2410,420のうち、コンポーネント(2)420の選択を開発者から入力されてもよい。
これによって、プログラム生成部253は、選択されたコンポーネントを用いて新しいプログラムを生成してもよい。一例として、プログラム生成部253は、選択されたコンポーネント(2)420を用いて新しいプログラム(3)を生成してもよい(S530)。ここで、複数のコンポーネント選択が入力された場合、プログラム生成部253は、選択された複数のコンポーネントを結合して新しいプログラム(3)を生成してもよい。
また、プログラム生成部253は、プログラム(3)を生成するために必要な1つ以上の新規コンポーネントを生成してもよい。これによって、プログラム生成部253は、生成した新規コンポーネントと選択されたコンポーネントとを結合して新しいプログラム(3)を生成してもよい。
上記において、図4を参照して1つのプログラムがロードされた場合に開発者インタフェースによって新しいプログラムを生成する過程について説明した。以下では、図5を参照して、複数のプログラムがロードされた場合に開発者インタフェースによって新しいプログラムを生成する過程について説明する。
図5は、本発明の一実施形態によってコミュニケーションバスを介して共有される複数のコンポーネントを用いて新しいプログラムを生成する方法を説明するためのフローチャートである。
図5によると、プログラムロード部240は、登録されたコンポーネントにより構成される複数のプログラムをロードしてもよい。一例として、プログラム(1)4100がロードされた場合、プログラムロード部240は、プログラム(1)4100にプログラム(2)4200をロードしてもよい(S610)。すなわち、プログラムロード部240は、プログラム(1)4100をメインにして実行するランチャーでプログラム(2)4200を付加的に実行してもよい。
これによって、インタフェース露出部251は、ロードされたプログラム(1)4100を構成しているコンポーネントとプログラム(2)4200を構成するコンポーネントとを開発者インタフェースによって露出してもよい(S620)。ここで、開発者インタフェースでは、XMLベースの動的開発者インタフェースを用いてもよい。
一例として、インタフェース露出部251は、第1コンポーネント410〜第4コンポーネント440を開発者インタフェースによって開発者に露出してもよい。ここで、露出されるコンポーネントのタイプは、動的ライブラリ(DLL)および実行プログラム(EXE)のうちのいずれか1つであってもよい。
次に、コンポーネント選択部252は、露出されたコンポーネントのうち1つ以上のコンポーネント選択が入力されてもよい。
これによって、プログラム生成部252は、選択されたコンポーネントを用いて新しいプログラムを生成してもよい(S630)。一例として、コンポーネント(2)およびコンポーネント(3)が選択された場合、プログラム生成部252はコンポーネント(2)およびコンポーネント(3)を結合してプログラム(3)を生成してもよい。
ここで、プログラム生成部252は、プログラム(3)を生成するために必要な新規コンポーネントを生成してもよい。これによって、プログラム生成部253は、生成した新規コンポーネントと選択されたコンポーネントとを結合して新しいプログラム(3)を生成してもよい。これによって、開発者が実行中であるプログラムにロードされたコンポーネントを制御する開発者インタフェースを提供し、開発者インタフェースによって選択されたコンポーネントを結合して新しいプログラムを生成することでコンポーネントをリユースすることができる。
以上、上記に説明したように、プログラムを構成するコンポーネントは、ウェブ制御、画面大きさ調整、メッセンジャーログ情報、デザインに対するモジュールにより構成されるだけではなく、背景音楽の制御(music control)、画面のスキン(skin)変更、ボタン制御(button control)、テキスト制御(text control)、およびタブ制御(tab control)に対するモジュールにより構成されてもよい。これによって、開発者が希望するコンポーネントを選択して結合することにより、新しいプログラムを容易かつ迅速に生成することができる。
一方、本発明の一実施形態に係る開発者インタフェースシステム200において、登録されたコンポーネントのデータを直列化(serialize)または暗号化し、コミュニケーションバス300を介してコンポーネント共有部220に送信してもよい。これによって、コンポーネント共有部220は、直列化または暗号化されたデータを他のコンポーネントに送信してもよい。ここで、コミュニケーションバス300を介して直列化または暗号化されたデータを受信したコンポーネントのデータの直列化を解除したり、あるいは解読することができる。
他方において、以上では新規にコンポーネントを登録し、コミュニケーションバスを用いて登録されたコンポーネントと既に登録されたコンポーネントとの間でデータを共有する過程について説明したが、その他に、本発明の一実施形態に係る開発者インタフェースシステム200は、既に登録されたコンポーネントのうち、登録解除を要求したコンポーネントを解除するコンポーネント登録解除部をさらに備えてもよい。これによって、既に登録されたコンポーネントは、登録を解除されたコンポーネントとの間では登録解除後はデータを共有しないよう構成してもよい。
本発明の実施形態に係る方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態において実現され、コンピュータ読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などの単独または組み合わせたものを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、光ディスクのような光磁気媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例としては、コンパイラによって生成されるような機械語コード(machine code)だけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コード(higher level code)を含む。上述したハードウェア装置は、本発明の動作を行うために1つ以上のソフトウェア階層で作動するように構成されてもよい。
上述したように本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲だけではなく特許請求の範囲と均等なものなどによっても定められるものである。
200 開発者インタフェースシステム
210 コンポーネント登録部
220 コンポーネント共有部
230 登録取消し部
240 プログラムロード部
250 生成部
251 インタフェース露出部
252 コンポーネント選択部
253 プログラム生成部
300 コミュニケーションバス

Claims (8)

  1. コンポーネント登録部、コンポーネント共有部、プログラムロード部、生成部を含み、前記生成部がインタフェース露出部、コンポーネント選択部、プログラム生成部を含む開発者インタフェースシステムによる開発者インタフェース提供方法であって、
    前記コンポーネント登録部により、前記コンポーネント共有部が、複数のコンポーネントのそれぞれが有するXML形式のデータを、コミュニケーションバスを介して互いに送受信可能な状態で前記複数のコンポーネントをランチャーで共有するために、前記コミュニケーションバスを介して前記複数のコンポーネントを前記開発者インタフェースシステムに登録するステップと、
    前記プログラムロード部により、前記開発者インタフェースシステムに登録されたコンポーネントを含む1つ以上のプログラムの中から、前記複数のコンポーネントから構成されるプログラム(1)と、前記複数のコンポーネントから構成されるプログラム(2)とを前記コミュニケーションバスを介して前記生成部にロードするステップと、
    前記インタフェース露出部によって、前記ロードされたプログラム(1)を構成する複数のコンポーネントのうち少なくとも1つのコンポーネントと前記ロードされたプログラム(2)を構成する複数のコンポーネントのうち少なくとも1つのコンポーネントと、前記開発者インタフェースに表示し、前記コンポーネント選択部が、前記インタフェース露出部によって表示された複数のコンポーネントの中から1以上のコンポーネントを選択し、前記プログラム生成部が、前記選択された1以上のコンポーネントを結合してプログラム(3)を生成するステップと、
    を含むことを特徴とする開発者インタフェース提供方法。
  2. 前記ロードしたプログラム(1)およびプログラム(2)を構成する複数のコンポーネントを、前記インタフェース露出部によって、開発者インタフェースに動的リンクライブラリ又は実行プログラムの形式で表示するステップをさらに含むことを特徴とする請求項1に記載の開発者インタフェース提供方法。
  3. 前記開発者インタフェースは、XMLベースの動的開発者インタフェースであることを特徴とする請求項2に記載の開発者インタフェース提供方法。
  4. 前記コンポーネントのタイプは、動的リンクライブラリおよび実行プログラムのうちいずれか1つであることを特徴とする請求項1に記載の開発者インタフェース提供方法。
  5. 請求項1乃至請求項のいずれかに記載の方法を実行するためのプログラムが記録されたコンピュータで読み出し可能な記録媒体。
  6. コミュニケーションバスを用いて複数のコンポーネントを開発者インタフェースシステムに登録するコンポーネント登録部と、
    前記コミュニケーションバスを介して前記開発者インタフェースシステムに登録された前記複数のコンポーネントのそれぞれが有するXML形式のデータを、互いに送受信可能に前記複数のコンポーネントをランチャーで共有するコンポーネント共有部と、
    前記コンポーネント登録部によって前記開発者インタフェースシステムに登録されたコンポーネントを含む1つ以上のプログラムの中から、前記複数のコンポーネントから構成されるプログラム(1)と、前記複数のコンポーネントから構成されるプログラム(2)とをコミュニケーションバスを介してロードするプログラムロード部と、
    前記ロードされたプログラム(1)を構成する複数のコンポーネントのうち少なくとも1つのコンポーネントと前記ロードされたプログラム(2)を構成する複数のコンポーネントのうち少なくとも1つのコンポーネントを用いてプログラム(3)を生成する生成部と、を有し、
    前記生成部は、
    前記ロードされたプログラム(1)を構成する複数のコンポーネントのうち少なくとも1つのコンポーネントと、前記ロードされたプログラム(2)を構成する複数のコンポーネントのうち少なくとも1つのコンポーネントと、を前記開発者インタフェースシステムに動的リンクライブラリ又は実行プログラムの形式で表示するインタフェース露出部と、
    前記インタフェース露出部に表示されたプログラム(1)およびプログラム(2)を構成する複数のコンポーネントの中から、前記プログラム(1)を構成する複数のコンポーネントのうち少なくとも1つと、前記プログラム(2)を構成する複数のコンポーネントの中から1以上のコンポーネントの選択が入力されるコンポーネント選択部と、
    前記コンポーネント選択部により前記選択されたコンポーネントを結合して前記プログラム(3)を生成するプログラム生成部と、
    を備えることを特徴とする開発者インタフェースシステム。
  7. 前記開発者インタフェースは、XMLベースの動的開発者インタフェースであることを特徴とする請求項に記載の開発者インタフェースシステム。
  8. 前記コンポーネントのタイプは、動的リンクライブラリおよび実行プログラムのうちいずれか1つであることを特徴とする請求項に記載の開発者インタフェースシステム。
JP2011147347A 2010-07-01 2011-07-01 開発者インタフェース提供方法およびシステム Active JP6190569B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2010-0063582 2010-07-01
KR1020100063582A KR101059658B1 (ko) 2010-07-01 2010-07-01 개발자 인터페이스 제공 방법 및 시스템

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016025119A Division JP6267249B2 (ja) 2010-07-01 2016-02-12 開発者インタフェース提供方法およびシステム

Publications (2)

Publication Number Publication Date
JP2012014700A JP2012014700A (ja) 2012-01-19
JP6190569B2 true JP6190569B2 (ja) 2017-08-30

Family

ID=44933801

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2011147347A Active JP6190569B2 (ja) 2010-07-01 2011-07-01 開発者インタフェース提供方法およびシステム
JP2016025119A Active JP6267249B2 (ja) 2010-07-01 2016-02-12 開発者インタフェース提供方法およびシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2016025119A Active JP6267249B2 (ja) 2010-07-01 2016-02-12 開発者インタフェース提供方法およびシステム

Country Status (3)

Country Link
US (1) US8739117B2 (ja)
JP (2) JP6190569B2 (ja)
KR (1) KR101059658B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9941096B2 (en) 2011-09-12 2018-04-10 Fei Company Glancing angle mill

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9811353B1 (en) 2010-07-29 2017-11-07 Crimson Corporation Remotely invoking dynamic classes on a computing device
US9665601B1 (en) 2010-12-16 2017-05-30 Crimson Corporation Using a member attribute to perform a database operation on a computing device
CN103577207B (zh) * 2012-08-01 2017-06-27 阿里巴巴集团控股有限公司 一种自定义界面系统中界面组件的加载方法和装置
US10037325B2 (en) 2012-08-06 2018-07-31 Gree, Inc. Display system, display method in the system and display program for increasing a conversion rate in a social networking environment
US10530894B2 (en) * 2012-09-17 2020-01-07 Exaptive, Inc. Combinatorial application framework for interoperability and repurposing of code components

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5818445A (en) * 1992-09-09 1998-10-06 Tandem Computers Incorporated Method and system for creating computer-program-based applications with developer specified look and feel
JPH11126162A (ja) * 1997-10-22 1999-05-11 Sony Corp 情報処理装置および情報処理方法、並びに記録媒体
EP0911730B1 (en) * 1997-10-27 2004-04-21 Sony Service Centre (Europe) N.V. System of program objects and program components with external interface
US7356569B1 (en) * 1999-04-26 2008-04-08 Mainstream Scientific, Llc Apparatus and method for tracing the distribution of diversely sourced internet content
WO2002015515A2 (en) * 2000-08-11 2002-02-21 Manugistics, Inc. System and method for integrating disparate networks for use in electronic communication and commerce
FR2820221B1 (fr) * 2001-02-01 2004-08-20 Cimai Technology Procede et systeme pour gerer des executables a bibliotheques partagees
KR20020083187A (ko) * 2001-04-25 2002-11-02 (주) 그라비티 온라인 게임을 지원하는 인스턴트 메신저 구동서버 및온라인 게임 지원방법과 그 프로그램 소스를 저장한기록매체
JP2002358199A (ja) * 2001-05-31 2002-12-13 Shima Masahiko コンポーネントシステム及びコンポーネント作成方法
JP4086529B2 (ja) * 2002-04-08 2008-05-14 松下電器産業株式会社 画像処理装置及び画像処理方法
JP2005182419A (ja) * 2003-12-18 2005-07-07 Toshiba Solutions Corp コンポーネント処理システム及びコンポーネント処理方法
US8522205B2 (en) * 2004-05-18 2013-08-27 Oracle International Corporation Packaging multiple groups of read-only files of an application's components into multiple shared libraries
US7415704B2 (en) * 2004-05-20 2008-08-19 Sap Ag Sharing objects in runtime systems
US7703073B2 (en) * 2004-06-08 2010-04-20 Covia Labs, Inc. Device interoperability format rule set and method for assembling interoperability application package
US7278133B2 (en) * 2004-07-23 2007-10-02 Ntt Docomo, Inc. Index-based parameter access and software for using the same
US7503040B2 (en) * 2004-09-30 2009-03-10 International Business Machines Corporation Configuring a shared library to accommodate relocatable data in a pervasive device
US7657868B2 (en) * 2005-03-14 2010-02-02 Research In Motion Limited System and method for applying development patterns for component based applications
US7752253B2 (en) * 2005-04-25 2010-07-06 Microsoft Corporation Collaborative invitation system and method
GB0517357D0 (en) * 2005-08-25 2005-10-05 Corizon Ltd User interface generation
WO2007068147A1 (en) * 2005-12-17 2007-06-21 Intel Corporation Installing and executing shared applications in shared folders
US7779385B2 (en) * 2006-05-10 2010-08-17 Oracle America, Inc. Method and system for automated component product integration
JP5014871B2 (ja) * 2006-05-16 2012-08-29 パナソニック株式会社 プログラム起動装置、プログラム起動方法、起動処理プログラム及び集積回路
GB2443846B (en) * 2006-11-15 2011-12-07 Joseph Timothy Poole Computing system
US7844949B2 (en) * 2006-12-14 2010-11-30 International Business Machines Corporation Computer method and apparatus for software configuration management repository interoperation
US8561024B2 (en) * 2007-01-23 2013-10-15 International Business Machines Corporation Developing software components and capability testing procedures for testing coded software component
US20080222599A1 (en) * 2007-03-07 2008-09-11 Microsoft Corporation Web services mashup designer
WO2008124560A1 (en) * 2007-04-05 2008-10-16 Sentillion, Inc. Augmenting a virtual machine hosting environment from within a virtual machine
US7984455B2 (en) * 2007-05-30 2011-07-19 Sony Ericsson Mobile Communications Ab Enhanced native contact book application
US8464212B2 (en) * 2007-07-27 2013-06-11 Canon Kabushiki Kaisha Method, apparatus and storage medium for customizing application
US20090183182A1 (en) * 2008-01-10 2009-07-16 Microsoft Corporation Dynamic Composition of Virtualized Applications
US8108831B2 (en) * 2008-02-07 2012-01-31 Microsoft Corporation Iterative component binding
US20090260004A1 (en) * 2008-04-10 2009-10-15 Palm, Inc. Computer program updates for mobile computing device
JP2010039860A (ja) * 2008-08-06 2010-02-18 Toshiba Corp コンポーネントプログラム制御装置、コンポーネントプログラムを制御する方法及びプログラム
US8239856B2 (en) * 2008-10-27 2012-08-07 International Business Machines Corporation Sharing unresolved information between software components
US9417851B2 (en) * 2009-05-13 2016-08-16 Adobe Systems Incorporated Location-based application development for runtime environments
US7970850B1 (en) * 2009-12-29 2011-06-28 International Business Machines Corporation Instant messaging based virtual file system
GB201001728D0 (en) * 2010-02-03 2010-03-24 Skype Ltd Screen sharing
US8291408B1 (en) * 2010-03-10 2012-10-16 Google Inc. Visual programming environment for mobile device applications

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9941096B2 (en) 2011-09-12 2018-04-10 Fei Company Glancing angle mill

Also Published As

Publication number Publication date
US20120005651A1 (en) 2012-01-05
JP2012014700A (ja) 2012-01-19
JP6267249B2 (ja) 2018-01-24
JP2016076278A (ja) 2016-05-12
KR101059658B1 (ko) 2011-08-25
US8739117B2 (en) 2014-05-27

Similar Documents

Publication Publication Date Title
JP6267249B2 (ja) 開発者インタフェース提供方法およびシステム
US8296721B2 (en) Template-based software development
Fylaktopoulos et al. An overview of platforms for cloud based development
US20140053063A1 (en) User interface control framework for stamping out controls using a declarative template
US9612804B2 (en) Business suite framework for developing software applications
CN102622212B (zh) 业务混搭的方法及系统
Daniel et al. Distributed orchestration of user interfaces
JP2016076278A5 (ja)
JP2015207300A (ja) 統合開発環境を利用したui実現方法
Piontek et al. Development of science gateways using qcg—lessons learned from the deployment on large scale distributed and hpc infrastructures
Mesfin et al. Towards end-user development of REST client applications on smartphones
US10169901B2 (en) Staggered animation scheduling
Shackles Mobile Development with C
Wagner Professional flash mobile development: Creating android and iphone applications
Wang Application of lightweight MVC-like structure in PHP
KR101376322B1 (ko) 휴대 단말의 어플리케이션 설치 제어 방법, 이를 이용하는 휴대 단말 및 어플리케이션 제공 서버
US8972927B2 (en) Method and system for providing modeled components
Wang et al. On-demand service hosting on production grid infrastructures
Pouclet Pro iOS Continuous Integration
Pietschmann et al. Adaptive rich user interfaces for human interaction in business processes
JP2015005241A (ja) 画面作成支援プログラム、画面作成支援装置、および画面作成支援方法
Diment et al. The Definitive Guide to Catalyst: Writing Extensible, Scalable and Maintainable Perl-Based Web Applications
Miravet et al. Using standards to build the DIMAG connected mobile applications framework
US8239752B1 (en) Method and system to facilitate workflow data submission
Lorenz et al. Tailoring UML activities to use case modeling for web application development

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20131118

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141021

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150121

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150217

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150320

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150414

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20151013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160212

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160328

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20160603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170807

R150 Certificate of patent or registration of utility model

Ref document number: 6190569

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250