| Java との統合 |
Java 環境向けに設計されているインテル® XML ソフトウェア・スイート
インテル® XML ソフトウェア・スイートは、 Java ベースのアプリケーションおよびサーバー環境において、効率的な XML 処理を促進します。このソリューションにより、さまざまな形式の XML データに機能が提供されます。ソフトウェア・スイートは、標準 JAXP API を使用しており、コードまたは環境の変更をほとんど必要としない単純なドロップイン互換を実現します。
インテル® XML ソフトウェア・スイートには、 Java 環境向けに、標準 JAXP API インターフェイスと、 XML 処理を担う基盤の XML コアの 2 つのコンポーネントがあります。これらのコンポーネントは JNI* (Java Native Interface) を使用して通信します。パフォーマンスは、ネイティブコアで入力 XML データを処理することで向上します。この設計は、ほかのソリューションより、システムのメモリー使用量を減らすネイティブ・メモリー・プールを使用しています。この結果、メモリーアクセスのフラグメント化が減り、 Java 環境において XML ランタイム処理を行うための効率的なライブラリーを作成します。 |

図 2. JAXP 環境とインテル® XML ソフトウェア・スイートの関係
|
| インテル® XML ソフトウェア・スイート Java 環境版は、ネイティブ XML コアの上に構築されます。 Java 層では、 JAXP API とインターフェイスがネイティブエンジンとともに JNI (Java Native Interface) 上に実装されます。これらによりもたらされる XML 処理は、既存の Java ランタイム環境とドロップイン互換を保持しています。 |
| |
Java 環境におけるコードの簡単な統合
インテル® XML ソフトウェア・スイートは、 Java ランタイム環境における XML 処理で最高レベルのパフォーマンスを実現するよう設計されています。 |
| |
XML 処理用の Java API である JAXP は、 Java 環境における XML 処理のデファクト・スタンダードで、 Java ディストリビューションに含まれています。インテル® XML ソフトウェア・スイートには、 JAXP プラグインが含まれています。 JAXP 標準インターフェイスに準拠することで、ソフトウェア・スイートは、アプリケーション開発者を既存のコードに関わる実装のわずらわしさから解き放つと同時に、大幅なパフォーマンス向上を実現します。
このインターフェイスにより、プロセッサーからドロップイン置換することで、既存の Java ランタイム環境と互換性を保持した統合が可能です。インテル® XML ソフトウェア・スイートの互換性は、次の要件で定義されます。 |
JAXP 互換により、同じコンポーネントで統合された XML と同性能比を保持しながら、サードパーティー製の JAXP ソリューション ( 変換、検証、パーシングなど ) との統合が可能
|
XML プロセッサーのドロップイン互換
|
| インテル® XML ソフトウェア・スイートを JAXP インターフェイスとともに環境に実装するため、既存のアプリケーション・コードは最小限の変更のみか、または変更する必要がありません。コードレベルでは、 JAXP アーキテクチャーにより、 factory クラスとシステム・プロパティーを使用して、基盤の実装から簡単にリプレースすることができます。 |
具体的には、 JAXP は XML Factory 抽象クラスを提供し、静的関数 Factory.newInstance() から具象 Factory オブジェクトの作成を可能にします。これらの具象 Factory オブジェクトは、 XML 処理エンジンのインテル実装周辺のラッパーです。 |
| |
環境設定 - XML 変換の例
インテル® XML ソフトウェア・スイートのコンポーネントであるインテル® XSLT アクセラレーターは、 TransformerFactory のランタイム・セットアップを使用します。ランタイム環境を設定するには、 JDK ディレクトリー内の lib ディレクトリーの jaxp.properties を次のように編集します。 |
| javax.xml.transform.TransformerFactory=com.intel.xml.transform.TransformerFactoryImpl |
| アプリケーションが setProperty() 関数を使用して TransformerFactory を明示的にセットしている場合は、その関数は次のメソッドを起動して、 TransformerFactory を明示的にセットする必要があります。 |
| System.setProperty("javax.xml.transform.TransformerFactory", “ com.intel.xml.transform.TransformerFactoryImpl ” ); |
| |
| C/C++ との統合 |
| C/C++ 環境向けに設計されているインテル® XML ソフトウェア・スイート
インテル® XML ソフトウェア・スイートは、 C/C++ アプリケーションにシームレスに統合できる柔軟で強力な C/C++ XML 関数群を提供します。インテルは、既存の XML アプリケーションをサポートしたり、新しい XML アプリケーションをカスタマイズし作成する上で必要なすべての機能を提供する、単純で簡単に使用できる C/C++ API を開発しました。
インテル® XML ソフトウェア・スイートには、 C/C++ 環境向けに 2 つのコンポーネント − C/C++ API インターフェイスと、 XML 処理を担う基盤の XML コア − があります。これらのコンポーネントは、インテルの C/C++ インターフェイスを使用して通信します。パフォーマンスは、ライブラリー・コアで XML データを処理することで向上します。また、この設計では、高速な内部クロスファンクション通信と大規模なファイルの処理に、効率的な内部ドキュメント形式を使用しています。この結果、 C/C++ 環境で複雑な XML 処理を要求するアプリケーションと環境でパフォーマンスが向上します。 |

図 3. C/C++ 環境とインテル® XML ソフトウェア・スイートの関係 |
| |
C/C++ 環境におけるコードの簡単な統合
インテル® XML ソフトウェア・スイートは、 C/C++ 向けに、 SAX と DOM の 2 つの主要な API 仕様を実装しています。 |
SAX 実装は、 XML データを処理し、ドキュメントの特定部分 ( 例えば、テキストノードや処理命令など ) が見つかった場合にハンドラー関数を呼び出す、イベントベースのアプローチを定義します。 |
DOM 実装は、 XML ドキュメントを検索するツリーベースのアプローチを定義します。 XML データを処理し、ランタイム時に検索可能なドキュメントのオブジェクト指向の階層表現を作成します。
|
| |
SAX モードのパーシング方法
インテル® XML ソフトウェア・スイートのコンポーネントであるインテル® XML パーシング・アクセラレーターは、 SAX2.0 準拠のインターフェイス SAXEventHandler を提供し、簡単なアプリケーションの統合を実現します。パーシング方法と実装手順は次のとおりです。
1) イベント・ハンドラー・クラス SAXEventHandler を継承します。
2) SAXFactory オブジェクトを取得します。
3) SAXParser パーサーを作成します。
4) setEventHandler メソッドを使用してイベントハンドラーを登録します。
5) parseURI() を使用して SAX パーシング処理を実行します。
6) releaseSaxParser() を使用してパーサーを解放します。 |
| |
|
|
|