この章では、Webコンテンツをクリップおよびスクレイプし、ワイヤレス・デバイスで使用できるWireless Webクリッピング・アプリケーションを作成する方法について説明します。この章の各項の内容は、次のとおりです。
Web上で使用可能なアプリケーションの大多数は、コンテンツを特定タイプのデバイスに固有のフォーマットでレンダリングします。Webスクレイピングを使用すると、特定のマークアップ言語用に開発されたアプリケーションを他のデバイスで使用するように再フォーマットできます。特に、PCブラウザ用に開発されHTMLを使用してレンダリングされるWebアプリケーションは、OracleAS Wirelessを介してモバイル機器へ配布されるようスクレイプできます。
WMLアプリケーションを再利用するには、WML Translatorを使用します。
Wireless Webクリッピング・サーバーを使用すると、OracleAS Wireless管理者は、Webコンテンツをクリップおよびスクレイプして、Webクリッピング・アプリケーションを作成できます。このアプリケーションはWireless Webクリッピング・サーバーのリポジトリに永続的に保存されます。次に、Wireless Webクリッピング・サーバーはこれらの定義に基づいてWebクリッピング・アプリケーションをホストします。次に、これらのアプリケーションがOracleAS Wirelessによって配信されます。
OracleAS Wirelessとの関係で見た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に配信されます。
Webクリッピング・コンテンツは、インターネットまたは大きな組織全体に分散しているイントラネットのWebサイトからクリップしてスクレイプできます。OracleAS Wirelessを使用すると、Webクリッピングを使用してWireless Webクリッピング・アプリケーションを生成し、Wirelessリポジトリに保存できます。
また、Webクリッピングを最大限に利用できるような、カスタマイズされたワイヤレス・アプリケーションを作成できます。開発者は、ユーザーのニーズを最も満たせる開発環境を最初に見極めます。選択した開発環境に応じて、必要なアーカイブ・ファイルをその開発環境にダウンロードしてデプロイする必要があります。次に、必要なコンテンツをクリップします。その後、JavaまたはJSPスタブ・ファイルをダウンロードして開発を開始します。
図14-3にWebクリッピング・サーバーの詳細を示します。
各開発環境で使用可能なOracleAS Wirelessのアーカイブ・ファイルを次に示します。
J2EE: WebクリッピングのBean APIではなく、Sun社の標準JCA Common Client Interface(CCI)を使用しているJ2EE(OC4J)環境での開発用。また、リリース9.0.3以上のOC4Jバージョンでの開発用。Webクリッピング・マネージャのカスタム・アプリケーション・ページから、JCA Resource Adaptor Archive(RAR)ファイルwebclipping.rar
をダウンロードします。
J2SE: J2EE(OC4J)環境およびスタンドアロンJava 2 SDK環境での開発用。Webクリッピング・マネージャのカスタム・アプリケーション・ページから、Javaライブラリ(JAR)ファイルwcbean.jar
をダウンロードします。
J2EEまたはJ2SE環境では、アプリケーションをスタンドアロンJavaアプリケーションまたはその他のJavaServer Pages(JSP)アプリケーションの一部としてカスタマイズしてデプロイできます。あるいは、これらのアプリケーションをワイヤレス・アプリケーションに作成してWirelessリポジトリに格納できます。また、このコンテンツをクリップすることもできます。
Webクリッピング・アプリケーションを作成する場合、OracleAS Wireless管理者は、Webブラウザを使用して必要なコンテンツを含むWebページにナビゲートします。次に、そのページのクリップおよびスクレイプの対象部分を選択して属性を設定します。Webクリッピングでフォーム・ベースの送信を使用する場合は、入力パラメータを表示し、アプリケーションを保存した後、そのアプリケーションをテストします。
Webクリッピング・アプリケーションは、次の操作をサポートしています。
フォーム・ベースとJavaScriptベースの送信およびCookieベースのセッション管理付きのHTTP Basic認証とDigest認証など、様々な形式のログイン・メカニズムによるナビゲーション。
クリッピングのファジー・マッチング。Webクリッピングの順序がソース・ページ内で変更された場合やその文字フォント、サイズまたはスタイルが変更された場合、その変更は、Webクリッピング・サーバーによって正しく識別され、Webクリッピング・アプリケーションのコンテンツとして配信されます。
広範囲にわたるWebコンテンツの再利用。このコンテンツには、HTML 4.0.1、JavaScript、アプレットで作成されたページのサポート、およびHTTP GETおよびPOST(フォーム送信)メソッドによって取得したプラグイン対応コンテンツが含まれます。
HTML 4.0.1ページからのページ・コンテンツのクリッピング。次のクリッピングが含まれます。
適切なサーバー証明書を取得している場合は、HTTPSベースの外部Webサイトへのナビゲーションとクリッピング。
既存Webコンテンツからの各国語セット(NLS)。Webクリッピングは、次の方法でNLS設定を確認します。
HTTPヘッダーのContent-Type
でcharset属性を確認します。この属性がある場合は、HTMLページの文字コードです。
存在しない場合は、次にそのページのHTML META
タグを確認し、文字コードを判断します。
HTML META
タグがない場合、前に参照したページのcharset属性を使用します。これが最初のページの場合は、デフォルトでISO-8859-1文字コードに設定されます。
Content-Type
またはMETA
タグのcharsetの値がサポートされていない場合(たとえば、charsetがNONEに指定されている場合)は、前に参照したページのcharsetではなく、デフォルトのキャラクタ・セットISO-8859-1が使用されます。
さらに、WebクリッピングではURLとURLパラメータでもNLSをサポートしています。
Netscape Navigatorリリース6および7、Microsoft Internet Explorerリリース5.0、5.5、6.0およびそれ以上などのブラウザ。
HTML以外の大部分の要素のクリッピング。アプレット、プラグイン・コンテンツ(埋込みQuickTimeビデオやMacromedia Flashなど)およびクライアント側JavaScript(v1.2)が含まれます。
NetscapeのWebブラウザを使用していて、ブラウザの第1優先順位の言語が日本語の場合、Webクリッピングの「ヘルプ」ページを正しく表示できません。
出力は、ユーザー・プロファイルの言語(OracleAS Wireless Webtoolにログインする際に使用する言語)と異なる言語で表示される場合があります。Webクリッピング・マネージャは、デフォルトでWebブラウザの言語を使用します。
OracleAS Wireless Webクリッピングの出力を特定の言語で表示する場合、ブラウザの優先言語を変更します。ブラウザ言語の設定の詳細は、使用中のWebブラウザのヘルプを参照してください。
Webクリッピング・スタジオの「戻る」ボタンと「転送」ボタンのアクションは、個々のフレームではなくページ全体で機能します。
プラグイン・コンテンツ(Macromedia Flashなど)からのナビゲーション。
複数の値を持つHTTPパラメータのカスタマイズ。
ログイン・ページ用のユーザー名/パスワードのJavaScriptベースの暗号化。
次のページ・コンテンツは、Webクリッピングではクリップできません。
アプレットのスクレイピング。
Webクリッピング・サーバーは、クリップしたWebコンテンツをWebクリッピング・アプリケーションのコンテンツとして提供およびレンダリングします。Webクリッピング・スタジオを使用すると、OracleAS Wireless管理者およびワイヤレス・アプリケーション・ユーザーは次のことを実行できます。
Webコンテンツの参照
選択したターゲット・ページの複数セクションへの分割
Webコンテンツ内のクリップ対象部分の正確な選択
クリップしたコンテンツのプレビュー
クリップしたコンテンツのスクレイプ
Webクリッピング・アプリケーション属性の設定、フォーム・ベース送信での入力パラメータのパラメータ化、およびWebクリッピング・アプリケーションの保存
フォーム・ベース送信を使用している場合、Webクリッピング・アプリケーションのテストおよび初期入力値の変更とそのテスト
デフォルトでは、Webクリッピング・アプリケーションの定義はすべて、OracleASインフラストラクチャ・データベースに永続的に格納されます。パスワードなどの保護情報は、データ暗号化規格(DES)に従い、Oracle暗号化テクノロジを使用して暗号化された形式で格納されます。
Webクリッピング・サーバーは、OracleAS Wirelessの一部として自動的にインストールされます。OracleAS Wireless管理者は、OracleAS Wirelessサービス・マネージャの「アプリケーション: フォルダの参照」ページの下のリポジトリにあるWebクリッピング・サーバーにアクセスできます。
開始前に一部の構成タスクの実行が必要な場合があります。詳細は、14.6項「Webスクレイピングの管理」を参照してください。
Webクリッピングを作成する手順は、次のとおりです。
OracleAS Wirelessサービス・マネージャにOracleAS Wireless管理者でログインします。
「サービス」タブをクリックします。
「アプリケーション」タブで「アプリケーションの作成」をクリックします。
「作成するアプリケーションの選択」ページの「Webクリッピング・アプリケーション」をクリックしてから、「作成」をクリックします。
「Webクリッピングの管理」ページで「Webクリッピングの追加」をクリックします。Webクリッピング・スタジオの「Webクリッピングの検索」ページが表示されます。
「Webクリッピングの検索」ページの「URLロケーション」フィールドに、クリップするWebページのロケーションを入力します。この例では、図14-4のようにhttp://oraclestore.oracle.com
を開始点とします。
注意: WIDLファイルをインポートしてWebクリッピングを作成するには、「WIDLからインポート」タブを選択します。詳細は、14.4項「既存のトランスコーディング・テクノロジからの移行」を参照してください。 |
「開始」をクリックします。
Webクリッピング・スタジオに、ストアの選択を求めるターゲット・ページが表示されます。
国と言語を選択します。たとえば、「アメリカ合衆国」と「英語」をクリックします。
図14-5に示すように、選択した国のOracleStoreのWebページが、Webクリッピング・スタジオ内に表示されます。
クリップするコンテンツを参照するためにWebページのハイパーリンクをクリックすると、使用したナビゲーション・リンクがWebクリッピング・スタジオに記録されます。
注意: 最終的にWebクリッピングに貢献しない参照操作は、すべて破棄されます。したがって、将来のテスト・モード時の再生用に記録されるのは重要な参照操作のみです。破棄されたリンクにはアクセスしません。 |
注意: HTTP Basic認証またはDigest認証が必要なWebサイトの場合は、ユーザー名とパスワード情報をリクエストするフォームが表示されます。このエンコードされた認証情報は、参照情報の一部として記録されます。 |
この例では、「クイック検索」フィールドにJ2EEと入力し、「実行」をクリックします。図14-6のように、入力した名前を含むすべての製品が検索結果に表示されます。
参照モードのWebクリッピング・スタジオで、クリップするコンテンツを検索した後は、「セクション」をクリックします。これによって、図14-7のように、ターゲットのWebページが複数のクリップ可能なセクションに分割されます。
注意: 「セクション」をクリックした後は、表示されたページでリンクを参照することはできません。ナビゲーションを続行する場合は、「セクション解除」をクリックします。 |
セクション・モードのWebクリッピング・スタジオで、クリップするWebコンテンツのセクションを見つけ、「選択」をクリックします。
選択可能なセクション数を増やすには、「セクション縮小」をクリックします。たとえば、「セクション縮小」をクリックして、ネストした表の1レベル下にドリルダウンします。選択可能なセクション数を減らすには、「セクション拡大」をクリックします。
注意: クリックできるのは、1つの「選択」セクションのみです。クリッピングとして選択されるのは、選択した「選択」セクション・アイコンの直下のコンテンツのみです。プレビュー・モードを続行すると、クリップしたコンテンツを表示できます。選択したセクションが必要なセクションでなかった場合は、「選択解除」をクリックすると、再度セクション・モードに戻り、クリップする別のセクションを選択できます。 |
図14-8のように、Webクリッピング・スタジオで、「項目」セクションのプレビューが検索結果とともに表示されます。
注意: セクションの中には、空白のみでデータを含まないものもあります。たとえば、Webページにテキストやイメージを含まないHTMLの<DIV>タグが含まれている場合があります。データのないセクションで「選択」をクリックすると、Webクリッピングには空白のプレビューが表示されます。この場合、「選択解除」をクリックして、セクションに分割されたページに戻ります。次に、データを含むセクションを選択します。 |
クリップしたセクションを使用しない場合は、「選択解除」をクリックして、そのセクションを含むページに戻ります。そのページで別のセクションを選択するか、「セクション解除」をクリックして別のページにナビゲートします。
必要なセクションの場合は、「スクレイプ」をクリックしてスクレイプ・モードに進みます。
スクレイプ・モードでは、テキストなど各項目の後にあるチェック・ボックスは、スクレイプ可能な出力としてその項目を選択できることを示します。1つ以上の出力項目が、類似の出力のコレクションとなる可能性があります。セル付きの表には、特殊なスタック・チェック・ボックスが表示され、セル内の全テキストを出力として選択できます。
最初の出力の終わりにあるチェック・ボックスを選択します。選択した各出力には、下部のフレームの「値」と「名前」の表の下に値の行が表示されます。ここで出力の名前を指定できます。「名前」列で、出力に対してBooksなどのわかりやすい名前を入力します。
注意: 名前に空白を含めることはできません。 |
選択したコンテンツに関連するハイパーリンクが含まれている場合、そのハイパーリンクの値が結果のデータ・ソース出力の追加列として表示されます。また、イメージを選択した場合は、そのイメージのソース(SRC)の値が出力されます。
出力を選択すると、選択した最初の出力が同様の出力のコレクション内にある最初の項目を表しているかぎり、全体の繰返しが可能なグループが作成されます。これは、反復性を適用できるのは、同様の出力のコレクションのみであることを意味します。反復レベルを増やして、同様の出力の全コレクションを含めるには、「次へ」を1回クリックします。図14-9のように、出力のすべての項目が選択されます。
「次へ」をクリックすると、スクレイプ対象の同様の出力のコレクション全体を簡単に選択できます。「次へ」をクリックすると、選択した出力の連続したグループのチェック・ボックスが選択され、スクレイプ対象に指定されます。出力としてスクレイプする類似の出力の連続したグループを選択する方が、チェック・ボックスを個別に選択するよりも早く選択できます。
「続行」をクリックします。
「Webクリッピングの検索」ページの「クリッピング属性の編集」セクションで、Webクリッピング・アプリケーションの次の属性を設定できます。
タイトル: Wireless Webクリッピング・アプリケーションの名前。
説明: Wireless Webクリッピング・アプリケーションの簡単な説明。Search Oracle Store
と入力します。
タイムアウト(秒): 接続タイムアウト、つまり、Wireless Webクリッピング・サーバーがWebクリッピング・アプリケーションのソースへの接続を確立するまで待機する時間(秒)。この時間を超えると、タイムアウト・メッセージが返されます。デフォルト値は、Webクリッピング・スタジオを使用してクリップする、イントラネットWebサイトへの接続に要する実際の時間から生成されます。値は0〜60秒です。
図14-10に、「Webクリッピングの検索」ページの上部3分の1を示します。
Webクリッピング・アプリケーションのコンテンツのクリッピング中にフォーム・ベース送信を実行した場合は、「カスタマイズ可能なクリッピング・パラメータの選択」というタイトルの見出しが、「Webクリッピングの検索」ページに表示されます。表にパラメータがリストされます。
ページ・ビューアでパラメータのカスタマイズを可能にする場合には、「パラメータ」列のドロップダウン・ボックスから必要なパラメータを選択し、「カスタマイズ可能」列を選択します。これにすり、OracleAS Wireless管理者は、入力値をカスタマイズして、選択した各パラメータをパーソナライズできます。
注意: ユーザー名フィールドとパスワード・フィールドには、フォームベースで発行されるログインを使用しているWebサイト用にカスタマイズされる可能性のあるパラメータを設定しないでください。また、セキュリティをより強化するため、WebクリッピングではWebサイトからのJavaScriptの取得はサポートしていません。これは、ログインのたびにユーザー名とパスワードの追加JavaScript処理を実行する可能性があるためです。 |
図14-11に、「Webクリッピングの検索」ページの「カスタマイズ可能なクリッピング・パラメータの選択」セクションを示します。
索引の値が2の行で、「パラメータ」リストからkw
を選択します。次に、その「表示名」をkw
からkeyword
に変更し、この名前をワイヤレス・アプリケーション・ユーザーが認識しやすいようにします。
「カスタマイズ可能」ボックスを選択して、ワイヤレス・アプリケーション・ユーザーがパラメータの入力値をカスタマイズできるようにします。
Webクリッピング・アプリケーションをテストするには、図14-12のように、「Webクリッピングのテスト」セクションの「テスト」をクリックします。
Webクリッピングのテスト結果は、ブラウザのページにXML文書として表示されます。このXML文書のコンテンツを検査し、必要なコンテンツが含まれているかどうかを確認します。ワイヤレス・デバイスでは、このXML文書はフォーマットされて表示されます。
オプションの選択を終了した後は、「適用」をクリックして、変更内容を保存します。
注意: 「適用」を選択すると、Webクリッピング・アプリケーションのすべての編集内容とオプションが保存されます。したがって、ワイヤレス・アプリケーション・ユーザーは、これらの変更内容に即時にアクセスできるようになります。またOracleAS Wireless管理者は、Webクリッピング・アプリケーションの属性ページで必要に応じて編集を実行できるようになります。これに対して、「OK」を選択すると、Webクリッピング・アプリケーションの属性に対するすべての編集内容が保存されると同時に、これらの変更内容にワイヤレス・アプリケーション・ユーザーが即時にアクセスできるようになります。ただし、Webクリッピング・アプリケーションの属性ページが終了し、「アプリケーション」ページに戻ります。 |
「適用」をクリックして変更内容を保存すると、図14-13のように、「Webクリッピングの検索」ページの「Webクリッピングのテスト」セクションには、「入力値」ヘッダーが表示され、カスタマイズされたパラメータがその初期入力値とともに一覧表示されます。
Keywordという名前のパラメータとその入力値J2EEが表示されていることに注意してください。別の入力値をテストするには、図14-14のように、cacheなどの新しい値を入力し初期値を変更します。「テスト」をクリックして新しい入力値をテストします。
このWebクリッピング・アプリケーションのテスト結果は、ブラウザのページに表示されます。このXML文書のコンテンツを検査し、必要なコンテンツが含まれているかどうかを確認します。
「OK」をクリックして、変更内容を保存し、図14-15のように、「Webクリッピングの管理」ページに戻ります。
「Webクリッピングの管理」ページでは、次のことを実行できます。
Webクリッピングの検索: 「検索」フィールドに、Webクリッピングの名前の一部に一致する検索文字列を入力し、次に「実行」をクリックして検索を開始します。入力した検索文字列に一致する名前を含むWebクリッピングのリストが表示されます。
Webクリッピングの編集: 編集するWebクリッピングを「選択」列で選択し、「編集」をクリックします。図14-10のように、「属性の編集」セクションのある「Webクリッピングの検索」ページが表示されます。このページから、Webクリッピングの属性を編集できます。
新しいWebクリッピングの作成: 「Webクリッピングの追加」をクリックします。「Webクリッピングの検索」ページが表示され、ここで開始ポイントのURLを入力してWebサイトの参照を開始し、クリップするコンテンツを検索できます。
Webクリッピングの削除: 削除するWebクリッピングを「選択」列で選択し、「削除」をクリックします。Webクリッピングが削除されていることを示す確認メッセージが表示されます。
デフォルトのアプリケーションの作成: 「デフォルト・アプリケーションの作成」をクリックして、新しく作成されたWebクリッピングのデフォルトのレンダリングを表示します。
従来の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クリッピング・サーバーのアーキテクチャ
Webクリッピングを移行する手順は、次のとおりです。
WIDL定義ファイルをインポートしてWebクリッピングを作成するには、「Webクリッピング・スタジオ」タブを選択します。「Webクリッピングの検索」ページの「WIDLからインポート」サブタブを選択します。
図14-17に、「WIDLからWebクリッピングをインポートします。」ページを示します。
「WIDLからWebクリッピングをインポートします。」ページでは、既存のWIDLファイルをインポートしてWebクリッピングを作成し、リポジトリに保存できます。
WIDL定義ファイルをインポートするには、次のいずれかを実行します。
「WIDLロケーション」フィールドに開始ポイントのURLを入力し、「開始」をクリックします。
「参照」をクリックして、システムのWIDL定義ファイルがあるディレクトリを検索し、「WIDLロケーション」フィールドに移入するWIDLファイルをクリックします。次に、「開始」をクリックしてWIDL定義ファイルのインポートを開始します。
図14-18のように、新しいセクション「WIDLサービスを選択してインポートします。」を含む「WIDLからインポート」ページが再度表示されます。
インポートするサービスがWIDLファイルに複数含まれている場合は、「WIDLサービスの選択」ボックスからインポートするサービスを選択します。
WIDLサービスでフォーム・ベースの送信を実行した場合(つまり、入力バインドを含む場合)は、「WIDLからインポート」ページにセクション「パラメータの設定」が含まれています。このセクションでは、任意のパラメータのデフォルト値を指定できます。「デフォルト値」列で、図14-19のように、選択した各パラメータに対してデフォルト値を入力します。
「続行」をクリックします。WIDLサービスがインポートされ、Webクリッピングが作成されます。「Webクリッピングの検索」ページが表示されます。
「Webクリッピングの検索」ページでは、新しいWebクリッピングの属性を編集できます。Webクリッピングにフォーム・ベースの送信が含まれている場合は、フォームの入力情報もカスタマイズできます。「説明」フィールドなどのクリッピング属性を編集した後は、「OK」をクリックして変更内容を保存し、「Webクリッピングの管理」ページに戻ります。
「Webクリッピングの管理」ページで、作成したWebクリッピングを使用してワイヤレス・アプリケーションを作成する準備ができました。
Webクリッピングからワイヤレス・アプリケーションを作成する場合は、次のいずれかの方法を使用します。
開発用のデフォルトのアプリケーションを作成し、新しく作成されたWebクリッピングのデフォルトのレンダリングを表示して、パラメータをカスタマイズできるようにします。詳細は、14.5.1項「デフォルトのアプリケーションの作成」を参照してください。
Java APIを使用して、クリップしたデータにアクセスし、レンダリングをカスタマイズします。詳細は、14.5.3項「カスタム・アプリケーションの作成」を参照してください。
図14-15に示した「Webクリッピングの管理」ページでは、デフォルトのワイヤレス・アプリケーションを作成できます。
「選択」表からデフォルトのワイヤレス・アプリケーションにするWebクリッピングを選択し、「デフォルト・アプリケーションの作成」をクリックします。デフォルトのワイヤレス・アプリケーションが作成され、直前に実行したスクレイピングのデフォルトのレンダリングがOracleAS Wireless XMLに配信されます。
デフォルトのアプリケーションを作成した後は、OracleAS Wirelessの「アプリケーション」ページに戻り、そこで新しいWebクリッピング・アプリケーションを作成できます。
この例を続行すると、図14-20に示すような、Oracle Store Search Resultというアプリケーションがアプリケーション・リストに追加されます。
Webクリッピングからデフォルトのアプリケーションを作成すると、新しいアプリケーションを公開できます。新しいワイヤレス・アプリケーションに対して新しいアプリケーション・リンクを作成するには、次の手順を実行します。
「コンテンツ」タブをクリックして「アプリケーション・リンクの追加」をクリックし、新しいアプリケーションを「アプリケーション・リンク」ページに追加します。
ウィザードが示す手順に従います。「アプリケーション」手順では、このアプリケーションのベースにするアプリケーションをクリックします。ページにアプリケーションのリストが表示されます。アプリケーションOracle Store Search Resultを選択します。「次」をクリックします。
「一般」手順では、アプリケーションの名前としてORACLESTOREなどの名前を入力し、「次」をクリックします。
「入力パラメータ」手順では、「次」をクリックして、新しいアプリケーションのデフォルトの設定をそのまま使用します。
「非同期アプリケーション」手順では、「次」をクリックします。
「追加」手順では、「説明」フィールドにBooksと入力し、次に「終了」をクリックします。
図14-21のように、新しいアプリケーションがアプリケーションの「アプリケーション・リンク」リストに表示されます。これによって、このアプリケーションはユーザー・グループに公開され、ワイヤレス・デバイスのモバイル・ユーザーがアクセスできるようになります。
このページから、次のことも実行できます。
Webクリッピング・アプリケーションの削除: 削除するアプリケーションを「選択」列で選択し、「削除」をクリックします。選択したWebクリッピングが削除されていることを示す確認メッセージが表示されます。
既存のWebクリッピング・アプリケーションの属性の編集: 編集するアプリケーションを「選択」列で選択し、「Webクリッピング・スタジオでのクリップの編集」セクションで「編集」をクリックします。
アプリケーションの分類: アプリケーションを「選択」列で選択し、「分類」をクリックします。
アプリケーションのテストは、「サービス」タブまたは「コンテンツ」タブ(公開済の場合)から実行できます。
「コンテンツ」タブでは、「テスト」列の「テスト」アイコンをクリックして、テストするアプリケーション(この例では新しいアプリケーション・リンクORACLESTORE
)を選択します。「OracleAS Wireless PDAシミュレータ」ページが新しいブラウザのウィンドウに表示され、図14-2のように、Webクリッピング・アプリケーションのコンテンツが表示されます。
OracleAS Wireless PDAシミュレータのテスト表示で、ページの下へスクロールして「入力の変更」をクリックし、図14-22のように、keywordというパラメータの初期入力値の値を変更します。
初期入力値のJ2EEを削除して、値cacheを入力します。次に、「実行」をクリックします。
OracleAS Wireless PDAシミュレータには、図14-23のように、値cacheに関連するOracle Store内の項目の検索結果が表示されます。
図14-15に示した「Webクリッピングの管理」ページでは、カスタムのワイヤレス・アプリケーションを作成できます。(このページにナビゲートするには、「サービス」タブの「Webクリッピング・マネージャ」をクリックします。)「カスタム・アプリケーション」タブをクリックします。図14-24のように、「カスタム・アプリケーション」ページが表示されます。
「カスタム・アプリケーション」ページの「ダウンロード」セクションからは、次のことを実行できます。
Java Connector Architecture(JCA)のCommon Client Interface(CCI)を使用したOracle Application Server Containers for J2EE(OC4J)のインスタンス内での開発用に、(J2EE開発用の)JCA Resource Adaptor Archive(RAR)をダウンロードできます。次の手順を実行します。
「J2EE開発」セクションのRARリンクをクリックして、JCA RARファイルwebclipping.rar
をダウンロードします。
『Oracle Application Server Containers for J2EEサービス・ガイド』のリソース・アダプタのデプロイに関する指示に従って、使用しているOC4JにRARファイルをデプロイします。正しいバージョンのOC4Jの詳細は、『Oracle Application Server Containers for J2EEユーザーズ・ガイド』を参照してください。
ライブラリを有効にするには、OC4Jの再起動が必要な場合があります。
「Webクリッピング」タブに戻って、JSPファイル形式のWebクリッピングを検索し、デプロイしたRARファイルを使用して開発を開始します。
スタンドアロンJava 2 SDKを使用した開発用に、(J2SE開発用の)Javaライブラリ(JAR)をダウンロードします。次の手順を実行します。
「J2SE開発」セクションの「JAR」リンクをクリックして、Javaライブラリ・ファイルwcbean.jar
をダウンロードします。
スタンドアロンJava 2 SDK環境では、コードのコンパイル時と実行時に、JARファイルをクラスパスに配置します。
J2EE(OC4J)開発の場合、このJARファイルは、使用しているWebアプリケーションがアクセスできる場所に配置します。たとえば、OC4Jのルート・クラスパス、アプリケーション独自のライブラリ・パスまたは使用しているWebアプリケーションが格納されているWeb Archive(WAR)ファイルのWEB-INF/libディレクトリなどに配置します。使用するリソース・アダプタによっては、WebクリッピングのBean APIを使用するために、OC4Jインスタンスを再起動する必要があります。
スタブJavaファイルのコンパイルと実行に必要なその他のファイルは、http_client.jar
、Javax-ssl-1_2.jar
、jssl-1_2.jar
およびxmlparserv2.jar
です。これらのファイルは、OC4Jのインストールにあります。
「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を使用したワイヤレス・アプリケーションを作成できます。
OracleAS Wireless管理者による実行が必要なWebスクレイピング関連の管理タスクは、次のとおりです。
HTTPまたはHTTPSプロキシ設定の構成。プロキシ・サーバーの構成方法の詳細は、『Oracle Application Server Wireless管理者ガイド』の「OracleAS Wirelessサーバーの構成」を参照してください。
セキュリティの構成。詳細は、14.6.1項「セキュリティの構成」を参照してください。
記録するイベントのレンダリングと有用なレポートの生成。詳細は、14.6.2項「記録するイベントのレンダリングとレポートの生成」を参照してください。
セキュアなサイトにナビゲートすると、その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
ファイルを拡張する必要があります。
ブラウザ(可能な場合はInternet Explorer)を使用して、アクセスする各外部HTTPS WebサイトからBASE64フォーマットのルート・サーバー証明書をダウンロードします。この証明書は、信頼できる証明書ファイルから欠落している証明書です。
Oracle Wallet Managerを使用して各証明書をインポートします。
信頼できるサーバー証明書をファイルにエクスポートし、ca-bundle.crt
ファイルをそのファイルで置換します。
注意: ca-bundle.crt ファイルは、OracleAS Portalが構成されていない場合でも、そのまま存在して機能します。
|
Oracle Wallet Managerの詳細は、『Oracle Application Serverセキュリティ・ガイド』を参照してください。
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 );
OracleAS Wireless WML Translatorは、WMLで開発されたアプリケーションをすべてのWeb対応ワイヤレス・デバイス用に再フォーマットします。実行時に、WMLで開発されたコンテンツはOracleAS Wireless XMLに変換された後、適切なデバイス固有のマークアップ言語に変換されます。
通常、WML 1.x(WML 1.3まで)のソース・ドキュメントはサポートされます。各ソース・ドキュメントは次の順序で処理されます。
ソースWMLの妥当性がチェックされます。有効なXMLであるか。有効なWMLであるか。
"card"グループ化された"p"要素が整理統合されます。
ソースWMLがOracleAS Wireless XMLに変換されます。
ナビゲーション要素(ある場合は、14.7.1項「WML Translatorのデプロイと構成」を参照)が、結果のWireless XMLに追加されます。
結果のWireless XMLのURLが絶対URLに変換され(未変換の場合)、さらにOracleAS Wirelessポータルを指定するようにリライトされます。
表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つの場合を除いて、そのままコピーされます。
|
<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には、特定の制約があります。
OracleAS Wireless XMLにはいくつかの制限があり、WMLからWireless XMLへの完全な変換ができません。最も注意が必要な短所は、Wireless XMLにはイベント処理モデルがないことです。
WML Translatorを装備したWMLユーザー・エージェントには制限があります。ナビゲーション履歴がメンテナンスされません。WML変数のサポートはかなり制限されています。
WMLスクリプトはまだサポートされていません。
アンカーの送信: 子<go>を持つ<anchor>要素がある場合、このカードに表示できるのは、1つの<anchor>のみです。
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>
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