開発者や開発者のチームが扱う XQuery プログラムの数が増加するにつれ、また個々のクエリーが次第に複雑になるにつれ、当然ながらクエリーをモジュラー・コンポーネントに分解したくなります。XQuery モジュール・フィーチャーによって、一般的に使用される関数や変数を再利用可能なライブラリー・モジュールにグループ化することができます。XQuery 本体を含むメインの XQuery モジュールには、任意の数のライブラリー・モジュールをインポートすることができます。またライブラリー・モジュールに他のライブラリー・モジュールをインポートすることもできます。このフィーチャーにより、XQuery コードの共有や再利用が非常に柔軟にできるようになります。また新しい XModuleResolver インターフェースが API に追加されたことで、モジュールの解決プロセスをカスタマイズできるようになりました。このインターフェースの実装を XStaticContext に登録すると、デフォルトのモジュール解決動作をオーバーライドすることができます。そのため、さらにコードの共有が容易になります。ユーザーが XModuleResolver の実装を提供することにより、共有や再利用に最も便利な任意の場所にライブラリー・モジュールを保存しても、そのモジュールを容易に見つけられるようになるからです。
組み込み拡張機能関数フィーチャーにより、スタイルシートまたはクエリーの中で、1 つまたは複数の拡張機能関数を含む Java クラスに名前空間接頭辞を直接バインドすることができます。そしてこの接頭辞を呼び出し対象のメソッドの名前と組み合わせ、標準的な関数呼び出し構文を使ってこれらの関数を呼び出すことができます。XSLT/XQuery プロセッサーは関数呼び出しの中にある情報 (関数名や引数の数など) を使用し、そのメソッドを選択します。この方法により、拡張機能関数の宣言とバインドに必要な明示的な Java プログラミングの量を減らすことができます。またこの方法により、さらに再利用性を高めることができます。なぜなら、再利用可能なモジュールを使用するクエリーやスタイルシートは、これらのモジュールによって呼び出される拡張機能関数について認識する必要がなく、これらのモジュールに必要なクラスが実行時にクラスパスに存在することを保証しさえすればよいからです。
最後に紹介するフィーチャーとして、ランタイム・エラー・メッセージには、エラーが発生した場所のソース・ファイルの名前、行番号、列番号が含まれるようになりました。この機能は大規模なモジュールによるスタイルシートやクエリーの場合に特に便利です。そうしたスタイルシートやクエリーでは、「the value 'a' is not valid for the type xs:integer (値 ‘a’ は xs:integer 型には無効です)」といったエラーの原因を特定しようとする場合、非常に時間がかかる場合があったからです。また、(例えばモジュールを使用することによって) コードを共有していて問題が見つかった場合、そのことを適切な開発者やチームに遥かに効率的に伝えることが可能になり、さらにはサード・パーティーのコードに問題が見つかった場合には、適切な企業や組織に対して遥かに効率的に伝えることが可能になります。この新しいフィーチャーにより、開発者以外の人が本番環境で問題の診断をするのが従来よりも非常に容易になります。
全体として、この 3 つの新機能を組み合わせることで、開発者のエクスペリエンスが改善され、開発作業の効率が高まり、保守コストを削減することができるようになります。
学ぶために
- Feature Pack for XML 1.0.0.9 Technology Preview: IBM WebSphere Application Server を訪れ、今すぐ Feature Pack for XML の最新機能を調べてください。
- Feature Pack for XML, Version 1.0 を訪れ、Feature Pack for XML の最新のドキュメントを調べてください。
- 「分散オペレーティング・システムでのフィーチャー・パックのインストール」を参考に、この WebSphere Application Server フィーチャー・パックを IBM Installation Manager を使用してインストールしてください。IBM Installation Manager は多くの IBM ソフトウェア製品に使用される一般的なインストーラーです。
- 「z/OS システムでのフィーチャー・パックのインストールおよび構成」を参考に、システム修正変更プログラム/拡張機能 (SMP/E) を使用して WebSphere Application Server for z/OS バージョン 7.0 に Feature Pack for XML をインストールしてください。
- XQuery 1.0: An XML Query Language (W3C 勧告: 2011年1月) を読み、XQuery クエリー言語とそのモジュール、プロローグ、モジュールの宣言とインポートについて学んでください。
- Modules and Prologs (モジュールとプロローグ)
- Module Declaration (モジュールの宣言)
- Module Import (モジュールのインポート)
- developerWorks の XML ゾーンには XML の領域でのスキルを磨くためのリソースが豊富に用意されています。
- developerWorks の WebSphere ゾーンには WebSphere ソフトウェア・プラットフォームに関する技術リソースが豊富に用意されています。
- developerWorks の WebSphere Application Server ゾーンを訪れ、IBM WebSphere ソフトウェア・プラットフォームの基礎である WebSphere Application Server に関する情報を入手し、また SOA に必要なアプリケーション基盤として、セキュアかつスケーラブルでレジリエンシーを備えたアプリケーション基盤を実現してください。
- XML および関連技術において IBM 認定技術者になる方法については、IBM XML certification を参照してください。
- developerWorks の XML ゾーンを XML の技術ライブラリーとして利用してください。広範な話題を網羅した技術記事やヒント、チュートリアル、技術標準、および IBM Redbooks などが用意されています。また、他にも XML に関するヒント記事があります。
- My developerWorks で developerWorks のエクスペリエンスをパーソナライズしてください。
- developerWorks の Technical events and webcasts で最新情報を入手してください。
- developerWorks on Twitter で今すぐ developerWorks のツイートをフォローしてください。
- developerWorks podcasts で、ソフトウェア開発者のための興味深いインタビューや議論を聞いてください。
- developerWorks On demand demos をご覧ください。初心者のための製品インストール方法やセットアップのデモから、上級開発者のための高度な機能に至るまで、多様な話題が解説されています。
製品や技術を入手するために
- IBM 製品の評価版をダウンロードするか、あるいは IBM SOA Sandbox のオンライン試用版で、DB2、Lotus、Rational、Tivoli、WebSphere などが提供するアプリケーション開発ツールやミドルウェア製品を試してみてください。
議論するために
- XML zone discussion forums では XML に関する議論が行われています。
- developerWorks コミュニティーで開発者向けのブログ、フォーラム、グループ、ウィキなどを利用しながら、他の developerWorks ユーザーとやり取りしてください。