ヘッダーをスキップ
Oracle Application Server Wireless開発者ガイド
10gリリース2(10.1.2)
B15742-02
  目次
目次
索引
索引

戻る
戻る
次へ
次へ
 

14 Webスクレイピング

この章では、Webコンテンツをクリップおよびスクレイプし、ワイヤレス・デバイスで使用できるWireless Webクリッピング・アプリケーションを作成する方法について説明します。この章の各項の内容は、次のとおりです。

14.1 Webスクレイピングの概要

Web上で使用可能なアプリケーションの大多数は、コンテンツを特定タイプのデバイスに固有のフォーマットでレンダリングします。Webスクレイピングを使用すると、特定のマークアップ言語用に開発されたアプリケーションを他のデバイスで使用するように再フォーマットできます。特に、PCブラウザ用に開発されHTMLを使用してレンダリングされるWebアプリケーションは、OracleAS Wirelessを介してモバイル機器へ配布されるようスクレイプできます。

WMLアプリケーションを再利用するには、WML Translatorを使用します。

14.2 Oracle Application Server Webクリッピングの概要

Wireless Webクリッピング・サーバーを使用すると、OracleAS Wireless管理者は、Webコンテンツをクリップおよびスクレイプして、Webクリッピング・アプリケーションを作成できます。このアプリケーションはWireless Webクリッピング・サーバーのリポジトリに永続的に保存されます。次に、Wireless Webクリッピング・サーバーはこれらの定義に基づいてWebクリッピング・アプリケーションをホストします。次に、これらのアプリケーションがOracleAS Wirelessによって配信されます。

OracleAS Wirelessとの関係で見たWireless Webクリッピング・サーバーのアーキテクチャを図14-1に示します。

図14-1 OracleAS Wirelessコアに関連するWebクリッピング・サーバーのアーキテクチャ

図14-1の説明は次のとおりです
図14-1「OracleAS Wirelessコアに関連するWebクリッピング・サーバーのアーキテクチャ」の説明

Webクリッピングの定義は、URLおよびスクレイピングの命令で構成されており、これらを使用して、再利用の基となるWebサイトに対してスクレイピング・アクションを動的に再実行できます。Wireless Webクリッピング・サーバーのリポジトリにはこれらの命令の定義が格納されており、Wirelessリポジトリには、Wireless Webクリッピング・アプリケーションにアクセスするための情報が格納されています。

Wireless Webクリッピング・サーバーはこれらの定義に基づいてWebクリッピング・アプリケーションをホストし、次に、これらのアプリケーションがOracleAS Wirelessによって配信されます。

モバイル・ワイヤレス・デバイスを使用しているユーザーが、特定のWebクリッピング・アプリケーションの表示をリクエストすると、図14-2に示すように、そのアプリケーションはHTTPアダプタによって取得され、処理およびモバイル・デバイスへの転送のためにOracleAS Wirelessに配信されます。

図14-2 Webクリッピング・アプリケーション

図14-2の説明は次のとおりです
図14-2「Webクリッピング・アプリケーション」の説明

Webクリッピング・コンテンツは、インターネットまたは大きな組織全体に分散しているイントラネットのWebサイトからクリップしてスクレイプできます。OracleAS Wirelessを使用すると、Webクリッピングを使用してWireless Webクリッピング・アプリケーションを生成し、Wirelessリポジトリに保存できます。

また、Webクリッピングを最大限に利用できるような、カスタマイズされたワイヤレス・アプリケーションを作成できます。開発者は、ユーザーのニーズを最も満たせる開発環境を最初に見極めます。選択した開発環境に応じて、必要なアーカイブ・ファイルをその開発環境にダウンロードしてデプロイする必要があります。次に、必要なコンテンツをクリップします。その後、JavaまたはJSPスタブ・ファイルをダウンロードして開発を開始します。

図14-3にWebクリッピング・サーバーの詳細を示します。

図14-3 Webクリッピング・サーバー・アーキテクチャの詳細

図14-3の説明は次のとおりです
図14-3「Webクリッピング・サーバー・アーキテクチャの詳細」の説明

各開発環境で使用可能なOracleAS Wirelessのアーカイブ・ファイルを次に示します。

J2EEまたはJ2SE環境では、アプリケーションをスタンドアロンJavaアプリケーションまたはその他のJavaServer Pages(JSP)アプリケーションの一部としてカスタマイズしてデプロイできます。あるいは、これらのアプリケーションをワイヤレス・アプリケーションに作成してWirelessリポジトリに格納できます。また、このコンテンツをクリップすることもできます。

Webクリッピング・アプリケーションを作成する場合、OracleAS Wireless管理者は、Webブラウザを使用して必要なコンテンツを含むWebページにナビゲートします。次に、そのページのクリップおよびスクレイプの対象部分を選択して属性を設定します。Webクリッピングでフォーム・ベースの送信を使用する場合は、入力パラメータを表示し、アプリケーションを保存した後、そのアプリケーションをテストします。

Webクリッピング・アプリケーションは、次の操作をサポートしています。

次に、Webクリッピングの既知の制限を示します。

Webクリッピング・サーバーは、クリップしたWebコンテンツをWebクリッピング・アプリケーションのコンテンツとして提供およびレンダリングします。Webクリッピング・スタジオを使用すると、OracleAS Wireless管理者およびワイヤレス・アプリケーション・ユーザーは次のことを実行できます。

デフォルトでは、Webクリッピング・アプリケーションの定義はすべて、OracleASインフラストラクチャ・データベースに永続的に格納されます。パスワードなどの保護情報は、データ暗号化規格(DES)に従い、Oracle暗号化テクノロジを使用して暗号化された形式で格納されます。

14.3 OracleAS Webクリッピング・アプリケーションの作成

Webクリッピング・サーバーは、OracleAS Wirelessの一部として自動的にインストールされます。OracleAS Wireless管理者は、OracleAS Wirelessサービス・マネージャの「アプリケーション: フォルダの参照」ページの下のリポジトリにあるWebクリッピング・サーバーにアクセスできます。

開始前に一部の構成タスクの実行が必要な場合があります。詳細は、14.6項「Webスクレイピングの管理」を参照してください。

Webクリッピングを作成する手順は、次のとおりです。

  1. OracleAS Wirelessサービス・マネージャにOracleAS Wireless管理者でログインします。

  2. 「サービス」タブをクリックします。

  3. 「アプリケーション」タブで「アプリケーションの作成」をクリックします。

  4. 「作成するアプリケーションの選択」ページの「Webクリッピング・アプリケーション」をクリックしてから、「作成」をクリックします。

  5. 「Webクリッピングの管理」ページで「Webクリッピングの追加」をクリックします。Webクリッピング・スタジオの「Webクリッピングの検索」ページが表示されます。

  6. 「Webクリッピングの検索」ページの「URLロケーション」フィールドに、クリップするWebページのロケーションを入力します。この例では、図14-4のようにhttp://oraclestore.oracle.comを開始点とします。

    図14-4 Webクリッピングの検索

    図14-4の説明は次のとおりです
    図14-4「Webクリッピングの検索」の説明


    注意:

    WIDLファイルをインポートしてWebクリッピングを作成するには、「WIDLからインポート」タブを選択します。詳細は、14.4項「既存のトランスコーディング・テクノロジからの移行」を参照してください。

  7. 「開始」をクリックします。

    Webクリッピング・スタジオに、ストアの選択を求めるターゲット・ページが表示されます。

  8. 国と言語を選択します。たとえば、「アメリカ合衆国」「英語」をクリックします。

    図14-5に示すように、選択した国のOracleStoreのWebページが、Webクリッピング・スタジオ内に表示されます。

    図14-5 Webクリッピング・スタジオでのORACLESTORE.ORACLE.COMの参照

    図14-5の説明は次のとおりです
    図14-5「Webクリッピング・スタジオでのORACLESTORE.ORACLE.COMの参照」の説明

    クリップするコンテンツを参照するためにWebページのハイパーリンクをクリックすると、使用したナビゲーション・リンクがWebクリッピング・スタジオに記録されます。


    注意:

    最終的にWebクリッピングに貢献しない参照操作は、すべて破棄されます。したがって、将来のテスト・モード時の再生用に記録されるのは重要な参照操作のみです。破棄されたリンクにはアクセスしません。


    注意:

    HTTP Basic認証またはDigest認証が必要なWebサイトの場合は、ユーザー名とパスワード情報をリクエストするフォームが表示されます。このエンコードされた認証情報は、参照情報の一部として記録されます。

    この例では、「クイック検索」フィールドにJ2EEと入力し、「実行」をクリックします。図14-6のように、入力した名前を含むすべての製品が検索結果に表示されます。

    図14-6 クリップするコンテンツの参照

    図14-6の説明は次のとおりです
    図14-6「クリップするコンテンツの参照」の説明

  9. 参照モードのWebクリッピング・スタジオで、クリップするコンテンツを検索した後は、「セクション」をクリックします。これによって、図14-7のように、ターゲットのWebページが複数のクリップ可能なセクションに分割されます。

    図14-7 クリップ可能セクションへのページの分割

    図14-7の説明は次のとおりです
    図14-7「クリップ可能セクションへのページの分割」の説明


    注意:

    「セクション」をクリックした後は、表示されたページでリンクを参照することはできません。ナビゲーションを続行する場合は、「セクション解除」をクリックします。

  10. セクション・モードのWebクリッピング・スタジオで、クリップするWebコンテンツのセクションを見つけ、「選択」をクリックします。

    選択可能なセクション数を増やすには、「セクション縮小」をクリックします。たとえば、「セクション縮小」をクリックして、ネストした表の1レベル下にドリルダウンします。選択可能なセクション数を減らすには、「セクション拡大」をクリックします。


    注意:

    クリックできるのは、1つの「選択」セクションのみです。クリッピングとして選択されるのは、選択した「選択」セクション・アイコンの直下のコンテンツのみです。プレビュー・モードを続行すると、クリップしたコンテンツを表示できます。選択したセクションが必要なセクションでなかった場合は、「選択解除」をクリックすると、再度セクション・モードに戻り、クリップする別のセクションを選択できます。

    図14-8のように、Webクリッピング・スタジオで、「項目」セクションのプレビューが検索結果とともに表示されます。

    図14-8 Webクリッピング・スタジオでのWebクリッピングのプレビュー

    図14-8の説明は次のとおりです
    図14-8「Webクリッピング・スタジオでのWebクリッピングのプレビュー」の説明


    注意:

    セクションの中には、空白のみでデータを含まないものもあります。たとえば、Webページにテキストやイメージを含まないHTMLの<DIV>タグが含まれている場合があります。データのないセクションで「選択」をクリックすると、Webクリッピングには空白のプレビューが表示されます。この場合、「選択解除」をクリックして、セクションに分割されたページに戻ります。次に、データを含むセクションを選択します。

    クリップしたセクションを使用しない場合は、「選択解除」をクリックして、そのセクションを含むページに戻ります。そのページで別のセクションを選択するか、「セクション解除」をクリックして別のページにナビゲートします。

  11. 必要なセクションの場合は、「スクレイプ」をクリックしてスクレイプ・モードに進みます。

  12. スクレイプ・モードでは、テキストなど各項目の後にあるチェック・ボックスは、スクレイプ可能な出力としてその項目を選択できることを示します。1つ以上の出力項目が、類似の出力のコレクションとなる可能性があります。セル付きの表には、特殊なスタック・チェック・ボックスが表示され、セル内の全テキストを出力として選択できます。

    最初の出力の終わりにあるチェック・ボックスを選択します。選択した各出力には、下部のフレームの「値」「名前」の表の下に値の行が表示されます。ここで出力の名前を指定できます。「名前」列で、出力に対してBooksなどのわかりやすい名前を入力します。


    注意:

    名前に空白を含めることはできません。

    選択したコンテンツに関連するハイパーリンクが含まれている場合、そのハイパーリンクの値が結果のデータ・ソース出力の追加列として表示されます。また、イメージを選択した場合は、そのイメージのソース(SRC)の値が出力されます。

    出力を選択すると、選択した最初の出力が同様の出力のコレクション内にある最初の項目を表しているかぎり、全体の繰返しが可能なグループが作成されます。これは、反復性を適用できるのは、同様の出力のコレクションのみであることを意味します。反復レベルを増やして、同様の出力の全コレクションを含めるには、「次へ」を1回クリックします。図14-9のように、出力のすべての項目が選択されます。

    図14-9 Webクリッピングのスクレイプ

    図14-9の説明は次のとおりです
    図14-9「Webクリッピングのスクレイプ」の説明

    「次へ」をクリックすると、スクレイプ対象の同様の出力のコレクション全体を簡単に選択できます。「次へ」をクリックすると、選択した出力の連続したグループのチェック・ボックスが選択され、スクレイプ対象に指定されます。出力としてスクレイプする類似の出力の連続したグループを選択する方が、チェック・ボックスを個別に選択するよりも早く選択できます。

    「続行」をクリックします。

  13. 「Webクリッピングの検索」ページの「クリッピング属性の編集」セクションで、Webクリッピング・アプリケーションの次の属性を設定できます。

    • タイトル: Wireless Webクリッピング・アプリケーションの名前。

    • 説明: Wireless Webクリッピング・アプリケーションの簡単な説明。Search Oracle Storeと入力します。

    • タイムアウト(秒): 接続タイムアウト、つまり、Wireless Webクリッピング・サーバーがWebクリッピング・アプリケーションのソースへの接続を確立するまで待機する時間(秒)。この時間を超えると、タイムアウト・メッセージが返されます。デフォルト値は、Webクリッピング・スタジオを使用してクリップする、イントラネットWebサイトへの接続に要する実際の時間から生成されます。値は0〜60秒です。

    図14-10に、「Webクリッピングの検索」ページの上部3分の1を示します。

    図14-10 クリッピング属性の編集

    図14-10の説明は次のとおりです
    図14-10「クリッピング属性の編集」の説明

  14. Webクリッピング・アプリケーションのコンテンツのクリッピング中にフォーム・ベース送信を実行した場合は、「カスタマイズ可能なクリッピング・パラメータの選択」というタイトルの見出しが、「Webクリッピングの検索」ページに表示されます。表にパラメータがリストされます。

    ページ・ビューアでパラメータのカスタマイズを可能にする場合には、「パラメータ」列のドロップダウン・ボックスから必要なパラメータを選択し、「カスタマイズ可能」列を選択します。これにすり、OracleAS Wireless管理者は、入力値をカスタマイズして、選択した各パラメータをパーソナライズできます。


    注意:

    ユーザー名フィールドとパスワード・フィールドには、フォームベースで発行されるログインを使用しているWebサイト用にカスタマイズされる可能性のあるパラメータを設定しないでください。

    また、セキュリティをより強化するため、WebクリッピングではWebサイトからのJavaScriptの取得はサポートしていません。これは、ログインのたびにユーザー名とパスワードの追加JavaScript処理を実行する可能性があるためです。


    図14-11に、「Webクリッピングの検索」ページの「カスタマイズ可能なクリッピング・パラメータの選択」セクションを示します。

    図14-11 Webクリッピング・アプリケーションのフォーム入力のカスタマイズ

    図14-11の説明は次のとおりです
    図14-11「Webクリッピング・アプリケーションのフォーム入力のカスタマイズ」の説明

  15. 索引の値が2の行で、「パラメータ」リストからkwを選択します。次に、その「表示名」kwからkeywordに変更し、この名前をワイヤレス・アプリケーション・ユーザーが認識しやすいようにします。

  16. 「カスタマイズ可能」ボックスを選択して、ワイヤレス・アプリケーション・ユーザーがパラメータの入力値をカスタマイズできるようにします。

  17. Webクリッピング・アプリケーションをテストするには、図14-12のように、「Webクリッピングのテスト」セクションの「テスト」をクリックします。

    図14-12 Webクリッピング・アプリケーションのテスト

    図14-12の説明は次のとおりです
    図14-12「Webクリッピング・アプリケーションのテスト」の説明

    Webクリッピングのテスト結果は、ブラウザのページにXML文書として表示されます。このXML文書のコンテンツを検査し、必要なコンテンツが含まれているかどうかを確認します。ワイヤレス・デバイスでは、このXML文書はフォーマットされて表示されます。

  18. オプションの選択を終了した後は、「適用」をクリックして、変更内容を保存します。


    注意:

    「適用」を選択すると、Webクリッピング・アプリケーションのすべての編集内容とオプションが保存されます。したがって、ワイヤレス・アプリケーション・ユーザーは、これらの変更内容に即時にアクセスできるようになります。またOracleAS Wireless管理者は、Webクリッピング・アプリケーションの属性ページで必要に応じて編集を実行できるようになります。これに対して、「OK」を選択すると、Webクリッピング・アプリケーションの属性に対するすべての編集内容が保存されると同時に、これらの変更内容にワイヤレス・アプリケーション・ユーザーが即時にアクセスできるようになります。ただし、Webクリッピング・アプリケーションの属性ページが終了し、「アプリケーション」ページに戻ります。

  19. 「適用」をクリックして変更内容を保存すると、図14-13のように、「Webクリッピングの検索」ページの「Webクリッピングのテスト」セクションには、「入力値」ヘッダーが表示され、カスタマイズされたパラメータがその初期入力値とともに一覧表示されます。

    図14-13 Webクリッピング・アプリケーションの入力値のテスト

    図14-13の説明は次のとおりです
    図14-13「Webクリッピング・アプリケーションの入力値のテスト」の説明

  20. Keywordという名前のパラメータとその入力値J2EEが表示されていることに注意してください。別の入力値をテストするには、図14-14のように、cacheなどの新しい値を入力し初期値を変更します。「テスト」をクリックして新しい入力値をテストします。

    図14-14 入力値の変更

    図14-14の説明は次のとおりです
    図14-14「入力値の変更」の説明

  21. このWebクリッピング・アプリケーションのテスト結果は、ブラウザのページに表示されます。このXML文書のコンテンツを検査し、必要なコンテンツが含まれているかどうかを確認します。

  22. 「OK」をクリックして、変更内容を保存し、図14-15のように、「Webクリッピングの管理」ページに戻ります。

    図14-15 Webクリッピングの管理

    図14-15の説明は次のとおりです
    図14-15「Webクリッピングの管理」の説明

    「Webクリッピングの管理」ページでは、次のことを実行できます。

    • Webクリッピングの検索: 「検索」フィールドに、Webクリッピングの名前の一部に一致する検索文字列を入力し、次に「実行」をクリックして検索を開始します。入力した検索文字列に一致する名前を含むWebクリッピングのリストが表示されます。

    • Webクリッピングの編集: 編集するWebクリッピングを「選択」列で選択し、「編集」をクリックします。図14-10のように、「属性の編集」セクションのある「Webクリッピングの検索」ページが表示されます。このページから、Webクリッピングの属性を編集できます。

    • 新しいWebクリッピングの作成: 「Webクリッピングの追加」をクリックします。「Webクリッピングの検索」ページが表示され、ここで開始ポイントのURLを入力してWebサイトの参照を開始し、クリップするコンテンツを検索できます。

    • Webクリッピングの削除: 削除するWebクリッピングを「選択」列で選択し、「削除」をクリックします。Webクリッピングが削除されていることを示す確認メッセージが表示されます。

    • デフォルトのアプリケーションの作成: 「デフォルト・アプリケーションの作成」をクリックして、新しく作成されたWebクリッピングのデフォルトのレンダリングを表示します。

14.3.1 OracleAS Webクリッピング・サービスのカスタマイズ

OracleAS Wireless管理者が入力パラメータをパラメータ化およびカスタマイズ可能に設定している場合、Wirelessユーザーは、テスト・ページの「入力の変更」をクリックしてフォームの任意の入力パラメータ値をカスタマイズできます。詳細は、14.3項の手順1416を参照してください。

14.4 既存のトランスコーディング・テクノロジからの移行

従来のOracleAS Wirelessでは、トランスコーディングまたはWebコンテンツの再利用は、webMethodsのWeb統合テクノロジを使用して実行していました。外部Webコンテンツのフェッチ方法とフェッチ場所について記録した指示は、Web Integration Definition Language(WIDL)ファイルに記録されていました。WIDLは、World Wide Webのドキュメント・ベースのリソースに対してサービス・ベースのアーキテクチャを実装するメタ言語です。このリリースでトランスコーディングの役割を果たすのはWebクリッピングです。

Webクリッピング語句に一連の同じ指示を再作成する必要はありません。Webクリッピングには、WIDLマッピング・ファイルをWebクリッピングにインポートできる移行パスがあるため、前に取得した指示を再利用できます。図14-16に、補強されたWebクリッピング・サーバーのアーキテクチャを、Webクリッピングを作成する代替手段として追加されたWIDLソースとともに示します。

図14-16 WIDL定義ファイルのインポートが示されたWebクリッピング・サーバーのアーキテクチャ

図14-16の説明は次のとおりです
図14-16「WIDL定義ファイルのインポートが示されたWebクリッピング・サーバーのアーキテクチャ」の説明

Webクリッピングを移行する手順は、次のとおりです。

  1. WIDL定義ファイルをインポートしてWebクリッピングを作成するには、「Webクリッピング・スタジオ」タブを選択します。「Webクリッピングの検索」ページの「WIDLからインポート」サブタブを選択します。

    図14-17に、「WIDLからWebクリッピングをインポートします。」ページを示します。

    図14-17 WIDL定義からWebクリッピングへのインポート

    図14-17の説明は次のとおりです
    図14-17「WIDL定義からWebクリッピングへのインポート」の説明

  2. 「WIDLからWebクリッピングをインポートします。」ページでは、既存のWIDLファイルをインポートしてWebクリッピングを作成し、リポジトリに保存できます。

    WIDL定義ファイルをインポートするには、次のいずれかを実行します。

    • 「WIDLロケーション」フィールドに開始ポイントのURLを入力し、「開始」をクリックします。

    • 「参照」をクリックして、システムのWIDL定義ファイルがあるディレクトリを検索し、「WIDLロケーション」フィールドに移入するWIDLファイルをクリックします。次に、「開始」をクリックしてWIDL定義ファイルのインポートを開始します。

    図14-18のように、新しいセクション「WIDLサービスを選択してインポートします。」を含む「WIDLからインポート」ページが再度表示されます。

    図14-18 インポートするWIDLサービスの選択

    図14-18の説明は次のとおりです
    図14-18「インポートするWIDLサービスの選択」の説明

  3. インポートするサービスがWIDLファイルに複数含まれている場合は、「WIDLサービスの選択」ボックスからインポートするサービスを選択します。

  4. WIDLサービスでフォーム・ベースの送信を実行した場合(つまり、入力バインドを含む場合)は、「WIDLからインポート」ページにセクション「パラメータの設定」が含まれています。このセクションでは、任意のパラメータのデフォルト値を指定できます。「デフォルト値」列で、図14-19のように、選択した各パラメータに対してデフォルト値を入力します。

    図14-19 パラメータに対するデフォルト値の指定

    図14-19の説明は次のとおりです
    図14-19「パラメータに対するデフォルト値の指定」の説明

  5. 「続行」をクリックします。WIDLサービスがインポートされ、Webクリッピングが作成されます。「Webクリッピングの検索」ページが表示されます。

  6. 「Webクリッピングの検索」ページでは、新しいWebクリッピングの属性を編集できます。Webクリッピングにフォーム・ベースの送信が含まれている場合は、フォームの入力情報もカスタマイズできます。「説明」フィールドなどのクリッピング属性を編集した後は、「OK」をクリックして変更内容を保存し、「Webクリッピングの管理」ページに戻ります。

「Webクリッピングの管理」ページで、作成したWebクリッピングを使用してワイヤレス・アプリケーションを作成する準備ができました。

14.5 ワイヤレス・アプリケーションの作成

Webクリッピングからワイヤレス・アプリケーションを作成する場合は、次のいずれかの方法を使用します。

14.5.1 デフォルトのアプリケーションの作成

図14-15に示した「Webクリッピングの管理」ページでは、デフォルトのワイヤレス・アプリケーションを作成できます。

「選択」表からデフォルトのワイヤレス・アプリケーションにするWebクリッピングを選択し、「デフォルト・アプリケーションの作成」をクリックします。デフォルトのワイヤレス・アプリケーションが作成され、直前に実行したスクレイピングのデフォルトのレンダリングがOracleAS Wireless XMLに配信されます。

デフォルトのアプリケーションを作成した後は、OracleAS Wirelessの「アプリケーション」ページに戻り、そこで新しいWebクリッピング・アプリケーションを作成できます。

この例を続行すると、図14-20に示すような、Oracle Store Search Resultというアプリケーションがアプリケーション・リストに追加されます。

図14-20 新しいワイヤレス・アプリケーションがリストされた「アプリケーション」ページ

図14-20の説明は次のとおりです
図14-20「新しいワイヤレス・アプリケーションがリストされた「アプリケーション」ページ」の説明

Webクリッピングからデフォルトのアプリケーションを作成すると、新しいアプリケーションを公開できます。新しいワイヤレス・アプリケーションに対して新しいアプリケーション・リンクを作成するには、次の手順を実行します。

  1. 「コンテンツ」タブをクリックして「アプリケーション・リンクの追加」をクリックし、新しいアプリケーションを「アプリケーション・リンク」ページに追加します。

  2. ウィザードが示す手順に従います。「アプリケーション」手順では、このアプリケーションのベースにするアプリケーションをクリックします。ページにアプリケーションのリストが表示されます。アプリケーションOracle Store Search Resultを選択します。「次」をクリックします。

  3. 「一般」手順では、アプリケーションの名前としてORACLESTOREなどの名前を入力し、「次」をクリックします。

  4. 「入力パラメータ」手順では、「次」をクリックして、新しいアプリケーションのデフォルトの設定をそのまま使用します。

  5. 「非同期アプリケーション」手順では、「次」をクリックします。

  6. 「追加」手順では、「説明」フィールドにBooksと入力し、次に「終了」をクリックします。

図14-21のように、新しいアプリケーションがアプリケーションの「アプリケーション・リンク」リストに表示されます。これによって、このアプリケーションはユーザー・グループに公開され、ワイヤレス・デバイスのモバイル・ユーザーがアクセスできるようになります。

図14-21 新しいアプリケーションが公開された「アプリケーション・リンク」ページ

図14-21の説明は次のとおりです
図14-21「新しいアプリケーションが公開された「アプリケーション・リンク」ページ」の説明

このページから、次のことも実行できます。

  • Webクリッピング・アプリケーションの削除: 削除するアプリケーションを「選択」列で選択し、「削除」をクリックします。選択したWebクリッピングが削除されていることを示す確認メッセージが表示されます。

  • 既存のWebクリッピング・アプリケーションの属性の編集: 編集するアプリケーションを「選択」列で選択し、「Webクリッピング・スタジオでのクリップの編集」セクションで「編集」をクリックします。

  • アプリケーションの分類: アプリケーションを「選択」列で選択し、「分類」をクリックします。

14.5.2 既存のOracleAS Webクリッピング・アプリケーションのテスト

アプリケーションのテストは、「サービス」タブまたは「コンテンツ」タブ(公開済の場合)から実行できます。

  1. 「コンテンツ」タブでは、「テスト」列の「テスト」アイコンをクリックして、テストするアプリケーション(この例では新しいアプリケーション・リンクORACLESTORE)を選択します。「OracleAS Wireless PDAシミュレータ」ページが新しいブラウザのウィンドウに表示され、図14-2のように、Webクリッピング・アプリケーションのコンテンツが表示されます。

  2. OracleAS Wireless PDAシミュレータのテスト表示で、ページの下へスクロールして「入力の変更」をクリックし、図14-22のように、keywordというパラメータの初期入力値の値を変更します。

    図14-22 初期値が表示されたWireless PDAシミュレータ

    図14-22の説明は次のとおりです
    図14-22「初期値が表示されたWireless PDAシミュレータ」の説明

  3. 初期入力値のJ2EEを削除して、値cacheを入力します。次に、「実行」をクリックします。

  4. OracleAS Wireless PDAシミュレータには、図14-23のように、値cacheに関連するOracle Store内の項目の検索結果が表示されます。

    図14-23 新しい検索結果が表示されたWireless PDAシミュレータ

    図14-23の説明は次のとおりです
    図14-23「新しい検索結果が表示されたWireless PDAシミュレータ」の説明

14.5.3 カスタム・アプリケーションの作成

図14-15に示した「Webクリッピングの管理」ページでは、カスタムのワイヤレス・アプリケーションを作成できます。(このページにナビゲートするには、「サービス」タブの「Webクリッピング・マネージャ」をクリックします。)「カスタム・アプリケーション」タブをクリックします。図14-24のように、「カスタム・アプリケーション」ページが表示されます。

図14-24「カスタム・アプリケーション」の「ダウンロード」ページ

図14-24の説明は次のとおりです
図14-24「「カスタム・アプリケーション」の「ダウンロード」ページ」の説明

「カスタム・アプリケーション」ページの「ダウンロード」セクションからは、次のことを実行できます。

  • Java Connector Architecture(JCA)のCommon Client Interface(CCI)を使用したOracle Application Server Containers for J2EE(OC4J)のインスタンス内での開発用に、(J2EE開発用の)JCA Resource Adaptor Archive(RAR)をダウンロードできます。次の手順を実行します。

    1. 「J2EE開発」セクションのRARリンクをクリックして、JCA RARファイルwebclipping.rarをダウンロードします。

    2. 『Oracle Application Server Containers for J2EEサービス・ガイド』のリソース・アダプタのデプロイに関する指示に従って、使用しているOC4JにRARファイルをデプロイします。正しいバージョンのOC4Jの詳細は、『Oracle Application Server Containers for J2EEユーザーズ・ガイド』を参照してください。

      ライブラリを有効にするには、OC4Jの再起動が必要な場合があります。

    3. 「Webクリッピング」タブに戻って、JSPファイル形式のWebクリッピングを検索し、デプロイしたRARファイルを使用して開発を開始します。

  • スタンドアロンJava 2 SDKを使用した開発用に、(J2SE開発用の)Javaライブラリ(JAR)をダウンロードします。次の手順を実行します。

    1. 「J2SE開発」セクションの「JAR」リンクをクリックして、Javaライブラリ・ファイルwcbean.jarをダウンロードします。

    2. スタンドアロンJava 2 SDK環境では、コードのコンパイル時と実行時に、JARファイルをクラスパスに配置します。

      J2EE(OC4J)開発の場合、このJARファイルは、使用しているWebアプリケーションがアクセスできる場所に配置します。たとえば、OC4Jのルート・クラスパス、アプリケーション独自のライブラリ・パスまたは使用しているWebアプリケーションが格納されているWeb Archive(WAR)ファイルのWEB-INF/libディレクトリなどに配置します。使用するリソース・アダプタによっては、WebクリッピングのBean APIを使用するために、OC4Jインスタンスを再起動する必要があります。

      スタブJavaファイルのコンパイルと実行に必要なその他のファイルは、http_client.jarJavax-ssl-1_2.jarjssl-1_2.jarおよびxmlparserv2.jarです。これらのファイルは、OC4Jのインストールにあります。

    3. 「Webクリッピング」タブに戻って、Javaソース・ファイル(.Java)形式のWebクリッピングを検索し、デプロイしたJARファイルを使用して開発を開始します。

「Webクリッピング」タブでは、次のいずれかを実行できます。

  • Javaファイルの生成

    「Javaのダウンロード」図14-15を参照)をクリックして、WebクリッピングからJava(.Java)ファイルを生成します。このファイルは、他のJavaクラスを使用してアプリケーションにコンパイルし、スタンドアロンJava 2 SDKアプリケーションとしてJ2SEにデプロイできます。

  • JSPファイルの生成

    「JSPのダウンロード」図14-15を参照)をクリックして、WebクリッピングからJSP(.jsp)ファイルを生成します。このファイルは、J2EE OC4Jにデプロイできるため、WebクリッピングをJSPファイルとして実行できます。

  • ダウンロードしたJavaファイルまたはJSPファイルを使用した、独自のカスタムHTTPアプリケーションの作成

    • Javaファイルの使用

      WebクリッピングのBean APIの使用方法のサンプル・コードが含まれているダウンロード済の.Javaファイルを起動すると、任意の標準J2EE Container(OC4Jなど)を使用して独自のHTTPアプリケーションを作成できます。それには、最初にwcbean.jarファイルとその依存性ライブラリをHTTP Serverのライブラリ・パスに挿入する必要があります。

    • JSPファイルの使用

      Java Connector Architecture APIの使用方法を示すサンプル・コードが含まれているダウンロード済のJSPファイルを起動することで、OC4Jを使用して独自のHTTPアプリケーションを作成できます(RARファイルはOC4Jに準拠しているためこれは必須です)。

    • モバイルUIの作成

      OracleAS Wirelessに準拠するために、HTTPアプリケーションでは、その出力をOracleAS Wireless XML、XHTML/MPまたはXHTML/XFormsのいずれかでレンダリングする必要があります。モバイル・リンクやイメージの追加も含めて、このHTTPアプリケーションのモバイルUIは完全に制御できます。デフォルトのJSPコードは、データをHTMLの順序付けられていないリストとしてレンダリングするため、そのレンダリングをOracleAS Wireless準拠のレンダリングに変更する必要があることに注意してください。

    • ワイヤレス・アプリケーションの作成

      HTTPアプリケーションの作成後は、そのアプリケーションを使用して、HTTP Adaptorを使用したワイヤレス・アプリケーションを作成できます。

14.6 Webスクレイピングの管理

OracleAS Wireless管理者による実行が必要なWebスクレイピング関連の管理タスクは、次のとおりです。

14.6.1 セキュリティの構成

セキュアなサイトにナビゲートすると、そのWebサイトでは、セキュアな情報を求める際、通常サイト自体を識別する証明書をユーザーに返します。証明書を受け入れると、その証明書はブラウザの信頼できる証明書リストに挿入され、ブラウザとサーバー間にセキュアなチャネルをオープンできます。Webブラウザと同様に、Webクリッピング・サーバーは、外部Webサイトに対してHTTPクライアントとして動作します。Webクリッピング・サーバーは、信頼できるサイトの追跡を続けるために、これらのサイトの証明書を格納するca-bundle.crtという名前の信頼できるサーバー証明書ファイルを利用します。このファイルは、UNIXの場合はORACLE_HOME/portal/confに、Windowsの場合はORACLE_HOME¥portal¥confにあります。

Oracle Wallet Managerによって生成された信頼できるサーバー証明書ファイルは、OracleAS Portalに付属しています。このファイルには、HTTPSを使用して一部のセキュアなサーバーにナビゲートするときに使用する信頼できるサーバー証明書の初期リストが含まれています。ただし、このリストは、Web上に存在している可能性があるサーバー証明書すべてを含んだ完全なリストではありません。このため、OracleAS Wireless管理者がHTTPSを使用してセキュアなサーバーにナビゲートした場合に、Webクリッピング・スタジオで「SSLハンドシェイクに失敗しました」という例外を受け取る場合があります。この問題を解決するためには、ca-bundle.crtファイルを、アクセスする新しい信頼できるサイトで補強する必要があります。OracleAS Wireless管理者は、次の操作を実行して、付属のca-bundle.crtファイルを拡張する必要があります。

  1. ブラウザ(可能な場合はInternet Explorer)を使用して、アクセスする各外部HTTPS WebサイトからBASE64フォーマットのルート・サーバー証明書をダウンロードします。この証明書は、信頼できる証明書ファイルから欠落している証明書です。

  2. Oracle Wallet Managerを使用して各証明書をインポートします。

  3. 信頼できるサーバー証明書をファイルにエクスポートし、ca-bundle.crtファイルをそのファイルで置換します。


注意:

ca-bundle.crtファイルは、OracleAS Portalが構成されていない場合でも、そのまま存在して機能します。

Oracle Wallet Managerの詳細は、『Oracle Application Serverセキュリティ・ガイド』を参照してください。

14.6.2 記録するイベントのレンダリングとレポートの生成

Webクリッピングでは、記録するイベントのレンダリングが可能です。したがって、管理者はイベント・ログを問い合せ、請求の目的で使用するレポートなどの有用なレポートを生成できます。イベント・ロギングを有効化するには、管理者として、次の場所にあるweb.xmlファイル内のcontext-paramを手動で変更する必要があります。

ORACLE_HOME/j2ee/OC4J_Wireless/applications/webclipping/ webclipping-web/WEB-INF/web.xml

<oracle.webclipping.LogBusiness>と同じ<param-name>がある<context-param>を参照します。レンダリング・イベントのロギングを有効化するには、<param-value>trueに変更します。このパラメータを設定した後は、OC4J_Wirelessインスタンスを再起動してこの変更をリフレッシュします。詳細は、『Oracle Application Server Containers for J2EEユーザーズ・ガイド』を参照してください。

ロギングが有効化された後、インフラストラクチャ・データベースにある一連のPL/SQLプロシージャを利用して、記録されたイベントを操作できます。まず、SYSDBAでインフラストラクチャ・データベースに接続し、次の行を実行してユーザーをWCRSYSに変更する必要があります。

ALTER SESSION SET CURRENT_SCHEMA=WCRSYS;

ユーザーWCRSYSとして、次のPL/SQLプロシージャとファンクションを使用して、記録されたイベントを操作できます。これらのプロシージャとファンクションの大部分で使用するレコード・タイプは、WWWCP_API_REGISTRY.REC_RENDER_EVENTです。

/**
* This describes a record type used to return a single clipping rendering
* event.
*
* This structure is used by the lookup APIs to encapsulate the
* information that is retrieved from the wwwcp_render_log$ table.
* It is used to describe the cursor that will be returned as an OUT
* parameter of lookup_render_events.
*
* @field clip_id           The clip id that allows the fetching of the
*                          other facets of the clipping definition to
*                          populate the events table.
* @field clip_description  Textual description of the clip rendered.
* @field clip_title        Title of the clip that was rendered.
* @field clip_timeout      Timeout in milliseconds that allows the clipping
*                          that was rendered to be timed out. This could be
*                          an indication of the quality of service.
* @field effective_url     The url where the clip resides. This is usually
*                          the last url declared in the clipping definition
*                          clipping definition, where the clip would reside.
* @field render_status     A number that indicates either success or
*                          failure of the rendering call.
* @field render_type       Tells what type of rendering is in question,
*                          whether it be for Portal Show Mode, for
*                          Wireless default SimpleResult show mode, or
*                          for the Wireless connector show mode.
* @field render_start      Starting time of the rendering.
* @field render_end        Ending time of the rendering.
* @field fuzzy_used        Indicates whether fuzzy match was kicked in.
* @field db_lookup         The time it takes in milliseconds to look up
*                          the clipping definition from the database.
* @field http_latency      The time it takes to reach the first byte to
*                          read from the http remote site.
* @field render_user       The user (together with a possible realm) for
*                          which the rendering was done.
* @field error_cause       The cause of the error if the status indicated
*                          a failure of the rendering.
* @field event_description This field provides more information about
*                          the logged event.
* @field clip_input        The input provided to render this clipping. It
*                          is usually provided in the form of an HTTP URL
*                          query string like abc=def.
* @field clip_output       The possible output (only if it's small) of
*                          rendering, if it gives any more hints on the
*                          billing process.
*/
type rec_render_event is record (
    clip_id           integer,
    clip_description  varchar2(1024),
    clip_title        varchar2(512),
    clip_timeout      integer,
    effective_url     varchar2(2048),
    render_status     integer,
    render_type       integer,
    render_start      date,
    render_end        date,
    fuzzy_used        integer,
    db_lookup         integer,
    http_latency      integer,
    render_user       varchar2(512),
    error_cause       varchar2(256),
    event_description varchar2(256),
    clip_input        varchar2(128),
    clip_output       varchar2(256));

このレコード・タイプで使用するカーソル・タイプは、WWWCP_API_REGISTRY.RENDER_EVENT_CURSORです。WWWCP_API_REGISTRY内の次のプロシージャは、レンダリング・イベント・ログを参照できるように定義されています。

/**
 * This API looks up rows of render events from the wwwcp_render_log$
 * table, filtered by a specific clip id.
 *
 * The full rendering event information structure is returned as iterable
 * by the cursor returned.
 *
 * @param p_clip_id          The clip id as a filtering mechanism of the
 *                           events that were logged for this particular
 *                           clip.
 * @param p_cv_render_events The list of render events that are associated
 *                           with this clip.
 */
 procedure lookup_render_events(
     p_clip_id          in  integer,
     p_cv_render_events out render_event_cursor
 );

/**
 * This API looks up rows of render events from the wwwcp_render_log$
 * table, filtered by a specific effective url.
 *
 * This is useful for business queries that center on not the clip id but by
 * the actual location of where the clips are found. For example, if Yahoo's
 * partner, namely someone using Web Clippings, can do a search of all the
 * events that went to http://my.yahoo.com, it can find out how to charge
 * each user for what they have rendered.
 *
 * The full rendering event information structure is returned as iterable
 * by the cursor returned.
 *
 * @param p_effective_url    The effective url, starting with which points
 *                           to the Web page containing the clip.
 * @param p_cv_render_events The list of render events that are associated
 *                           with this clip.
 */
 procedure lookup_render_events(
     p_effective_url    in  varchar2,
     p_cv_render_events out render_event_cursor
 );

/**
 * This API looks up rows of render events from the wwwcp_render_log$
 * table, filtered by the domain.
 *
 * This is useful for business queries that center on not the clip id but by
 * the domain of where the clips are found. For example, if Yahoo can do a
 * search of all the events that went to *.yahoo.com, it can find out how to
 * charge each user for what they have rendered.
 *
 * The full rendering event information structure is returned as iterable
 * by the cursor returned.
 *
 * @param p_effective_domain The domain of the effective url, starting with
 *                          which points to the Web page containing the
 *                          clip. This domain is provided in the format
 *                          "oracle.com" or "yahoo.com".
 * @param p_cv_render_events The list of render events that are associated
 *                          with this clip.
 */
 procedure lookup_render_events(
     p_effective_domain in  varchar2,
     p_cv_render_events out render_event_cursor
 );

 /**
 * This API looks up rows of render events from the wwwcp_render_log$
 * table, filtered by the user that requested the render.
 *
 * This is useful for business queries that center on not the clip id but by
 * the user to visualize how much a user has rendered, regardless of where
 * the clipping is from, so it can charge for a flat fee based on for
 * example, the number of render events for a particular user.
 *
 * The full rendering event information structure is returned as iterable
 * by the cursor returned.
 *
 * @param p_render_user      The user on behalf of whom the render request
 *                           is made.
 * @param p_cv_render_events The list of render events that are associated
 *                           with this clip.
 */
 procedure lookup_render_events(
     p_render_user      in  varchar2,
     p_cv_render_events out render_event_cursor
);

記録されたイベントが割当て済のデータベース表領域を超えていないことを確認します。次のプロシージャは、レンダリング・イベント・ログからエントリを削除できるように定義されています。

/**
 * This API removes all render events from the wwwcp_render_log$ table.
 *
 * This is useful as a cleansing measure that an organization can do between
 * the different phases of rolling out their Web Clipping usage initiative.
 * It can be used to reset the stage before going into development testing
 * phase, or when the rollout is going live and the company wishes to begin
 * charging its subscribers for their usages, or another possible cleansing
 * may occur at for example, every month end or year end when the data
 * recorded is no longer useful.
 */
 procedure remove_all_render_events;

/**
 * This API removes all render events from the wwwcp_render_log$ table for
 * a given rendering user.
 *
 * This is useful as a cleansing measure that an organization can do for
 * example, labeling the development user to be some constant user id and
 * then removing all rendering events when it goes live.
 *
 * @param p_render_user The user on behalf of whom the render request is
 *                      made.
 */
 procedure remove_render_events(p_render_user in varchar2);

/**
 * This API removes all render events from the wwwcp_render_log$ table for
 * a given starting or stopping time before or after the query time.
 *
 * This is useful as a cleansing measure that an organization can do for
 * example, all rendering events that started or stopped before a certain
 * date are deemed development efforts and therefore should be disregarded.
 *
 * @param p_query_time   The date/time with which to query.
 * @param p_query_before Whether the query is for before or after. A value
 *                       of 1 signifies that the query is for comparing
 *                       times before the p_query_time while a 0 value.
 *                       implies comparing times after the p_query_time.
 * @param p_query_start  Whether or not the query is for start time.
 *                       A value of 1 means true while 0 means false.
 */
 procedure remove_render_events(
     p_query_time   in date,
     p_query_before in number,
     p_query_start  in number
 );

14.7 WML Translatorの概要

OracleAS Wireless WML Translatorは、WMLで開発されたアプリケーションをすべてのWeb対応ワイヤレス・デバイス用に再フォーマットします。実行時に、WMLで開発されたコンテンツはOracleAS Wireless XMLに変換された後、適切なデバイス固有のマークアップ言語に変換されます。

通常、WML 1.x(WML 1.3まで)のソース・ドキュメントはサポートされます。各ソース・ドキュメントは次の順序で処理されます。

表14-1は、WMLのソース要素とOracleAS Wireless XMLの変換済要素の簡単な比較です。

表14-1 ソース要素と変換済要素の関連

WMLのソース要素 Wireless XMLの変換済要素 説明

<wml>

<SimpleResult>

なし。

<head>

NA

子要素<meta>は<SimpleMeta>に変換されます。

<template>

NA

属性のonenterforward、onenterbackward、ontimerおよび子要素の<do>、<onevent>は、WML仕様(<card>を参照)に基づいて認められます。

<card>

<SimpleContainer>

属性のonenterforward、onenterbackward、ontimerおよび子要素の<do>、<onevent>は、<template>要素の対応する属性または子要素と組み合せて処理されます。詳細は、<card onenterforward>、<card onenterbackward>および<card ontimer>を参照してください。

<card onenterforward>(適用可能な場合は<template onterforward>)

<SimpleBind>

子要素<SimpleMatch>(子要素<SimpleEvent type= "onenterforward">付き)と子要素<SimpleTask>(<card onenterforward>に割当て済の子要素<SimpleGo target>付き)。

<card onterbackward>(適用可能な場合は<template onenterbackward>)

<SimpleBind>

子要素<SimpleMatch>(子要素<SimpleEvent type= "onenterbackward">付き)と子要素<SimpleTask>(<card onenterbackward>に割当て済の子要素<SimpleGo target>付き)。

<card ontimer>(適用可能な場合は<template ontimer>)

SimpleTimer

なし。

<card> <onevent>(適用可能な場合は<template> <onevent>)

<SimpleBind>または<SimpleTimer>

<onevent type="ontimer">の場合は<SimpleTimer>が生成されます。それ以外の場合は、対応する子要素付きの<SimpleBind>(<SimpleEvent>および<SimpleTask>)が生成されます。

<card> <do>(適用可能な場合は<template> <do>)

<SimpleBind>

<do>に子要素<go>がある場合は、子要素(<SimpleMatch>、<SimpleKey>、<SimpleTask>、<SimpleSubmit>および<SimpleDisplay>)付きの<SimpleBind>が生成されます。

<do>に子要素<prev>がある場合は、子要素(<SimpleMatch>、<SimpleKey>、<SimpleTask>および<Prev>および<SimpleDisplay>)付きの<SimpleBind>が生成されます。

<do>に子要素<refresh>がある場合は、子要素(<SimpleMatch>、<SimpleKey>、<SimpleTask>、<SimpleRefresh>および<SimpleDisplay>)付きの<SimpleBind>が生成されます。

<p>

<SimpleForm>、<SimpleMenu>または<SimpleText>

<p>に<option value>付きの<input>要素または<select>要素がある場合は、<SimpleForm>が生成されます。

<p>に<option onpick>付きの<select>要素がある場合は、<SimpleMenu>が生成され、それ以外の場合は<SimpleText>が生成されます。

<pre>


処理される子要素は、<a>、<anchor>、<do>、<u>、<br>、<b>、<i>、<em>、<strong>のみです。

<input>

SimpleFormItem

通常、<input>要素の外にあるタイトルは、<SimpleFormItem>にコピーされます。

<select>

<SimpleMenuItem>、<SimpleHref>または<SimpleFormOption>

<select> <option onpick>(子<event>なし)は、<SimpleMenu>、<SimpleMenuItem>に変換されます。

<select> <option onpick>(子<event>あり)は、<SimpleMenu>、<SimpleBind>、<SimpleMatch>、<SimpleMenuItem>に変換されます。

<select value>は、<SimpleForm>、<SimpleFormSelect>、<SimpleFormOption>に変換されます。

<a>

<SimpleHref>

なし。

<anchor>

<SimpleHref>

<anchor>に<go>要素がある場合は<SimpleHref>が生成されます。

<anchor>に<prev<または<refresh>要素がある場合は、現行のリリースでは何も生成されません。

<img>

<SimpleImage>

イメージ適応は、904リリースから使用できます。

<br>

<SimpleBreak>

なし。

<b>、<strong>、<em>、<big>

<SimpleStrong>

なし。

<i>、<small>

<SimpleEm>

なし。

<u>

<SimpleUnderline>

なし。

<text node>

<SimpleTextItem>

通常、テキスト・ノードは、次の2つの場合を除いて、そのままコピーされます。

  • ノードが<input>または<select>の直前の兄弟の場合。

  • ノードがformatting要素(<b>、<strong>、<em>、<big>など)の唯一の子でない場合。

<table>

SimpleTable

なし。

<tr>

SimpleRow

なし。

<td>

SimpleCol

なし。


WML Translatorはパススルー・モードをサポートしていません。エンド・ユーザーのデバイスがWMLをサポートしている場合でも、WML Translatorは、ソースのWMLをOracleAS Wireless XMLフォーマットに変換します。

通常、URLはWireless and Voice Portalを指定するようにリライトされます。ただし、イメージのURLはリライトされません。イメージ適応は、このリリースで使用できます。たとえば、次のWML要素があるとします。

<img src="/images/yahooicon.wbmp" alt="Yahoo!"/>

これは次のように変換されます。

<SimpleImage src="http://wap.yahoo.com/images/yahooicon.wbmp" vspace="0" hspace="0" valign="bottom" alt="Yahoo!" addImageExtension="auto"/>

このイメージは、エンド・ユーザーのデバイス・モデルに基づいて適応およびレンダリングされます。

現行リリースのWML Translatorには、特定の制約があります。

14.7.1 WML Translatorのデプロイと構成

WML Translatorは、OracleAS Wirelessアプリケーションとしてデプロイされます。エンド・ユーザーは「Commerce」→「変換」をクリックしてアクセスできます。ただし、次の3つのサービス入力パラメータはサポートされなくなりました。

ORACLE_SERVICES_COMMERCE_TRANSLATOR_DEFAULT_CONNECTION
ORACLE_SERVICES_COMMERCE_TRANSLATOR_HELPER_WML
ORACLE_SERVICES_COMMERCE_TRANSLATOR_XSL_WML_FILENAME

次のサービス入力パラメータは引き続きサポートされています。

ORACLE_SERVICES_COMMERCE_TRANSLATOR_SHOW_GOHOME

次のサービス入力パラメータが、ナビゲーション・サポートを強化するために追加されました。

ORACLE_SERVICES_TRANSCODER_NAVIGATION

ORACLE_SERVICES_TRANSCODER_NAVIGATIONに有効な値がある場合、ORACLE_SERVICES_COMMERCE_TRANSLATOR_SHOW_GOHOMEは無視されます。

ORACLE_SERVICES_TRANSCODER_NAVIGATIONは、サーバーのローカル・ファイル・システム上のURLまたはファイルによってアクセスできるXMLファイルを示している必要があります。XMLには、ナビゲーション仕様が含まれています。次にサンプル・ナビゲーションXMLを示します。

<?xml version="1.0" encoding="UTF-8"?>
<Navigation>
<NavigationItems>
<Item target="%value home.url%"
label="Home"
showAs="Link"
preferredLocation="Header" />
<Item target="%value service.parent.url%"
label_prefix="Back"
showAs="Link" />
<Item target="http://www.oraclemobile.com"
label="OracleMobile"
showAs="Button"
preferredLocation="Footer" />
</NavigationItems>
</Navigation>

各ナビゲーション項目には、表14-2で説明する属性があります。

表14-2 ナビゲーション項目の属性

属性名 内容 必須 受け入れる値 デフォルト値

target

アクセス先

必須

完全修飾されたURLまたはモバイル・コンテンツのプレースホルダ(ポータル・ホームやサービス・ホームなど)

NA

label

エンド・ユーザーに表示されるラベル

オプション

String

NA

label_prefix

ラベルの接頭辞

オプション

ポータル・ホームなどのモバイル・コンテキストのわかりやすい値のみ

NA

label_suffix

ラベルの接尾辞

オプション

ポータル・ホームなどのモバイル・コンテキストのわかりやすい値のみ

NA

showAs

ラベルの表示方法

オプション

メニュー項目、リンクまたはボタン

ボタン

preferredLocation

ラベルの表示場所

オプション

ヘッダーまたはフッター

ヘッダー


次に、ナビゲーションXMLのスキーマを示します。

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="Navigation">
<xs:complexType>
<xs:all>
<xs:element ref="NavigationItems" minOccurs="0"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="NavigationItems">
<xs:complexType>
<xs:sequence>
<xs:element ref="Item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Item">
<xs:complexType>
<xs:attribute name="target" type="xs:string" use="required"/>
<xs:attribute name="label" type="xs:string" use="optional"/>
<xs:attribute name="label_prefix" type="xs:string" use="optional"/>
<xs:attribute name="label_suffix" type="xs:string" use="optional"/>
<xs:attribute name="showAs" type="xs:string" use="optional"/>
<xs:attribute name="preferredLocation" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
</xs:schema>

14.7.2 WML Translatorの使用

WML Translatorは、OracleAS Wirelessアプリケーションとしてデプロイされます。アプリケーションのURLはomp://oracle/services/commerce/translatorです。このアプリケーションは、WMLソースURLをリクエスト・パラメータXLTORSITEに渡すことで起動できます。たとえば、www.oraclemobile.comを起動するには、次のURLをOracleAS Wireless XMLで使用できます。

omp://oracle/services/commerce/translator?XLTORSITE=http%3A%2F%2Fwww.oraclemobile.com