JP2006516781A - Java内のxml型 - Google Patents
Java内のxml型 Download PDFInfo
- Publication number
- JP2006516781A JP2006516781A JP2006502954A JP2006502954A JP2006516781A JP 2006516781 A JP2006516781 A JP 2006516781A JP 2006502954 A JP2006502954 A JP 2006502954A JP 2006502954 A JP2006502954 A JP 2006502954A JP 2006516781 A JP2006516781 A JP 2006516781A
- Authority
- JP
- Japan
- Prior art keywords
- xml
- type
- java
- data
- readable medium
- 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/51—Source to source
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
- G06F16/86—Mapping to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
XML型の使用により、XML(及びJava)型システムの組合わせが可能になる。これは、XML文書内のXMLデータを定義するXMLスキーマをJava内のXML型に翻訳することによって、既存マーシャリング及びアンマーシャリングシステムにおける多くの欠陥を解消する。従来のXMLとJavaとの間の翻訳時の試みとは異なり、XML型として実現されているXMLスキーマは、XMLに対して完全に忠実であり続け、また複数のXMLデータを操作することができる。更に、XML型は、それら自体とJava型との間で容易に変換することができ、タグレベルにおいてXML情報を保持している軽量記憶装置によって増分XMLマーシャリング及びアンマーシャリングを可能にする。この記述は、本発明を完全に記述しておらず、また本発明の範囲を制限することを意図するものでもない。本発明の他の特色、面、及び目的は、明細書、図面、及び特許請求の範囲を検討することによって理解することができる。
Description
本発明は、データ及びデータ型の変換に関する。
現在、データ型間で変換、またはマーシャルする途上で若干の欠陥が存在している。既存システムにおいては、ユーザは既存のJava(登録商標。以下同じ。)型から始めて、システムにJava型を反映するXMLスキーマを生成するように、また更に、Javaデータを、自動的に生成されるXMLへマーシャルするように依頼する。XMLをマーシャルする殆どの製品は、XMLスキーマを生成するためにJava−WSDLコンパイラのようなコンパイラを通して走る。このようなアプローチの1つの欠陥は、JavaからXMLへ進むシナリオだけに対処することである。現在のツールは、既存XMLスキーマを取扱うのに特に適してはおらず、そのスキーマ全体を使用に便宜なJava型に変える。
現在のマーシャリング技術に伴う別の問題は、ユーザが単にXMLデータの小さい一部分を見ることを望む時に出現する。ユーザは、データを処理することなく、単に残余のXMLデータを通過させたいと考えているだけかも知れない。現在のマーシャリング技術は、残余のデータを通過させるだけに対しては効果的ではない。XML内の全てのセマンティクスをJava内に容易に捕捉することはできないから、典型的には、マーシャリングからアンマーシャリングへ進むことは複雑である。もしユーザがあるメッセージを持ち込み、そのメッセージの小部分を変化させ、そしてそのメッセージをXMLとして再送することを試みれば、ユーザが変化させた部分以外の部分が異なってしまい、他の情報が大量に失われかねない。XMLが、例えばワイルドカード属性、またはエレメントを含んでいるとしても、これらのワイルドカードは保持されない。エレメント順序に関する情報も失われるか、またはスクランブルされる恐れがあるが、これはもしそのスキーマがエレメント順序に鋭敏であれば問題である。
以下に、添付図面を参照して本発明を説明するが、これらの図面は単なる例示に過ぎず本発明を限定するものではない。添付図面においては、類似の要素には類似の番号を付してある。本明細書に使用する“一”実施の形態とは、必ずしも同一の実施の形態を指すものではなく、少なくとも1つを意味しているものであることを理解されたい。
本発明の一実施の形態によるシステム及び方法は、XML文書内のXMLデータを定義するXMLスキーマを、XMLとJavaとの間でデータをマーシャルする時にJava内のXML型に翻訳することによって、既存のマーシャリング及びアンマーシャリングシステムの多くの欠陥を解消する。XML型は実際にはJava型であり、これは、正規のJavaビーン機能及びデータベースへのアクセスの他に、Java内のXMLデータに効率的な、型安全な、頑強な、そして便宜な手法でアクセスし、更新することもできる。ユーザによって導入されたスキーマのほぼ100%を取扱う能力を提供する少なくとも1つの実施の形態内においては、1つのアーキテクチャを使用することができる。
XML型を使用することによって、XML型システムとJava型システムとの組合わせを可能にすることができる。これは、開発者が疎結合を達成できるような手法で行うことができる。XML型として実現されているXMLスキーマは、XMLに対して完全に忠実であり続けることができる。開発者にとっては、既存のJava型と既存のXML型との間の精密な変換を制御することは容易であるかも知れない。XLM型は、例えば、JavaからXMLデータ文書へのスキーマアウェアの強く型付けされたアクセス、コンパクト及びインデックスされたインメモリXML記憶装置、高速及び最小(プル)パージング及び(バイナリ)直列化、軽量文書・カーソル走査、Xパス及びX待ち行列ナビゲーション及び変換、及びシームレスJava IDE統合を含む幾つかの技術を結合することによって、Java/XML境界を処理することができる。
XLM向き“Javaコードを介してのXMLからXMLへ”例について、図1は、本発明の実施の形態と共に使用することができる単純なXMLスキーマ定義(XSD)ファイル例を示している。この特定のXMLスキーマは、購入注文書の型を記述している。このスキーマは、スキーマツールによって生成された、またはユーザによって作成された先在ファイルであることができる。この例においては、無効XML購入注文書情報を“クリーンアップ”するか、または“固定”する必要があるかも知れない。
XSDのトップは、‘purchase order’と命名されたエレメントのためのスキーマ定義である。エレメントは複素数型として定義され、“line-item”と呼ばれるエレメントを含んでいる。‘unbounded’にセットされた‘maxOccurs’属性が存在するが、これはline-itemを任意回数繰り返すことができることを意味している。各ラインアイテムは、4つのサブエレメント、即ちdesc、itemid、price、及びqtyを有するように示されている。‘desc’サブエレメントはストリングである記述エレメントのことであり、‘itemid’は整数(type int)であるアイテム識別子エレメントのことであり、‘price’は浮動小数点数(type float)である価格エレメントのことであり、そして‘qty’は整数である量エレメントのことである。これらのサブエレメントは、全てスキーマのビルトイン型である。このスキーマは、基本的には、有効購入注文書スキーマをどのように注視すべきかの記述、または表現である。
XML型を使用してプログラムを書くために、XMLスキーマファイルをJavaプロジェクトに追加することができる。XMLマーシャリング及びアンマーシャリングのためのシステムの例を、図2に示す。一実施の形態においては、システムは、如何にJavaプロジェクト101をコンパイルするかを知っているだけではなく、XSDファイル102をコンパイルすることもできるコンパイラ100を用いてファイルを処理することができる。XSDファイルをコンパイルする時に、正規Java型104に加えて、複数のXML型103を生成することができる。これらのXML型は、クラスパスに追加することができる。例えば、“purchase order”と呼ばれるXML型は、“purchase-order”と呼ばれるスキーマ型から生成することができる。
図1のスキーマ例からコンパイルされたXML型のJavaソースコード表現を、図3に示す。これらのJava型を生成するソースは、スキーマファイル自体である。LineItemと呼ばれる型は、XSDファイル内のpurchase-orderエレメントの内側にネストされているline-itemエレメントに対応する。Javaにおいては、XMLline-itemエレメントは類似する何かに変えることができる。1つの型の内側の各エレメント毎に、Javaフィールドを生成することができる。例えば、XSD内の“desc”エレメントの場合、各ラインアイテム毎に生成された型内には対応する“getDesc”及び“setDesc”メソッドが存在する。一般に購入注文書の場合、ユーザは個々のラインアイテムを入手するか、または送ることができる。生成された型の名前は、スキーマ名から自動的に導出することができる。各生成された型は、それを生成した関連スキーマ名と共に注釈を付けることができる。各型は、既存XML型を拡張することもできる。
一実施の形態においては、XML型は“XMLObject”と呼ばれる共通ベースXML型を実現することができる。このXML型は、複数のXML向きデータ処理を実行する能力を提供し、以下“XBean”と呼ぶ。XBeanは、XbeanはXMLObjectから受け継ぐので、標準Javaビーンではない。XMLObjectは、XML型としてのXMLObjectが各XBean毎にそのオリジナル、または対応するXMLを検索するメソッドを提供するので普通ではない。XBeanは、XMLに直列化及び非直列化することができ、且つJavaから型安全な手法でアクセスすることができるビジネスデータのようなJava型表現データのためのデザインパターンと考えることができる。またXBeanは、これらの型を生成するための注釈付けされたJavaまたは非Javaの何れかの自然言語イディオムの小さいセットと考えることもできる。通常、アプリケーション開発者またはコンポーネント開発者がビジネスデータを如何に表すかを決定する時、トレードオフが存在する。もしデータが型安全なJavaで表されていれば、XMLまたはデータベースへの直列化は扱い難くなる恐れがある。もしデータがXMLとして表されていれば、Java型への変換も多少は扱い難くなり得る。このことは、もしデータがデータベースからの結果セット内にあれば、他の何れかの型への変換についても同じである。従って、XML及びJavaの両者を渡し、使用し、そして処理するのに便利な単一のカテゴリのJava型を提供することが有利である。また更に、同一の型が、データベースアクセス並びにフォーム入力及び確認に便利であると有利である。
図2に示すように、一実施の形態におけるXBeanは、3つの型のビジネスデータ、即ちXMLデータ105、Javaデータ106、及びデータベース107の交差点に位置することができる。XBeanは、通信または計算のための何等かのロジックまたは手段を用いることなく、単純にデータを含むことができる。XBeanは、任意の数のイディオムを使用して定義することができる。XBeanを定義した後に、XBeanは種々の文脈に使用することができる。例えば、XMLスキーマを使用してXBeanを定義し、XBeanをXML入力ストリームに付加することによってインスタンスを生成することができる。この場合、生成されたJava型を次々に渡して、フレンドリなゲッタ及びセッタを有するJavaビーンとして使用することができる。
例えば、アプリケーション開発者は、以下の内容を有するMyData.schemabeanと呼ぶファイルを定義することができる。
このファイルは、XBeanを表す別のメソッドである注釈をベースとするフォーマットの例を示す図4に示すようなメタデータを有するXBean内へコンパイルすることができる。
このファイルは、XBeanを表す別のメソッドである注釈をベースとするフォーマットの例を示す図4に示すようなメタデータを有するXBean内へコンパイルすることができる。
もし、データが例えばXML向きであれば、ユーザは、記述の前に名前が来るのか、または名前の前に記述が来るのかに関心を持つ。本発明によるシステム及び方法によれば、ユーザはオリジナルの、順序付けられたXMLへ戻ることができる。“getXMLCursor”及び“excuteXPath”と呼ばれるメソッドのようなベースXMLObject型上のに幾つかのメソッドの何れかが存在することができる。XML型は、XPathを使用して値を問合わせるメソッド、XQueryを使用して値を変換するメソッド、またはXMLCursorを使用してデータ文書上を繰り返すメソッドを含む複数のXMLデータ操作を有することができる。このベース型は、幾つかの技術を一緒に保持することができる。
若干のメソッドは、任意の時点のXMLが何に見えるかを決定することができる。例えば、XML型は、図5に示すような要求された操作を実行するWebサービスを実現するために使用することができる。図5に示す例示コードは、全購入注文書内の量を固定するために使用することができる。図5の行1−2において、本メソッドは、WebサービスとしてPurchaseOrderXML型を使用する操作を宣言する。WebサービスランタイムはXML型を認識し、XMLを完全にパーズすることなく入力メッセージを効率的に渡すことができる。スキーマ内で宣言された他のXML型は、emptyItemsと呼ばれるアレイとして行4、5、及び7に示されているLineItemである。コンパイルされたXML型は強く型付けされているから、それらは、スキーマファイルに対するPurchaseOrderの確認、及びemptyItems[i].setQty(1)引数の型が整数であることの確認のような、Javaコンパイラ検査のような両スキーマの確認を可能にする。
例えば、ユーザは、ラインアイテムが誤って量0にセットされている高ラインアイテムを有する複数の購入注文書を受信するかも知れない。そのユーザは、誰かが量フィールドを0にセットしたままとした時に、システムがその量フィールドを1に変化させるようにこれらの購入注文書を操作することを望むであろう。1つの機能が、XBeanを入力として使用することができ、またXPathを、0に等しい量を有する購入注文書タグの下の何等かのラインアイテムタグを探している購入注文書上で実行することができる。これは、例えば図5の行5以下に示してある。XPathとマッチするノードのリストをユーザへ戻すことができる。このノードのリストは、XBean型へ返す(ユーザはそれがどうなるかを知っている)ことができる。システムは、アレイへ送ることができる1組のラインアイテムを選択する。XPathから結果を入手するとそれらの結果を通して反復し、XBeanメソッドを使用して結果ノードを操作することが可能になる。
強く型付けされたJavaアクセサリは、全てのXMLの用途のためには適切ではないかも知れない。一実施の形態においては、XML型は、ベースXML向きXMLObject(例えばXPath、XQuery、XMLCursor、及びXMLReaderを提供する)を拡張することができる。行5上のXMLObject getAllValuesメソッドは入力に対してXPathを実行し、qty=0を有する全てのラインアイテムエレメントを探知する。行6及び7から、XMLデータ文書を更新するために、LineItem型を使用できることが理解されよう。型の各インスタンスを文書内の特定ノードと呼び、setQty(1)のようなメソッドが呼出されると、文書のデータが容易な、型安全な手法で処理される。行8において、機能を完了させ、応答メッセージを送るために型がWebサービスから直接戻される。
本発明の実施の形態によるシステム及び方法は、ユーザがデータを検索するためにXBeanを処理する必要があり得る異なるXML型の間における変換を扱うこともできる。例えば、アイテムIDをマッチさせるために記述及び価格を変更することによってラインアイテムをクリーンアップする必要があり得る。これは、一実施の形態においては、既存アプリケーションデータベース内の各カタログアイテムをルックアップすることによって行うことができる。この作業は、整数アイテムidを取り、CatalogItemを戻すことができるJavaルックアップメソッドを使用して行うことができる。例えば、
このクラスはLineItemXML型に類似しているように見えるが、ある比較的小さい差を有している。例えば、CatalogItemは量を有しておらず、アイテムIDは“itemID”ではなく、“catalogID”と呼ばれる。実際、CatalogItemはLineItemにかなり類似しているから、若干の状況においては、コードを図6に示すように書くことが望ましいかも知れない。図6においては、複素数XML型、即ちLineItemの値が複素数Java型、即ちCatalogItemにセットされる。各XML型は、上述したコードをコンパイルして走らせることができるように任意の型を取ることができるセットメソッドを有している。しかしながら、ランタイム中、ユーザは、“CatalogItemからLineItemへのマッピングに変換が定義されていない”と苦情を呈するXML変換例外に到達することができる。この場合、ユーザは適切なCatalogItem型名を選択し、対応するXML変換を検査することができる。もしユーザがあるアイテムのタイトルをルックアップして‘CatalogItem’と呼ばれるJava型を戻す既存ビーンを有していれば、CatalogItemは、ラインアイテムに類似してはいるが先行例とは僅かに異なるCatalogID記述を有していよう。例えば、量フィールドは存在せず、また先にItemIDと呼ばれていたものはCatalogIDと呼ばれている。
このクラスはLineItemXML型に類似しているように見えるが、ある比較的小さい差を有している。例えば、CatalogItemは量を有しておらず、アイテムIDは“itemID”ではなく、“catalogID”と呼ばれる。実際、CatalogItemはLineItemにかなり類似しているから、若干の状況においては、コードを図6に示すように書くことが望ましいかも知れない。図6においては、複素数XML型、即ちLineItemの値が複素数Java型、即ちCatalogItemにセットされる。各XML型は、上述したコードをコンパイルして走らせることができるように任意の型を取ることができるセットメソッドを有している。しかしながら、ランタイム中、ユーザは、“CatalogItemからLineItemへのマッピングに変換が定義されていない”と苦情を呈するXML変換例外に到達することができる。この場合、ユーザは適切なCatalogItem型名を選択し、対応するXML変換を検査することができる。もしユーザがあるアイテムのタイトルをルックアップして‘CatalogItem’と呼ばれるJava型を戻す既存ビーンを有していれば、CatalogItemは、ラインアイテムに類似してはいるが先行例とは僅かに異なるCatalogID記述を有していよう。例えば、量フィールドは存在せず、また先にItemIDと呼ばれていたものはCatalogIDと呼ばれている。
本発明の実施の形態によるシステム及び方法においては、各XML変換は、変換のディレクトリ内に格納されているXQueryを使用して実施することができる。各Xqueryは、各々が既知のXMLスキーマを有する1またはそれ以上の型から、特定の型へ変換することができる。line-item型、並びにCatalogItemのためのデフォルト型へピン留めされた入力及び出力型を有する視覚XQueryエディタを使用することができる。XQueryエディタは、システムまたはユーザがitemIDをCatalogIDへ接続することを可能にし、また量を0にすべきことを指示することを可能にする。
CatalogItemクラスのためのデフォルト型宣言の例を、図7に示す。これは、XQueryによって全ての変換を含むディレクトリ内のファイル内へ視覚的に書き込むことができる。XQueryは、如何にしてカタログアイテムを正規ラインアイテム内へ変換するのかをシステムに告げるように定義することができる。このような問合わせの例を図8に示す。図8に太字で示すテキストは、CatalogIDをitemIDへマップし、エキストラフィールドqtyを0にセットするXQueryに対応する。残余は、XQueryをXMLファイル内に保持するエンベロープである。この0値は、図9に示すようにJava内において行うことができるように、補正することができる。図9の行13上に、カタログアイテムがアイテム行内へ送られるようなコード例を見ることができる。ユーザが既存APIから到達するカタログアイテムを取り、そのアイテムをXBean(ラインアイテムを表す)内へ到達させることが望ましい。カタログアイテムがラインアイテムとは異なるので、通常はこのようなコードは働かないであろう。
XML変換システムの例を図10に示す。一実施の形態においては、変換(XQueries)のグローバルレジストリ111を、1つのデータ型から別のデータ型へ到達させるために使用することができる。1組のXqueriesを入手した後に、変換システム110は、ソース型108からターゲット型109への変換が存在するか否かを、自動的にルックアップすることができる。別の実施の形態においては、変換のライブラリ112を未だ使用することができる。但し、出所型から宛先型へ自動的に変換する代わりに、各変換には名前が与えられる。カタログアイテムが与えられ、正規ラインアイテムをセットする必要がある場合には、ユーザは、セットが呼出される前に、単純に名前によって変換を呼出すことができる。行13及び14が太線で示されている図9において、カタログアイテムをラインアイテムへ変換することをシステムに告げる機能呼出しが、‘set’と‘findCatalogItems’との間に存在する。この変換明示を行う1つの理由は、多くのユーザのために、変換の不可視レジストリを要約し過ぎにし、及び “アンダー・ザ・カバーズ”にすることができることである。もしユーザが変換されたデータを有していれば、そのユーザはコード内の変換の名前を実際に見たいであろう。もしユーザが名前を見ることができれば、どの変換が行われ、それがデータにどのように影響したかを決定するためにコードを通してユーザをナビゲートすることができる。これは検査として働くことができるから、ユーザは変換を理解し、コードがそのユーザに属するのか、または他人に属するのかを確かめることができる。
量が補正されたことを確認する代替の方法は、line-item変換を通してCatalogItemを定義し、CatalogItem及び整数量のような2つの入力引数を取ることである。この例から、ソース型及びターゲット型を指示する変換のグローバルレジストリが存在することが理解されよう。ソース及びターゲットは、Java型であることが許容される。2つの異なる型間の自動翻訳が要求される場合には、レジストリを調べることができる。レジストリは、状況に依存して単一のJava型を任意の数の異なるXML型にマップできるように使用することができる。またレジストリは、任意の2つの所与の型の間の全てのマッピングに対して1回だけ定義すればよく、それによって容易に再使用可能になるという長所をも有することができる。
若干のシステムにおいては、単一のプログラム中の同時点にスキーマの複数バージョンを取扱う必要があるような困難さがもたらされる。この理由から、各スキーマにバージョン識別子でタグするための準備が存在し得る。関連Java型及び変換は全て別々に行うことができ、各バージョンはそれ自体の型システムとして処理される。
更に別の例においては、ユーザは、入力としてカタログアイテムを取るWebサービスを書くか、またはWebサービスとして“findCatalogItem”のような既存Java機能を露出させることを望むかも知れない。例えば、既存システムのWebサービスとしてfindCatalogItemを露出させるように以下のコードを書くことができる。
このようなアプローチは、ユーザが、そのユーザのWebサービスのための適切なWSDLを定義する場合に受入れ可能になる。不幸にもこれは、所望の結果型を記述する既存XMLスキーマが存在するような状況である。例えば、結果は、上例におけるように、標準購入注文書line-itemエレメントとして戻すことができる。この場合、実際のWSDLは既存XMLスキーマに準拠しない。XML変換を使用して適切なスキーマを作成することを試みることはできるが、既存システムは、都合の良い構文を準備する以外、マップをスキーマに準拠させることを支援しない。しかしながら、本発明の種々の実施の形態による変換レジストリを使用すれば、戻される結果を、容易に適切な型に準拠させることができる。
例えば、コードは次のように変更することができる。
上記コードは、CatalogItem型をpo:line-itemエレメントの型にマップする定義されたXML変換が存在することを要求する。もし存在しなければ、IDEが、戻りスキーマ注釈上でエラーを信号する。しかしながら、もし定義された変換が存在すれば、Webサービスメソッドの戻り型は要求されたスキーマに準拠し、必要スキーマは放出されるWSDL内に含ませることができる。
上記コードは、CatalogItem型をpo:line-itemエレメントの型にマップする定義されたXML変換が存在することを要求する。もし存在しなければ、IDEが、戻りスキーマ注釈上でエラーを信号する。しかしながら、もし定義された変換が存在すれば、Webサービスメソッドの戻り型は要求されたスキーマに準拠し、必要スキーマは放出されるWSDL内に含ませることができる。
“return-schema type=po:line-item”を含む行の中に見ることができるような例においては、システムはユーザにカタログアイテムを戻すが、XML内にラインアイテムを有することを許容する。システムは、ユーザがXQueriesのレジストリへ進み、XQueryを使用して命令を実行することを可能にする。この実施の形態は、XQueryとXMLマップとの結合、全スキーマの支援、強く型付けされたビュー及びデータのXMLビューの両者への同時アクセスを得るメソッドを提供する。
図11に示すように、一実施の形態によるシステム及び方法が、XML型114としてXMLの一部分をロードする場合、そのXML型を軽量内部XML記憶装置115内へロードすることができる。これは、W3C ドキュメントオブジェクトモデル(DOM)を用いて行うことができるものと類似しているが、オリジナルのXMLに対して完全な忠実度を有することが可能なより軽量な手法で行われる。記憶装置は、探索可能なインデックスとして、またはこの例におけるように、ほぼテキストまたはタグレベルにおいて、XMLデータ113を保持するだけであるから軽量である。従って、ユーザが購入注文書のようなXML型を有している場合には、ユーザは簡単にこれらの軽量XML記憶装置の1つの位置へのハンドルを有することができる(これはXMLツリーに似させることができる)。ユーザがその参照を入手する時点には、未だ如何なるマーシャリングも存在していない。ユーザが“getLineItem”、“getLineItem.getDesc”、または“getQty”のようなメソッドを呼出す時にゲッタを呼出すことができる。ゲッタは、マーシャリング、型の決定、及び返答の戻しに使用される。このアプローチは、データの一部分だけが処理されるので、極めて時間効率的であることができる。
若干の実施の形態によるシステム及び方法は、XMLスキーマ及び対応するJav型を同期して保持することができる。強く型付けされたJavaを有するユーザは、例えば新しいラインアイテムを追加するか、または量を変化させ始めることができる。もしそのユーザがJava型上でXPathパスを走らせることを望めば、現在のデータのフォームにおいてはXPathをXMLデータ文書上で走らせる必要があり得る。この場合、もしユーザがXML側上で、または強く型付けされたJava側上で文書に変更を行えば、他方の側の適切な部分が無効になりかねない。爾後にユーザがその他方の側を見る時に、先に無効にされた情報をとがめることができる。
XMLスキーマをコンパイルするためには、スキーマ、またはXSDファイル(“スキーマのためのスキーマ”と呼ばれ、換言すれば、XSDファイル自体のための適切なスキーマを表すXSDファイル)をパーズする必要があり得る。もしシステムがシステムに渡されたスキーマの100%を取扱うことができるように支援されており、またシステムが都合の良いJavaアクセス可能性を生成すれば、システムがスキーマを読む時にXSDファイルを理解するために、システムはそれ自体が生成した型を使用することが期待できる。ユーザは、スキーマのためのスキーマを取り、システムがJavaを簡単に使用できるようにそれをJavaにコンパイルできるべきである。
図12に示すような若干の実施の形態によるシステム及び方法においては、何れのデータ、即ちXMLデータの一部分にも少なくとも2つの部分が存在し得る。これらは、データ116の正当な(リーガルな)型、及び生データ119の意味を含む。データの正当な型は、現在のアプリケーションのためにどの種類のデータを有効として注視しているかを定義する。スキーマは、正当な型のデータに関する極めて特定の詳細を含むことができ、また若干の場合には、データの意味に関するある詳細を含むことができる。データの正当な型を知れば、強く型付けされた手法でそのデータへのアクセスを提供する自動型を生成することが可能になる。これが可能なのは、部分的には、スキーマを所与のデータフィールドの全ての有効サブフィールドを識別できるからである。これにより、ユーザに、1または複数の適切な場所における強く型付けされたJavaアクセスを許可することが可能になる。ユーザがデータをロードし、適切な型のデータを有した後になっても、ユーザはデータが何を意味しているのかを知らないかも知れない。この場合、スキーマコンパイラ117を使用して生データを理解することができる。これは、要約文法を取り、その要約文法を構文ツリー内へコンパイルすることが可能なYACC(“更に別のコンパイラコンパイラ”)として知られるものにやや類似している。XMLが既に構文ツリーであるから、これは問題ではない。しかしながら、XMLは制約付きの構文ツリーではない。どのノードも、ツリー内のその下にいろいろなエレメントを有することができる。ユーザがスキーマ(XMLのための文法と考えることができる)を有した後は、ユーザは、任意のノードの下に何を支援しているかを正確に知ることになる。従って、生XML構文ツリーを使用する代わりに、ユーザはスキーマ・制約付きの構文ツリーを利用することができる。
本発明の一実施の形態によるシステム及び方法は、各スキーマを、単純な型を含むJava型として維持する。もしユーザが、単純な型の制約であるスキーマを有していれば、それをスキーマ内に指示させることができる。例えば、もしユーザが定義した型が正当な型の整数であれば、それは10,000−99,000の間の5桁の数でなければならない。これは既存システムにおけるように、必ずしも単純な整数型として定義する必要はない。代わりに、情報はJava型内へ生成することができる。名前“restricted integer”のようなJava型の名前は、スキーマから生成することができる。
本発明によるシステム及び方法によって維持することができる別の不変量は、スキーマ内の少なくとも2つの型(ベース型)が存在する場合に発生する。もしこれらの型の一方が他方の型のベース型であれば、その関係がJava内の2つの型を接続する。型付けされたシステムの高忠実度翻訳が、ベース型の保存を可能にすることができる。
コンパイルされたXML型制約118を使用する確認エンジンを使用して、何れかの関連XML型120がXMLに従って有効であるか否かをユーザが決定できるようにすることができる。例えば、XMLにおいては、購入注文書ラインアイテムは、記述、量、カタログ番号、及び価格を有することができる。また、‘description’はオプションであるが‘catalogItemNumber’はオプションではないことを指示する適切なXMLスキーマ内の制約も存在し得る。Javaにおいては、あるフィールドがオプションではない、即ちヌルであり得ないことを指示するメソッドは存在しない。従って、マーシャリングを行う殆どの人々は、ビーンを確認することができない。本発明の実施の形態による確認方法を使用することにより、XML型制約に対するビーンの確認の使用が、及びどの確認問題の通報も可能になる。
若干の実施の形態によるシステム及び方法においては、XML型は、複数のJavaコンポーネントの間で共用することができる。XBeanは、自動的に生成されたXML型が、ユーザが定義したコンポーネント作業のために定義される場合のように自動的に放出される。この場合、パラメータ及び戻り値を表すXBeansは、そのコンポーネントのために生成されたXML制御インタフェースへの内部クラスとして自動生成させることができる。もしメッセージ型が多くのコンポーネントにまたがって実際に共用されれば、メッセージの各インスタンス毎に私的なXBean型を持つことは無意味であり得る。この場合、コンポーネントのXML型が如何に共用されるかを明示的に制御するために、ユーザが定義するコンポーネントを定義する時にXBean型を明示的に参照することを可能にするべきである。例えば、
XBean型parameter-xmlのためのようなコンポーネント内の“MyData” を参照することによって、ビーンが引数名に対応するゲッタを有していることを表明することができる。例えば、getAはStringを戻すべきであり、getIはintを戻すべきである。もしこれらの型がラインアップしなければ、翻訳時エラーがもたらされ得る。return-xmlの場合、ビーン型が戻り値であることを、またはその型が戻り値とマッチする単一の特性を有していることを表明することができる。XML型を参照することによって、XMLスキーマは、このメソッドへの入力及び出力メッセージの型を定義するように参照される。これらのスキーマは、それらが“MyData”のような名前を有しているので、再使用することができる。マップも、XML型とJava型との間で参照される。マップは、それが命名された型に付加され、マップを再使用できることから、メタデータとしてMyData型に付加される。
XBean型parameter-xmlのためのようなコンポーネント内の“MyData” を参照することによって、ビーンが引数名に対応するゲッタを有していることを表明することができる。例えば、getAはStringを戻すべきであり、getIはintを戻すべきである。もしこれらの型がラインアップしなければ、翻訳時エラーがもたらされ得る。return-xmlの場合、ビーン型が戻り値であることを、またはその型が戻り値とマッチする単一の特性を有していることを表明することができる。XML型を参照することによって、XMLスキーマは、このメソッドへの入力及び出力メッセージの型を定義するように参照される。これらのスキーマは、それらが“MyData”のような名前を有しているので、再使用することができる。マップも、XML型とJava型との間で参照される。マップは、それが命名された型に付加され、マップを再使用できることから、メタデータとしてMyData型に付加される。
コンポーネント上の明示XBeansを指定する時に入手することができる生成されたXML制御インタフェースは、以下のようであることができる。
この例においては、命名されたXBean型は、許容されたxmlスキーマを指定するために使用され、生成された内部クラスは存在しない。
この例においては、命名されたXBean型は、許容されたxmlスキーマを指定するために使用され、生成された内部クラスは存在しない。
XBean型は、XMLを渡すことができるようになった時にXBeanも渡すことができるように、ベースXML型を拡張することができる。更に、どのXBeanもXMLデータ文書に付加することができるので、XMLが使用可能である場合には、そのデータへの都合の良いアクセスのためにXBeanを作成することができる。若干の実施の形態によるシステム及び方法においては、XBeanは、容易に作成することができ、幾つかの異なる手法で使用することができる。例えば、XBeanは、JWS(JavaWebサービス)メソッドの定義を介して暗示的に作成することができる。XBeanは、機能のパラメータリスト及びその機能に関連付けられたマップに基づいて作成することができる。また、XBeanは*.xbeanファイルを使用して明示的に作成することもできる。*.xbeanファイルは、JavaBean+マップ、またはXML+問合わせ(各々は、注釈を自由に使用することができる)のような、少なくとも2つの異なるインプリメンテーションを有することができる。JWS動作によってビーンを暗示的に作成する例は、以下のようであろう。
これは、動作のためのデフォルトマップを使用してXBeanを暗示的に作成するであろう。特定のマップを動作に適用することによって、入力及び出力のためのマップを使用してXBeanが作成される。もしbeanNameが既に定義済みであれば、既存ビーンを使用することができる。ビーンを作成する時に、既存構文を使用する代わりに別の構文を使用することができる。
これは、動作のためのデフォルトマップを使用してXBeanを暗示的に作成するであろう。特定のマップを動作に適用することによって、入力及び出力のためのマップを使用してXBeanが作成される。もしbeanNameが既に定義済みであれば、既存ビーンを使用することができる。ビーンを作成する時に、既存構文を使用する代わりに別の構文を使用することができる。
単純なJavaBean+Maps *.xbeanファイルは、以下のようであろう。
これは、パブリックゲット及びセットメソッド、並びにこのセットの特性のために定義されている標準XMLを用いて、ファイルを作成するであろう。僅かながらより複雑なファイルは、以下のような付加されたマップを有していよう。
上例は、ネイティブストレージとして個々のJavaメンバーを使用する。同じく重要なものは、ネイティブストレージとしてのXMLの使用であることができる。反対の側上で、単純なファイルは値を戻すためにXQueryを使用することができる。これは、以下のようであろう。
これは、パブリックゲット及びセットメソッド、並びにこのセットの特性のために定義されている標準XMLを用いて、ファイルを作成するであろう。僅かながらより複雑なファイルは、以下のような付加されたマップを有していよう。
上例は、ネイティブストレージとして個々のJavaメンバーを使用する。同じく重要なものは、ネイティブストレージとしてのXMLの使用であることができる。反対の側上で、単純なファイルは値を戻すためにXQueryを使用することができる。これは、以下のようであろう。
若干の実施の形態によるシステム及び方法においては、開発者の観点から2つのXML型、即ち可動カーソル、及び不動値が存在し得る。カーソルが運動すると、それが見るXMLデータ文書の部分が変化し得るので、XMLデータ文書内の何処においても動作するように型を設計することができる。一方、不動値は1つの場所に固定することができるので、それらは、それらが参照しているデータ文書の部分のXMLスキーマとマッチする強く型付けされたメソッドを有することができる。図13は、このような実施の例を示しており、XMLIndex121は不動値を表し、XMLCursor122または123は基本的XMLデータの可動カーソルを表している。強いXML型の実際のインプリメンテーションは、XMLCursorを使用しないが、購入注文書インタフェース124は、たとえそれが不動であっても、基本的XMLIndex内へ同種の参照を供給することに注目されたい。
ユーザはPurchaseOrderのような強い型を、あたかもそれが普通のJava型であるように使用し、処理することができるが、型の後ろは、基本的XMLデータに直接アクセスして処理するインプリメンテーションであることができる。例えば、値の直後は強い型内にセットされ、同じ値を、同一セットを探索するためにXPathを使用する何等かのカーソルから使用することが可能である。
図13に示すモデルは、XMLデータ文書が保持され、問合わされ、処理され、そして再使用される時に有用であり得る。他の時点においては、データ文書上に決して保持することなく一時使用のためにXMLをストリーム化する必要があり得る。これらの状況においては、XMLプルパーザのようなXMLReaderクラスが存在し得る。各XMLValueオブジェクトは、XMLReaderを供給することによってそれ自体をストリームアウトすることができる。また、XmlReaderの内容をロードし、インデックスするXMLIndexコンストラクタも存在することができる。
図14は、XML型APIのためのクラス階層ダイアグラムの例を示している。図14において、隅を丸めたボックスはインタフェースを表し、角のあるボックスはコンクリートクラスを表している。あるファイル、または生の入力ストリームから開始するユーザは、XMLパーザを使用してXMLをパーズし、次いでパーズされたファイルをXMLインデックスを使用してインデックスすることができる。図には2つのコンクリートクラスだけが示されており、これらのクラスは他の全てのインタフェースを実現するXML型のためのファクトリである。
XML型は、コンパイル時にスキーマをJava型内へコンパイルすることができる。これは、複素数型及び単純型の両者を含むことができる。XmlString及びXmlDateのようなプリコンパイルされた型は、XMLスキーマへの組込みの基本型及び単純型のために使用することができる。XMLObject自体は、xsd:anyTypeに対応させることができる。更に、各スキーマ毎に、全てのスキーマからマップを供給するターゲットクラス階層内にポインタ資源を、対応するJava型名内に所与の名前と共に生成することができる。
複数のスキーマが同一のXML名を有することを許容されているが、同一名を有する異なる型には異なる“XML world”名を用いてタグを付けることができる。1つのワールドだけが、デフォルトワールドであることを許される。型生成を制御する1つの方法は、コンパイルする時に、.xsdファイルに隣接する.xvalファイルを通してである。 ランタイムにおいて、インデックスされたXMLは自動的にスキーマ・アウェアであることができる。スキーマの可視性は、現ClassLoaderに結び付けることができる。可視スキーマのスレッド・ローカルインデックスは維持することができる。完全修飾されたXML名を介して新しいスキーマが要求された場合には、ClassLoader.getResourceAsStream呼出しを使用して、デフォルトワールド内のような対応するJava型を指すポインタを探知することができる。特定ワールド内のルックアップを行うこともできる。XMLIndexのインプリメンテーションは、このようなスキームを使用して全てのXMLを自動的に型に変形させる。もし“xml world”が指定されていなければ、デフォルトワールドを使用することができる。異なるバージョンのスキーマの使用を可能にする他の代替ビューを指定することもできる。
一実施の形態は、コンピュータ技術に精通していれば理解されるように、本明細書の教示に従ってプログラムされた普通の汎用、または専用ディジタルコンピュータ、または1または複数のマイクロプロセッサを使用して実現することができる。ソフトウェア技術に精通していれば理解されるように、本明細書の教示に基づいて適切なソフトウェアコーディングを容易に準備することができる。本発明は、当分野に精通していれば理解されるように、集積回路を準備することによって、または普通のコンポーネント回路を適切なネットワークに相互接続することによって実現することもできる。
一実施の形態は、コンピュータプログラム製品を含む。これは、命令をその上に/その中に格納している記憶媒体(複数の媒体)であり、且つその中に提示されている特色の何れかを遂行させるためにコンピュータをプログラムするために使用することができる。この記憶媒体は、限定するものではないが、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、及び磁気・光ディスクを含む何等かの型のディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気または光カード、ナノシステム(分子メモリを含む)、または命令及び/またはデータを格納するのに適する何等かの型の媒体またはデバイスを含むことができる。
コンピュータ可読媒体(複数の媒体)の何れか1つに格納されている本発明は、汎用/専用コンピュータまたはマイクロプロセッサのハードウェアを制御するための、及び本発明の結果を使用してコンピュータまたはマイクロプロセッサが人間のユーザまたは他のメカニズムと対話できるようにするためのソフトウェアを含む。このようなソフトウェアは、限定するものではないが、デバイス、ドライバ、オペレーティングシステム、実行環境/コンテナ、及びアプリケーションを含むことができる。
以上の本発明の好ましい実施の形態の説明は、例示のためになされたに過ぎない。本説明は、本発明を網羅してはおらず、本発明を開示した精密な形状に限定することを意図するものではない。当業者には、多くの変更及び変形が明白であろう。特に、上述したシステム及び方法の実施の形態において“型”という概念を、XML及びJavaの両方のために使用しているが、この概念はインタフェース、形状、クラス、オブジェクト、ビーン、及び他の適当な概念のような相当概念と互換的に使用可能であることは明白である。実施の形態は、本発明の原理及びその実際的なアプリケーションを最良に記述し、それによって当業者が本発明を、種々の実施の形態を、企図された特定の用途に適する種々の変更と共に理解できるように選択し、説明したものである。本発明の範囲は、特許請求の範囲及びそれらの従属項によって限定されることを意図している。
Claims (66)
- XMLとJavaとの間でデータをマーシャル及びアンマーシャルするためのシステムにおいて、
XMLデータと、
前記XMLデータを定義するXMLスキーマと、
Java内の前記XMLデータにアクセスすることができるJava型であるXML型と、
前記XMLスキーマから前記XML型を生成することができるコンパイラと、
を含むことを特徴とするシステム。 - 前記コンパイラは、JavaWebサービスメソッドの定義に基づいて前記XML型を生成することができる、
ことを特徴とする請求項1に記載のシステム。 - 前記コンパイラは、定義ファイルに基づいて前記XML型を生成することができる、
ことを特徴とする請求項1に記載のシステム。 - 前記コンパイラは、Javaプロジェクトを1またはそれ以上の正規Java型内へコンパイルすることができる、
ことを特徴とする請求項1に記載のシステム。 - 前記XML型は、前記XMLデータ内の何処をも読むことができる可動カーソルであることができる、
ことを特徴とする請求項1に記載のシステム。 - 前記XML型は、前記XMLデータの固定された部分を参照できる不動値であることができる、
ことを特徴とする請求項1に記載のシステム。 - 前記XML型は、複数のJavaコンポーネントの間で共用することができる、
ことを特徴とする請求項1に記載のシステム。 - 前記XML型は、Java内の前記XMLデータを更新することができる、
ことを特徴とする請求項1に記載のシステム。 - 前記XML型は、Java型メソッドを使用してJavaデータにアクセスし、更新することができる、
ことを特徴とする請求項1に記載のシステム。 - 前記XML型は、データベースにアクセスし、更新することができる、
ことを特徴とする請求項1に記載のシステム。 - 前記XML型は、XMLデータの問合わせ、XML型間の変換、及びXMLデータ文書を通しての繰り返しを含む複数のXMLデータを操作することができる、
ことを特徴とする請求項1に記載のシステム。 - データ型及び前記データの範囲に関する制約、及び前記データ型及び前記XML型の範囲に関する制約を含む前記XMLデータの正当な型を定義することができるXMLスキーマ、
を更に含むことを特徴とする請求項1に記載のシステム。 - 前記コンパイラは、前記XMLスキーマから前記XMLデータの正当な型についての前記XML型に関する制約を生成することができる、
ことを特徴とする請求項12に記載のシステム。 - 前記XML型に関する制約は、前記XML型を検査することができる、
ことを特徴とする請求項12に記載のシステム。 - XMLとJavaとの間で型を変換するシステムにおいて、
Java型と、
Java内のXMLデータにアクセスすることができるJava型であるXML型と、
ソース型をターゲット型に変換することができるXML変換と、
を含み、
前記ソース型及びターゲット型は、前記XML型または前記Java型の何れであることもできる、
ことを特徴とするシステム。 - ソース型とターゲット型との間の既存XML変換をルックアップすることができるXML変換のグローバルレジストリ、
を更に含むことを特徴とする請求項15に記載のシステム。 - ソース型とターゲット型との間の既存XML変換を、名前によってルックアップすることができるXML変換のライブラリ、
を更に含むことを特徴とする請求項15に記載のシステム。 - XMLとJavaとの間でデータをマーシャル及びアンマーシャルするシステムにおいて、
XMLデータと、
前記XMLデータを、探索可能なインデックスとして保持することができる軽量XML記憶装置と、
前記軽量XML記憶装置を参照することができ、且つJava内の前記XMLデータにアクセスすることができるJava型であるXML型と、
を含むことを特徴とするシステム。 - XMLとJavaとの間でデータをマーシャル及びアンマーシャルするシステムにおいて、
XMLデータと、
前記XMLデータを、テキストまたはタグレベルにおいて保持することができる軽量XML記憶装置と、
前記軽量XML記憶装置を参照することができ、且つJava内の前記XMLデータにアクセスすることができるJava型であるXML型と、
を含むことを特徴とするシステム。 - 前記軽量XML記憶装置は、前記保持したXMLデータを階層構造として表すことができる、
ことを特徴とする請求項19に記載のシステム。 - 前記階層構造は、ツリーであることができる、
ことを特徴とする請求項20に記載のシステム。 - 前記XML型は、前記XMLデータに増分的にアクセスすることができる、
ことを特徴とする請求項19に記載のシステム。 - XMLとJavaとの間でデータをマーシャル及びアンマーシャルする方法において、
XMLスキーマを使用してXMLデータを定義するステップと、
Java内のXML型を介して前記XMLデータにアクセスするステップと、
コンパイラを使用して前記XMLスキーマから前記XML型を生成するステップと、
を含むことを特徴とする方法。 - 前記XML型を、JavaWebサービスメソッドの定義に基づいて生成するステップ、
を更に含むことを特徴とする請求項23に記載の方法。 - 前記XML型を、定義ファイルに基づいて生成するステップ、
を更に含むことを特徴とする請求項23に記載の方法。 - Javaプロジェクトを、1またはそれ以上の正規Java型内へコンパイルするステップ、
を更に含むことを特徴とする請求項23に記載の方法。 - 前記XML型を、前記XMLデータ内の何処をも読むことができる可動カーソルとして使用するステップ、
を更に含むことを特徴とする請求項23に記載の方法。 - 前記XML型を、前記XMLデータの固定された部分を参照するための不動値として使用するステップ、
を更に含むことを特徴とする請求項23に記載の方法。 - 前記XML型を、複数のJavaコンポーネントの間で共用するステップ、
を更に含むことを特徴とする請求項23に記載の方法。 - 前記XML型を介してJava内の前記XMLデータを更新するステップ、
を更に含むことを特徴とする請求項23に記載の方法。 - Java型メソッドを使用してJavaデータにアクセスし、更新するステップ、
を更に含むことを特徴とする請求項23に記載の方法。 - 前記XML型を介してデータベースにアクセスし、更新するステップ、
を更に含むことを特徴とする請求項23に記載の方法。 - 前記XML型を介して、XMLデータの問合わせ、XML型間の変換、及びXMLデータ文書を通しての繰り返しを含む複数のXMLデータ操作を使用するステップ、
を更に含むことを特徴とする請求項23に記載の方法。 - XMLスキーマを介して、データ型及び前記XML型の範囲に関する制約を含む前記XMLデータの正当な型を定義するステップ、
を更に含むことを特徴とする請求項23に記載の方法。 - 前記XMLスキーマから、前記XMLデータの正当な型についての前記XML型のデータ型及び範囲に関する制約を生成するステップ、
を更に含むことを特徴とする請求項34に記載の方法。 - 前記XML型に関する制約を使用して前記XML型を検査するステップ、
を更に含むことを特徴とする請求項34に記載の方法。 - XMLとJavaとの間で型を変換する方法において、
Java型を使用するステップと、
Java内のXMLデータにアクセスすることができるJava型であるXML型を使用するステップと、
XML変換を介してソース型をターゲット型に変換するステップと、
を含み、
前記ソース型及びターゲット型は、前記XML型または前記Java型の何れであることもできる、
ことを特徴とする方法。 - XML変換のグローバルレジストリを介してソース型とターゲット型との間の既存XML変換をルックアップするステップ、
を更に含むことを特徴とする請求項37に記載の方法。 - XML変換のライブラリを介してソース型とターゲット型との間の既存XML変換を名前によってルックアップするステップ、
を更に含むことを特徴とする請求項37に記載の方法。 - XMLとJavaとの間でデータをマーシャル及びアンマーシャルする方法において、
XMLデータを、軽量XML記憶装置を介して探索可能なインデックスとして保持するステップと、
Java内の前記XML型を介して前記軽量XML記憶装置を参照し、前記XMLデータにアクセスするステップと、
を含むことを特徴とする方法。 - XMLとJavaとの間でデータをマーシャル及びアンマーシャルする方法において、
軽量XML記憶装置を介して、XMLデータをテキストまたはタグレベルにおいて保持するステップと、
Java内の前記XML型を介して前記軽量XML記憶装置を参照し、前記XMLデータにアクセスするステップと、
を含むことを特徴とする方法。 - 前記保持したXMLデータを、ツリーであることができる階層構造として表すステップ、
を更に含むことを特徴とする請求項41に記載の方法。 - 前記XML型を介して前記XMLデータに増分的にアクセスするステップ、
を更に含むことを特徴とする請求項41に記載の方法。 - 命令を格納している機械可読媒体において、前記命令はプロセッサによって実行された時に、システムに、
XMLスキーマを使用してXMLデータを定義させ、
Java内のXML型を介して前記XMLデータにアクセスさせ、
コンパイラを使用して前記XMLスキーマから前記XML型を生成させる、
ことを特徴とする機械可読媒体。 - 実行された時に、システムに、
JavaWebサービスメソッドの定義に基づいて前記XML型を生成させる、
命令を更に含むことを特徴とする請求項44に記載の機械可読媒体。 - 実行された時に、システムに、
定義ファイルに基づいて前記XML型を生成させる、
命令を更に含むことを特徴とする請求項44に記載の機械可読媒体。 - 実行された時に、システムに、
コンパイラを使用してJavaプロジェクトを1またはそれ以上の正規Java型内へコンパイルさせる、
命令を更に含むことを特徴とする請求項44に記載の機械可読媒体。 - 実行された時に、システムに、
前記XML型を、前記XMLデータ内の何処をも読む可動カーソルとして使用させる、
命令を更に含むことを特徴とする請求項44に記載の機械可読媒体。 - 実行された時に、システムに、
前記XML型を、前記XMLデータの固定された部分を参照する不動値として使用させる、
命令を更に含むことを特徴とする請求項44に記載の機械可読媒体。 - 実行された時に、システムに、
前記XML型を、複数のJavaコンポーネントの間で共用させる、
命令を更に含むことを特徴とする請求項44に記載の機械可読媒体。 - 実行された時に、システムに、
前記XML型を介してJava内の前記XMLデータを更新させる、
命令を更に含むことを特徴とする請求項44に記載の機械可読媒体。 - 実行された時に、システムに、
正規Java型メソッドを使用してJavaデータにアクセスさせ、更新させる、
命令を更に含むことを特徴とする請求項44に記載の機械可読媒体。 - 実行された時に、システムに、
前記XML型を介してデータベースにアクセスさせ、更新させる、
命令を更に含むことを特徴とする請求項44に記載の機械可読媒体。 - 実行された時に、システムに、
前記XML型を介して、XMLデータの問合わせ、XML型間の変換、及びXMLデータ文書を通しての繰り返しを含む複数のXMLデータ操作を使用させる、
命令を更に含むことを特徴とする請求項44に記載の機械可読媒体。 - 実行された時に、システムに、
XMLスキーマを介してXMLデータのデータ型及び範囲に関する制約を含む前記XMLデータの正当な型を定義させる、
命令を更に含むことを特徴とする請求項44に記載の機械可読媒体。 - 実行された時に、システムに、
前記XMLスキーマから前記XMLデータの正当な型についての前記XML型に関する制約を生成させる、
命令を更に含むことを特徴とする請求項55に記載の機械可読媒体。 - 実行された時に、システムに、
前記XML型に関する制約を使用して前記XML型を検査させる、
命令を更に含むことを特徴とする請求項55に記載の機械可読媒体。 - 命令を格納している機械可読媒体において、前記命令はプロセッサによって実行された時に、システムに、
Java型を使用させ、
Java内のXMLデータにアクセスすることができるJava型であるXML型を使用させ、
XML変換を介してソース型をターゲット型に変換させ、
前記ソース型及びターゲット型は、前記XML型または前記Java型の何れであることもできる、
ことを特徴とする機械可読媒体。 - 実行された時に、システムに、
XML変換のグローバルレジストリを介してソース型とターゲット型との間の既存XML変換をルックアップさせる、
命令を更に含むことを特徴とする請求項58に記載の機械可読媒体。 - 実行された時に、システムに、
XML変換のライブラリを介してソース型とターゲット型との間の既存XML変換を名前によってルックアップさせる、
命令を更に含むことを特徴とする請求項58に記載の機械可読媒体。 - 命令を格納している機械可読媒体において、前記命令はプロセッサによって実行された時に、システムに、
軽量XML記憶装置を介して前記XMLデータを探索可能なインデックスとして保持させ、
Java内の前記XML型を介して前記軽量XML記憶装置を参照させ、前記XMLデータにアクセスさせる、
ことを特徴とする機械可読媒体。 - 命令を格納している機械可読媒体において、前記命令はプロセッサによって実行された時に、システムに、
軽量XML記憶装置を介してXMLデータをテキストまたはタグレベルにおいて保持させ、
Java内の前記XML型を介して前記軽量XML記憶装置を参照させ、前記XMLデータにアクセスさせる、
ことを特徴とする機械可読媒体。 - 実行された時に、システムに、
前記保持したXMLデータを、ツリーであることができる階層構造として表させる、
命令を更に含むことを特徴とする請求項62に記載の機械可読媒体。 - 実行された時に、システムに、
前記XML型を介して前記XMLデータに増分的にアクセスさせる、
命令を更に含むことを特徴とする請求項62に記載の機械可読媒体。 - XMLとJavaとの間でデータをマーシャル及びアンマーシャルするためのシステムにおいて、
XMLスキーマを使用してXMLデータを定義する手段と、
Java内のXML型を介して前記XMLデータにアクセスする手段と、
コンパイラを使用して前記XMLスキーマからXML型を生成する手段と、
を備えていることを特徴とするシステム。 - 伝送媒体内に実現されているコンピュータデータ信号において、
XMLスキーマを使用してXMLデータを定義させる命令を含むコードセグメントと、
Java内のXML型を介して前記XMLデータにアクセスさせる命令を含むコードセグメントと、
コンパイラを使用して前記XMLスキーマから前記XML型を生成させる命令を含むコードセグメントと、
を含むことを特徴とするコンピュータデータ信号。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US44267303P | 2003-01-24 | 2003-01-24 | |
US10/762,814 US7650591B2 (en) | 2003-01-24 | 2004-01-22 | Marshaling and un-marshaling data types in XML and Java |
PCT/US2004/001827 WO2004068292A2 (en) | 2003-01-24 | 2004-01-23 | Xml types in java |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006516781A true JP2006516781A (ja) | 2006-07-06 |
Family
ID=32829798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006502954A Pending JP2006516781A (ja) | 2003-01-24 | 2004-01-23 | Java内のxml型 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7650591B2 (ja) |
EP (1) | EP1588235A4 (ja) |
JP (1) | JP2006516781A (ja) |
AU (1) | AU2004208330B2 (ja) |
WO (1) | WO2004068292A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101847863B1 (ko) | 2016-09-12 | 2018-04-11 | 한국철도기술연구원 | 철도 안전 데이터 통합 전송을 위한 변환 장치 및 방법 |
Families Citing this family (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7552443B2 (en) | 2001-10-18 | 2009-06-23 | Bea Systems, Inc. | System and method for implementing an event adapter |
US7516447B2 (en) | 2002-02-22 | 2009-04-07 | Bea Systems, Inc. | Methods and apparatus for building, customizing and using software abstractions of external entities |
US7257645B2 (en) * | 2002-05-01 | 2007-08-14 | Bea Systems, Inc. | System and method for storing large messages |
US8135772B2 (en) | 2002-05-01 | 2012-03-13 | Oracle International Corporation | Single servlets for B2B message routing |
US7519976B2 (en) * | 2002-05-01 | 2009-04-14 | Bea Systems, Inc. | Collaborative business plug-in framework |
US7165249B2 (en) * | 2002-05-02 | 2007-01-16 | Bea Systems, Inc. | Systems and methods for modular component deployment |
US7350184B2 (en) | 2002-05-02 | 2008-03-25 | Bea Systems, Inc. | System and method for enterprise application interactions |
US7676538B2 (en) | 2002-05-02 | 2010-03-09 | Bea Systems, Inc. | Systems and methods for application view transactions |
US20040167915A1 (en) * | 2003-02-25 | 2004-08-26 | Bea Systems, Inc. | Systems and methods for declaratively transforming data objects between disparate representations |
US7293038B2 (en) | 2003-02-25 | 2007-11-06 | Bea Systems, Inc. | Systems and methods for client-side filtering of subscribed messages |
US7752599B2 (en) * | 2003-02-25 | 2010-07-06 | Bea Systems Inc. | Systems and methods extending an existing programming language with constructs |
US7774697B2 (en) * | 2003-02-25 | 2010-08-10 | Bea Systems, Inc. | System and method for structuring distributed applications |
US7650276B2 (en) | 2003-02-26 | 2010-01-19 | Bea Systems, Inc. | System and method for dynamic data binding in distributed applications |
US7299454B2 (en) * | 2003-02-26 | 2007-11-20 | Bea Systems, Inc. | Method for multi-language debugging |
US8032860B2 (en) | 2003-02-26 | 2011-10-04 | Oracle International Corporation | Methods for type-independent source code editing |
US7707564B2 (en) | 2003-02-26 | 2010-04-27 | Bea Systems, Inc. | Systems and methods for creating network-based software services using source code annotations |
US7650592B2 (en) | 2003-03-01 | 2010-01-19 | Bea Systems, Inc. | Systems and methods for multi-view debugging environment |
US20040194057A1 (en) * | 2003-03-25 | 2004-09-30 | Wolfram Schulte | System and method for constructing and validating object oriented XML expressions |
US7389498B2 (en) * | 2003-03-25 | 2008-06-17 | Microsoft Corporation | Core object-oriented type system for semi-structured data |
US20040193575A1 (en) * | 2003-03-25 | 2004-09-30 | Chia-Hsun Chen | Path expressions and SQL select statement in object oriented language |
US7366722B2 (en) * | 2003-05-15 | 2008-04-29 | Jp Morgan Chase Bank | System and method for specifying application services and distributing them across multiple processors using XML |
US20050005158A1 (en) * | 2003-07-02 | 2005-01-06 | Eyal Alaluf | Method for compiling an active server page (ASP).Net Web service into a java compliant Web service |
US7590643B2 (en) * | 2003-08-21 | 2009-09-15 | Microsoft Corporation | Systems and methods for extensions and inheritance for units of information manageable by a hardware/software interface system |
US20050246304A1 (en) * | 2004-04-30 | 2005-11-03 | Microsoft Corporation | End-user application customization using rules |
JP2007537512A (ja) * | 2004-04-30 | 2007-12-20 | マイクロソフト コーポレーション | エンドユーザルールロジックを定義し、実行するルールフレームワーク |
US7912863B1 (en) * | 2004-07-30 | 2011-03-22 | Microsoft Corporation | Compositional lifting of operations over structural types |
US7774376B1 (en) | 2004-07-30 | 2010-08-10 | Microsoft Corporation | Type-system extensions for object-oriented language based on coercive subtyping with restrictions |
US7827197B2 (en) * | 2004-12-02 | 2010-11-02 | International Business Machines Corporation | Method for providing a pluggable custom data binding system |
US20060195411A1 (en) * | 2005-02-28 | 2006-08-31 | Microsoft Corporation | End user data activation |
US7949941B2 (en) * | 2005-04-22 | 2011-05-24 | Oracle International Corporation | Optimizing XSLT based on input XML document structure description and translating XSLT into equivalent XQuery expressions |
US20060242187A1 (en) * | 2005-04-26 | 2006-10-26 | Michael Scharf | Type safe data proxy |
US7721270B2 (en) * | 2005-07-26 | 2010-05-18 | Informatica Corporation | Information converter and a method for transforming information |
US20070061779A1 (en) * | 2005-09-13 | 2007-03-15 | Bernd Dowedeit | Method and System and Computer Program Product For Maintaining High Availability Of A Distributed Application Environment During An Update |
US9454616B2 (en) | 2005-09-28 | 2016-09-27 | Sap Se | Method and system for unifying configuration descriptors |
US20070073771A1 (en) | 2005-09-28 | 2007-03-29 | Baikov Chavdar S | Method and system for directly mapping web services interfaces and java interfaces |
US8250522B2 (en) * | 2005-09-28 | 2012-08-21 | Sap Ag | Method and system for generating a web services meta model on the java stack |
US7913223B2 (en) * | 2005-12-16 | 2011-03-22 | Dialogic Corporation | Method and system for development and use of a user-interface for operations, administration, maintenance and provisioning of a telecommunications system |
US20070153342A1 (en) * | 2006-01-05 | 2007-07-05 | Sand Anne R | Display and editing of documents described by schemas |
US8429526B2 (en) * | 2006-04-10 | 2013-04-23 | Oracle International Corporation | Efficient evaluation for diff of XML documents |
US8082493B2 (en) * | 2006-04-10 | 2011-12-20 | Oracle International Corporation | Streaming XML patch |
US20070255843A1 (en) * | 2006-04-28 | 2007-11-01 | Zubev Alexander I | Configuration of clients for multiple computer services |
US7587425B2 (en) | 2006-04-28 | 2009-09-08 | Sap Ag | Method and system for generating and employing a dynamic web services invocation model |
US8099709B2 (en) * | 2006-04-28 | 2012-01-17 | Sap Ag | Method and system for generating and employing a dynamic web services interface model |
US20070255719A1 (en) * | 2006-04-28 | 2007-11-01 | Sap Ag | Method and system for generating and employing a generic object access model |
US7818331B2 (en) * | 2006-04-28 | 2010-10-19 | Sap Ag | Retrieval of computer service type metadata |
US20070255720A1 (en) * | 2006-04-28 | 2007-11-01 | Sap Ag | Method and system for generating and employing a web services client extensions model |
US7882429B2 (en) * | 2006-06-05 | 2011-02-01 | International Business Machines Corporation | High-level virtual machine for fast XML parsing and validation |
US7991799B2 (en) * | 2006-06-05 | 2011-08-02 | International Business Machines Corporation | Schema specific parser generation |
US7802240B2 (en) * | 2006-06-26 | 2010-09-21 | Oracle America, Inc. | Mechanism for compiling programs |
US7405677B2 (en) * | 2006-08-08 | 2008-07-29 | International Business Machines Corporation | Apparatus, system, and method for incremental encoding conversion of XML data using Java |
US7631003B2 (en) * | 2007-02-20 | 2009-12-08 | Microsoft Corporation | Automated transformation for style normalization of schemas |
US7962889B2 (en) * | 2007-07-31 | 2011-06-14 | Novell, Inc. | Techniques for instantiating and configuring projects |
US8626720B2 (en) * | 2008-02-11 | 2014-01-07 | International Business Machines Corporation | System and method of reconstructing complex custom objects |
US8276111B2 (en) | 2008-12-19 | 2012-09-25 | Microsoft Corporation | Providing access to a dataset in a type-safe manner |
US8667460B2 (en) * | 2009-07-24 | 2014-03-04 | Ensequence, Inc. | Method for application authoring employing a child application template derived from a master application template |
US20110023022A1 (en) * | 2009-07-24 | 2011-01-27 | Ensequence, Inc. | Method for application authoring employing an application template stored in a database |
US20110022603A1 (en) * | 2009-07-24 | 2011-01-27 | Ensequence, Inc. | Method and system for authoring and distributing multiple application versions based on audience qualifiers |
US8682945B2 (en) * | 2009-07-24 | 2014-03-25 | Ensequence, Inc. | Method and system for authoring multiple application versions based on audience qualifiers |
US8307020B2 (en) | 2009-07-24 | 2012-11-06 | Ensequence, Inc. | Method for distributing a certified application employing a pre-certified master application template |
US8671124B2 (en) * | 2009-07-24 | 2014-03-11 | Ensequence, Inc. | Method for application authoring employing a pre-certified master application template |
US8341154B2 (en) * | 2009-10-28 | 2012-12-25 | Microsoft Corporation | Extending types hosted in database to other platforms |
US20110161325A1 (en) * | 2009-12-31 | 2011-06-30 | Ego7 Llc | System, method and computer-readable storage medium for generation and remote content management of compiled files |
US8955043B2 (en) * | 2010-01-27 | 2015-02-10 | Microsoft Corporation | Type-preserving compiler for security verification |
US20110246870A1 (en) * | 2010-04-02 | 2011-10-06 | Microsoft Corporation | Validating markup language schemas and semantic constraints |
US20120159306A1 (en) * | 2010-12-15 | 2012-06-21 | Wal-Mart Stores, Inc. | System And Method For Processing XML Documents |
US9047095B2 (en) * | 2011-07-12 | 2015-06-02 | Sap Se | Embedding of a non-imperative programming language for data transformation operations within an imperative programming language |
US9430253B2 (en) * | 2011-09-25 | 2016-08-30 | Sap Se | Reusable and late addition enabled XML data binding |
US9176712B2 (en) | 2013-03-14 | 2015-11-03 | Oracle International Corporation | Node Grouped Data Marshalling |
US10296618B1 (en) * | 2013-05-20 | 2019-05-21 | EMC IP Holding Company LLC | Storage system query mechanism and techniques |
US8954441B1 (en) | 2014-01-02 | 2015-02-10 | Linkedin Corporation | Graph-based system and method of information storage and retrieval |
US9984175B2 (en) | 2015-09-30 | 2018-05-29 | International Business Machines Corporation | Mapping non-generic markup language elements to generic object-oriented programming language objects |
US11972308B2 (en) | 2021-03-19 | 2024-04-30 | Oracle International Corporation | Determining different resolution states for a parametric constant in different contexts |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030014438A1 (en) * | 2001-04-27 | 2003-01-16 | Sylvain Devillers | Internal data structure for an application intended to interface with an interface for an HTML or XML-type document |
Family Cites Families (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5187790A (en) | 1989-06-29 | 1993-02-16 | Digital Equipment Corporation | Server impersonation of client processes in an object based computer operating system |
US6012083A (en) | 1996-09-24 | 2000-01-04 | Ricoh Company Ltd. | Method and apparatus for document processing using agents to process transactions created based on document content |
US5961593A (en) | 1997-01-22 | 1999-10-05 | Lucent Technologies, Inc. | System and method for providing anonymous personalized browsing by a proxy system in a network |
US6230309B1 (en) | 1997-04-25 | 2001-05-08 | Sterling Software, Inc | Method and system for assembling and utilizing components in component object systems |
US6070184A (en) | 1997-08-28 | 2000-05-30 | International Business Machines Corporation | Server-side asynchronous form management |
US6067623A (en) | 1997-11-21 | 2000-05-23 | International Business Machines Corp. | System and method for secure web server gateway access using credential transform |
US6148336A (en) | 1998-03-13 | 2000-11-14 | Deterministic Networks, Inc. | Ordering of multiple plugin applications using extensible layered service provider with network traffic filtering |
US6850893B2 (en) | 2000-01-14 | 2005-02-01 | Saba Software, Inc. | Method and apparatus for an improved security system mechanism in a business applications management system platform |
US6338064B1 (en) | 1998-05-14 | 2002-01-08 | International Business Machines Corporation | Method for enabling a web server running a “closed” native operating system to impersonate a user of a web client to obtain a protected file |
US6721740B1 (en) | 1998-05-29 | 2004-04-13 | Sun Microsystems, Inc. | Method and apparatus of performing active update notification |
US6237135B1 (en) | 1998-06-18 | 2001-05-22 | Borland Software Corporation | Development system with visual design tools for creating and maintaining Java Beans components |
US6185734B1 (en) | 1998-07-21 | 2001-02-06 | Hewlett-Packard Company | Hierarchical registry structure for managing multiple versions of software components |
US6212546B1 (en) | 1998-10-01 | 2001-04-03 | Unisys Corporation | Providing a modular gateway architecture which isolates attributes of the client and server systems into independent components |
US6480865B1 (en) * | 1998-10-05 | 2002-11-12 | International Business Machines Corporation | Facility for adding dynamism to an extensible markup language |
US6367068B1 (en) | 1998-11-13 | 2002-04-02 | Microsoft Corporation | Dynamic parsing |
US6385724B1 (en) | 1998-11-30 | 2002-05-07 | Microsoft Corporation | Automatic object caller chain with declarative impersonation and transitive trust |
US6795967B1 (en) | 1999-01-26 | 2004-09-21 | Microsoft Corporation | Changing user identities without closing applications |
WO2000045260A1 (fr) | 1999-01-29 | 2000-08-03 | Fujitsu Limited | Compilateur, procede de compilation et support de stockage sur lequel est stocke un programme pour la mise en oeuvre dudit procede |
US6243737B1 (en) | 1999-04-09 | 2001-06-05 | Translink Software, Inc. | Method and apparatus for providing direct transaction access to information residing on a host system |
US7165041B1 (en) | 1999-05-27 | 2007-01-16 | Accenture, Llp | Web-based architecture sales tool |
US6662357B1 (en) | 1999-08-31 | 2003-12-09 | Accenture Llp | Managing information in an integrated development architecture framework |
US6802000B1 (en) | 1999-10-28 | 2004-10-05 | Xerox Corporation | System for authenticating access to online content referenced in hardcopy documents |
US20020010781A1 (en) | 1999-12-30 | 2002-01-24 | Tuatini Jeffrey Taihana | Shared service messaging models |
US20020049788A1 (en) | 2000-01-14 | 2002-04-25 | Lipkin Daniel S. | Method and apparatus for a web content platform |
US6643652B2 (en) | 2000-01-14 | 2003-11-04 | Saba Software, Inc. | Method and apparatus for managing data exchange among systems in a network |
ATE333675T1 (de) * | 2000-05-09 | 2006-08-15 | Sun Microsystems Inc | Aufruf einer entfernten funktion mit nachrichten in einer verteilten rechnerumgebung |
US6792466B1 (en) * | 2000-05-09 | 2004-09-14 | Sun Microsystems, Inc. | Trusted construction of message endpoints in a distributed computing environment |
US6918084B1 (en) * | 2000-05-09 | 2005-07-12 | Sun Microsystems, Inc. | Spawning new repository spaces using information provided in advertisement schema messages |
US7080078B1 (en) * | 2000-05-09 | 2006-07-18 | Sun Microsystems, Inc. | Mechanism and apparatus for URI-addressable repositories of service advertisements and other content in a distributed computing environment |
US6973493B1 (en) * | 2000-05-09 | 2005-12-06 | Sun Microsystems, Inc. | Mechanism and apparatus for security of newly spawned repository spaces in a distributed computing environment |
US6950875B1 (en) * | 2000-05-09 | 2005-09-27 | Sun Microsystems, Inc. | Message conductors in a distributed computing environment |
US6970869B1 (en) * | 2000-05-09 | 2005-11-29 | Sun Microsystems, Inc. | Method and apparatus to discover services and negotiate capabilities |
US6850979B1 (en) * | 2000-05-09 | 2005-02-01 | Sun Microsystems, Inc. | Message gates in a distributed computing environment |
US6922685B2 (en) | 2000-05-22 | 2005-07-26 | Mci, Inc. | Method and system for managing partitioned data resources |
US7089584B1 (en) | 2000-05-24 | 2006-08-08 | Sun Microsystems, Inc. | Security architecture for integration of enterprise information system with J2EE platform |
US6832238B1 (en) | 2000-05-24 | 2004-12-14 | Sun Microsystems, Inc. | Local transaction management |
US6836883B1 (en) | 2000-06-21 | 2004-12-28 | Microsoft Corporation | Method and system for compiling multiple languages |
US6721779B1 (en) | 2000-07-07 | 2004-04-13 | Softwired Ag | Messaging proxy system |
US7752214B2 (en) | 2000-09-01 | 2010-07-06 | Op40, Inc. | Extended environment data structure for distributed digital assets over a multi-tier computer network |
US6594823B1 (en) * | 2000-09-13 | 2003-07-15 | Microsoft Corporation | Method and system for representing a high-level programming language data structure in a mark-up language |
WO2002023336A1 (en) * | 2000-09-14 | 2002-03-21 | Bea Systems, Inc. | Xml-based graphical user interface application development toolkit |
US20020078365A1 (en) | 2000-12-15 | 2002-06-20 | International Business Machines Corporation | Method for securely enabling an application to impersonate another user in an external authorization manager |
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 |
GB0108924D0 (en) | 2001-04-10 | 2001-05-30 | Ibm | Installation of a data processing solution |
US20040015840A1 (en) * | 2001-04-19 | 2004-01-22 | Avaya, Inc. | Mechanism for converting between JAVA classes and XML |
US20010029604A1 (en) * | 2001-04-27 | 2001-10-11 | Jacob Dreyband | Descriptive data construct mapping method and apparatus |
US7152090B2 (en) | 2001-06-01 | 2006-12-19 | Sun Microsystems, Inc. | Metadata-aware enterprise application integration framework for application server environment |
US7761319B2 (en) | 2001-06-08 | 2010-07-20 | Click Acqusitions, Inc. | Supply chain management |
US7437710B2 (en) | 2001-07-02 | 2008-10-14 | Bea Systems, Inc. | Annotation based development platform for stateful web services |
US6754884B1 (en) * | 2001-07-02 | 2004-06-22 | Bea Systems, Inc. | Programming language extensions for processing XML objects and related applications |
US6918107B2 (en) * | 2001-07-02 | 2005-07-12 | Bea Systems, Inc. | Programming language extensions for processing data representation language objects and related applications |
US6799718B2 (en) | 2001-07-10 | 2004-10-05 | Borland Software Corp. | Development assistance for mixed-language sources |
US6910041B2 (en) | 2001-08-23 | 2005-06-21 | International Business Machines Corporation | Authorization model for administration |
CA2358681C (en) | 2001-10-12 | 2008-01-15 | Ibm Canada Limited-Ibm Canada Limitee | Resource adapter and integrated development environment |
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 |
US6859810B2 (en) * | 2001-12-10 | 2005-02-22 | Bea Systems, Inc. | Declarative specification and engine for non-isomorphic data mapping |
US6922827B2 (en) * | 2002-02-22 | 2005-07-26 | Bea Systems, Inc. | Iterative software development environment with prioritized build rules |
US7962925B2 (en) * | 2002-02-22 | 2011-06-14 | Oracle International Corporation | System and method for XML data binding |
US7043722B2 (en) * | 2002-07-31 | 2006-05-09 | Bea Systems, Inc. | Mixed language expression loading and execution methods and apparatuses |
US20040103406A1 (en) | 2002-11-21 | 2004-05-27 | International Business Machines Corporation | Method and apparatus for autonomic compiling of a program |
US7149752B2 (en) * | 2002-12-03 | 2006-12-12 | Jp Morgan Chase Bank | Method for simplifying databinding in application programs |
US7260599B2 (en) * | 2003-03-07 | 2007-08-21 | Hyperspace Communications, Inc. | Supporting the exchange of data by distributed applications |
US7260818B1 (en) | 2003-05-29 | 2007-08-21 | Sun Microsystems, Inc. | System and method for managing software version upgrades in a networked computer system |
US6859180B1 (en) * | 2003-09-15 | 2005-02-22 | The United States Of America As Represented By The Secretary Of The Navy | Gravity-actuated submarine antenna |
-
2004
- 2004-01-22 US US10/762,814 patent/US7650591B2/en active Active
- 2004-01-23 JP JP2006502954A patent/JP2006516781A/ja active Pending
- 2004-01-23 WO PCT/US2004/001827 patent/WO2004068292A2/en active Application Filing
- 2004-01-23 AU AU2004208330A patent/AU2004208330B2/en not_active Expired
- 2004-01-23 EP EP04704890A patent/EP1588235A4/en not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030014438A1 (en) * | 2001-04-27 | 2003-01-16 | Sylvain Devillers | Internal data structure for an application intended to interface with an interface for an HTML or XML-type document |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101847863B1 (ko) | 2016-09-12 | 2018-04-11 | 한국철도기술연구원 | 철도 안전 데이터 통합 전송을 위한 변환 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2004068292A2 (en) | 2004-08-12 |
EP1588235A4 (en) | 2010-05-19 |
AU2004208330A1 (en) | 2004-08-12 |
WO2004068292A3 (en) | 2005-12-22 |
AU2004208330A2 (en) | 2004-08-12 |
US20040216086A1 (en) | 2004-10-28 |
US7650591B2 (en) | 2010-01-19 |
AU2004208330B2 (en) | 2010-04-29 |
EP1588235A2 (en) | 2005-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006516781A (ja) | Java内のxml型 | |
US7496599B2 (en) | System and method for viewing relational data using a hierarchical schema | |
Bolton | Pure Corba | |
US7383255B2 (en) | Common query runtime system and application programming interface | |
US8180806B2 (en) | Mechanism for supporting indexed tagged content in a general purpose data store | |
US7676740B2 (en) | XML serialization and deserialization | |
US7240101B2 (en) | Method and apparatus for efficiently reflecting complex systems of objects in XML documents | |
US6523042B2 (en) | System and method for translating to and from hierarchical information systems | |
US7519606B2 (en) | Schema mapping specification framework | |
US20040015840A1 (en) | Mechanism for converting between JAVA classes and XML | |
US20060277170A1 (en) | Digital library system | |
US20040103071A1 (en) | Meta-model for associating multiple physical representations of logically equivalent entities in messaging and other applications | |
CN101290625A (zh) | 一种xml文档的存储和检索方法 | |
US20060005138A1 (en) | Template driven type and mode conversion | |
US7945893B2 (en) | Mapping web services description language documents to XQuery functions | |
US7702691B2 (en) | Systems and methods for EJB finders using SQL | |
US20090106309A1 (en) | Performing an Operation on an XML Database | |
Bakay et al. | The UDM framework | |
US7801856B2 (en) | Using XML for flexible replication of complex types | |
CN100346304C (zh) | 用于排列和解排列XML和Java中的数据类型的系统和方法 | |
Van Cappellen et al. | XQJ: XQuery Java API is completed | |
US7516159B2 (en) | Extension of XQuery in a high performance XML/XQuery database | |
Duftler et al. | Java™ APIs for WSDL (JWSDL) | |
Atterer | Efficient Storage of XML Data Streams |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090302 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090602 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100405 |