JP2006164280A - ウェブサービスを作成し、対話するためのインターフェースインフラストラクチャ - Google Patents
ウェブサービスを作成し、対話するためのインターフェースインフラストラクチャ Download PDFInfo
- Publication number
- JP2006164280A JP2006164280A JP2005349475A JP2005349475A JP2006164280A JP 2006164280 A JP2006164280 A JP 2006164280A JP 2005349475 A JP2005349475 A JP 2005349475A JP 2005349475 A JP2005349475 A JP 2005349475A JP 2006164280 A JP2006164280 A JP 2006164280A
- Authority
- JP
- Japan
- Prior art keywords
- namespace
- computer
- readable media
- common
- servicemodel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【解決手段】ウェブサービス名前空間は、様々なアプリケーションの作成を可能にするためのインフラストラクチャに関する。このインフラストラクチャは、様々なスケールおよび複雑さのメッセージベースアプリケーションを構築するための基礎を提供する。このインフラストラクチャまたはフレームワークは、基本的なメッセージング、セキュアメッセージング、信頼性のあるメッセージング、およびトランザクション式メッセージングのためのAPIを提供する。いくつかの実施形態で、関連付けられたAPIが、ユーティリティ、ユーザビリティ、拡張性、およびバージョン性をバランスする仕方で名前空間の階層にファクタ化される。
【選択図】図2
Description
図1に、.NET Frameworkなどのネットワークプラットフォームを実施できるネットワーク環境100を示す。ネットワーク環境100は、代表となるWebサービス102(1)、...、102(N)を含み、これらは、ネットワーク104(例えば、インターネット)を介してまたはプロセス間通信を用いてアクセスできるサービスを提供する。Webサービスは、符号102として包括的に参照されるが、再利用可能であり、通常は、XML、SOAP(Simple Object Access Protocol)、WAP(Wireless Application Protocol)、HTTP(HyperText Transport Protocol)、およびSMTP(Simple Mail Transfer Protocol)などの産業標準Webプロトコルを介してネットワーク104を介してプログラム的に対話するプログラム可能なアプリケーションコンポーネントであるが、リモートプロシージャコール(RPC)またはオブジェクトブローカタイプの技術など、ネットワークを介してWebサービスと対話する他の手段を使用することもできる。Webサービスは、自己記述的とすることができ、しばしば、メッセージのフォーマットおよび順序付けに関して定義される。
図2に、プログラミングフレームワーク132をさらに詳細に示す。共通言語仕様(CLS)レイヤ140は、様々な言語130(1)、130(2)、130(3)、130(4)、...、130(K)で書かれたアプリケーションをサポートする。このようなアプリケーション言語には、Visual Basic、C++、C#、COBOL、Jscript、Perl、Eiffel、Pythonなどが含まれる。共通言語仕様140は、それに従う場合に様々な言語が通信できるようにする機能のサブセットまたは機能に関するルールのサブセットを指定する。例えば、一部の言語は、そうでなければ共通言語ランタイム144によってサポートされ得るある所与の型(例えば、「int*」型)をサポートしない。この場合に、共通言語仕様140は、その型を含まない。他方、すべてまたはほとんどの言語によってサポートされる型(例えば、「int[]」型)は、共通言語仕様140に含まれ、そのため、ライブラリデベロッパはそれを自由に使用することができ、それらの言語が処理できることが確実となる。
図3に、API142と、そのルート名前空間の1つすなわちウェブサービス204を詳細に示す。一実施形態において、名前空間は、名前のストリングがピリオドで連結される階層命名規約(hierachical naming convention)に従って識別される。この命名規約を念頭において、以下では、API142の選択された名前空間の全般的な概要を提供するが、他の命名規約を、同等の効果と共に使用することができよう。
・ コンフィギュレーション(すなわち「System.ServiceModel.Configuration」)、
・ 設計(すなわち「System.ServiceModel.Design」)、
・ 診断(すなわち「System.ServiceModel.Diagnostics」)、および
・ セキュリティ(すなわち「System.ServiceModel.Security」)
さらに、「System.ServiceModel.Security」名前空間内には、次のサブ名前空間がある。
さらに、メッセージングの外のユーティリティを有し、それ以外の機能をサポートする追加の名前空間がある。これには、「System.Security.Authorization」、「System.Runtime.Serialization」、「System.Transactions」、「System.IO.Log」、「System.Text」、および「System.XML」が含まれる。
System.ServiceModelは、Service Modelのすべてをカプセル化するルート名前空間である。具体的には、この名前空間は、Web Serviceメッセージを使用する分散されたメッセージ受け渡しアプリケーションを書くのに利用されるAPIを表す。APIのこのセットが一緒にグループ化されているのは、これが、Service Modelの論理的なコアレイヤを表し、他のService Model名前空間を使用せずにこれらのAPIだけを使用してアプリケーションを書くことが可能であるからである。この名前空間のコアクラスには、次のものが含まれる。
System.ServiceModel.Channelsは、Service Modelトランスポート、信頼性、ならびにChannel FactoriesおよびListener Factoriesのキューイングのためのメイン名前空間である。これらのクラスは、Web Services通信サブシステムの具体的な実装を表す。APIのこのセットは、SOAPメッセージに作用する通信APIの論理的で総合的なレイヤを表すので一緒にグループ化される。この名前空間のコアクラスには、次のものが含まれる。
System.ServiceModel.Configuration名前空間は、Service Modelアプリケーションの永続設定を格納するクラスを含む。これらのAPIは、主にアプリケーションの開発の後にアクセスされるので、一緒にグループ化される。これらのクラスは、Service Modelアプリケーションを書くときにデベロッパによって使用されるのではなく、アプリケーションが書かれた後に使用される。別個の名前空間が、この区別を明瞭にする。この名前空間のコアクラスには、次のものが含まれる。
System.ServiceModel.Design名前空間は、記述の変換を扱う型(ServiceDescriptionおよびChannelDescription)を含む。これらには、コードおよびコンフィグから記述を作成するServiceLoaderおよびChannelLoaderと、メタデータジェネレータおよびコードジェネレータをインポートし、エクスポートするServiceDescriptionImporterおよびServiceDescriptionExporterが含まれる。これは、ServiceDescriptionおよびChannelDescriptionからランタイム環境を構築する型も含む。これらの型は、これらすべてが何らかの形でServiceDescriptionおよびChannelDescriptionを変換するので、1つの名前空間の下にグループ化される。この名前空間は、Designで終わる。というのは、これがサポートするシナリオの多くが厳密に、いずれのメッセージ交換にも先立つデザインタイムシナリオまたはランタイムシナリオであるからである(これらを、「アプリケーションがそれ自体をセットアップする」シナリオと考えることができる)。この名前空間のコアクラスには、次のものが含まれる。
System.ServiceModel.Diagnostics名前空間は、ランタイム状態の直接の検査および制御を通して、またトレースの永続ストリームを通してService Modelアプリケーションをモニタし診断するのに使用される型を公開する。これらのクラスが使用されるシナリオは、アプリケーションを作成するのではなく、Service Modelアプリケーションの振る舞いを観察し、制御することに関係する。これらのAPIは、機能的区別を明瞭にするためにこの名前空間にグループ化される。この名前空間のコアクラスには、次のものが含まれる。
System.ServiceModel.Security名前空間は、メッセージセキュリティに関する型を含む。これは、SOAP Messageセキュリティプロトコル、WS−Trustプロトコル、WS−SecureConversationsプロトコル、および他のWS−* Securityプロトコルの実装を含む。これは、セキュリティトークンを得るためのクラス、セキュリティトークンのシリアライゼーションのためのクラス、System.Security.Authorization名前空間中の型の中にコールすることによってセキュリティトークンを検証するためのクラス、およびSystem.Security.Authorization名前空間中の型をコールすることによって認証チェックを行うためのクラスを含む。これは、セキュリティバインディング抽象化を含む(セキュリティバインディングは、メッセージセキュリティパターンである)。この名前空間中のコアクラスには、次のものが含まれる。
○ − BasicOverAsymmetricSecurityBindingFactory
○ − BasicOverSymmetricSecurityBindingFactory
○ − BasicOverTransportSecurityBindingFactory
○ − CryptoOverAsymmetricSecurityBindingFactory
○ − CryptoOverTransportSecurityBindingFactory
○ − SessionSecurityBindingFactory
○ − SoapSecurityBindingFactory
○ − SymmetricSecurityBindingFactory
○ − TransportSecurityBindingFactory
この名前空間は、ある特定の明確に定義され分析されたセキュリティパターン(セキュリティバインディングと呼ばれる)とマッチするSOAPメッセージセキュリティの特定の実装を含む。これは、System.ServiceModel.Securityで定義されたフレームワークの具体的な実装を含む。
System.Security.Authorization名前空間は、セキュリティトークン、クレーム、および認証を伴うコアセキュリティ機能に責任を負うすべてのクラスを含む。この機能は、Service Model名前空間とは別個の名前空間で提示されて、他のメッセージングフレームワークが、これが提示するセキュリティ機能を利用できるようにする。この名前空間には、次のコアクラスが含まれる。
System.Runtime.Serialization名前空間は、XML Formatterクラス(Service Modelのメインシリアライゼーションエンジン)、関連クラス、ならびにシリアライズ可能クラスをマークするのに使用されるカスタム属性およびインターフェースを含み、これらの属性およびインターフェースは、Service Modelのシリアライゼーションプログラミングモデルを形成する。この名前空間には、次のコアクラスが含まれる。
System.Transactions名前空間は、2つの子名前空間、System.Transactions.IsolationおよびSystem.Transactions.Recoveryを含む。
System.Transactions.Isolation名前空間は、アプリケーションに、強調しているクライアントの間でリソースを分離させる能力を与える。その中の型は、揮発性リソースおよび持続可能でロック可能なリソースの分離と、可変粒度リソースサポート(variable−granularity resources support)をサポートする。この名前空間には、次のコアクラスが含まれる。
System.Transactions.Recovery名前空間は、リソースマネージャのデベロッパを助けるロギングオブジェクトモデルを提供する。Logクラスは、異なる作業の単位、補正レコード、およびチェックポイントをサポートする。この名前空間には、次のコアクラスが含まれる。
System.IO.Log名前空間は、レコード指向のシーケンシャルI/Oシステムへの単純なインターフェースを提供するクラスを含む。これは、WINDOWS(登録商標)CLFS(Common Log File System)への管理されたインターフェースを含む。この名前空間には、次のコアクラスが含まれる。
System.Text名前空間は、様々な形態のバイナリ/テキストエンコーディングおよびデコーディング(Base64およびBinHex)を行うためにService Model XML Infrastructureコンポーネント(Xml ReadersおよびWriters)によって使用されるヘルパクラスを収容する。この名前空間には、次のコアクラスが含まれる。
System.Xmlは、Service Modelの「XML Infrastructure」、すなわちService Modelシリアライゼーションによって使用されるが、独立に有用でもある最適化されたXML ReadersおよびWritersを含む。現在サポートされているリーダーおよびライタの2つのセットは、UTF8テキストXMLのためのパフォーマンス最適化されたリーダーおよびライタならびにService Model独自のバイナリフォーマットのためのリーダー/ライタである。この名前空間には、次のコアクラスが含まれる。
図4に、プログラミングフレームワーク132を実施できる(完全または部分的のいずれかで)適切なコンピューティング環境400の一例を示す。コンピューティング環境400は、本明細書に記載のコンピュータおよびネットワークアーキテクチャで利用することができる。
プログラミングインターフェースは、コードの1つまたは複数のセグメントが、コードの1つまたは複数の他のセグメントと通信するかこれによって提供される機能にアクセスすることを可能にする機構、プロセス、プロトコルと見なすことができる。プログラミングインターフェースの1タイプが、通常はアプリケーションによってコールされるアプリケーションプログラミングインターフェースである。あるいは、プログラミングインターフェースは、他のコンポーネントの1つまたは複数の機構、メソッド、ファンクションコール、モジュールなどに通信可能に結合できるシステムのコンポーネントの1つまたは複数の機構、メソッド、ファンクションコール、モジュール、オブジェクトなどと見なすことができる。前文での用語「コードのセグメント」は、コードの1つまたは複数の命令または行を含むことが意図されており、適用される用語法にかかわらず、コードセグメントが別個にコンパイルされるかどうかにかかわらず、あるいはコードセグメントがソースコード、中間コード、またはオブジェクトコードとして提供されるかにかかわらず、コードセグメントがランタイムシステムまたはプロセスで利用されるかにかかわらず、あるいはコードセグメントが同じマシンまたは異なるマシンに配置されるか、複数のマシンにわたって分散されるかにかかわらず、あるいはコードのセグメントによって表される機能がソフトウェアだけで、ハードウェアだけで、またはハードウェアとソフトウェアの組合せで実装されるかにかかわらずに、例えば、コードモジュール、オブジェクト、サブルーチン、ファンクションなどを含む。
あるコードセグメントから別のコードセグメントへの通信は、通信を複数の個別の通信に分解することによって間接的に達成することができる。これを、概略的に図7および8に示す。図に示すように、いくつかのインターフェースを、機能の分割可能なセットに関して記述することができる。このように、数学的に24を2×2×3×2として提供できるのと同様に、図5および6のインターフェース機能をファクタ化して、同一の結果を達成することができる。したがって、図7に示すように、プログラミングインターフェースInterface1によって提供されるファンクションをサブ分割して、同一の結果を達成しつつ、プログラミングインターフェースの通信を複数のインターフェースInterface 1A、Interface 1B、Interface 1Cなどに変換することができる。図8に示すように、インターフェースI1によって提供されるファンクションを、同一の結果を達成しつつ、複数のプログラミングインターフェースI1a、I1b、I1cなどにサブ分割することができる。同様に、第1コードセグメントから情報を受け取る第2コードセグメントのプログラミングインターフェースI2を、複数のプログラミングインターフェースI2a、I2b、I2cなどにファクタ化することができる。ファクタ化するときに、第1コードセグメントと共に含まれるインターフェースの数が、第2コードセグメントと共に含まれるプログラミングインターフェースの数とマッチする必要はない。図7および8のケースのどちらにおいても、インターフェースInterface1およびI1の機能的趣旨は、それぞれ図5および6と同じままである。プログラミングインターフェースのファクタ化は、結合(associative)、可換(commutative)、および他の数学的プロパティに従うこともあり、ファクタ化が認識し難い場合がある。例えば、オペレーションの順序付けは、重要でない場合があり、その結果、あるプログラミングインターフェースによって履行されるファンクションは、そのインターフェースに達するかなり前に、コードまたはインターフェースの別の断片によって履行されるか、あるいはシステムの別個のコンポーネントによって行うことができる。さらに、プログラミング技術の当業者は、同じ結果を達成する異なるファンクションコールを行う様々な方法があることを理解することができる。
いくつかの場合に、所期の結果を依然として達成しながら、プログラミングインターフェースのある特定の態様(例えば、パラメータ)を無視し、追加し、または再定義することが可能である場合がある。これを、図9および10に示す。例えば、図5のプログラミングインターフェースInterface1に、3つのパラメータ、input、precision、およびoutputを含むコールであり、第1コードセグメントから第2コードセグメントに発行されるファンクションコールSquare(input,precision,output)を含むと仮定する。真中のパラメータprecisionが、ある所与のシナリオに関係しない場合に、図9に示すように、これを単に無視するか、意味のない(この状況で)パラメータと置き換えることさえできる。関係のない追加パラメータを追加することもできる。どの場合でも、inputが第2コードセグメントによって自乗された後にoutputが返される限り、自乗の機能を達成することができる。precisionは、下流またはコンピューティングシステムの他の部分にとって意味のあるパラメータである可能性があるが、自乗を計算する狭い目的のためにprecisionが必要でないことが認識されると、これを置き換えるか無視することができる。例えば、有効なprecision値を渡す代わりに、結果に悪影響を及ぼさずに、誕生日などの無意味な値を渡すことができよう。同様に、図10に示すように、インターフェースI1を、このインターフェースへのパラメータを無視するか追加するために再定義されたプログラミングインターフェースI1’によって置き換える。プログラミングインターフェースI2は、同様に、不要なパラメータまたはどこかで処理され得るパラメータを無視するように再定義されたプログラミングインターフェースI2’として再定義することができる。ここでのポイントは、いくつかの場合には、プログラミングインターフェースが、ある目的に必要でない、パラメータなどの態様を含むことがあり、したがって、これらを無視するか再定義し、あるいは他の目的のためにどこかで処理することができることである。
2つの別個のコードモジュールの間の「インターフェース」が形態を変えるように、この2つのコードモジュールの機能の一部またはすべてをマージすることが実現可能である場合もある。例えば、図5および6の機能を、それぞれ図11および12の機能に変換することができる。図11では、図5の以前の第1および第2のコードセグメントが、それらの両方を含むあるモジュールにマージされる。この場合に、コードセグメントは、まだ互いに通信することができるが、インターフェースは、単一モジュールにより適する形態に適合させることができる。このように、例えば、形式的なCallおよびReturnステートメントが、もはや必要でないかもしれないが、プログラミングインターフェースInterface1に従う類似の処理または応答が、まだ有効であるかもしれない。同様に、図12に示すように、図6からのインターフェースI2の一部(またはすべて)を、プログラミングインターフェースI1にインラインで書き込んで、プログラミングインターフェースI1”を形成することができる。図示したように、プログラミングインターフェースI2は、I2aおよびI2bに分割され、インターフェース部分I2aは、プログラミングインターフェースI1と共にインラインでコード化されて、プログラミングインターフェースI1”を形成する。具体的な例として、図6からのプログラミングインターフェースI1が、ファンクションコールsquare(input,output)を行い、これは、プログラミングインターフェースI2によって受け取られ、これが、第2コードセグメントによってinput(自乗のため)と共に渡された値を処理した後に、outputと共に自乗した結果を渡すことを考える。そのような場合に、第2コードセグメントによって行われる処理(inputの自乗)を、プログラミングインターフェースへのコールなしで、第1コードセグメントによって行うことができる。
あるコードセグメントから別のコードセグメントへの通信は、通信を複数の別個の通信に分解することによって間接的に達成することができる。これを、概略的に図13および14に示す。図13に示すように、ミドルウェア1つまたは複数の断片(機能および/またはインターフェースファンクションを元のインターフェースから分離(divorce)させるのでDivorce Interface)が、第1インターフェースInterface1上での通信を変換して、異なるインターフェース、この例ではプログラミングインターフェースInterface2A、Interface2B、およびInterface2Cに準拠させるように提供されている。これは、例えば、言わばInterface1プロトコルに従ってオペレーティングシステムと通信するように設計されたアプリケーションのインストールベースがあるが、オペレーティングシステムが、異なるインターフェース、この例ではプログラミングインターフェースInterface2A、Interface2B、およびInterface2Cを使用するように変更された場合に、行うことができる。ポイントは、第2コードセグメントによって使用される元のインターフェースが変更され、第1コードセグメントによって使用されるインターフェースともはや互換でなくなり、したがって、仲介物が、古いインターフェースと新しいインターフェースを互換にするのに使用されることである。同様に、図14に示すように、インターフェースI1からの通信を受け取る分離インターフェースDI1と、例えばDI2と共に働くように再設計されたが同じ機能的結果を提供するインターフェースI2aおよびI2bにインターフェース機能を伝送する分離インターフェースDI2と共に第3コードセグメントを導入することができる。同様に、DI1およびDI2は、共に働いて、図6のインターフェースI1およびI2の機能を、同じまたは類似の機能的結果を提供しつつ、新しいオペレーティングシステムに変換することができる。
もう1つの可能な変形は、コードを動的にリライトして、プログラミングインターフェース機能を、別のものであるが同じ全体的な結果を達成するものに置き換えることである。例えば、中間言語(例えば、Microsoft IL、Java(登録商標)ByteCodeなど)で提示されたコードセグメントを実行環境(「.NET」Frameworkによって提供されるもの、Java(登録商標)ランタイム環境、または他の類似のランタイムタイプ環境)中のジャストインタイム(JIT)コンパイラまたはインタープリタに提供するシステムがある場合がある。JITコンパイラは、第1コードセグメントから第2コードセグメントへの通信を動的に変換する、すなわち第2コードセグメント(元のまたは異なる第2コードセグメントのいずれか)によって必要とされる可能性がある異なるインターフェースにこれらを準拠させるようにリライトすることができる。これを、図15および16に示す。図15からわかるように、このアプローチは、上述した分離シナリオに似ている。これは、例えば、アプリケーションのインストールベースが、Interface1プロトコルに従ってオペレーティングシステムと通信するように設計されているが、オペレーティングシステムが、異なるインターフェースを使用するように変更された場合に行うことができる。JITコンパイラを使用して、通信を、インストールベースアプリケーションからオペレーティングシステムの新しいインターフェースにオンザフライで準拠させることができよう。図16に示されているように、インターフェースを動的にリライトするというこのアプローチを適用して、インターフェースをダイナミックにファクタ化するか他の点で変更することもできる。
本発明について、構造的特徴および/または方法論的アクトに固有の言葉で説明したが、添付の特許請求の範囲で定義される発明が、記載の具体的な特徴またはアクトに必ずしも限定されないことを理解されたい。むしろ、具体的な特徴およびアクトは、請求される発明を実施する例示的な形態として開示されたものである。
102(1)〜(N) Webサービス
104 ネットワーク
106 通信リンク
110 Webアプリケーション
120(1)〜(M) クライアント
130 アプリケーション
130(1)〜(4) アプリケーション言語
132 フレームワーク
134 サーバ
140 共通言語仕様(CLS)
142 アプリケーションプログラムインターフェース(API)
144 共通言語ランタイム(CLR)
146 OS/サービス
146(1) オペレーティングシステム(OS)
146(2) オブジェクトモデルサービス
148(1)、(2) アプリケーション
150 フレームワーク
200 プレゼンテーションサブシステム
202 シェル
204 Webサービス
206 ファイルシステム
210 プログラミングツール
400 コンピューティング環境
402 コンピュータ
404 処理ユニット
406 システムメモリ
408 システムバス
410 RAM
412 ROM
414 BIOS
416 ハードディスクドライブ
418 磁気ディスクドライブ
420 リムーバブル不揮発性磁気ディスク
422 光ディスクドライブ
424 リムーバブル不揮発性光ディスク
426 データ媒体インターフェース
426 オペレーティングシステム
428 アプリケーションプログラム
430 他のプログラムモジュール
432 プログラムデータ
434 キーボード
436 マウス
438 入力デバイス
440 入出力インターフェース
442 モニタ
444 ビデオアダプタ
446 プリンタ
448 リモートコンピューティングデバイス
450 ローカルエリアネットワーク(LAN)
452 インターネット
454 ネットワークアダプタ
456 モデム
458 リモートアプリケーションプログラム
Claims (28)
- それぞれが分散されたメッセージ受け渡しアプリケーションを書くためのものであり、それぞれが複数のウェブサービスを論理グループ化するための第1の共通名前空間プレフィックスで表される、第1の複数のウェブサービスAPIと、
それぞれが分散されたメッセージ受け渡しアプリケーションを書くためのものであり、前記第1の複数のウェブサービスAPIのすべてに存在しないある共通の特性を有し、それぞれが前記第1の共通名前空間プレフィックスと前記第1の共通名前プレフィックスのサブ名前空間である第2の共通名前プレフィックスとの両方を有して表される、第2の複数のウェブサービスAPIと
を有することを特徴とする1つまたは複数のコンピュータ可読媒体。 - 前記第1の複数のウェブサービスAPIは、ソースコードとして表されることを特徴とする請求項1に記載の1つまたは複数のコンピュータ可読媒体。
- 前記第1の複数のウェブサービスAPIは、コンパイルされたコードとして表されることを特徴とする請求項1に記載の1つまたは複数のコンピュータ可読媒体。
- 前記第1および第2の複数のウェブサービスAPIは、.NETプラットフォーム上で動作可能であることを特徴とする請求項1に記載の1つまたは複数のコンピュータ可読媒体。
- 第1の共通名前空間は、「System.ServiceModel」であるか、テキスト「System.ServiceModel」からコンパイルされることを特徴とする請求項1に記載の1つまたは複数のコンピュータ可読媒体。
- 第2の共通名前空間は、「System.ServiceModel.Channels」であるか、テキスト「System.ServiceModel.Channels」からコンパイルされることを特徴とする請求項5に記載の1つまたは複数のコンピュータ可読媒体。
- 第2の共通名前空間は、「System.ServiceModel.Configuration」であるか、テキスト「System.ServiceModel.Configuration」からコンパイルされることを特徴とする請求項5に記載の1つまたは複数のコンピュータ可読媒体。
- 第2の共通名前空間は、「System.ServiceModel.Design」であるか、テキスト「System.ServiceModel.Design」からコンパイルされることを特徴とする請求項5に記載の1つまたは複数のコンピュータ可読媒体。
- 第2の共通名前空間は、「System.ServiceModel.Diagnostics」であるか、テキスト「System.ServiceModel.Diagnostics」からコンパイルされることを特徴とする請求項5に記載の1つまたは複数のコンピュータ可読媒体。
- 第2の共通名前空間は、「System.ServiceModel.Security」であるか、テキスト「System.ServiceModel.Security」からコンパイルされることを特徴とする請求項5に記載の1つまたは複数のコンピュータ可読媒体。
- 第2の共通名前空間は、「System.ServiceModel.Security.Protocols」であるか、テキスト「System.ServiceModel.Security.Protocols」からコンパイルされることを特徴とする請求項10に記載の1つまたは複数のコンピュータ可読媒体。
- それぞれが分散されたメッセージ受け渡しアプリケーションを書くためのものであり、前記第1の複数のウェブサービスAPIのすべてに存在しないある共通の特性を有し、それぞれが前記第1の共通名前空間プレフィックスと、前記第1の共通名前空間プレフィックスのサブ名前空間である第3の共通名前空間プレフィックスとの両方を有して表される、第3の複数のウェブサービスAPI
をさらに有することを特徴とする請求項1に記載の1つまたは複数のコンピュータ可読媒体。 - それぞれが分散されたメッセージ受け渡しアプリケーションを書くためのものであり、前記第3の複数のウェブサービスAPIのすべてに存在しないある共通の特性を有し、それぞれが前記第1の共通名前空間プレフィックス、前記第3の共通名前空間プレフィックス、および前記第3の共通名前空間プレフィックスのサブ名前空間である第4の共通名前空間プレフィックスの両方を有して表される、第4の複数のウェブサービスAPI
をさらに有することを特徴とする請求項12に記載の1つまたは複数のコンピュータ可読媒体。 - それぞれが分散されたメッセージ受け渡しアプリケーションを書くためのものであり、前記第1または第2の複数のウェブサービスAPIのすべてに存在しないある共通の特性を有し、それぞれが前記第1の共通名前空間プレフィックス、前記第2の名前空間プレフィックス、および前記第2の共通名前空間プレフィックスのサブ名前空間である第3の共通名前空間プレフィックスの両方を有して表される、第3の複数のウェブサービスAPI
をさらに有することを特徴とする請求項1に記載の1つまたは複数のコンピュータ可読媒体。 - 前記1つまたは複数のコンピュータ可読媒体は、物理媒体であることを特徴とする請求項1に記載の1つまたは複数のコンピュータ可読媒体。
- それぞれが第1の1つまたは複数の共通の特徴を有するファンクションを実装するためのものであり、それぞれが前記第1の複数のAPIについての論理グループ化のために第1の共通名前空間プレフィックスで表される、第1の複数のAPIと、
それぞれが第2の1つまたは複数の共通の特徴を有するファンクションを実装するためのものであり、それぞれが前記第1の共通名前空間プレフィックスと前記第1の共通名前空間プレフィックスのサブ名前空間である第2の共通名前空間プレフィックスとの両方を有して表される、第2の複数のAPIと
を有することを特徴とする1つまたは複数のコンピュータ可読媒体。 - 前記第1の複数のAPIは、ソースコードとして表されることを特徴とする請求項16に記載の1つまたは複数のコンピュータ可読媒体。
- 前記第1の複数のAPIは、コンパイルされたコードとして表されることを特徴とする請求項16に記載の1つまたは複数のコンピュータ可読媒体。
- 前記第1および第2の複数のAPIは、.NETプラットフォーム上で動作可能であることを特徴とする請求項16に記載の1つまたは複数のコンピュータ可読媒体。
- 第2の共通名前空間は、「System.Security.Authorization」であるか、テキスト「System.Security.Authorization」からコンパイルされることを特徴とする請求項16に記載の1つまたは複数のコンピュータ可読媒体。
- 第2の共通名前空間は、「System.Runtime.Serialization」であるか、テキスト「System.Runtime.Serialization」からコンパイルされることを特徴とする請求項16に記載の1つまたは複数のコンピュータ可読媒体。
- 第2の共通名前空間は、「System.Transactions」であるか、テキスト「System.Transactions」からコンパイルされることを特徴とする請求項16に記載の1つまたは複数のコンピュータ可読媒体。
- 第2の共通名前空間は、「System.IO.Log」であるか、テキスト「System.IO.Log」からコンパイルされることを特徴とする請求項16に記載の1つまたは複数のコンピュータ可読媒体。
- 第2の共通名前空間は、「System.Text」であるか、テキスト「System.Text」からコンパイルされることを特徴とする請求項16に記載の1つまたは複数のコンピュータ可読媒体。
- 第2の共通名前空間は、「System.Xml」であるか、テキスト「System.Xml」からコンパイルされることを特徴とする請求項16に記載の1つまたは複数のコンピュータ可読媒体。
- 第2の共通名前空間は、「System.ServiceModel」であるか、テキスト「System.ServiceModel」からコンパイルされることを特徴とする請求項16に記載の1つまたは複数のコンピュータ可読媒体。
- メッセージ受け渡しアプリケーションは、Web Serviceを実装することを特徴とする請求項16に記載の1つまたは複数のコンピュータ可読媒体。
- 前記1つまたは複数のコンピュータ可読媒体は、物理媒体であることを特徴とする請求項16に記載の1つまたは複数のコンピュータ可読媒体。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/003,307 US7512957B2 (en) | 2004-12-03 | 2004-12-03 | Interface infrastructure for creating and interacting with web services |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2006164280A true JP2006164280A (ja) | 2006-06-22 |
| JP2006164280A5 JP2006164280A5 (ja) | 2009-01-22 |
Family
ID=36084157
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005349475A Pending JP2006164280A (ja) | 2004-12-03 | 2005-12-02 | ウェブサービスを作成し、対話するためのインターフェースインフラストラクチャ |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US7512957B2 (ja) |
| EP (1) | EP1667020A3 (ja) |
| JP (1) | JP2006164280A (ja) |
| KR (1) | KR101159350B1 (ja) |
| CN (1) | CN1783019A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010113538A1 (ja) * | 2009-03-31 | 2010-10-07 | 日立オートモティブシステムズ株式会社 | 車載電子制御装置,制御ソフトウェアおよび制御ソフトウェアの開発ツール |
| JP2011514586A (ja) * | 2008-02-08 | 2011-05-06 | エクリオ インコーポレイテッド | デジタル電子デバイス上の複数のアプリケーションおよびサービスを制御するためのシステム、方法、ならびに装置 |
| US10503407B2 (en) | 2017-09-21 | 2019-12-10 | Toshiba Memory Corporation | Memory system and method for controlling nonvolatile memory |
| US10552336B2 (en) | 2017-10-27 | 2020-02-04 | Toshiba Memory Corporation | Memory system and method for controlling nonvolatile memory |
| US10719437B2 (en) | 2017-10-27 | 2020-07-21 | Toshiba Memory Corporation | Memory system and method for controlling nonvolatile memory |
Families Citing this family (54)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8516054B2 (en) * | 2000-12-20 | 2013-08-20 | Aurea Software, Inc. | Message handling |
| US8301800B1 (en) | 2002-07-02 | 2012-10-30 | Actional Corporation | Message processing for distributed computing environments |
| US20040205216A1 (en) * | 2003-03-19 | 2004-10-14 | Ballinger Keith W. | Efficient message packaging for transport |
| US8296354B2 (en) * | 2004-12-03 | 2012-10-23 | Microsoft Corporation | Flexibly transferring typed application data |
| US7549151B2 (en) * | 2005-02-14 | 2009-06-16 | Qnx Software Systems | Fast and memory protected asynchronous message scheme in a multi-process and multi-thread environment |
| US8191078B1 (en) | 2005-03-22 | 2012-05-29 | Progress Software Corporation | Fault-tolerant messaging system and methods |
| US7840682B2 (en) | 2005-06-03 | 2010-11-23 | QNX Software Systems, GmbH & Co. KG | Distributed kernel operating system |
| US8667184B2 (en) * | 2005-06-03 | 2014-03-04 | Qnx Software Systems Limited | Distributed kernel operating system |
| US7669205B2 (en) * | 2005-07-01 | 2010-02-23 | Microsoft Corporation | Using messages to extend CRM functionality |
| US8301720B1 (en) * | 2005-07-18 | 2012-10-30 | Progress Software Corporation | Method and system to collect and communicate problem context in XML-based distributed applications |
| US7680096B2 (en) * | 2005-10-28 | 2010-03-16 | Qnx Software Systems Gmbh & Co. Kg | System for configuring switches in a network |
| US20070106804A1 (en) * | 2005-11-10 | 2007-05-10 | Iona Technologies Inc. | Method and system for using message stamps for efficient data exchange |
| US7710958B2 (en) | 2006-01-20 | 2010-05-04 | Iona Technologies Limited | Method for recoverable message exchange independent of network protocols |
| US7949720B2 (en) * | 2006-01-31 | 2011-05-24 | Microsoft Corporation | Message object model |
| US20070255720A1 (en) * | 2006-04-28 | 2007-11-01 | Sap Ag | Method and system for generating and employing a web services client extensions model |
| US8656350B2 (en) * | 2007-02-06 | 2014-02-18 | Software Ag | Event-based process configuration |
| US9009234B2 (en) | 2007-02-06 | 2015-04-14 | Software Ag | Complex event processing system having multiple redundant event processing engines |
| US8276115B2 (en) * | 2007-02-06 | 2012-09-25 | Progress Software Corporation | Automated construction and deployment of complex event processing applications and business activity monitoring dashboards |
| US20080201759A1 (en) * | 2007-02-15 | 2008-08-21 | Microsoft Corporation | Version-resilience between a managed environment and a security policy |
| US7913264B2 (en) * | 2007-02-22 | 2011-03-22 | Amadeus Sas | Remote customisation module and system comprising said module |
| US7644129B2 (en) * | 2007-06-01 | 2010-01-05 | Sap Ag | Persistence of common reliable messaging data |
| US7886301B2 (en) | 2007-06-29 | 2011-02-08 | Microsoft Corporation | Namespace merger |
| US8875097B2 (en) * | 2008-01-25 | 2014-10-28 | Siemens Aktiengesellschaft | Subsystem architecture for providing support services for software applications |
| US8051332B2 (en) | 2008-07-15 | 2011-11-01 | Avicode Inc. | Exposing application performance counters for .NET applications through code instrumentation |
| US9104794B2 (en) * | 2008-07-15 | 2015-08-11 | Microsoft Technology Licensing, Llc | Automatic incremental application dependency discovery through code instrumentation |
| US8832580B2 (en) | 2008-11-05 | 2014-09-09 | Aurea Software, Inc. | Software with improved view of a business process |
| US8276159B2 (en) * | 2009-09-23 | 2012-09-25 | Microsoft Corporation | Message communication of sensor and other data |
| US8763089B2 (en) * | 2010-01-12 | 2014-06-24 | Microsoft Corporation | Flexible authentication and authorization mechanism |
| US8694956B2 (en) * | 2010-10-14 | 2014-04-08 | Red Hat Israel, Ltd. | PowerShell cmdlets code generating tool for communicating to the web services |
| US20120246609A1 (en) | 2011-03-24 | 2012-09-27 | International Business Machines Corporation | Automatic generation of user stories for software products via a product content space |
| US8671085B2 (en) | 2011-12-09 | 2014-03-11 | Microsoft Corporation | Consistent database recovery across constituent segments |
| US20130198029A1 (en) * | 2012-01-26 | 2013-08-01 | Microsoft Corporation | Application recommendation and substitution |
| US9384466B2 (en) * | 2012-09-26 | 2016-07-05 | Oracle International Corporation | Systems and methods for extending any service to existing systems by using an adaptive common interface |
| US9183065B1 (en) * | 2012-11-01 | 2015-11-10 | Amazon Technologies, Inc. | Providing access to an application programming interface through a named pipe |
| US9292342B2 (en) * | 2012-12-26 | 2016-03-22 | Microsoft Technology Licensing, Llc | Schedule based execution with extensible continuation based actions |
| US9141379B2 (en) | 2013-01-15 | 2015-09-22 | International Business Machines Corporation | Automated code coverage measurement and tracking per user story and requirement |
| US9069647B2 (en) | 2013-01-15 | 2015-06-30 | International Business Machines Corporation | Logging and profiling content space data and coverage metric self-reporting |
| US9087155B2 (en) | 2013-01-15 | 2015-07-21 | International Business Machines Corporation | Automated data collection, computation and reporting of content space coverage metrics for software products |
| US9075544B2 (en) | 2013-01-15 | 2015-07-07 | International Business Machines Corporation | Integration and user story generation and requirements management |
| US9396342B2 (en) | 2013-01-15 | 2016-07-19 | International Business Machines Corporation | Role based authorization based on product content space |
| US9111040B2 (en) | 2013-01-15 | 2015-08-18 | International Business Machines Corporation | Integration of a software content space with test planning and test case generation |
| US9218161B2 (en) | 2013-01-15 | 2015-12-22 | International Business Machines Corporation | Embedding a software content space for run-time implementation |
| US9081645B2 (en) | 2013-01-15 | 2015-07-14 | International Business Machines Corporation | Software product licensing based on a content space |
| US9063809B2 (en) * | 2013-01-15 | 2015-06-23 | International Business Machines Corporation | Content space environment representation |
| US9659053B2 (en) | 2013-01-15 | 2017-05-23 | International Business Machines Corporation | Graphical user interface streamlining implementing a content space |
| US9454630B1 (en) | 2013-02-26 | 2016-09-27 | Xilinx, Inc. | Graphical representation of integrated circuits |
| US8752075B1 (en) * | 2013-02-26 | 2014-06-10 | Xilinx, Inc. | Method for data transport |
| CN105187423B (zh) * | 2015-08-28 | 2019-04-12 | 宇龙计算机通信科技(深圳)有限公司 | 网络资源的隔离方法、网络资源的隔离系统和移动终端 |
| CN106550005A (zh) * | 2015-09-23 | 2017-03-29 | 伊姆西公司 | 用于处理rest软件架构中的媒体类型的方法和装置 |
| CN106648557B (zh) * | 2015-10-28 | 2020-04-03 | 华为技术有限公司 | 一种应用程序编程接口api的分享方法和装置 |
| CN107463434B (zh) * | 2017-08-11 | 2021-08-24 | 恒丰银行股份有限公司 | 一种分布式任务处理方法与设备 |
| US10698791B2 (en) * | 2018-07-28 | 2020-06-30 | International Business Machines Corporation | Handling request data with type safety in a remote service |
| US20200167215A1 (en) * | 2018-11-28 | 2020-05-28 | Centurylink Intellectual Property Llc | Method and System for Implementing an Application Programming Interface Automation Platform |
| CN109918216A (zh) * | 2019-03-07 | 2019-06-21 | 山东浪潮通软信息科技有限公司 | 一种基于管道的数据处理方法和系统 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030028685A1 (en) * | 2001-07-10 | 2003-02-06 | Smith Adam W. | Application program interface for network software platform |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6131166A (en) * | 1998-03-13 | 2000-10-10 | Sun Microsystems, Inc. | System and method for cross-platform application level power management |
| US6598093B1 (en) * | 1998-05-14 | 2003-07-22 | Sun Microsystems, Inc. | Method and apparatus for a core application programming interface |
| US7017162B2 (en) | 2001-07-10 | 2006-03-21 | Microsoft Corporation | Application program interface for network software platform |
| US7340745B2 (en) * | 2002-06-25 | 2008-03-04 | Sun Microsystems, Inc. | Systems and methods for mapping API calls |
-
2004
- 2004-12-03 US US11/003,307 patent/US7512957B2/en not_active Expired - Fee Related
-
2005
- 2005-11-14 EP EP05110695A patent/EP1667020A3/en not_active Withdrawn
- 2005-11-18 KR KR1020050110841A patent/KR101159350B1/ko not_active Expired - Fee Related
- 2005-11-18 CN CNA2005101250575A patent/CN1783019A/zh active Pending
- 2005-12-02 JP JP2005349475A patent/JP2006164280A/ja active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20030028685A1 (en) * | 2001-07-10 | 2003-02-06 | Smith Adam W. | Application program interface for network software platform |
Cited By (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011514586A (ja) * | 2008-02-08 | 2011-05-06 | エクリオ インコーポレイテッド | デジタル電子デバイス上の複数のアプリケーションおよびサービスを制御するためのシステム、方法、ならびに装置 |
| WO2010113538A1 (ja) * | 2009-03-31 | 2010-10-07 | 日立オートモティブシステムズ株式会社 | 車載電子制御装置,制御ソフトウェアおよび制御ソフトウェアの開発ツール |
| JP2010237895A (ja) * | 2009-03-31 | 2010-10-21 | Hitachi Automotive Systems Ltd | 車載電子制御装置,制御ソフトウェアおよび制御ソフトウェアの開発ツール |
| US10503407B2 (en) | 2017-09-21 | 2019-12-10 | Toshiba Memory Corporation | Memory system and method for controlling nonvolatile memory |
| US12147673B2 (en) | 2017-09-21 | 2024-11-19 | Kioxia Corporation | Memory system and method for controlling nonvolatile memory |
| US11709597B2 (en) | 2017-09-21 | 2023-07-25 | Kioxia Corporation | Memory system and method for controlling nonvolatile memory |
| US11093137B2 (en) | 2017-09-21 | 2021-08-17 | Toshiba Memory Corporation | Memory system and method for controlling nonvolatile memory |
| US11416387B2 (en) | 2017-10-27 | 2022-08-16 | Kioxia Corporation | Memory system and method for controlling nonvolatile memory |
| US11347655B2 (en) | 2017-10-27 | 2022-05-31 | Kioxia Corporation | Memory system and method for controlling nonvolatile memory |
| US10719437B2 (en) | 2017-10-27 | 2020-07-21 | Toshiba Memory Corporation | Memory system and method for controlling nonvolatile memory |
| US11748256B2 (en) | 2017-10-27 | 2023-09-05 | Kioxia Corporation | Memory system and method for controlling nonvolatile memory |
| US11954043B2 (en) | 2017-10-27 | 2024-04-09 | Kioxia Corporation | Memory system and method for controlling nonvolatile memory |
| US12066931B2 (en) | 2017-10-27 | 2024-08-20 | Kioxia Corporation | Memory system and method for controlling nonvolatile memory |
| US10552336B2 (en) | 2017-10-27 | 2020-02-04 | Toshiba Memory Corporation | Memory system and method for controlling nonvolatile memory |
| US12321283B2 (en) | 2017-10-27 | 2025-06-03 | Kioxia Corporation | Memory system and method for controlling nonvolatile memory |
| US12443524B2 (en) | 2017-10-27 | 2025-10-14 | Kioxia Corporation | Memory system and method for controlling nonvolatile memory |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1783019A (zh) | 2006-06-07 |
| KR101159350B1 (ko) | 2012-07-05 |
| KR20060063665A (ko) | 2006-06-12 |
| US7512957B2 (en) | 2009-03-31 |
| EP1667020A3 (en) | 2006-09-13 |
| US20060150200A1 (en) | 2006-07-06 |
| EP1667020A2 (en) | 2006-06-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7512957B2 (en) | Interface infrastructure for creating and interacting with web services | |
| Sotomayor et al. | Globus® Toolkit 4: Programming Java Services | |
| US7581231B2 (en) | Computing system and method for allowing plurality of applications written in different programming languages to communicate and request resources or services via a common language runtime layer | |
| US7080092B2 (en) | Application view component for system integration | |
| US7127700B2 (en) | Method and apparatus for developing web services using standard logical interfaces to support multiple markup languages | |
| US7165239B2 (en) | Application program interface for network software platform | |
| US7117504B2 (en) | Application program interface that enables communication for a network software platform | |
| US20030177282A1 (en) | Application program interface for network software platform | |
| US20030182364A1 (en) | Method and apparatus for requesting and performing batched operations for web services | |
| US20030233477A1 (en) | Extensible infrastructure for manipulating messages communicated over a distributed network | |
| US20050091671A1 (en) | Programming interface for a computer platform | |
| US20020038336A1 (en) | IMS transaction messages metamodel | |
| EP2307977A1 (en) | System and method for dynamic partitioning of applications in client-server environments | |
| CN106412086A (zh) | 一种利用协议描述文件自动生成通信代码的方法及系统 | |
| EP1444609A1 (en) | Application view component for system integration | |
| Hunt et al. | Guide to J2EE: enterprise Java | |
| JP2004318831A (ja) | 資源記述フレームワークベースの情報へのアクセス方法 | |
| Cornelius | Web Services using .NET | |
| Roszko | A Framework for Next Generation Enterprise Application Integration | |
| Hasan | Service-Oriented | |
| Mukherjee | FreeForums | |
| What | SOA in .NET: Web Services | |
| AU2002347920A1 (en) | Application view component for system integration |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081202 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081202 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111216 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120314 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120417 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120713 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120803 |