JP2019040626A - オブジェクト指向スクリプトツールをサポートするシステムおよび方法 - Google Patents

オブジェクト指向スクリプトツールをサポートするシステムおよび方法 Download PDF

Info

Publication number
JP2019040626A
JP2019040626A JP2018211178A JP2018211178A JP2019040626A JP 2019040626 A JP2019040626 A JP 2019040626A JP 2018211178 A JP2018211178 A JP 2018211178A JP 2018211178 A JP2018211178 A JP 2018211178A JP 2019040626 A JP2019040626 A JP 2019040626A
Authority
JP
Japan
Prior art keywords
class
tag
xml file
software class
software
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.)
Granted
Application number
JP2018211178A
Other languages
English (en)
Other versions
JP6581710B2 (ja
JP2019040626A5 (ja
Inventor
リー,ハイジュン
Haijun Li
シュ,シン
Xin Xu
スン,ペン
Peng Sun
エゴロフ,ウラジーミル
Egorov Vladimir
ドゥ,ホンウェイ
Hongwei Du
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.)
Oracle International Corp
Original Assignee
Oracle International 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 Oracle International Corp filed Critical Oracle International Corp
Publication of JP2019040626A publication Critical patent/JP2019040626A/ja
Publication of JP2019040626A5 publication Critical patent/JP2019040626A5/ja
Application granted granted Critical
Publication of JP6581710B2 publication Critical patent/JP6581710B2/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/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells

Abstract

【課題】XMLファイルを用いてソフトウェア開発およびドメイン管理を行うオブジェクト指向スクリプトツールを提供する。【解決手段】オブジェクト指向Ant(Another Neat Tool)スクリプトツール環境において、XMLファイル102は、少なくともオブジェクト指向スクリプト言語でスクリプトクラスを定義する第1タグを有する。スクリプトクラスは、XMLファイル中の第2タグに定義された少なくとも1つのメソッドを有する。汎用ソフトウェア開発およびドメイン管理スクリプトは、汎用スクリプトクラスにカプセル化されることができ、これを特定のソフトウェア開発およびドメイン管理タスク用の個別スクリプトクラスに拡張することができる。【選択図】図1

Description

著作権表示
この特許文書の開示の一部には、著作権保護の対象となるものが含まれている。著作権者は、特許商標庁の特許ファイルまたは記録に掲載された特許文書または特許開示の複製に対しては異議を唱えないが、他のすべての著作権を留保する。
発明の分野
本発明は、概ねソフトウェア開発およびドメイン管理用のスクリプトツールに関し、特にXMLに基づくスクリプトツールに関する。
背景
スクリプトツールは、高レベルのスクリプト言語を用いて実装されたソフトウェアツールである。通常、スクリプトツールのスクリプトは、実行時の実行環境でプログラムされた特定のタスクを実行することにより解釈され得る。
このようなスクリプトツールの一例は、Ant(“Another Neat Tool”)である。Antというソフトウェアツールは、最初にはソフトウェア構築プロセスを自動化するために開発された。Antは、JAVA(登録商標)プログラミング言語を用いて実装される。Antは、JAVAプラットフォームにおいてJAVAプロジェクトを構築するために使用することができる。典型的なAntスクリプトファイルは、XMLファイル形式になっている。
概要
一実施形態によれば、オブジェクト指向スクリプトツールはXMLファイルを用いてソフトウェア開発およびドメイン管理を行う。XMLファイルは、少なくともオブジェクト指向スクリプト言語でスクリプトクラスを定義する第1タグを有する。スクリプトクラスはXMLファイル中の第2タグに定義された少なくとも1つのメソッドを有する。汎用ソフトウェア開発およびドメイン管理スクリプトは、汎用スクリプトクラスにカプセル化され、これを特定のソフトウェア開発およびドメイン管理タスク用の個別スクリプトクラスに拡張することができる。
オブジェクト指向Antスクリプトツール環境を示す例示的な図である。 一実施形態に係るオブジェクト指向Antスクリプト言語の構文とJAVAプログラミング言語の構文との間のマッピング関係の例を示す図である。 一実施形態に係るソフトウェアアプリケーションを構築するためのオブジェクト指向Antのクラス階層の例を示す図である。 一実施形態に係るアプリケーションを構築するためのオブジェクト指向Antスクリプトクラスの使用例を示す図である。 一実施形態に係るアプリケーションサーバドメインを管理するためのクラス階層の例を示す図である。 一実施形態に係るアプリケーションサーバドメインを管理するためのオブジェクト指向Antスクリプトクラスの使用例を示す図である。 一実施形態に係るオブジェクト指向Antユーティリティクラスの使用見本を示す図である。 一実施形態に係る分散環境においてソフトウェアアプリケーションを検証する例示的なステップを示す図である。
詳細な説明
添付図面の図により、本発明を限定ではなく例示として説明する。添付図面の図において、同一の参照符号は同等の要素を示す。また、この開示において、「一実施形態」、「1つの実施形態」または「いくつかの実施形態」は、同一の実施形態に限られず、少なくとも1つの実施形態を意味することに注意すべきである。
以下、オブジェクト指向プログラミング言語プラットフォームの例としてJAVAプラットフォームを用いて、本発明の一実施形態を説明する。他の種類のオブジェクト指向プログラミング言語プラットフォームを制限なく使用できることは、当業者には明らかであろう。
一実施形態によれば、AntのようなXMLに基づくスクリプトツールは、オブジェクト指向機能を含むように拡張することができる。1つの実施形態において、オブジェクト指向スクリプトツールは、XMLに基づくスクリプトツールの拡張として実装することができる。たとえば、オブジェクト指向Antスクリプトツールまたはオブジェクト指向Antを、JAVAプログラミング言語を用いてAntの拡張として実装してもよい。1つの実施形態において、オブジェクト指向Antスクリプトツールを実装するJAVAコードは、Antスクリプトツール用の拡張タスクを格納するAntスクリプト環境により指定されたライブラリディレクトリにコンパイルされて配布することができる。
図1は、オブジェクト指向Antスクリプトツール環境を示す例示的な図である。
図1に示すように、Antスクリプト環境は、XMLパーサ101を使用して、XMLファイル102に含まれ、異なるタグ110、112および120を有するスクリプトをパースすることができる。XMLファイル102中の各タグ110、112または120は、一種類のスクリプトタスクまたはターゲット111、113または121に関連付けられている。
一実施形態によれば、オブジェクト指向Antのようなオブジェクト指向スクリプトツールは、オブジェクト指向スクリプト構文を含む追加のタグ122および124を利用してオブジェクト指向機能をサポートすることができる。図1に示すように、タグ122を、オブジェクト指向Antスクリプト環境においてクラス定義タスク123をサポートするために使用することができ、別のタグ124をオブジェクト指向Antスクリプト環境において関数呼出しタスク125をサポートするために使用することができる。
一実施形態によれば、オブジェクト指向スクリプト構文は、異なるタイプのオブジェクト指向スクリプトの使用をサポートする。これらの異なるタイプのオブジェクト指向スクリプトは、タイプ定義テーブルに格納することができる。このタイプ定義テーブルは、タグ名をハッシュテーブルのキーとしてハッシュテーブルを使用して実装することができる。また、オブジェクト指向Antスクリプトツールの各タスクインスタンスは、インスタンスプールに格納することができる。インスタンスプールは、各インスタンスのIDまたは参照番号をキーとしてハッシュテーブルに実装することができる。
別の一実施形態において、このようなタイプ定義メカニズムを低い優先順位で解釈して、ソフトウェア開発者が他の目的のために同一タグを他の用途に用いる際の名前衝突を防ぐことができる。別の例において、名前衝突を防ぐため、独特のタグを定義してオブジェ
クト指向Antスクリプト環境を開始することもできる。
一実施形態によれば、オブジェクト指向スクリプトツールは、オブジェクト指向プログラミング言語により与えられた同様の機能を有することができる。さらに、オブジェクト指向プログラミング言語に精通するソフトウェア開発者は、オブジェクト指向スクリプト言語を簡単に理解することができる。たとえば、Antスクリプト言語に基づいたオブジェクト指向Antは、JAVAと同様の機能を有することができる。よって、熟練したJAVA開発者は、オブジェクト指向Antスクリプトツールの使い方をすぐに習得することができる。
図2は、オブジェクト指向Antスクリプト言語の構文とJAVAプログラミング言語の構文との間のマッピング関係の例を示している。
1つの実施形態によれば、JAVAクラスを定義することができるJAVAプログラミング言語と同じく、オブジェクト指向スクリプトツールはクラスタグを用いてスクリプトのクラスを定義することができる。たとえば、図2の1行目に示すように、オブジェクト指向Antスクリプト言語で定義された“Hello”サンプルクラスを、JAVAプログラミング言語のHelloクラスにマップすることができる。
1つの実施形態によれば、オブジェクト指向スクリプトツールのクラスタグは、スクリプトクラスの挙動をカプセル化する任意のスクリプトを含むことができる。1つの実施形態において、クラスタグに2つの属性を付与することができる。1つの属性は、根本クラス(underlying class)の名前を定義する名前属性である。もう1つの属性は、基底クラス(base class)のクラス名を定義する基底属性である。基底属性のデフォルト値は“Object”であって、根本クラスがルートクラス(root class)から直接拡張されたクラスであることを示す。
一実施形態によれば、JAVAクラスにおいてメソッドを定義するのと同様に、オブジェクト指向スクリプトツールは、メソッドタグを使用してクラスのメソッドを定義することができる。1つの実施形態において、メソッドタグは名前属性を有してもよい。たとえば、図2の3行目に示すように、メソッドの名前属性には値“sayHi”が与えられている。また、メソッドタグは、メソッドタグの本文に1つまたは複数の属性タグを定義することができる。このような属性タグは、メソッドが呼出されるときにメソッドに使用される1つまたは複数のパラメータを定義する。図2の4行目に示す例において、メソッド“sayHi”は、メッセージの内容を指定するパラメータをもっている。
一実施形態によれば、オブジェクト指向スクリプトツールはクラスに参照値を割当てることができる。たとえば、図2の7行目において、JAVAで新たなクラスを作成するのと同様に、タグを使用してクラスの初期化をすることができる。図2の1行目のタグを用いて作成した“Hello”クラスのインスタンスには、インスタンスを一義的に識別するために、参照値“h”が割当てられている。
一実施形態によれば、オブジェクト指向スクリプトツールによって、ユーザはクラス呼出しタグを使用してスクリプトクラスにおけるメソッドを“[class reference].[method name]”の形式で呼出すことができるようになる。たとえば、図2の9行目に示すように、図2の3〜5行目に定義された“sayHi”メソッドは、JAVAにおいてクラス呼出し構文を再構築する“h.sayHi”構文を使用して呼出すことができる。図2の4行目におけるメッセージ属性の定義に応じて、“sayHi”メソッドにメッセージの内容を含むパラメータを与える。
一実施形態によれば、オブジェクト指向スクリプトツールは、メッセージの内容を書出すことができるエコータグを提供する。たとえば、図2の11行目に示すように、エコータグはJAVAの“System.out”と同様に動作することができる。
一実施形態によれば、オブジェクト指向スクリプトツールは、あるオブジェクト指向Antオブジェクトが特定のAntクラスタイプであるか否かをチェックするのに使用できる<instance of>タグを与える。1つの実施形態において、<instance of>タグは、AntオブジェクトIDを表す“id”属性およびこれから検証されるAntクラスの名前を表す“classname”属性を提供している。
一実施形態によれば、オブジェクト指向プログラミング言語と同様に、オブジェクト指向スクリプトツールは、他の便利な機能を提供することができる。これらの便利な機能は、JAVAが提供しているような、メソッドオーバーライド、特別な“this”および“super”インスタンスを含む。また、JAVAと同様に、オブジェクト指向Antは、クラスの拡張および継承、インスタンスメソッドの呼出し構文のリフレクションフレーバー(reflection flavor)、およびインスタンスプロパティを取得する構文をサポートすることができる。
一実施形態によれば、オブジェクト指向スクリプトツールを用いてソフトウェアアプリケーションを構築することができる。汎用アプリケーション構築スクリプトはクラスにカプセル化することができる。その後、ソフトウェア開発者は、いくつかの好みの特別な機能に組み込むために、独自のバージョンの汎用アプリケーション構築スクリプトを作成することができる。
図3は、ソフトウェアアプリケーションを構築するためのクラス階層の例を示している。図3に示すように、App.class.xml301は、汎用アプリケーション構築スクリプトをカプセル化する基底クラスである。MyAppBase.class.xml302は、基底クラスApp.class.xml301を継承するクラスである。ソフトウェア開発者は、App.class.xml301に既に存在している実装の詳細を書換えたり、コピーして貼付けたりする必要がない。ソフトウェア開発者は新しいメソッドを追加またはMyAppBase.class.xml302に既存のメソッドをオーバーライドするだけでよい。
さらに、ソフトウェア開発者は、MyAppBase.class.xml302に基づいて、異なるプロジェクト用に異なるオブジェクト指向AntスクリプトクラスMyApp1.class.xml303およびMyApp2.class.xml304を作成することができる。異なるオブジェクト指向AntスクリプトクラスMyApp1.class.xml303およびMyApp2.class.xml304は、プロジェクトのディレクトリおよび有用なライブラリへのリンクのようなプロジェクトを無事にコンパイルし、構築するために必要なすべての情報を含んでいる。
図4は、アプリケーションを構築するためのオブジェクト指向Antスクリプトクラスの使用例を示している。図4に示すように、2つの個別のオブジェクト指向AntスクリプトクラスMyApp1およびMyApp2を使用して2つの個別のアプリケーションApp1およびApp2を構築することができる。
一実施形態によれば、オブジェクト指向スクリプトツールを使用して異なるネットワークまたはアプリケーションサーバドメインを管理することもできる。
図5は、アプリケーションサーバドメインを管理するためのクラス階層の例を示してい
る。図5に示すように、汎用ドメイン関連のスクリプトは、クラスDomain.class.xml501にカプセル化することができる。ネットワーク管理者は、別のクラスMyDomainBase.class.xml502に独自のバージョンの汎用ドメイン関連のスクリプトを指定することができる。MyDomainBase.class.xml502は、ネットワーク管理者に合うようにカスタマイズした機能を含んでいる。ここでは、MyDomainBase.class.xml502は、基底クラスDomain.class.xml501を継承するクラスである。このとき、ネットワーク管理者は、汎用ドメイン管理スクリプトに既に存在している実装の詳細を書換えたり、コピーして貼り付けたりする必要がない。ソフトウェア開発者は新しいメソッドを追加または既存のメソッドをオーバーライドするだけでよい。
さらに、ネットワーク管理者は、MyDomainBase.class.xml502に基づいて、特定のドメインのために個別のオブジェクト指向AntスクリプトクラスMyDomainl.class.xml503を作成することができる。ここでは、オブジェクト指向Antスクリプトクラスは、特定のドメインを無事に準備し、起動するために必要なすべての情報を含んでいる。
図6は、アプリケーションサーバドメインを管理するためのオブジェクト指向Antスクリプトクラスの使用例を示している。図6に示すように、アプリケーションサーバドメインMyDomain1は、オブジェクト指向Antスクリプトクラスを使用して準備および起動することができる。
一実施形態によれば、オブジェクト指向スクリプトツールを使用して他のタイプのスクリプトクラスのオブジェクトを引数として受け入れることができるユーティリティスクリプトクラスを作ることができる。
図7は、オブジェクト指向Antユーティリティクラスの使用例を示している。図7に示すように、ユーティリティAntクラス、すなわち“MyApp1Util”クラスは、参照記号またはid“app1util”を有している。“MyApp1Util”クラスには、その参照記号またはid“app1”によって“MyApp1”クラスのすべてのインスタンスプロパティを取得することができるプロセスメソッドを有している。以降の操作は、得られた“MyApp1”クラスのインスタンスプロパティに基づいて行うことができる。このような操作は、配布定義ファイルの管理などを含むがこれらに限定されない。
一実施形態によれば、オブジェクト指向スクリプトツールは、分散環境においてソフトウェアアプリケーションを検証するために、たとえばアプリケーションサーバのドメイン設立およびデータベースへのリンクなどに使用することができる。
図8は、分散環境においてソフトウェアアプリケーションを検証する例示的なステップを示している。図8に示すように、ソフトウェアアプリケーションのテストスクリプトは、最初にアプリケーションをコンパイルするステップ801と、異なる目的のために異なるアプリケーションのテストケースを開発およびコンパイルするステップ802とを含むことができる。次に、ターゲットドメインを準備するステップ803および起動させるステップ804を行い、ステップ805でドメイン内においてサーバ上にアプリケーションを配布する。ステップ806でテストケースの実行が完了した後、ステップ807でドメインをシャットダウンして、ステップ808でクリーンアップを行うことができる。
ソフトウェアの検証が複雑であるため、異なるテストケースを開発する必要がある。よって、各テストシナリオに膨大な量のスクリプトファイルが存在する可能性がある。以前
、1つのテストケースから別のテストケースへのスクリプトファイルの移行は、多くの似たようなテストスクリプトを使用し、コピーおよびペースト手法を通じて行った。テストスクリプトはサイズが非常に大きくなることがありかつ詳細に関わるので、このコピーおよびペースト手法は効率的ではない。多くの場合、ソフトウェア開発者は、ミスを避けるために、古いテストスクリプトを再利用するよりはむしろテストスクリプトを書換える。オブジェクト指向Antを使用することにより、ソフトウェア開発者は、膨大な量のコードをコピーおよびペーストせずに、1つのテストケースから別のテストケースに簡単に拡張することができる。
一実施形態によれば、Antにオブジェクト指向構文を導入することにより、はるかに簡単に既存のスクリプトを再利用することができる。たとえば、Antマクロ“A”内部で別のマクロ“B”を呼出すことができる。一例を挙げると、ソフトウェア開発者は単に“B”の挙動を変更し、“A”を再利用することを望む。コピーおよびペースト手法を使用する場合、ソフトウェア開発者は、2つの新しいマクロ“A1”および“B1”を作成する必要があり、ソフトウェア開発者は、“A”の内容を“A1”にコピーし、“B”の呼出しを“B1”の呼出しに変更する必要がある。しかしながら、オブジェクト指向Antを用いれば、ソフトウェア開発者は単に、新たなクラス“B1”を用いて基底クラス“B”を拡張することにより、新しい実装を用いて“B”の中の1つまたは複数のメソッドをオーバーライドすることができる。
本発明は、従来の汎用目的または本開示の教示に従ってプログラムされた専用のデジタルコンピュータまたはマイクロプロセッサを用いて便利に実装することができる。ソフトウェア分野の当業者には明らかなように、適切なソフトウェアコーディングは、本開示の教示に基づいて熟練したプログラマによって容易に作成されることができる。
いくつかの実施形態において、本発明は、本発明のプロセスのいずれかを実行するようにコンピュータをプログラムするのに使用できる指令をその上/中に格納する記憶媒体(1つまたは複数)であるコンピュータプログラム製品を含む。記憶媒体は、フロッピー(登録商標)ディスク、光学ディスク、DVD、CD−ROM、マイクロドライブおよび光磁気ディスクを含む任意のタイプのディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気または光カード、ナノシステム(分子メモリICを含む)、または指令および/またはデータを格納するのに適した任意のタイプの媒体またはデバイスに限定しないがこれらを含むことができる。
本発明に関する以上の説明は、例示および説明を目的とするものである。網羅的またはこの発明を開示された厳密な形式に限定することを意図していない。当業者には多くの修正および変更が明らかになるであろう。与えられたコード例は、例示を目的とするものである。本明細書に記載の技術は、別のコード言語を用いて、異なるコードで適用できるということは明らかであろう。
本発明の原理およびその実用性を最もよく説明するために、実施形態が選択され、述べられた。よって、当業者は、予測される特定の用途に適するさまざまな実施形態およびさまざまな変形例を有する本発明を理解することができる。本発明の範囲は以下の特許請求の範囲およびそれの均等物によって定義されるものとする。

Claims (19)

  1. XMLファイルを用いてオブジェクト指向スクリプトツールをサポートするコンピュータ実装方法であって、
    前記XMLファイル中の第1タグを用いてスクリプト言語でソフトウェアクラスを定義するステップを含み、前記ソフトウェアクラスは少なくとも1つのメソッドを有し、
    前記XMLファイル中の第2タグにおける前記少なくとも1つのメソッドを呼出すステップを含む、方法。
  2. 前記スクリプト言語はAntである、請求項1に記載の方法。
  3. XMLパーサを用いて前記XMLファイルをパースするステップをさらに含む、請求項1または2に記載の方法。
  4. 前記XMLファイル中のタグを用いて前記少なくとも1つのメソッドを定義するステップをさらに含む、請求項1から3のいずれか1項に記載の方法。
  5. 前記XMLファイル中のタグを用いて、ソフトウェアオブジェクトが前記ソフトウェアクラスのインスタンスであるか否かをチェックするステップをさらに含む、請求項1から4のいずれか1項に記載の方法。
  6. クラスの拡張および継承と、メソッドオーバーライドと、インスタンスの多態性と、特別の“this”および“super”インスタンスとの少なくとも1つをサポートするステップをさらに含む、請求項1から5のいずれか1項に記載の方法。
  7. 前記XMLファイルのタグ中の、インスタンスメソッド呼出し構文をサポートするステップをさらに含み、前記構文は“[class reference].[method
    name]”のフォーマットになっている、請求項1から6のいずれか1項に記載の方法。
  8. タグが不明要素であると判断された場合、前記XMLファイル中の前記タグをインスタンスメソッドを呼出すための前記構文に関連付けるステップをさらに含む、請求項7に記載の方法。
  9. タイプ定義テーブルを用いて前記インスタンスメソッド呼出し構文を定義するステップをさらに含む、請求項8に記載の方法。
  10. 前記方法はさらに、
    1つまたは複数の汎用アプリケーション構築スクリプトを前記ソフトウェアクラスにカプセル化するステップと、
    別のソフトウェアクラスにおける1つまたは複数の特定のアプリケーション構築スクリプトを実行するステップとを含み、前記別のソフトウェアクラスは、前記ソフトウェアクラスから拡張または継承される、請求項1から9のいずれか1項に記載の方法。
  11. 前記方法はさらに、
    1つまたは複数の汎用ドメイン管理スクリプトを前記ソフトウェアクラスにカプセル化するステップと、
    別のソフトウェアクラスにおける1つまたは複数のドメイン管理スクリプトを用いて特定のドメインを起動させるステップとを含み、前記別のソフトウェアクラスは、前記ソフトウェアクラスから拡張または継承される、請求項1から10のいずれか1項に記載の方
    法。
  12. 前記ソフトウェアクラスは、別のソフトクラスのインスタンスを引数として受入れることができるユーティリティクラスである、請求項1から11のいずれか1項に記載の方法。
  13. 前記オブジェクト指向スクリプトツールを用いてデータベースにリンクするステップをさらに含む、請求項1から12のいずれか1項に記載の方法。
  14. オブジェクト指向スクリプトツールを用いてアプリケーションを異なるサーバに配布させるステップをさらに含む、請求項1から13のいずれか1項に記載の方法。
  15. 1つまたは複数のコンピュータシステムで実行されたときに、請求項1から14のいずれか1項に記載の方法を実装する指令を含む、コンピュータプログラム。
  16. 請求項15に記載の前記コンピュータプログラムを含む、コンピュータ可読記憶媒体。
  17. 請求項1から14のいずれか1項に記載の方法を実行するように構成されたコンピュータシステム。
  18. XMLファイルを用いてオブジェクト指向スクリプトツールをサポートするコンピュータシステムであって、
    XMLファイルを含む前記コンピュータシステムは、
    スクリプト言語でソフトウェアクラスを定義する第1タグを前記XMLファイルに含み、前記ソフトウェアクラスは少なくとも1つのメソッドを有し、
    前記ソフトウェアクラスにおける前記少なくとも1つのメソッドを呼出す第2タグを前記XMLファイルに含む、コンピュータシステム。
  19. 命令を格納している機械可読媒体であって、
    前記指令が実行されると、
    XMLファイル中の第1タグを用いてスクリプト言語でソフトウェアクラスを定義するステップをシステムに実行させ、前記ソフトウェアクラスは少なくとも1つのメソッドを有し、
    前記XMLファイル中の第2タグにおける前記少なくとも1つのメソッドを呼出すステップをシステムに実行させる、機械可読媒体。
JP2018211178A 2010-07-20 2018-11-09 オブジェクト指向スクリプトツールをサポートするシステムおよび方法 Active JP6581710B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201010236014.5 2010-07-20
CN201010236014.5A CN102339219B (zh) 2010-07-20 2010-07-20 用于支持面向对象脚本工具的系统和方法
US12/860,667 US8504987B2 (en) 2010-07-20 2010-08-20 System and method for supporting an object oriented scripting tool
US12/860,667 2010-08-20

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016220476A Division JP6602283B2 (ja) 2010-07-20 2016-11-11 オブジェクト指向スクリプトツールをサポートするシステムおよび方法

Publications (3)

Publication Number Publication Date
JP2019040626A true JP2019040626A (ja) 2019-03-14
JP2019040626A5 JP2019040626A5 (ja) 2019-08-15
JP6581710B2 JP6581710B2 (ja) 2019-09-25

Family

ID=44628250

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2013520721A Pending JP2013531324A (ja) 2010-07-20 2011-06-27 オブジェクト指向スクリプトツールをサポートするシステムおよび方法
JP2016220476A Active JP6602283B2 (ja) 2010-07-20 2016-11-11 オブジェクト指向スクリプトツールをサポートするシステムおよび方法
JP2018211178A Active JP6581710B2 (ja) 2010-07-20 2018-11-09 オブジェクト指向スクリプトツールをサポートするシステムおよび方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2013520721A Pending JP2013531324A (ja) 2010-07-20 2011-06-27 オブジェクト指向スクリプトツールをサポートするシステムおよび方法
JP2016220476A Active JP6602283B2 (ja) 2010-07-20 2016-11-11 オブジェクト指向スクリプトツールをサポートするシステムおよび方法

Country Status (5)

Country Link
US (2) US8504987B2 (ja)
EP (1) EP2596424A2 (ja)
JP (3) JP2013531324A (ja)
CN (1) CN102339219B (ja)
WO (1) WO2012012123A2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015832B1 (en) 2012-10-19 2015-04-21 Google Inc. Application auditing through object level code inspection
US9113358B1 (en) 2012-11-19 2015-08-18 Google Inc. Configurable network virtualization
US9268668B1 (en) * 2012-12-20 2016-02-23 Google Inc. System for testing markup language applications
US9274935B1 (en) 2013-01-15 2016-03-01 Google Inc. Application testing system with application programming interface
US9021443B1 (en) 2013-04-12 2015-04-28 Google Inc. Test automation API for host devices
US9268670B1 (en) 2013-08-08 2016-02-23 Google Inc. System for module selection in software application testing including generating a test executable based on an availability of root access
US9367415B1 (en) 2014-01-20 2016-06-14 Google Inc. System for testing markup language applications on a device
US9491229B1 (en) 2014-01-24 2016-11-08 Google Inc. Application experience sharing system
US9170922B1 (en) 2014-01-27 2015-10-27 Google Inc. Remote application debugging
US9864655B2 (en) 2015-10-30 2018-01-09 Google Llc Methods and apparatus for mobile computing device security in testing facilities
KR101854975B1 (ko) * 2016-02-18 2018-05-04 라인 가부시키가이샤 패키지 파일에 대한 기능 확장 방법 및 시스템
US10380096B2 (en) * 2016-11-30 2019-08-13 Ncr Corporation Data migration
CN111061468B (zh) * 2019-12-20 2023-10-10 北京爱奇艺科技有限公司 一种映射方法及装置

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838973A (en) * 1996-05-03 1998-11-17 Andersen Consulting Llp System and method for interactively transforming a system or process into a visual representation
US6880129B1 (en) * 1999-04-29 2005-04-12 Silverstream Software, Llc Method and apparatus for using name spaces in a graphical user interface
US6735586B2 (en) * 2000-02-08 2004-05-11 Sybase, Inc. System and method for dynamic content retrieval
US7243335B1 (en) * 2000-02-17 2007-07-10 Microsoft Corporation Method and system for reducing coding complexity by providing intelligent manipulable defaults
EP1292886A1 (en) * 2000-04-21 2003-03-19 Togethersoft Corporation Methods and systems for supporting and deploying distributed computing components
US7266817B1 (en) * 2000-12-21 2007-09-04 Emc Corporation Method and system for creating packages for multiple platforms
US7110936B2 (en) * 2001-02-23 2006-09-19 Complementsoft Llc System and method for generating and maintaining software code
US7389492B2 (en) * 2001-03-12 2008-06-17 International Business Machines Corporation Framework for code generators
US20040015840A1 (en) * 2001-04-19 2004-01-22 Avaya, Inc. Mechanism for converting between JAVA classes and XML
US7003759B2 (en) * 2001-06-21 2006-02-21 Codefast, Inc. Collection makefile generator
US7000218B2 (en) * 2001-06-29 2006-02-14 International Business Machines Corporation System and method for developing custom programmable tags
US20030037311A1 (en) * 2001-08-09 2003-02-20 Busfield John David Method and apparatus utilizing computer scripting languages in multimedia deployment platforms
US7222333B1 (en) * 2001-10-15 2007-05-22 Cisco Technology, Inc. Techniques for generating software application build scripts based on tags in comments
US7155705B1 (en) * 2001-11-26 2006-12-26 Cisco Technology, Inc. Techniques for binding an application with a data exchange format based on tags in comments
US20040015578A1 (en) * 2002-02-22 2004-01-22 Todd Karakashian Web services runtime architecture
US7962925B2 (en) * 2002-02-22 2011-06-14 Oracle International Corporation System and method for XML data binding
US20030188036A1 (en) * 2002-03-22 2003-10-02 Sun Microsystems, Inc. Methods and systems for program migration
US7512932B2 (en) * 2002-03-22 2009-03-31 Sun Microsystems, Inc. Language and object model for describing MIDlets
JP4049653B2 (ja) * 2002-10-31 2008-02-20 富士通株式会社 プロトコル変換プログラム,プロトコル変換方法並びにプロトコル変換装置
WO2004068320A2 (en) * 2003-01-27 2004-08-12 Vincent Wen-Jeng Lue Method and apparatus for adapting web contents to different display area dimensions
US7725884B2 (en) * 2003-02-28 2010-05-25 Microsoft Corporation System and method for compiling markup files
US7516460B2 (en) * 2003-02-28 2009-04-07 Microsoft Corporation System and method for creating a runtime connection interface for attributes and element tags defined within a subclass in a markup document
US7254805B2 (en) * 2003-03-03 2007-08-07 Augustine Tibazarwa Requirement-centric extensible multilingual instruction language with anti-task actions for computer programming
US7136868B2 (en) * 2003-06-06 2006-11-14 Microsoft Corporation Database object script generation method and system
US7403934B2 (en) * 2003-06-10 2008-07-22 Sbc Properties, L.P. Script generator for automating system administration operations
US20050102652A1 (en) * 2003-11-07 2005-05-12 Sony Corporation System and method for building software suite
US7313786B2 (en) * 2003-11-26 2007-12-25 International Business Machines Corporation Grid-enabled ANT compatible with both stand-alone and grid-based computing systems
US20070276689A1 (en) * 2006-05-12 2007-11-29 Kirk Slone Workflow data binding
US7650590B2 (en) * 2004-01-13 2010-01-19 Sap Ag Flexible code generation
US7603658B2 (en) * 2004-02-19 2009-10-13 Oracle International Corporation Application functionality for a test tool for application programming interfaces
US7246134B1 (en) * 2004-03-04 2007-07-17 Sun Microsystems, Inc. System and methods for tag library generation
US7539982B2 (en) * 2004-05-07 2009-05-26 International Business Machines Corporation XML based scripting language
WO2006043012A1 (en) * 2004-10-22 2006-04-27 New Technology/Enterprise Limited Data processing system and method
US7574692B2 (en) * 2004-11-19 2009-08-11 Adrian Herscu Method for building component-software for execution in a standards-compliant programming environment
US20060112073A1 (en) * 2004-11-22 2006-05-25 Jensen David L Interface building/design tool for generating nested interface systems and displays
US8051405B2 (en) * 2006-01-11 2011-11-01 Oracle International Corporation System and method for build script generation in a software development environment
US20100299590A1 (en) * 2006-03-31 2010-11-25 Interact Incorporated Software Systems Method and system for processing xml-type telecommunications documents
US8407585B2 (en) * 2006-04-19 2013-03-26 Apple Inc. Context-aware content conversion and interpretation-specific views
US7934194B2 (en) * 2006-10-17 2011-04-26 The Mathworks, Inc. User-defined hierarchies of user-defined classes of graphical objects in a graphical modeling environment
US9251498B2 (en) * 2006-10-23 2016-02-02 Oracle International Corporation Facilitating deployment of customizations of enterprise applications
CN100414498C (zh) * 2006-10-26 2008-08-27 山东浪潮齐鲁软件产业股份有限公司 可实现代码复用的server版代码生成系统
US7730065B2 (en) * 2007-04-27 2010-06-01 Microsoft Corporation File formats for external specification of object-relational mapping
US7725772B2 (en) * 2007-07-18 2010-05-25 Novell, Inc. Generic template to autogenerate reports for software target testing
CN101339500B (zh) * 2008-05-22 2010-06-09 清华大学 基于xml模式的数据绑定应用程序接口生成方法
US8533689B2 (en) * 2008-10-10 2013-09-10 The Boeing Company Method, apparatus and computer program product for creating inter-language interface
US8756252B2 (en) * 2008-12-03 2014-06-17 Sap Ag Category-based name schemes in parsing frameworks
US9075667B2 (en) * 2009-05-21 2015-07-07 Microsoft Technology Licensing, Llc Dynamic binding directed by static types
US20110289140A1 (en) * 2010-05-20 2011-11-24 Salesforce.Com, Inc. Methods and systems for providing a user interface in a multi-tenant database environment
JP5425715B2 (ja) * 2010-06-03 2014-02-26 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラム実行方法、システム及びプログラム
US20110321010A1 (en) * 2010-06-24 2011-12-29 Yifei Wang Web application framework based on object oriented class mapping

Also Published As

Publication number Publication date
US20130298107A1 (en) 2013-11-07
WO2012012123A2 (en) 2012-01-26
CN102339219A (zh) 2012-02-01
US20120023481A1 (en) 2012-01-26
US8504987B2 (en) 2013-08-06
JP6602283B2 (ja) 2019-11-06
JP2013531324A (ja) 2013-08-01
WO2012012123A3 (en) 2012-04-05
JP6581710B2 (ja) 2019-09-25
JP2017027635A (ja) 2017-02-02
EP2596424A2 (en) 2013-05-29
CN102339219B (zh) 2016-08-24
US9569181B2 (en) 2017-02-14

Similar Documents

Publication Publication Date Title
JP6581710B2 (ja) オブジェクト指向スクリプトツールをサポートするシステムおよび方法
US11853774B2 (en) Dynamically loaded plugin architecture
KR101795844B1 (ko) 런타임 시스템
US8132152B2 (en) Extending a scripting language to provide an object hierarchy
WO2019237701A1 (zh) 跨语言编程
US9417931B2 (en) Unified metadata for external components
US20160232017A1 (en) System and Method for Reloading Constructors
BR112016024522B1 (pt) Meio de armazenamento legível por computador não transitório, e, método para especializar uma classe genérica
JP2005293578A (ja) 属性を介して制御されるテストケース継承
US20040268301A1 (en) Adding new compiler methods to an integrated development environment
US8606766B2 (en) Method and system to handle java class versioning
Bengtsson The R. oo package-object-oriented programming with references using standard R code
US7873951B1 (en) Automated object delegation
EP1452962B1 (en) System and method for defining and using subclasses declaratively within markup
Derakhshanmanesh et al. Reference Implementation
Bukovics Workflow Serialization and Markup
Gschwind et al. Babel: A Version Management System for the Java Programming Language

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181207

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190703

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190830

R150 Certificate of patent or registration of utility model

Ref document number: 6581710

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250