JP5259924B2 - レガシーコンポーネントのための動的サービスの生成 - Google Patents

レガシーコンポーネントのための動的サービスの生成 Download PDF

Info

Publication number
JP5259924B2
JP5259924B2 JP2006031113A JP2006031113A JP5259924B2 JP 5259924 B2 JP5259924 B2 JP 5259924B2 JP 2006031113 A JP2006031113 A JP 2006031113A JP 2006031113 A JP2006031113 A JP 2006031113A JP 5259924 B2 JP5259924 B2 JP 5259924B2
Authority
JP
Japan
Prior art keywords
web service
application
legacy
legacy components
dynamic
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.)
Expired - Fee Related
Application number
JP2006031113A
Other languages
English (en)
Other versions
JP2006252536A (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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006252536A publication Critical patent/JP2006252536A/ja
Application granted granted Critical
Publication of JP5259924B2 publication Critical patent/JP5259924B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、一般に、ウェブサービスに関する。より詳細には、本発明は、ウェブサービス環境内で通信するようには開発されていないレガシーアプリケーションコンポーネントのために、動的なウェブサービスを生成する。
コンピュータシステムおよびそれに関連する技術は、社会の多くの側面に影響を与えている。実際、コンピュータシステムの情報処理能力は、我々が生活し働くスタイルを変化させている。現在、コンピュータシステムは、コンピュータシステムの出現前まで通常は手作業で行われていた多くのタスク(例えば、ワードプロセッシング、スケジューリング、データベース管理など)を行っている。さらに最近では、コンピュータシステムを互いに結合してコンピュータネットワークを形成し、そのネットワークを介して電子的にデータを共用するために通信することができる。ウェブサービスは、コンピュータ間のこのような情報伝達能力を向上させる原動力であり、ソフトウェアを構築し使用する方法を一変させている。
ウェブサービスにより、アプリケーションはデータを共用することができる。すなわち、そのアプリケーションがいかにして構築されたか、どのオペレーティングシステムもしくはプラットフォーム上で動作するか、またそれにアクセスするためにどの装置を使用するかに関係なく、他のアプリケーションから機能をより強力に呼び出すことが可能となる。ウェブサービスは、SOAP(Simple Open Access Protocol)、XML(eXtensible Markup Language)、UDDI(Universal Description Discovery Integration)、WSDL(Web Service Description Language)などを含む業界標準プロトコルによりインターネットを介して呼び出される。ウェブサービスは、互いに独立したままであるが、特定のタスクを実行する共同作業グループに対して緩やかに(loosely)リンクすることができる。
ウェブサービスネットワーク上の電子通信は、サーバコンピュータシステム(以下、「サーバ」、「サービス」または「ウェブサービス」と呼ぶ)におけるネットワークサービス(例えば、ウェブサービス)へのアクセスを要求するクライアントコンピュータシステム(以下、「クライアント」と呼ぶ)を含むことが多い。したがって、クライアントは、そのシステムリソースへの特定のアクセスを求める要求をそのサービスに送信し、そのクライアントが許可され確認された場合、そのサービスは、所望の情報を提供する応答メッセージで応ずる。当然であるが、クライアントとサービスの間の他のメッセージングパターンも利用可能であり、簡単な単一メッセージ、並びに、例えば、通知、勧誘(solicit)応答、Pub−Subパターン、ポーリング、キックプッシュ(kick−push)、キューイングなど、より高級なマルチメッセージ交換も含まれる。さらに、この種の通信は、分散システム(例えば、ウェブサービス)のためのコントラクト中の、クライアントとサービスの双方によって決定される様々な要件および機能によって支配される。
コントラクトは、サービス(またはクライアント)の挙動の可視的な側面の表現である。コントラクトは、マシン可読言語および人間の言語を混合したものによって表される。マシン可読言語を用いると、明らかに精度を高めることが可能であること以外に、部分的なサービス実装の構築、サービス配信の自動化、交換されたメッセージの監査/妥当性検査、サービスの管理、および多くの他のネットワークに関係する機能を可能とするツールを作成できる。しかし、マシン可読言語の表現力の限界のため、主としてメッセージおよびメッセージ交換パターンの意味論を記述するために、人間の言語は、コントラクトの重要な構成要素のままである。
ネットワークプロトコル記述言語(例えば、WSDL)は、共通または標準の言語でコントラクト(例えば、ウェブサービスコントラクト)を記述するための全体のラッパー(wrapper)または仕様を提供する。このような仕様を用いることにより、開発者および開発者ツールはコントラクトを作成しかつ解釈することが容易になる。そのネットワークプロトコル記述言語(以下、「NPDL」と呼ぶ)は、豊富なツーリングスイート(suites)を有しており、それがよく使用される主な理由である。
ウェブサービスの出現前の数年にわたり、様々なベンダから相当数の分散アプリケーションが、レガシーコンポーネントベースのアーキテクチャを用いて記述されている(例えば、COM(Component Object Model)、DCOM(Distributed Component Object Model)、CORBA(Common Object Request Broker Architecture)。しかし、標準ベースのウェブサービスの出現および進歩によって、これらのレガシーコンポーネントからビジネスロジックをウェブサービスとして公開することに関心が高まっている。実例として、その後の手法に関係なく、通常、以下のインターフェースをサポートするものなどアプリケーションコンポーネントを得ることを目的としている。
Figure 0005259924
そのコンポーネント定義から作成された、2つのオペレーションを有する対応するウェブサービスレイヤを以下のWSDLフラグメントで示す。
Figure 0005259924
現在までに、ウェブサービス環境内でレガシーコンポーネントを変換しもしくは使用するために従われている主なパターンまたは手法は、2つあるだけである。1つの手法は、マイグレーションまたは変更(modification)であり、それには、開発者がウェブサービスサポートを追加するようにコンポーネントのソースコードを変更する必要がある。アプリケーションがコンパイルされ実行されると、アプリケーションは、適切なウェブサービスサポートを開始するが、なお、従来のクライアントにその基礎となるアプリケーションへの接続を可能にする。
他の手法は、静的なラッピングサービス(wrapping service)を作成するツーリング/メタデータ方式手法である。その手法は、コンポーネントのソースコード変更を要求するのではなく、コンポーネントに対する既存の登録されたメタデータを調べるためにより外的な手法を使用し、コンポーネントが提供すべきサービスを決定する。それは、その基礎となる未変更コンポーネントに対して外部のものではあるが、少なくとも初期にはその基礎となる未変更コンポーネントと整合性のある静的なウェブサービスラッパーを作成する。
上記の変更する手法および静的手法は、ウェブサービス環境中でレガシーコンポーネントのビジネスロジックへのアクセスを可能にする。しかしながら、その両方の手法に関連するいくつかの欠点および問題がある。例えば、ビジネスロジックの変更を望まない場合であっても、変更する手法はソースコード変更を必要とするので、それは、簡単な管理手続きというよりもむしろ開発業務となる。したがって、このような業務は、典型的な管理者の役割の範囲を超えており、さらなる人材能力が必要である。さらに、ウェブサービスを可能にするため開発されたものを変更することは、元のコーディング環境を用いては対応できない可能性がある。例えば、もはやサポートされていないレガシー言語を用いて記述されているコンポーネントを変更する場合、そのコンポーネントを、まず現在の言語に移植する必要がある。したがって、当初あるメソッドに属性を追加するように見える変更は、実際には、異なる言語、ランタイム、および開発環境へのマイグレーションとなる。
静的なツーリング手法では、その基礎となるコンポーネントが変更されたとき、または新しいバージョンが配信されたときに問題が起こる。このような場合、サービスが再度生成されるまで、その変更がラッピングサービスに自動的に反映されることはない。さらに、ウェブサービスオペレーションの場合、サービスとその基礎となるコンポーネントの間に明示的な依存性がある。したがって、コンポーネントとウェブサービスのライフタイムが確実に同期化されているように注意する必要がある(すなわち、ラッピングサービスはコンポーネントがアクティブであることを必要とし、コンポーネントはラッパーがアクティブであることを必要とする)。さらに、環境およびラッパーの外的な性質に応じて、通常、追加のコンポーネントが配信され管理される。言い換えると、コンポーネントを他のマシンに移動する場合、ラッパーコンポーネントも識別し、それに応じて移動する必要がある。少なくとも前述の理由のため、開発者がその基礎となるコンポーネントのソースコードを変更する必要なしに、コンポーネントの変更もしくはバージョン化、ならびにサービスとその基礎となるコンポーネントとの間の明示的な依存性をサポートすることを可能にする、レガシーコンポーネントに対するウェブサービスおよびビジネスロジックを提供することが求められている。
ウェブサービス環境中において、レガシーコンポーネントのためのサービスおよびビジネスロジックを提供するシステムに関する上述の欠陥および欠点は、本発明の例示の諸実施形態によって克服される。例えば、本発明は、レガシーアプリケーションコンポーネントの初期化中に、管理イベントが動的ウェブサービスを生成可能にすることによって、ウェブサービス環境内で通信するようには開発されていないレガシーアプリケーションコンポーネントに対して、動的ウェブサービスを生成する。
例示の諸実施形態は、アプリケーションを初期化するための要求を受信する。アプリケーションは、ウェブサービスアプリケーションと通信するようには開発されていない1つまたは複数のレガシーコンポーネントを含む。初期化されると、1つまたは複数のレガシーコンポーネントに対する動的ウェブサービスをアプリケーションの初期化後に生成するように示している管理コンフィギュレーション設定が識別される。その管理コンフィギュレーション設定に基づき、1つまたは複数のレガシーコンポーネントと通信するためのインターフェースを記述するメタデータがアクセスされる。次いで、メタデータが使用されて、変換(translation)プロセスを介して、1つまたは複数のレガシーコンポーネントとウェブサービスクライアントを通信可能にするインターフェース記述と整合性のある動的ウェブサービスを、自動的に生成することができる。
本発明の追加の機能および利点は、以下の説明において述べられている。その説明から部分的には自明のものであり、また本発明の実施によって理解することができる。本発明の機能および利点は、添付の特許請求の範囲で特に示された手段および組合せにより実現され会得することができる。本発明のそれらのおよび他の機能は、以下の説明および添付の特許請求の範囲から十分明白になろうが、あるいは後に述べる本発明の実施例によって理解することも可能である。
本発明の上記のおよび他の利点および機能を会得できる方法を記述するために、上記で簡単に述べた本発明のより詳細な説明を、添付図面で示される本発明の特有の諸実施形態を参照しながら示すものとする。それらの図面は、本発明の典型的な諸実施形態を示しているに過ぎず、したがって、その範囲を限定するものと見なすべきではないことを理解されたい。その上で本発明を、添付図面を用いて更なる特定性および詳細さと共に記述し説明する。
本発明は、ウェブサービス環境中で通信するように開発されていないレガシーアプリケーションコンポーネントのために、動的ウェブサービスを生成するための方法、システム、およびコンピュータプログラム製品に及ぶ。本発明の諸実施形態は、様々なコンピュータハードウェアコンポーネントまたはモジュールを含む特定目的または汎用コンピュータを含むことができる。以下、これをより詳細に論ずる。
本発明は、レガシーアプリケーションコンポーネントの初期化中に、管理イベントが、動的ウェブサービスの生成をトリガまたは生じさせることのできる機構を提供する。他のタイプの静的なツーリング手法と同様に、本明細書でサポートする動的手法は、レガシーコンポーネントと通信するためのインターフェースを記述する利用可能なメタデータを使用する。ウェブサービスを、一時的にまたは機会を見てツールを作成することにより生成および示すのではなく、例示の諸実施形態は、アプリケーションを初期化する標準部分としてサポートするインフラストラクチャによってウェブサービスを生成する。アプリケーションを停止させると、それに対応する動的ウェブサービスが停止され、かつその動的ウェブサービスを生成するために使用されたウェブサービス記述を削除する終了シーケンスが提供される。したがって、アプリケーションが起動されるごとに、利用可能なメタデータが照会される必要があり、整合性のあるサービスが直ちに(on−the−fly)構築されることになる。
ウェブサービスを生成するこの動的手法は、従来技術のシステムに対していくつかの利点を有する。例えば、元のコンポーネントに対して変更がないので、動的手法によって管理的なオペレーションによってウェブサービスが可能になる。この管理的オペレーションは、アプリケーショが起動されるとウェブサービスを使用可能にする簡単なコンフィグレーションユーティリティでよい。ウェブサービスをコンフィギュレーション設定に基づいて生成できるようにすることにより、管理者は、より高度の開発者の技術能力を必要とすることなく、動的ウェブサービスの作成が可能になる。さらに、コードレベルのマイグレーションに取り組む必要がないので、レガシーコンポーネントをサポートするインフラストラクチャは、それに対応するレガシー言語のままとすることができる。
さらに、例示の諸実施形態によって述べられた動的手法は、静的なツーリング手法に対して以下の利点を有する。まず、その基礎となるコンポーネントが変更された場合または新しいバージョンが開発された場合とは無関係に、コンポーネントの定義と整合性のあるウェブサービスが常に作成される。したがって、ウェブサービスと同期しないコンポーネントが動作するスコープ(scope)はもはやない。さらに、動的ウェブサービスの起動(および生成)が、いまや、コンポーネントの起動の一部分となっているので、容易に、サービスのライフタイムをレガシーコンポーネントのライフタイムと緊密に結合することができる。他の利点は、配信し管理すべき追加のラッパーコンポーネントがないことである。それは、以下により詳細に述べるように、アプリケーションが動作していないときサービスを示すものは何もないということによる。したがって、動的ウェブサービスは要求に応じて生成され、常に配備されていることを保証することができる。言い換えると、マシン間における転送の際に、レガシーコンポーネントと共にウェブサービスコンポーネントを移動させる必要がない。
図1は、上述の様々な例示の実施形態を示す。図1に示すように、ウェブサービスクライアント145とレガシークライアント105を共にサポートする分散システム100があり、それにより、サービス110指向のアプリケーション125にアクセスすることができる。より具体的には、サービス110は、レガシーコンポーネント135を含むアプリケーション125を備える。例示の実施形態により、アプリケーション125を起動すると動的ウェブサービス175を生成すべきであることを示す管理コンフィギュレーション設定155を、管理者(図示せず)は設定することができる。したがって、アプリケーション125が起動されると、管理コンフィギュレーション設定155に基づいて(またおそらく、アプリケーション特有のコンフィギュレーションファイルから得られた他のコンフィギュレーションにしたがって)、ウェブサービスイニシャライザ180は、カタログデータベース165のメタデータ160にアクセスする。例示の実施形態は、アプリケーション125(および対応する動的ウェブサービス175)の初期化をいくつかの方法により実施できることに留意されたい。例えば、アプリケーション125の初期化要求は、管理者ユーザインターフェースからの入力を介して受信することができる。他の例示の実施形態は、アプリケーション125によって与えられるサービスへのアクセスを求める要求140(または他の同種の要求)を受信すると、アプリケーション125を自動的に初期化するものである。アプリケーション125を初期化する他の周知の方法も本発明に利用可能であることは当然である。したがって、アプリケーション125を初期化するためのどんな特定の方法またはプロセスも、説明のためのものに過ぎず、明示的に特許請求されない限り、本発明の範囲を制限しあるいはその他の形で狭くすることを意味するものではない。
アプリケーション125がどのようにして初期化されるかに関係なく、前に述べたように、初期化されると、コンポーネントインターフェースを記述するメタデータ160がアクセスされる。そのメタデータ160は、動的ウェブサービス175がどのようにレガシーコンポーネント135と通信するかに関する情報である。言い換えると、メタデータ160は、特にレガシーコンポーネント135に対してどのコール115が必要か、レガシーコンポーネント135にどのパラメータ115を渡すべきか、パラメータ115をどんな順序で渡すべきか、並びに、例えば戻り値120をレガシーコンポーネント135から受信するかどうかを示すメッセージ交換パターンのうちの1つまたは複数のものを示す。すべてのコールがパラメータを含むものではないことに留意されたい。例えば、FormatAllAvailableDisks()のオペレーション、および他のコールはパラメータを何も必要としない。したがって、メタデータ160は、行われるべきコールのタイプに応じて、当然、レガシーコンポーネント135に渡すパラメータ115に対する詳細を持っていることも持っていないこともある。
いずれにせよ、メタデータ160にアクセスすると、ウェブサービスイニシャライザ180は、ウェブサービス記述150またはコントラクト(例えば、WSDL文書)を生成することができる。さらに、ウェブサービスイニシャライザ180は、ウェブサービス記述150を使用してランタイム中に動的ウェブサービス175を起動する。さらに、ウェブサービス記述150を、それと整合性のあるウェブサービスクライアント145を作成するために使用する必要のある場合もある。生成したウェブサービス記述150が動的ウェブサービス175を作成するために使用されているが、このようなイベントは本発明に重要なものではないことに留意されたい。言い換えると、メタデータ160にアクセスすると、ウェブサービスイニシャライザ180は、ウェブサービス記述150を使用せずに、自動的に、動的ウェブサービス175を生成することができる。したがって、動的ウェブサービス175を生成するためにウェブサービス記述150を使用することは、説明のために過ぎず、明示的に特許請求されない限り、本発明の範囲を制限しあるいはその他の形で狭くすることを意味するものではない。
動的ウェブサービス175が作成され、レガシーコンポーネント135がアクティブになった後、ウェブサービスクライアント145は、レガシーコンポーネント135によって提供されるサービスへのアクセスを求める要求140を出すことができる。その要求140は、レガシーコンポーネント135によって提供されるサービスを要求するためのオペレーション、および/または、もしあれば、レガシーコンポーネント135が必要とするパラメータ115などを含むことができる。要求140を受信すると、その要求に含まれるオペレーションに基づいて、動的ウェブサービス175はその要求140の内容を調べ、レガシーコンポーネント135に対して、(もしあれば)適切なパラメータを有する適切なコール115を行う。言い換えると、動的ウェブサービス175は、レガシーコンポーネント135と通信するために、共通のウェブサービス要求メッセージ140(例えば、XML文書)と、適切なコールおよび、もしあれば、要求されたパラメータ115との間で変換器(translator)として働く。
前に述べたように、適切なコールおよび、もしあれば、要求されたパラメータ115に加えて、動的ウェブサービス175は、レガシーコンポーネント135に対する適切なメッセージ交換パターンを知るように構成すべきである。その結果、戻り値120を要求された場合、動的ウェブサービス175は、このような戻り(return)を予測する。次いで、この戻り値120は、動的ウェブサービス175によって生成される適切なウェブサービス応答130内にフォーマット化することができる。この実施例に対するメッセージ交換パターンは、要求/応答型であるが、他のメッセージ交換パターンもまた、本発明に利用可能であることに留意されたい。したがって、本明細書で記載されるどんな特定のタイプのメッセージ交換パターンの使用も説明のために過ぎず、明示的に特許請求されない限り、本発明の範囲を制限しあるいはその他の形で狭くすることを意味するものではない。
他の例示の実施形態は、アプリケーション125の終了シーケンスのものである。レガシーアプリケーション125が遮断または停止されると、例示の実施形態は、動的ウェブサービス175を終了させること、および、例えば、それをリサイクルビン170に送信することによりウェブサービス記述150を削除することを含む。したがって、ウェブサービス記述150が残ることはなく、かつ/または再使用されないので、レガシーコンポーネント135が変更された場合、または更新されたバージョンが提供された場合に不整合となることはない。
本発明はまた、レガシークライアント105もサポートすることに留意されたい。したがって、レガシークライアント105は、もしあれば、適切なパラメータ115を有する適切なコールを直接レガシーアプリケーション125に行うことができる。戻り値120(もしあれば)はまた、レガシーアプリケーション125からレガシークライアント105に直接送達することもできる。
本発明はまた、機能的なステップおよび/または非機能的な行為(acts)を含む方法によって記述することができる。以下に示すのは、本発明の実行において実施できる諸ステップおよび/または行為の記述である。通常、機能的な諸ステップは、達成された結果の点から本発明を記述し、一方、非機能的な行為は、特定の結果を達成するためのより特定のアクションを記述する。機能的な諸ステップおよび/または非機能的な行為は、特定の順序で記述されまたは特許請求され得るが、本発明は、諸ステップおよび/または行為の特定の順序付けまたは組合せに必ずしも限定されない。さらに、特許請求の範囲の列挙において、また図2に対するフロー図の以下の説明において、諸ステップおよび/または行為は、このような用語の望ましい特定の使用を示すように使用するものとする。
図2は、本発明の様々な例示の実施形態に対する流れ図を示す。図2の以下の説明は、図1の対応する要素を時々参照する。その図から特有の要素を参照することができるが、このような要素は、説明のために使用されるに過ぎず、明示的に特許請求されない限り、本発明の範囲を制限しあるいはその他の形で狭くすることを意味するものではない。
図2は、ウェブサービス環境内で通信するように開発され、設計され、またはコード化されていないレガシーアプリケーションコンポーネントのために動的ウェブサービスを生成する方法200に対するフロー図を示す。それらの実施形態により、管理イベントは、レガシーアプリケーションコンポーネントの初期化中に、動的ウェブサービスの生成をトリガすることができる。方法200は、アプリケーションを初期化するための要求を受信する行為205を含む。例えば、サービス110は、アプリケーション125を初期化するための要求を受信することができる。アプリケーション125は、ウェブサービスアプリケーション、例えば、ウェブサービスクライアント145と通信するようには開発されていないレガシーコンポーネント135を含む。そのアプリケーションを初期化する要求は、ウェブサービスクライアント145からのウェブサービス要求メッセージ140に応答して、またはサービス110コンピューティング装置におけるユーザインターフェースからの入力に応答して受信することができる。
方法200はまた、動的ウェブサービスを自動的に生成するためのステップ225を含む。ステップ225は、管理コンフィギュレーション設定が、レガシーコンポーネントに対する動的ウェブサービスを生成するように示していることを識別する行為210を含む。例えば、ウェブサービスイニシャライザ180は、アプリケーション125が初期化されるとレガシーコンポーネント135に対する動的ウェブサービス175が生成されることを確認するために、管理コンフィギュレーション設定155にアクセスすることができる。
管理コンフィギュレーション設定に基づき、ステップ225はさらに、レガシーコンポーネントと通信するためのインターフェースを記述するメタデータにアクセスする行為215を含む。例えば、管理コンフィギュレーション設定155に基づき、ウェブサービスイニシャライザ180は、カタログデータベース165から、コンポーネントインターフェースを記述するメタデータ160にアクセスすることができる。メタデータ160は、動的ウェブサービス175がレガシーコンポーネント135と通信するために使用する適切なコール115、パラメータ115、パラメータ115順序付け(ordering)などを記述するべきである。コンポーネントインターフェースの記述160はまた、レガシーコンポーネント135に対するメッセージ交換パターンなどの情報を含むことができる。
最後に、ステップ225は、動的ウェブサービスを自動的に作成するためにメタデータを使用する行為220を含む。言い換えると、ウェブサービスイニシャライザ180は、動的ウェブサービス175を作成するために使用可能なウェブサービス記述150を作成することができる。このような一実施形態におけるウェブサービス記述は、WSDL文書とすることができる。
他の例示の実施形態は、ウェブサービスクライアント145からウェブサービス要求メッセージ140を受信するものである。ウェブサービス要求メッセージ140は、レガシーコンポーネント135によって提供されるサービスを要求するための様々なパラメータおよびオペレーションを含むことができる。ウェブサービス要求メッセージ140内の情報を用いて、動的ウェブサービス175は、レガシーコンポーネント135にレガシーコール115を行い、もしあれば、適切なパラメータ115を、さらなる処理のためにレガシーコンポーネント135に渡すことができる。
さらに他の例示の実施形態は、インターフェース記述160に基づき、レガシーコンポーネント135に対するメッセージ交換パターンを識別することが可能であり、その場合、ウェブサービスクライアント145に対する応答130が必要となる。その後、動的ウェブサービス175は、レガシーコンポーネント135から戻り値120を受信することができ、その場合、その動的ウェブサービス175は、戻り値120をウェブサービス応答メッセージ130中にフォーマット化する。したがって、次いでさらに処理するために、応答メッセージ130をウェブサービスクライアント145に送信することができる。通常、要求140および応答130は、XML文書であることに留意されたい。
さらに、他の例示の実施形態は、アプリケーション125を停止するための要求を受信する。アプリケーション125を停止するための要求に基づいて、動的ウェブサービス175も自動的に停止する。さらに、アプリケーション125が次に初期化されると新しい動的ウェブサービス175および新しいウェブサービス記述150が生成されるように、ウェブサービス記述150は削除される。
本発明の範囲に含まれる諸実施形態はまた、その上に記憶されたコンピュータ実行可能命令またはデータ構造を搬送しまたは有するコンピュータ読取り可能媒体を含む。このようなコンピュータ読取り可能媒体は、汎用または特定目的コンピュータによってアクセスできる任意の利用可能な媒体とすることができる。例として、それだけに限らないが、このようなコンピュータ読取り可能媒体は、RAM、ROM、EEPROM、CD−ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶装置、あるいはコンピュータ実行可能命令またはデータ構造の形式で所望のプログラムコード手段を搬送または記憶するのに使用可能な、また汎用もしくは特殊目的コンピュータによってアクセス可能な他の任意の媒体を含むことができる。情報がネットワークまたは他の通信接続(有線、無線、または有線もしくは無線の組合せ)を介して、コンピュータに転送もしくは提供された場合、コンピュータは、当然にその接続をコンピュータ読取り可能媒体として見る。したがって、このような接続もコンピュータ読取り可能媒体と呼ばれるのは当然である。上記の組合せもまた、コンピュータ読取り可能媒体の範囲に含まれるべきである。コンピュータ実行可能命令は、例えば、汎用コンピュータ、特定目的コンピュータ、または特定目的処理装置がある種の機能もしくは一群の機能を実施できるようにする命令およびデータを含む。
図3および以下の議論は、本発明を実施できる適切なコンピューティング環境の簡単で一般的な説明を提供することを意図している。必ずしも必要なことではないが、本発明は、ネットワーク環境中のコンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的なコンテキストで記述される。一般に、プログラムモジュールは、特定のタスクを行う、あるいは特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。コンピュータ実行可能命令、関連するデータ構造、およびプログラムモジュールは、本明細書に開示の方法の諸ステップを実行するためのプログラムコード手段の諸実施例を表す。このような実行可能命令または関連のデータ構造の特定のシーケンスは、このような諸ステップで記述される機能を実施するための対応する行為の実施例を表す。
当業者であれば、本発明は、パーソナルコンピュータ、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースもしくはプログラム可能な家庭用電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどを含む多くのタイプのコンピュータシステムコンフィギュレーションを有するネットワークコンピューティング環境中で実施できることを理解されよう。本発明はまた、通信ネットワークを介して(有線リンク、無線リンク、または有線もしくは無線リンクの組合せによって)リンクされたローカルおよび遠隔の処理装置により、タスクが行われる分散コンピューティング環境中で実施することもできる。分散コンピューティング環境では、プログラムモジュールは、ローカルと遠隔の両方のメモリ記憶装置中に配置することができる。
図3を参照すると、本発明を実施するための例示的なシステムは、処理装置321、システムメモリ322、およびシステムメモリ322を含む様々なシステムコンポーネントを処理装置321に結合するシステムバス323を含む従来のコンピュータ320の形式の汎用コンピューティング装置を含む。システムバス323は、メモリバスもしくはメモリ制御装置、周辺バス、および任意の様々なバスアーキテクチャを用いるローカルバスを含む任意のいくつかのタイプのバス構造とすることができる。システムメモリは、ROM324、およびRAM325を含む。起動中などに、コンピュータ320内のエレメント間で情報を転送できるようにする基本ルーチンを含むBIOS(基本入出力システム)326をROM324に記憶することができる。
コンピュータ320はまた、磁気ハードディスク339から読み取りおよび書き込むための磁気ハードディスクドライブ327と、取外し可能磁気ディスク329から読み取りまたは書き込むための磁気ディスクドライブ328と、CD−ROMもしくは他の光媒体などの取外し可能光ディスク331から読み取りまたは書き込むための光ディスクドライブ330とを含むことができる。磁気ハードディスクドライブ327、磁気ディスクドライブ328、および光ディスクドライブ330は、ハードディスクドライブインターフェース332、磁気ディスクドライブインターフェース333、および光ドライブインターフェース334によって、それぞれ、システムバス323に接続されている。ドライブおよびそれに関連するコンピュータ読取り可能媒体は、コンピュータ実行可能命令、データ構造、プログラムモジュール、およびコンピュータ320に対する他のデータの不揮発性ストレージを提供する。本明細書に記載の例示の実施形態は、磁気ハードディスク339、取外し可能磁気ディスク329、および取外し可能光ディスク331を使用するが、磁気カセット、フラッシュメモリカード、DVD、ベルヌーイカートリッジ、RAM、ROMなどを含む、データを記憶する他のタイプのコンピュータ読取り可能媒体を使用することもできる。
オペレーティングシステム335、1つまたは複数のアプリケーションプログラム336、他のプログラムモジュール337、およびプログラムデータ338を含む1つまたは複数のプログラムモジュールを含むプログラムコード手段は、ハードディスク339、磁気ディスク329、光ディスク331、ROM324もしくはRAM325上に記憶することができる。ユーザは、キーボード340、ポインティング装置342、またはマイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどの他の入力装置(図示せず)を介してコンピュータ320にコマンドおよび情報を入力することができる。これらのおよび他の入力装置は、システムバス323に結合されたシリアルポートインターフェース346を介して処理装置321に接続されることが多い。あるいは、入力装置は、パラレルポート、ゲームポート、またはUSBなどの他のインターフェースによって接続することもできる。モニタ347または他の表示装置はまた、ビデオアダプタ348などのインターフェースを介してシステムバス323に接続されている。モニタに加えて、パーソナルコンピュータは、通常、スピーカおよびプリンタなどの他の周辺出力装置(図示せず)を含む。
コンピュータ320は、遠隔コンピュータ349aおよび349bなどの1つまたは複数の遠隔コンピュータへの論理接続を用いてネットワーク化環境中において動作することができる。遠隔コンピュータ349aおよび349bは、それぞれ別のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピア装置もしくは他の共通のネットワークノードとすることができ、また図3では、メモリ記憶装置350a、350bおよびそれに関連するアプリケーションプログラム336a、336bだけが示されているが、通常、コンピュータ320に関する上記要素の多くまたはすべてを含むことができる。図3に示された論理接続は、限定するのではなく、例としてここに提示したLAN351、およびWAN352を含む。このようなネットワーク化環境は、オフィス規模、または企業規模のコンピュータネットワーク、イントラネット、およびインターネットで普通のものである。
LANネットワーク化環境で使用した場合、コンピュータ320は、ネットワークインターフェースまたはアダプタ353を介してローカルネットワーク351に接続される。WANネットワーク化環境で使用した場合、コンピュータ320は、モデム354、無線リンク、またはインターネットなどの広域ネットワーク352を介して通信を確立する他の手段を含むことができる。モデム354は、内蔵または外付けのものとすることができるが、シリアルポートインターフェース346を介してシステムバス323に接続されている。ネットワーク化環境では、コンピュータ320に関して示したプログラムモジュール、またはその部分を、遠隔のメモリ記憶装置に記憶することができる。図示されたネットワーク接続は例示のものであり、広域ネットワーク352を介して通信を確立する他の手段を使用できることも理解されたい。
本発明は、その趣旨または本質的な特性から逸脱することなく、他の特定の形態で実施することもできる。上記の諸実施形態は、すべての点において、説明のためだけのものであり限定するものではないと見なすべきである。したがって、本発明の範囲は、上記の説明によるのではなく、添付の特許請求の範囲によって示される。特許請求の範囲の等価的な意味および範囲に含まれる変更はすべて、その範囲内に含まれるものとする
本発明の例示的な諸実施形態による動的ウェブサービスを作成するように構成された分散システムを示す図である。 本発明の例示的な諸実施形態によるレガシーアプリケーションコンポーネントのために動的ウェブサービスを生成する方法のフロー図である。 本発明のための適切なオペレーティング環境を提供する例示のシステムを示す図である。
符号の説明
110 サービス
115 コールまたはパラメータ
125 アプリケーション
160 メタデータ
170 リサイクルビン

Claims (18)

  1. 分散システムにおけるサービスコンピューティング装置において、ウェブサービス環境内で通信するようには開発されていないレガシーアプリケーションコンポーネントのために、前記レガシーアプリケーションコンポーネントの初期化中に管理イベントが動的ウェブサービスを生成できるようにすることによって、前記動的ウェブサービスを生成する方法において、
    コンピュータにおいて、前記ウェブサービス環境のウェブサービスクライアントと通信するように開発されていない、前記レガシーアプリケーションコンポーネントの1つ以上のレガシーコンポーネントを含むアプリケーションを初期化するための要求を受信するステップと、
    前記1つ以上のレガシーコンポーネントを初期化する前記アプリケーションの前記初期化に基づいて、管理コンフィギュレーション設定が、前記アプリケーションが初期化されると前記1つ以上のレガシーコンポーネントに対する前記動的ウェブサービスが生成されることになると示していること、を識別するステップと、
    前記管理コンフィギュレーション設定に基づいて、前記1つ以上のレガシーコンポーネントと通信するためのインターフェースを記述するメタデータにアクセスするステップと、
    前記メタデータを使用して、変換プロセスを介して、ウェブサービスクライアントが前記1つ以上のレガシーコンポーネントと通信できるようにする前記インターフェース記述と整合性のある前記動的ウェブサービスを自動的に生成するステップと、
    前記1つ以上のレガシーコンポーネントによって提供されるサービスを要求するための1つ以上のオペレーションを含むウェブサービス要求メッセージを前記ウェブサービスクライアントから受信するステップと、
    前記1つ以上のオペレーションに基づいて、前記動的ウェブサービスを使用して、前記1つ以上のレガシーコンポーネントへ1つ以上のレガシーコールを行うステップと、
    前記アプリケーションが終了するときに、自動的に前記動的ウェブサービスを終了するステップであって、前記アプリケーションが終了した後に新たに実行される、後に続く初期化を行うと、前記動的ウェブサービスは、前記後に続く初期化の時点で存在している前記メタデータに基づいて、再生成され、前記アプリケーションの前記最初の初期化の後に起こった、前記1つ以上のレガシーコンポーネントと通信するための前記インターフェースへのいかなる変更も、前記再生成された動的ウェブサービスの中で反映されることになる、終了するステップと
    を備えることを特徴とする方法。
  2. 前記ウェブサービス要求メッセージは1つ以上のパラメータをさらに含んでおり、前記方法は、
    前記1つ以上のレガシーコンポーネントのうちの1つまたは複数に、さらなる処理のために、前記1つ以上のパラメータを渡すステップをさらに備えることを特徴とする請求項1に記載の方法。
  3. 前記インターフェース記述に基づいて、前記1つ以上のレガシーコンポーネントに対する前記メッセージ交換パターンが前記ウェブサービスクライアントへの応答を必要としていることを識別するステップと、
    前記1つ以上のレガシーコンポーネントから、1つ以上の戻り値を受信するステップと、
    前記動的ウェブサービスを用いて、前記1つ以上の戻り値をウェブサービス応答メッセージ中にフォーマット化するステップと、
    前記ウェブサービス応答メッセージを、さらなる処理のために前記ウェブサービスクライアントに送信するステップと
    をさらに含むことを特徴とする請求項1に記載の方法。
  4. 前記ウェブサービス要求および前記ウェブサービス応答メッセージは、XML文書であることを特徴とする請求項3に記載の方法。
  5. 前記インターフェース記述は、コールオペレーション、パラメータ、パラメータ順序付け、または、前記1つもしくは複数のレガシーコンポーネントと通信するためのメッセージ交換パターンのうちの1つまたは複数を記述することを特徴とする請求項1に記載の方法。
  6. 前記メタデータは、最初にウェブサービス記述を生成するために使用され、次いで前記動的ウェブサービスを生成するために使用されることを特徴とする請求項1に記載の方法。
  7. 前記ウェブサービス記述は、WSDL文書であることを特徴とする請求項6に記載の方法。
  8. 前記アプリケーションの終了のときに、前記アプリケーションの前記引き続く初期化のあとで、新しいウェブサービス記述が生成されることになるように、前記ウェブサービス記述を削除するステップ
    をさらに備えることを特徴とする請求項6に記載の方法。
  9. 前記アプリケーションを初期化するための前記要求は、前記ウェブサービスクライアントからの前記ウェブサービス要求メッセージに応答して受信されることを特徴とする請求項1に記載の方法。
  10. 前記アプリケーションを初期化するための前記要求は、前記コンピュータにおけるユーザインターフェースからの入力に応答して受信されることを特徴とする請求項1に記載の方法。
  11. 分散システムにおけるサービスコンピューティング装置において、ウェブサービス環境内で通信するようには開発されていないレガシーアプリケーションコンポーネントのために、前記レガシーアプリケーションコンポーネントの初期化中に管理イベントが動的ウェブサービスを生成できるようにすることによって、前記動的ウェブサービスを生成する方法において、
    コンピュータにおいて、前記ウェブサービス環境のウェブサービスクライアントと通信するように開発されていない1つ以上のレガシーコンポーネントを含むアプリケーションを初期化するための要求を受信するステップと、
    前記1つ以上のレガシーコンポーネントを初期化する前記アプリケーションの前記初期化に基づいて、前記1つ以上のレガシーコンポーネントと通信するためのインターフェースを記述するメタデータと整合性のある動的ウェブサービスを自動的に生成するステップであって、前記動的ウェブサービスは、前記ウェブサービス環境の前記ウェブサービスクライアントが変換プロセスを介して前記1つ以上のレガシーコンポーネントと通信できるようにするために使用され、前記メタデータは、前記アプリケーションの前記初期化のときにアクセスされる前記管理イベントの管理コンフィグレーション設定によって与えられる、生成するステップと、
    前記1つ以上のレガシーコンポーネントによって提供されるサービスを要求するための1つ以上のオペレーションを含むウェブサービス要求メッセージを前記ウェブサービスクライアントから受信するステップと、
    前記1つ以上のオペレーションに基づいて、前記動的ウェブサービスを使用して、前記1つ以上のレガシーコンポーネントへ1つ以上のレガシーコールを行うステップと、
    前記アプリケーションが終了するときに、自動的に前記動的ウェブサービスを終了するステップであって、前記アプリケーションが終了した後に新たに実行される、後に続く初期化を行うと、前記動的ウェブサービスは、前記後に続く初期化の時点で存在している前記メタデータと一致して、再生成され、前記アプリケーションの前記最初の初期化の後に起こった、前記1つ以上のレガシーコンポーネントと通信するための前記インターフェース記述へのいかなる変更も、前記再生成された動的ウェブサービスの中で反映されることになる、終了するステップと
    を備えることを特徴とする方法。
  12. 前記メタデータは、最初はウェブサービス記述を生成するために使用され、次いで前記動的ウェブサービスを生成するために使用されることを特徴とする請求項11に記載の方法。
  13. 前記アプリケーションの終了のときに、前記アプリケーションの前記引き続く初期化のあとで、新しいウェブサービス記述が生成されることになるように、前記ウェブサービス記述を削除するステップ
    をさらに備えることを特徴とする請求項12に記載の方法。
  14. 前記アプリケーションを初期化するための前記要求は、前記ウェブサービスクライアントからの前記ウェブサービス要求メッセージに応答して受信されることを特徴とする請求項11に記載の方法。
  15. コンピュータ実行可能命令をストアした、コンピュータ読取り可能記憶媒体において、プロセッサによって実行されたときに、分散コンピューティングシステムに、
    コンピュータにおいて、ウェブサービスアクライアントと通信するように開発されていない1つ以上のレガシーコンポーネントを含むアプリケーションを初期化するための要求を受信することと、
    前記1つ以上のレガシーコンポーネントを初期化する前記アプリケーションの前記初期化に基づいて、管理コンフィギュレーション設定が、前記アプリケーションが初期化されると前記1つ以上のレガシーコンポーネントに対する動的ウェブサービスが生成されることになると示していること、を識別することと、
    前記管理コンフィギュレーション設定に基づいて、前記1つ以上のレガシーコンポーネントと通信するためのインターフェースを記述するメタデータにアクセスすることと、
    前記メタデータを使用して、変換プロセスを介して、前記ウェブサービスクライアントが前記1つ以上のレガシーコンポーネントと通信できるようにする前記インターフェース記述と整合性のある前記動的ウェブサービスを自動的に生成することと、
    前記1つ以上のレガシーコンポーネントによって提供されるサービスを要求するための1つ以上のオペレーションを含むウェブサービス要求メッセージを前記ウェブサービスクライアントから受信することと、
    前記1つ以上のオペレーションに基づいて、前記動的ウェブサービスを使用して、前記1つ以上のレガシーコンポーネントへ1つ以上のレガシーコールを行うことと、
    前記アプリケーションが終了するときに、自動的に前記動的ウェブサービスを終了することであって、前記アプリケーションが終了した後に新たに実行される、後に続く初期化を行うと、前記動的ウェブサービスは、前記後に続く初期化の時点で存在している前記メタデータに基づいて、再生成され、前記アプリケーションの前記最初の初期化の後に起こった、前記1つ以上のレガシーコンポーネントと通信するための前記インターフェース記述へのいかなる変更も、前記再生成された動的ウェブサービスの中で反映されることになる、終了することと
    実施させることができるコンピュータ実行可能命令をストアしていることを特徴とするコンピュータ読取り可能記憶媒体。
  16. 前記ウェブサービス要求メッセージは、1つ以上のパラメータをさらに含んでおり、
    前記1つ以上のレガシーコンポーネントのうちの1つ以上に、さらなる処理のため、前記1つ以上のパラメータを渡すこと
    を前記分散コンピューティングシステムに実施させることができるコンピュータ実行可能命令をさらに含むことを特徴とする請求項15に記載のコンピュータ読取り可能記憶媒体。
  17. 前記インターフェース記述に基づいて、前記1つ以上のレガシーコンポーネントに対する前記メッセージ交換パターンが前記ウェブサービスクライアントへの応答を必要としていることを、識別することと、
    前記1つ以上のレガシーコンポーネントから、1つ以上の戻り値を受信することと、
    前記動的ウェブサービスを用いて、前記1つ以上の戻り値をウェブサービス応答メッセージ中にフォーマット化することと、
    前記ウェブサービス応答メッセージを、さらなる処理のために前記ウェブサービスクライアントに送信することと
    を前記分散コンピューティングシステムに実施させることができるコンピュータ実行可能命令をさらに含むことを特徴とする請求項15に記載のコンピュータ読取り可能記憶媒体。
  18. 前記インターフェース記述は、コールオペレーション、パラメータ、または前記1つ以上のレガシーコンポーネントと通信するためのメッセージ交換パターンのうちの1つ以上を記述することを特徴とする請求項15に記載のコンピュータ読取り可能記憶媒体。
JP2006031113A 2005-03-08 2006-02-08 レガシーコンポーネントのための動的サービスの生成 Expired - Fee Related JP5259924B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/075,417 2005-03-08
US11/075,417 US7590988B2 (en) 2005-03-08 2005-03-08 Dynamic service generation for legacy components

Publications (2)

Publication Number Publication Date
JP2006252536A JP2006252536A (ja) 2006-09-21
JP5259924B2 true JP5259924B2 (ja) 2013-08-07

Family

ID=36282650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006031113A Expired - Fee Related JP5259924B2 (ja) 2005-03-08 2006-02-08 レガシーコンポーネントのための動的サービスの生成

Country Status (5)

Country Link
US (1) US7590988B2 (ja)
EP (1) EP1701261A1 (ja)
JP (1) JP5259924B2 (ja)
KR (1) KR20060099392A (ja)
CN (1) CN1832478B (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7593994B2 (en) * 2005-03-08 2009-09-22 Microsoft Corporation Generating a dynamic web service and dynamic service surrogate for legacy application components
CA2527447C (en) 2005-11-18 2015-05-05 Allen Vi Cuong Chan Message oriented construction of web services
US8914770B2 (en) * 2006-01-26 2014-12-16 International Business Machines Corporation Generating compatible partner processes in BPEL
JP4958481B2 (ja) * 2006-06-01 2012-06-20 キヤノン株式会社 Webサービス実行方法及び情報処理装置
US7971183B2 (en) * 2007-02-23 2011-06-28 Accenture Global Services Limited Tool for converting legacy applications to web services
US7971184B2 (en) * 2007-02-23 2011-06-28 Accenture Global Services Limited GUI-based application to web services conversion system
US7865535B2 (en) * 2007-05-18 2011-01-04 International Business Machines Corporation Apparatus, system, and method for a data server-managed web services runtime
US8122444B2 (en) * 2007-08-02 2012-02-21 Accenture Global Services Limited Legacy application decommissioning framework
US8005788B2 (en) * 2008-01-28 2011-08-23 International Business Machines Corporation System and method for legacy system component incremental migration
JP5078726B2 (ja) * 2008-01-29 2012-11-21 株式会社リコー 情報処理装置、サービス制御方法及びサービス制御プログラム
US8112771B2 (en) * 2008-01-30 2012-02-07 Microsoft Corporation Managing component programs within a service application
JP5084537B2 (ja) * 2008-02-05 2012-11-28 三菱電機株式会社 サーバ装置及びプログラム
WO2009132444A1 (en) 2008-04-28 2009-11-05 Sitemasher Corporation Object-oriented system for creating and managing websites and their content
US8060586B2 (en) * 2009-02-03 2011-11-15 Microsoft Corporation Dynamic web service deployment and integration
US8495193B2 (en) * 2010-02-23 2013-07-23 Microsoft Corporation Centralized management tool for remote presentation session server farms
CN101807204B (zh) * 2010-03-05 2012-02-15 武汉大学 一种遥感图像处理Web服务动态生成方法
CN101840334B (zh) * 2010-04-16 2013-04-17 中国电子科技集团公司第二十八研究所 一种软件构件服务化封装方法
CN102262527B (zh) 2010-05-31 2015-12-09 国际商业机器公司 生成网络服务的方法和系统
US9223892B2 (en) 2010-09-30 2015-12-29 Salesforce.Com, Inc. Device abstraction for page generation
US8935360B2 (en) 2010-12-03 2015-01-13 Salesforce.Com, Inc. Techniques for metadata-driven dynamic content serving
US9286037B2 (en) 2010-12-29 2016-03-15 Microsoft Technology Licensing, Llc Platform for distributed applications
CN102622211B (zh) * 2011-01-27 2016-05-25 腾讯科技(深圳)有限公司 一种应用程序开发的方法和装置
US9569274B2 (en) 2012-10-16 2017-02-14 Microsoft Technology Licensing, Llc Distributed application optimization using service groups
CN105404502A (zh) * 2015-10-20 2016-03-16 浪潮软件集团有限公司 一种方便手机app九宫格、列表开发的js组件
US10979516B1 (en) 2020-03-27 2021-04-13 Mastercard International Incorporated Monitoring and managing services in legacy systems using cloud native monitoring and managing tools
WO2022252068A1 (zh) * 2021-05-31 2022-12-08 西门子股份公司 应用程序构建方法、执行方法、计算设备以及存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6049719A (en) * 1994-11-12 2000-04-11 U.S. Philips Corporation Communication system with automatic call diversion or forwarding
JPH11224226A (ja) * 1997-11-21 1999-08-17 Fuji Xerox Co Ltd クライアント・サーバ間のゲートウェイにおけるインタフェース及びクライアント・サーバ間のプロトコルマッピング方法
GB2332288A (en) 1997-12-10 1999-06-16 Northern Telecom Ltd agent enabling technology
JP2000172653A (ja) * 1998-12-03 2000-06-23 Oki Electric Ind Co Ltd 分散システム
US6381737B1 (en) * 1999-04-23 2002-04-30 Sun Microsystems, Inc. Automatic adapter/stub generator
US6792605B1 (en) * 1999-06-10 2004-09-14 Bow Street Software, Inc. Method and apparatus for providing web based services using an XML Runtime model to store state session data
JP2001297067A (ja) * 2000-04-13 2001-10-26 Skill Informations Co Ltd ネットワークサービスシステム
US20020116454A1 (en) 2000-12-21 2002-08-22 William Dyla System and method for providing communication among legacy systems using web objects for legacy functions
US6993585B1 (en) 2000-12-22 2006-01-31 Unisys Corporation Method and system for handling transaction requests from workstations to OLTP enterprise server systems utilizing a common gateway
WO2002065286A2 (en) * 2001-02-12 2002-08-22 Lto Limited Client software enabling a client to run a network based application
US20020152210A1 (en) * 2001-04-03 2002-10-17 Venetica Corporation System for providing access to multiple disparate content repositories with a single consistent interface
CA2348706A1 (en) 2001-05-25 2002-11-25 Ibm Canada Limited-Ibm Canada Limitee Converting user interface source code of a legacy application to web pages
US20030097345A1 (en) 2001-10-18 2003-05-22 Mitch Upton System and method for invoking business functionality for a workflow
US7188163B2 (en) * 2001-11-26 2007-03-06 Sun Microsystems, Inc. Dynamic reconfiguration of applications on a server
US7284039B2 (en) * 2002-12-17 2007-10-16 International Business Machines Corporation Apparatus and method for flexible web service deployment
US20040128345A1 (en) * 2002-12-27 2004-07-01 Robinson Scott H. Dynamic service registry
US7805713B2 (en) 2003-10-27 2010-09-28 Hewlett-Packard Development Company, L.P. Transaction processing architecture
US7266550B2 (en) * 2004-01-29 2007-09-04 Sap Aktiengesellschaft Managing application status information for a computer application
US7593994B2 (en) 2005-03-08 2009-09-22 Microsoft Corporation Generating a dynamic web service and dynamic service surrogate for legacy application components

Also Published As

Publication number Publication date
KR20060099392A (ko) 2006-09-19
EP1701261A1 (en) 2006-09-13
US20060206599A1 (en) 2006-09-14
CN1832478A (zh) 2006-09-13
CN1832478B (zh) 2012-05-02
JP2006252536A (ja) 2006-09-21
US7590988B2 (en) 2009-09-15

Similar Documents

Publication Publication Date Title
JP5259924B2 (ja) レガシーコンポーネントのための動的サービスの生成
US7593994B2 (en) Generating a dynamic web service and dynamic service surrogate for legacy application components
US7546606B2 (en) System and method using a connector architecture for application integration
EP1960899B1 (en) Conforming web services to an updated contract
JP5026415B2 (ja) データセントリックワークフロー
US8181151B2 (en) Modeling and managing heterogeneous applications
US7797400B2 (en) Computer-implemented methods and systems for testing the interoperability of web services
US20030055862A1 (en) Methods, systems, and articles of manufacture for managing systems using operation objects
US20080040418A1 (en) Accessing existing data using a service oriented architecture gateway
WO2003034183A2 (en) System and method using a connector architecture for application integration
KR100370548B1 (ko) 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를제공하는 실시간 미들웨어 장치 및 그 서비스 방법
WO2017166166A1 (en) System and method for providing runtime tracing for web-based client accessing transactional middleware platform using extension interface
Cheng Microsoft Windows Communication Foundation 4.0 Cookbook for Developing SOA Applications
Condie Distributed Computing, Tomorrow's Panacea—an Introduction to Current Technology
Jololian et al. A framework for a meta-semantic language for smart component-adapters
US7926068B2 (en) Printing interface for a computer platform
Huseini et al. Implementation Issue Analysis of Java RMI and CORBA
van Herwijnen et al. Dirac-distributed infrastructure with remote agent control
Salmi et al. Structured performance analysis for component-based systems
CA2551059C (en) Pipeline architecture for use with net-centric application program architectures
Madhoun et al. On the creation of distributed simulation Web-Services in CD++
Bukovics Workflow Services and WCF Integration
AU2002347920A1 (en) Application view component for system integration

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121214

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20130226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130313

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130226

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: 20130402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130425

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160502

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5259924

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees