JP5396979B2 - ソフトウェア開発支援装置、システム、ソフトウェア開発支援装置の機能拡張方法、及びプログラム - Google Patents
ソフトウェア開発支援装置、システム、ソフトウェア開発支援装置の機能拡張方法、及びプログラム Download PDFInfo
- Publication number
- JP5396979B2 JP5396979B2 JP2009096290A JP2009096290A JP5396979B2 JP 5396979 B2 JP5396979 B2 JP 5396979B2 JP 2009096290 A JP2009096290 A JP 2009096290A JP 2009096290 A JP2009096290 A JP 2009096290A JP 5396979 B2 JP5396979 B2 JP 5396979B2
- Authority
- JP
- Japan
- Prior art keywords
- mbean
- software development
- unit
- annotation information
- annotation
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
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
すなわち、この仕様により、これまでJava(R)アプリケーションが独自に運用管理のために提供していたAPIや機能を使用せずに、どのようなJava(R)アプリケーションからでも共通した手法で監視・管理対象にアクセスすることが可能となっている。
しかしながら、これらの汎用的なAPIの仕様にはまだ基本的なものが多く、共通化されている部分は管理情報へのアクセス、オペレーションの実行、イベントの通知といった基本的な運用処理だけである。
例えば、アプリケーションサーバやプロセス監視、コンピュータ監視等を行うサーバアプリケーションにJMXを適用する場合、監視・管理対象となるJava(R)オブジェクトであるMBeanの初期化処理や状態監視、更新された情報を他のMBeanと同期化するための機能などについては、自前で用意しなければならない。
また、このような追加実装は、各々のMBeanで共通している部分も多く、MBeanの開発者が、それぞれ独自に同様のコードを記述することは望ましくない。さらに、JMXの仕様化はごく最近のことであり、APIを利用して実装を行える開発者はまだ多くはない。
これは、JMXで高度な運用管理を実現する場合に必ず直面する問題であり、JMXを適用する範囲が大きくなればなるほど、その実装量も多くなり、結果的に作業量、レベル共にJMX導入以前と変わらない場合がある。これでは、JMXを適用することによる優位性が薄れてしまうことになる。
例えば、EJBやServletによれば、JNDI(Java(R) Naming and Directory Interface)名前サービスからの必要なオブジェクトの取得、トランザクション制御、データベースに対するリレーション定義とJava(R)オブジェクトとの関連付けを行うなどの作業を軽量化することが可能となっている。
JMXによるプログラムは、全ての業務アプリケーションの初期化等のライフサイクル処理と関係を持ち、それらはアプリケーション実行基盤の基礎として動作するため、アプリケーション開発者ができるだけJMX層(下位層)におけるオブジェクトの振る舞いを意識せずに運用管理機能を実装できることが望ましい。
特許文献1に記載のデバッグ支援方法によれば、ソースコード中のメソッド定義部に埋め込まれた注釈情報を解析装置が抽出し、その情報をデバッガ上で評価可能な形式に変換する構成となっている。これによって、特定の条件式を注釈情報として定義することで、プログラムにおける異常発生時のデバッグ作業を効率化することが可能となっている。
また、特許文献2に記載の言語解釈表示方法によれば、HTMLに埋め込まれた注釈情報を解析装置が抽出し、その情報に基づき画面のカスタマイズを表示装置が行う構成となっている。これによって、下位互換性を保ちつつ、特定の注釈情報が解析可能な表示装置では、注釈情報に基づく表示のカスタマイズを行うことが可能とされている。
また、特許文献2に記載の言語解釈表示方法によれば、HTMLに埋め込まれた注釈情報を抽出して解析することはできるが、解析した注釈情報にもとづき画面表示のカスタマイズを行うものであり、同様に、JMXを使用したプログラム量の削減や監視・管理のための処理の自動化等には適用することができず、JMX等に関連するコーディングの簡略化を図ることができるものではない。
なお、以下の実施形態に示す本発明のソフトウェア開発支援装置は、プログラムに制御されたコンピュータにより動作するようになっている。コンピュータのCPUは、プログラムにもとづいてコンピュータの各構成要素に指令を送り、ソフトウェア開発支援装置の動作に必要となる所定の処理、例えば、単位オブジェクトの生成処理、クラスに含まれる注釈情報の解析処理、注釈情報の解析結果にもとづき拡張機能オブジェクトを生成する処理、拡張機能オブジェクトの実行処理等を行わせる。このように、本発明のソフトウェア開発支援装置における各処理,動作は、プログラムとコンピュータとが協働した具体的手段により実現できるものである。
また、プログラムを格納する記録媒体は、例えば半導体メモリ,磁気ディスク,光ディスク、その他任意のコンピュータで読取り可能な任意の記録手段により構成できる。
本発明の第一実施形態は、Java(R)を使用したアプリケーションやシステムデバイスの監視・管理のための標準仕様であるJMXの機能拡張を行うソフトウェア開発支援装置、ソフトウェア開発支援システム、ソフトウェア開発支援装置の機能拡張方法、及びソフトウェア開発支援装置の機能拡張プログラムに関するものである。
そして、ソフトウェア開発支援装置10aにおけるMBean50a(50a−1,50a−2,・・・)は、管理者端末60における運用管理アプリケーション61から呼び出され、EJBコンテナ81やWebコンテナ91から各種情報を入力する。これにより、EJBやServletを管理する構成となっている。
また、図2に示すように、MBeanコンテナ20aによって、MBean50aの生成時に、MBean50aに対応するMBeanInfo51a(51a−1,51a−2,・・・)を、注釈情報を用いて自動生成して、管理者端末60における運用管理アプリケーション61からその注釈情報を参照可能とし、MBean50aを容易に管理可能としている。
JMXエージェント11aは、MBean50aに対して総合的なサービスを提供し、ソフトウェア開発支援装置10a内で実行される管理エンティティであり、MBean50aと、業務アプリケーション71やこれにより呼び出されるEJB82、Servlet92等との間のパイプ役として機能する。
MBeanサーバ12aは、MBean50aを管理するためのものであり、JMXエージェント11aのコアコンポーネントである。管理者端末60における運用管理アプリケーション61からMBean50aにアクセスできるようにするためのMBean50aのリポジトリとして機能する。
このサービス13aは、本実施形態においては、例えばMBean50aの生成時に同時に生成された他の専用MBean等を、MBeanサーバ12a内における所定の記憶手段に格納する処理を実行する。
JMX仕様では、ソフトウェア開発支援装置10aの所定のMBean記憶手段にMBean50aが格納された時点で、JMXクライアントからの要求にもとづいて、そのMBean50aを実行することが可能となる。なお、このMBean記憶手段は、図示しておらず、MBeanコンテナ20a上にMBean50aを表現しているが、このMBean50aを格納するMBean記憶手段は、MBeanコンテナ20aの外部に構成しても内部に構成してもかまわない。
ここで、Java(R)における「クラス」とは、図3に示すように、一般的に次の2つのいずれかを意味している。
(2)上記のファイルを、「コンパイラ」というツールを使用してJava(R)仮想マシン上で実行可能なバイナリ形式に変換(翻訳)されたデータファイル(ファイル名が*.classとなる)。本ファイルは、Java(R)のクラスローダによってJava(R)プロセス内に取り込まれる。
(1)予め開発者がコンパイラツールを使用して変換する。
(2)サーバ(Java(R)仮想マシン)内で、変換前のテキストファイルを読み込んで動的にコンパイル処理を行い、実行可能な形式のファイルに変換する。
これによって、MBean50aを管理することができ、これを通じて、MBean50aの管理対象であるEJB82やServlet92を管理することが可能となっている。
MBeanコンテナ20aは、MBeanクラス40aにもとづきMBean50a及びMBeanInfo51aを生成するとともに、MBean50aに対応する拡張機能オブジェクトを生成し、これを実行する。
MBeanコンテナ20aは、図5に示すように、MBeanクラス記憶手段21a、MBean生成手段22a、注釈情報記憶手段23a、拡張機能記憶手段24a、MBean拡張機能対応テーブル25a、及び拡張機能実行手段26aを備えている。
また、MBean生成手段22aは、注釈解析手段30により、MBeanクラス40aに含まれている注釈情報を解析し、この注釈情報を含むMBeanInfo51aを生成する。
注釈情報記憶手段23aは、注釈情報を記憶する手段であり、例えば図6,7に示すような注釈情報を有する注釈ファイルを記憶している。
そして、MBeanクラス40aにこのような注釈情報が含まれている場合、注釈解析手段30aは、その注釈情報をMBean生成手段22aに出力する。
そして、拡張機能の定義情報が含まれている場合、この注釈情報にもとづき一又は二以上の拡張機能オブジェクトを生成して、これを拡張機能記憶手段24aに格納するとともに、MBean50aと拡張機能オブジェクトとの対応付け情報をMBean拡張機能対応テーブル25aに格納する。
MBean拡張機能対応テーブル25aは、MBean50aの識別情報と、これに対応する拡張機能オブジェクトの識別情報とを、対応づけて記憶する。
そして、MBean50aが運用管理アプリケーション61から呼び出されると、拡張機能実行手段26aは、当該MBean50aに対応する拡張機能オブジェクトを、MBean拡張機能対応テーブル25aを参照して特定し、特定した拡張機能オブジェクトを拡張機能記憶手段24aから取得して、これを実行する。
この実行タイミングとしては、MBean50aが呼び出されると直ちに行うことも、その後に所定のタイミングで実行させるようにすることもできる。
そして、MBean生成手段22aは、MBean50aを生成するとともに、注釈情報を含むMBeanInfo51aを生成することができる。また、注釈情報に対応する拡張機能を実行する拡張機能オブジェクトを生成し、これを拡張機能記憶手段24aに記憶させることができる。
これに対し、本実施形態によれば、これを省略してMBeanクラス40aに対応する注釈情報を含め、このような注釈情報を使用したMBeanクラス40aを用いてMBean50aを生成する。
これによって、MBeanコンテナ20aは、MBean50aの生成の際に、拡張機能オブジェクトも併せて自動生成することができる。図8の例では、拡張機能オブジェクトは、@Monitor(type=CounterMonitor.class, granularityPeriod=“10000”)に基づき生成されるモニター専用MBean(JMXモニターMBean)である。このモニター専用MBeanの生成については、後述する。
このように、本実施形態のソフトウェア開発支援装置10aによれば、より少ないコード量で、JMX仕様よりも高度できめ細やかなカスタマイズを施したMBean等を生成することが可能となっている。
MBeanコンテナ20aにおけるMBeanクラス記憶手段21a(クラスローダ)には、予め生成の対象となるMBean50aに対応するMBeanクラス40aを記憶させておく。
具体的には、図10に示すように、クラスローダにより、MBeanクラス40aのバイナリファイルを入力して、記憶させておくことができる。
そして、注釈解析手段30により、このMBeanクラス40aに含まれる注釈情報を解析する(ステップ11)。
これをMBeanクラス40aに含まれる全ての注釈情報について行う。
このとき、MBean生成手段22aは、MBeanクラス40aに含まれている注釈情報を、MBeanInfo51aに保有させ、このMBeanInfo51aを完成させる(ステップ13)。
なお、ステップ12における拡張機能オブジェクトの生成と、ステップ13におけるMBean50a、MBeanInfo51bの生成の順番は、入れ替えてもかまわない。
その際、拡張機能を開発者がコード化する代わりに、それぞれの機能に対応する任意の注釈情報を、MBeanクラス40a内に(メソッド、フィールド、コンストラクタ等において)コード化する。
本実施形態では、注釈定義、注釈情報本文を総称して注釈情報と呼んでいる。
このとき、MBean生成手段22aは、注釈情報を注釈解析手段30aにより解析し、注釈情報に、MBean50aの構成、属性、操作等に関する情報が含まれているか否かを判定する(ステップ34)。
一方、注釈情報に、これらの情報が含まれている場合(ステップ34のYES)、MBean生成手段22aは、注釈情報に拡張機能の定義情報が含まれていると、これに対応する一又は二以上の拡張機能オブジェクトを生成して、拡張機能記憶手段24aに記憶する(ステップ35)。
ステップ34からのステップ36までの処理を、MBeanクラス40aの注釈情報における各メソッドについて行った後(ステップ37)、規定の基本情報のみをMBeanInfo51aに追加した後、処理を終了する。
そして、対応するMBean50aが運用管理アプリケーション61から呼び出されると、拡張機能実行手段26aは、モニター専用MBeanを実行する。
値が有効であれば(ステップ52のYES)、当該MBean50aに含まれる所定のメソッドが呼び出されて実行される(ステップ54)。
この同期化処理は、図14に示すように、同期化の対象の属性に対するSetterメソッドの呼び出しを、その属性数分繰り返すことによって行われる。これによって、依存関係の属性、操作に対する管理情報が、拡張機能実行手段26aにより更新される。図7の注釈ファイル105の例では、対象の属性である「SampleValue2」が、「sampleValue」で更新されて、同期化が図られる。
その理由は、既存のJMX仕様を拡張する形でコンテナの概念をMBeanに適用することで、初期化処理やパラメータチェック、MBean間の整合性の確保といった監視・管理アプリケーションに特有の作業を、サーバ側で共通化して実行できるようになるためである。このことは、大規模アプリケーション等で統一化した運用制御を行う場合には特に適用効果が高い。
その理由は、これまで開発者自身で作成する必要があった管理情報の初期値定義やパラメータチェック処理、情報の同期化に対して、相当の処理を行う注釈情報を新たに定義し、それをMBeanコンテナ側で管理・制御することで、開発者は運用管理のための本質的なコードのみを記述すればよいからである。
その理由は、これまでMBean50aを生成するコードをテストするためには、専用のMBeanサーバ12a上で動作させる必要があったが、注釈情報を用いることで、これまで開発者自身で作成していた管理情報の初期値定義や永続化処理、同期化等の特有のコードをMBeanクラス内の実装ロジックから取り除くことができ、単体テストやJUnit等のテストフレームワークからでも容易に評価が行えるようになるためである。また、MBeanメソッドの割り込み処理を行う注釈情報を用いることで、例えばログ出力や性能測定といった横断的で共通な処理を容易に実装、確認することができるためである。
次に、本発明の第二実施形態について、図15を参照して説明する。同図は、本実施形態のソフトウェア開発支援装置の構成を示すブロック図である。
本実施形態は、JMX仕様におけるMBeanのタイプとしてModelMBean(Dyamic MBeanの一種)を使用している点で第一実施形態と異なる。その他の点については、第一実施形態と同様である。
すなわち、図15に示すように、既存のJava(R)オブジェクト52bは、MBean50bの一部に含められ、MBean50bに対応するMBeanInfo51b(51b−1,51b−2,・・)にディスクリプタ領域53b(53b−1,53b−2,・・)を保有させることが可能となっている。
そして、属性情報や操作情報といった管理情報に加えて、さらにこれらの補足情報を、MBeanInfo51の構成要素として使用することが可能となっている。
さらに、本実施形態では、補足情報を含むMBean50bについての管理情報を、情報格納装置13bに永続化して、当該インスタンスの状態を半永久的に保存し、MBeanInfo51bやMBean50bをいつでも復元することが可能となっている。
JMX仕様には、この既存のMBeanクラスとして、RequiredModelMBeanという標準のModelMBeanクラスが用意されている。本実施形態では、このRequiredModelMBeanを利用するか、このサブクラスを作成して用いることが可能である。
そして、この永続化された管理情報が存在する場合、上述したように、MBean50bの生成処理において、MBeanInfo51bは、この管理情報を用いて更新され、ディスクリプタ領域53b−1に格納されている補足情報も更新される。
また、MBeanInfo51におけるディスクリプタ領域53b−1に、注釈情報における補足情報を保有させることができ、これらの注釈情報の永続化を行うこともできる。そして、この永続化した注釈情報を用いて、MBeanInfo51bの注釈情報を更新することができる。
次に、本発明の第三実施形態について、図18、図19を参照して説明する。図18は、本実施形態のソフトウェア開発支援システムの構成を示すブロック図であり、図19は、同システムにおけるコンテナの構成を示すブロック図である。
このシステム管理装置10は、第一実施形態におけるJava(R)運用管理装置10aに相当し、コンテナ20、注釈解析手段30、単位オブジェクト50(50−1,50−2,・・・)を備えている。これらは、それぞれ第一実施形態におけるMBeanコンテナ20a、注釈解析手段30a、MBean50aに相当するものである。
コンテナ20は、単位オブジェクト50を生成するためのクラス40を保有しており、このクラス40を用いて、対応する単位オブジェクト50を生成する。また、この単位オブジェクト50の生成にあたって、注釈解析手段30により、クラス40に含まれている注釈情報を解析して、拡張機能オブジェクトを生成し、これを実行する。
そして、単位オブジェクト50が運用管理アプリケーション61から呼び出されて、単位オブジェクト実行手段27により実行されると、拡張機能実行手段24は、その単位オブジェクト50に対応する拡張機能オブジェクトを、オブジェクト拡張機能対応テーブル25を参照して特定し、特定した拡張機能オブジェクトを拡張機能記憶手段24から取得して実行する。
例えば、上記各実施形態では、MBeanなどの単位オブジェクトへのアクセスを、管理者端末における運用管理アプリケーションから呼び出す構成としてあるが、これに限定されるものではなく、一般のユーザ端末におけるその他のアプリケーションから呼び出す構成とするなど適宜変更することが可能である。
また、IDE(統合開発環境)と呼ばれる製品において、本発明を適用すれば、コードの補完や関連ソースの自動生成が行えるようになり、より効率化した運用管理アプリケーション開発のための環境を提供することが可能となる。
10a,10b ソフトウェア開発支援装置(Java(R)運用管理装置)
11a,11b JMXエージェント
12a,12b MBeanサーバ
13b 情報格納装置
20 コンテナ
20a,20b MBeanコンテナ
21 クラス記憶手段
21a MBeanクラス記憶手段
22 オブジェクト生成手段
22a MBean生成手段
23,23a 注釈情報記憶手段
24,24a 拡張機能記憶手段
25 オブジェクト拡張機能対応テーブル
25a MBean拡張機能対応テーブル
26,26a 拡張機能実行手段
27 単位オブジェクト実行手段
27a MBean実行手段
28b 永続化手段
30,30a,30b 注釈解析手段
40 所定の処理を実行する単位オブジェクトのクラス
40a,40b MBeanクラス
50(50−1,50−2) 単位オブジェクト
50a(50a-1,50a-2,・・),50b(50b-1,50b-2,・・) MBean
51 注釈情報オブジェクト
51a(51a-1,51a-2,・・),51b(51b-1,51b-2,・・) MBeanInfo
52b(52b-1,52b-2,・・) JMXに準拠していないJava(R)オブジェクト
53b(53b-1,53b-2,・・) ディスクリプタ領域
60 管理者端末
61 運用管理アプリケーション
Claims (18)
- 所定の処理を実行する一又は二以上の単位オブジェクトを生成するためのクラスを記憶するクラス記憶手段と、前記クラスを読み込んで前記単位オブジェクトを生成するオブジェクト生成手段と、前記クラスに対応する拡張機能オブジェクトを実行する拡張機能実行手段とを有するオブジェクト管理手段と、
前記クラスに含まれる注釈情報を解析する注釈解析手段と、を備え、
前記オブジェクト生成手段が、前記単位オブジェクトの生成にあたり、前記注釈解析手段の解析の結果、拡張機能を実行するための注釈情報が含まれている場合、当該注釈情報の解析結果にもとづき前記拡張機能オブジェクトを生成し、
前記単位オブジェクトが所定のアプリケーションから呼び出されて実行されると、前記拡張機能実行手段が、前記拡張機能オブジェクトを実行する
ことを特徴とするソフトウェア開発支援装置。 - 前記オブジェクト生成手段が、前記単位オブジェクトの生成にあたり、前記注釈解析手段の解析の結果、所定の注釈情報が含まれている場合、この注釈情報を含み、前記ソフトウェア開発支援装置に接続された端末における所定のアプリケーションにより参照される注釈情報オブジェクトを生成する
ことを特徴とする請求項1記載のソフトウェア開発支援装置。 - 前記注釈情報オブジェクトが、エムビーンインフォ(MBeanInfo)であることを特徴とする請求項2記載のソフトウェア開発支援装置。
- 請求項1〜3のいずれかに記載のソフトウェア開発支援装置が、ジャバマネージメントエクステンションズ(Java(R) Management Extensions)エージェントを備え、前記オブジェクト管理手段及び前記注釈解析手段が、前記ジャバエクステンションマネージメントエージェント内に備えられ、
前記単位オブジェクトが、エムビーン(MBean)であり、
前記クラス記憶手段が、所定の処理を実行する一又は二以上のエムビーンを生成するためのエムビーンクラスを記憶し、
前記オブジェクト生成手段が、前記クラスを読み込んで前記エムビーンを生成し、
前記オブジェクト生成手段が、前記エムビーンの生成にあたり、前記注釈解析手段の解析の結果、拡張機能を実行するための注釈情報が含まれている場合、当該注釈情報の解析結果にもとづき前記拡張機能オブジェクトを生成する
ことを特徴とするソフトウェア開発支援装置。 - 前記エムビーンが、前記ソフトウェア開発支援装置に接続されたユーザ端末における業務用のアプリケーションにより呼び出されるエンタープライズジャバビーンズ(Enterprise Java(R) Beans)又はサーブレット(Servlet)を生成する他のオブジェクト管理手段からの各種情報を入力するためのオブジェクトである
ことを特徴とする請求項4記載のソフトウェア開発支援装置。 - 前記拡張機能を実行するための注釈情報が、少なくとも経過時間の監視機能、割り込み機能、引数値の確認機能、変更情報の同期化機能のいずれかであり、
前記オブジェクト生成手段が、前記注釈情報の解析結果にもとづいて、対応する機能を実行するための前記拡張機能オブジェクトを生成する
ことを特徴とする請求項1〜5のいずれかに記載のソフトウェア開発支援装置。 - 所定の処理を実行する一又は二以上の単位オブジェクトを生成するためのクラスを記憶するクラス記憶手段と、前記クラスを読み込んで前記単位オブジェクトを生成するオブジェクト生成手段と、前記クラスに対応する拡張機能オブジェクトを実行する拡張機能実行手段とを有するオブジェクト管理手段と、
前記クラスに含まれる注釈情報を解析する注釈解析手段と、を備えたソフトウェア開発支援装置と、
前記ソフトウェア開発支援装置に接続された端末と、を有し、
前記オブジェクト生成手段が、前記単位オブジェクトの生成にあたり、前記注釈解析手段の解析の結果、拡張機能を実行するための注釈情報が含まれている場合、当該注釈情報の解析結果にもとづき前記拡張機能オブジェクトを生成し、
前記端末における所定のアプリケーションにより、前記単位オブジェクトが呼び出されて実行されると、前記拡張機能実行手段が、前記拡張機能オブジェクトを実行する
ことを特徴とするソフトウェア開発支援システム。 - 前記オブジェクト生成手段が、前記単位オブジェクトの生成にあたり、前記注釈解析手段の解析の結果、所定の注釈情報が含まれている場合、この注釈情報を含み、前記端末における前記所定のアプリケーションにより参照される注釈情報オブジェクトを生成する
ことを特徴とする請求項7記載のソフトウェア開発支援システム。 - 前記注釈情報オブジェクトが、エムビーンインフォ(MBeanInfo)であることを特徴とする請求項8記載のソフトウェア開発支援システム。
- 前記ソフトウェア開発支援装置が、ジャバマネージメントエクステンションズ(Java(R) Management Extensions)エージェントを備え、前記オブジェクト管理手段及び前記注釈解析手段が、前記ジャバマネージメントエクステンションズ内に備えられ、
前記単位オブジェクトが、エムビーン(MBean)であり、
前記クラス記憶手段が、所定の処理を実行する一又は二以上のエムビーンを生成するためのエムビーンクラスを記憶し、
前記オブジェクト生成手段が、前記クラスを読み込んで前記エムビーンを生成し、
前記オブジェクト生成手段が、前記エムビーンの生成にあたり、前記注釈解析手段の解析の結果、拡張機能を実行するための注釈情報が含まれている場合、当該注釈情報の解析結果にもとづき前記拡張機能オブジェクトを生成する
ことを特徴とする請求項7〜9のいずれかに記載のソフトウェア開発支援システム。 - 所定の処理を実行する一又は二以上の単位オブジェクトを生成するためのクラスを記憶し、
前記単位オブジェクトの生成にあたり、前記クラスを読み込んで、前記クラスに含まれる注釈情報を解析し、前記注釈情報の解析の結果、拡張機能を実行するための注釈情報が含まれている場合、当該注釈情報の解析結果にもとづき拡張機能オブジェクトを生成し、
前記単位オブジェクトが所定のアプリケーションから呼び出されて実行されると、前記拡張機能オブジェクトが実行される
ことを特徴とするソフトウェア開発支援装置の機能拡張方法。 - 前記単位オブジェクトの生成にあたり、前記注釈情報の解析の結果、所定の注釈情報が含まれている場合、この注釈情報を含み、前記ソフトウェア開発支援装置に接続された端末における所定のアプリケーションにより参照される注釈情報オブジェクトを生成する
ことを特徴とする請求項11記載のソフトウェア開発支援装置の機能拡張方法。 - 前記注釈情報オブジェクトが、エムビーンインフォ(MBeanInfo)であることを特徴とする請求項12記載のソフトウェア開発支援装置の機能拡張方法。
- 前記ソフトウェア開発支援装置が、ジャバマネージメントエクステンションズ(Java(R) Management Extensions)エージェントを備え、
前記単位オブジェクトが、エムビーン(MBean)であり、
前記クラスが、所定の処理を実行する一又は二以上のエムビーンを生成するためのエムビーンクラスであり、
前記ソフトウェア開発支援装置が、前記エムビーンの生成にあたり、前記注釈情報の解析の結果、拡張機能を実行するための注釈情報が含まれている場合、当該注釈情報の解析結果にもとづき前記拡張機能オブジェクトを生成する
ことを特徴とする請求項11〜13のいずれかに記載のソフトウェア開発支援装置の機能拡張方法。 - ソフトウェア開発支援装置を、
所定の処理を実行する一又は二以上の単位オブジェクトを生成するためのクラスを記憶するクラス記憶手段、
前記クラスを読み込んで前記単位オブジェクトを生成するオブジェクト生成手段、
前記クラスに対応する拡張機能オブジェクトを実行する拡張機能実行手段、及び、
前記クラスに含まれる注釈情報を解析する注釈解析手段として機能させ、
前記オブジェクト生成手段に、前記単位オブジェクトの生成にあたり、前記注釈解析手段の解析の結果、拡張機能を実行するための注釈情報が含まれている場合、当該注釈情報の解析結果にもとづき前記拡張機能オブジェクトを生成させ、
前記単位オブジェクトが所定のアプリケーションから呼び出されて実行されると、前記拡張機能実行手段に、前記拡張機能オブジェクトを実行させる
ことを特徴とするソフトウェア開発支援装置の機能拡張プログラム。 - 前記オブジェクト生成手段に、前記単位オブジェクトの生成にあたり、前記注釈解析手段の解析の結果、所定の注釈情報が含まれている場合、この注釈情報を含み、前記ソフトウェア開発支援装置に接続された端末における所定のアプリケーションにより参照される注釈情報オブジェクトを生成させる
ことを特徴とする請求項15記載のソフトウェア開発支援装置の機能拡張プログラム。 - 前記注釈情報オブジェクトが、エムビーンインフォ(MBeanInfo)であることを特徴とする請求項16記載のソフトウェア開発支援装置の機能拡張プログラム。
- 前記ソフトウェア開発支援装置が、ジャバマネージメントエクステンションズ(Java(R) Management Extensions)エージェントを備え、前記クラス記憶手段、前記オブジェクト生成手段、前記拡張機能実行手段、及び前記注釈解析手段が、前記ジャバマネージメントエクステンションズエージェント内に備えられ、前記単位オブジェクトが、エムビーン(MBean)であり、
前記クラス記憶手段に、所定の処理を実行する一又は二以上のエムビーンを生成するためのエムビーンクラスを記憶させ、
前記オブジェクト生成手段に、前記クラスを読み込んで前記エムビーンを生成させ、
前記オブジェクト生成手段に、前記エムビーンの生成にあたり、前記注釈解析手段の解析の結果、拡張機能を実行するための注釈情報が含まれている場合、当該注釈情報の解析結果にもとづき前記拡張機能オブジェクトを生成させる
ことを特徴とする請求項15〜17のいずれかに記載のソフトウェア開発支援装置の機能拡張プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009096290A JP5396979B2 (ja) | 2009-04-10 | 2009-04-10 | ソフトウェア開発支援装置、システム、ソフトウェア開発支援装置の機能拡張方法、及びプログラム |
US12/724,562 US8621429B2 (en) | 2009-04-10 | 2010-03-16 | Software development support apparatus, function extension method and storage medium for storing function extension program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009096290A JP5396979B2 (ja) | 2009-04-10 | 2009-04-10 | ソフトウェア開発支援装置、システム、ソフトウェア開発支援装置の機能拡張方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010250378A JP2010250378A (ja) | 2010-11-04 |
JP5396979B2 true JP5396979B2 (ja) | 2014-01-22 |
Family
ID=42935354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009096290A Active JP5396979B2 (ja) | 2009-04-10 | 2009-04-10 | ソフトウェア開発支援装置、システム、ソフトウェア開発支援装置の機能拡張方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8621429B2 (ja) |
JP (1) | JP5396979B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9083534B2 (en) | 2011-01-07 | 2015-07-14 | Mastercard International Incorporated | Method and system for propagating a client identity |
US9032204B2 (en) | 2011-01-07 | 2015-05-12 | Mastercard International Incorporated | Methods and systems for providing a signed digital certificate in real time |
US8707276B2 (en) * | 2011-01-07 | 2014-04-22 | Mastercard International Incorporated | Method and system for managing programmed applications in an open API environment |
US9998348B2 (en) * | 2014-07-31 | 2018-06-12 | Cisco Technology, Inc. | Monitoring a business transaction utilizing PHP engines |
JP6481355B2 (ja) * | 2014-12-18 | 2019-03-13 | 日本電気株式会社 | プロセス管理装置、方法及びプログラム |
CN112527353B (zh) * | 2015-05-27 | 2024-09-13 | 谷歌有限责任公司 | 用于增强对话系统的插件的在线市场 |
CN118520081A (zh) | 2015-05-27 | 2024-08-20 | 谷歌有限责任公司 | 经由插件市场增强虚拟助理和对话系统的功能性 |
US10394531B2 (en) * | 2017-04-29 | 2019-08-27 | Cisco Technology, Inc. | Hyper dynamic Java management extension |
KR102080841B1 (ko) * | 2018-01-19 | 2020-02-24 | 기산전자 주식회사 | 원격 지폐 인식 프로그램 개발을 위한 지폐 정사기 및 매니징 장치와 이들의 제어 방법 |
GB2573775A (en) | 2018-05-16 | 2019-11-20 | Sage Uk Ltd | Application Deployment |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9600854D0 (en) * | 1996-01-16 | 1996-03-20 | British Telecomm | Distributed processing |
JPH09222974A (ja) | 1996-02-16 | 1997-08-26 | Fuji Xerox Co Ltd | 言語解釈表示方法とその方法を用いた装置およびシステム |
US6275868B1 (en) * | 1997-03-12 | 2001-08-14 | Microsoft Corporation | Script Engine interface for multiple languages |
JPH11232136A (ja) * | 1998-02-17 | 1999-08-27 | Ricoh Co Ltd | オブジェクト指向ソフトウエア開発支援装置 |
JP2008210059A (ja) | 2007-02-23 | 2008-09-11 | Nec Corp | 情報処理装置、デバッグ支援方法及びプログラム |
US7958145B2 (en) * | 2007-11-20 | 2011-06-07 | International Business Machines Corporation | Creating multiple MBeans from a factory MBean |
-
2009
- 2009-04-10 JP JP2009096290A patent/JP5396979B2/ja active Active
-
2010
- 2010-03-16 US US12/724,562 patent/US8621429B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2010250378A (ja) | 2010-11-04 |
US20100262956A1 (en) | 2010-10-14 |
US8621429B2 (en) | 2013-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5396979B2 (ja) | ソフトウェア開発支援装置、システム、ソフトウェア開発支援装置の機能拡張方法、及びプログラム | |
US7707553B2 (en) | Computer method and system for automatically creating tests for checking software | |
US7617479B2 (en) | Method and apparatus for generating service frameworks | |
US9916134B2 (en) | Methods and systems for accessing distributed computing components through the internet | |
US7296188B2 (en) | Formal test case definitions | |
US7743282B2 (en) | Capturing computer application diagnostics | |
EP1650663A2 (en) | Automated Software Testing using a layered architecture | |
US20060053410A1 (en) | Methods and systems for supporting and deploying distributed computing components | |
US10083029B2 (en) | Detect application defects by correlating contracts in application dependencies | |
US7624381B1 (en) | Portable detection of start and completion of object construction | |
Ortin et al. | The DSAW aspect-oriented software development platform | |
Brada et al. | Practical verification of component substitutability using subtype relation | |
Liu et al. | A unified test framework for continuous integration testing of soa solutions | |
US9489179B2 (en) | Application programming interface tracing mechanism | |
WO2008015110A2 (en) | Methods, apparatus and computer programs for modelling computer programs | |
Sadovykh et al. | Architecture driven modernization in practice–study results | |
Lin et al. | A style for integrating MS‐Windows software applications to client–server systems using Java technology | |
CN117742783B (zh) | 用于软件系统的日志数据跨语言自动记录方法 | |
JP2014106770A (ja) | 型チェック装置、型チェック方法および型チェックプログラム | |
CN116860321B (zh) | 读卡控件的自动编译封装方法、系统、电子设备及介质 | |
Schaefer et al. | Model-based performance instrumentation of distributed applications | |
Allan et al. | Managing scientific software complexity with Bocca and CCA | |
CN117251160A (zh) | 代码生成方法、装置、电子设备及存储介质 | |
Loughran et al. | 11 Good Practice Guidelines for Code Generation in Software Product Line Engineering | |
JP2015527621A (ja) | 修正管理装置、修正管理方法、及び修正管理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120312 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130716 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130904 |
|
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: 20130924 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131007 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5396979 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |