![]() ![]() ![]() ![]() ![]() ![]() | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
第3章
すべてのexteNd Composerコンポーネントと同様に、Telnetコンポーネントを作成する最初の手順は、接続リソースを使用できることが前提となりますが、コンポーネントに必要なXMLテンプレートを準備することです(詳細については、『Composerユーザガイド』の「新しいXMLテンプレートの作成」を参照してください)。
XMLテンプレートを指定した後、コンポーネントによって処理される入力および出力を表すテンプレートのサンプルドキュメントを使用して、コンポーネントを作成できます。
また、Telnetコンポーネントの作成プロセスの一部として、コンポーネントで使用するTelnet Connectを指定する必要があります(新しく作成することもできます)。Telnet接続リソースの作成については、前の章を参照してください。
[ファイル]>[新規作成]>[xObject...]の順に選択します。[コンポーネント]タブをクリックし、[Telnet端末]を選択します。
注記: または、Composerウィンドウのカテゴリペインの[コンポーネント]で、[Telnet端末]を選択し、マウスを右クリックして[新規]を選択することもできます。
[次へ]をクリックします。 新規TelnetコンポーネントウィザードのXML入力/出力プロパティ情報ペインが表示されます。
前に説明したのと同じ手順で、出力DOMとして使用するXMLテンプレートを選択します。
注記: 出力テンプレートとして{System}{ANY}を選択すると、構造が含まれない入力テンプレートまたは出力テンプレートを指定できます。詳細については、『Composerユーザガイド』の「テンプレートを使用しない出力DOMの作成」を参照してください。
必要に応じて、スクラッチパッドとして使用する予定のテンプレートを、ダイアログウィンドウの[一時メッセージ]ペインで指定します。これは、コンポーネント実行時に一時的にしか使用しないか、または参照目的だけの値を保持しておく場所が必要な場合に便利です。デフォルトのカテゴリと異なる場合は、テンプレートカテゴリを選択します。その後、選択したテンプレートカテゴリにあるXMLテンプレートのリストからテンプレート名を選択します。
前と同様に、入力XMLテンプレートをさらに追加するには、[追加]をクリックして、それぞれにテンプレートカテゴリとテンプレート名を選択します。この手順を必要なだけ繰り返します。入力XMLテンプレートを「削除する」には、エントリを選択して[削除]をクリックします。
プルダウンリストで「接続」の名前を選択します。Telnet接続の詳細については、このガイドの第2章「接続リソースの作成」を参照してください。
Telnetコンポーネントエディタには、exteNd ComposerのXMLマップコンポーネントエディタのすべての機能が含まれます。たとえば、入力XMLドキュメントと出力XMLドキュメントのマッピングペインや、アクションペインも含まれています。
ただし、大きな違いが1つあり、Telnetコンポーネントエディタには、Telnetエミュレータを特徴とするネイティブ環境ペインも含まれます。この画面は、メインツールバーで[接続]アイコンをクリックするか、ツールバーで[記録]ボタンをクリックして記録を開始するまで黒色で表示されます。いずれのアクションによっても、ネイエィブ環境ペイン内では、このTelnetコンポーネントにより使用された接続リソースで指定したホストとのTelnetエミュレーションセッションが確立されます。
Telnetネイティブ環境ペインでは、ホスト環境のTelnetエミュレータが提供されます。このペインでは、「ダム端末」の画面を操作する場合とまったく同じようにネイティブ環境ペインを操作して、Telnetセッションをリアルタイムで実行できます。また、次の操作を行うこともできます。
Telnet画面フィールドに対する入力として、入力XMLドキュメント(または他の使用可能なDOM)からのデータを使用する。たとえば、SKU番号を入力DOMからTelnet画面の「パーツ番号」フィールドにドラッグして、ホストを照会し、そのパーツ番号に関連付けられているデータ(説明や価格など)を返すことができます。
返されたTelnet画面からデータをマップして、出力XMLドキュメント(またはTemp、MyDomなどその他使用可能なDOM)に配置する
ECMAScript式または関数を使用して、ヘッダ情報および詳細情報(複数の行があるフォームなど)をネイティブ環境ペインからXMLドキュメントにマップする
Telnetネイティブ環境ペインでは、特別な端末キーの使用が多数サポートされています。[端末キーパッド]ダイアログボックス(次の図を参照)は、[一般キー]、[NumPadキー]、[コントロールキー]、および[その他のキー]の4つのタブで構成されています。各タブには、特定の機能を備えたキーグループが含まれています。
[式ビルダ]ダイアログボックスの[関数/メソッド]カラムで[Telnet]>[キー]の順に選択すると表示される選択リストを使用すると、追加のキー(F13からF20など)を使用することもできます。
Composerメニューから[表示/端末キーパッド]を選択します。フローティングテンキーが表示されます。テンキーウィンドウには、[一般キー]、[NumPadキー]、[コントロールキー]、および[その他のキー]という4つのタブがあります。
呼び出すキーをクリックします。ヘルプが必要な場合は、キーの上にマウスを移動します。マウスを合わせたキーに対応するTelnetキーボードが表示されます。ここでは、ネイティブ環境ペインでキーをクリックした場合の結果を確認できます。
[OK]をクリックして、テンキーを閉じます。テンキーを再表示するには、手順1を繰り返します。テンキーを表示すると、最後に使用したタブが選択された状態となります。
次のページでは、Telnetとの通信に使用できる4つのタブおよびそれに対応するキーについて説明します。
一般キー: 方向キー(上下左右の矢印、<BackSpace>、<Tab>)の他、<Delete>、<ESC>、および改行キーも含まれます。また、ファンクションキー(<F1>から<F20>)も表示されます。
NumPadキー: 0~9までの数字、マイナス記号、カンマ、ピリオド、および<Enter>キーが含まれます。
コントロールキー: 特定の機能に関連付けられている32つのキーが表示されます。完全なリストについては、付録Bを参照してください。
その他のキー: [ヘルプ]キーなどの一般的な機能を実行するキーが含まれます。
注記: 特殊な(非印字)キーおよびそれに対応するANSIの完全なリストについては、付録Bを参照してください。
Screenオブジェクトは、ネイティブ環境ペインに示されたエミュレータ画面のバイトアレイ表記で、画面のコンテンツを操作するためのメソッドが備わっています。
Telnetコンポーネントは、Telnet「セッション」で文字モードの端末データストリームを介してホスト環境との通信を行います。ユーザは、キー入力(または、カーソルプロンプトにマップされたXMLデータ)の形式でホストにデータを送信します。すると、ホストは、バイト単位から画面全体の情報まで、あらゆる情報が含まれた一連のデータを端末に送信します。Screenオブジェクトは、現在の画面のデータを表します。これは、24 x 80 ANSI端末画面では、1,920バイトのデータになります。
ホストから文字データを受信すると、ネイティブ環境ペインに対して適切な更新がリアルタイムで行われます。このような更新には、単なるカーソルの位置変更から、端末画面の完全な再表示まで、あらゆる内容が含まれます。その意味では、画面のコンテンツは非常にダイナミックです。
(画面の確認アクションを使用して)現在の画面の内容を操作するようexteNd Composerに通知すると、画面バッファが「Screenオブジェクト」にまとめられ、ECMAScriptを通じてコンポーネントにアクセスできるようになります。
多くの場合、コンポーネントでは、ホストにキー入力を送信し直したり、プロンプトにデータをマップしたりする前に、完全な画面の内容を「認識」または理解している必要はありません。ただし、画面からDOMへの送信をマップする場合は、Screenオブジェクトへの標準的なアクセスがあると便利なことがあります。これを実現するため、TelnetのConnectでは、画面の内容を操作するためのECMAScript拡張が多数定義されています。このような拡張については、次の章で詳細に説明し、ここでは簡単な例を紹介します。たとえば、画面の行5、カラム20の位置にある文字列の値を取得するとします。 この文字列が10文字の場合、次のECMAScript式をマップアクションのソース(ターゲットは出力DOMまたは一時DOM)として使用してその値を取得できます。
Screen.getTextAt( 5, 20, 10 )
これで、画面の行5、カラム20で開始する10文字が、マップアクションのターゲットにマップされます。
追加の例(およびScreenオブジェクトの完全なAPIマニュアル)については、次の章の42ページの「Telnet固有の式ビルダ拡張」という節を参照してください。
記録の開始/停止 - このメニューオプションは、ホストプログラムと通信する場合にアクションの自動作成を管理します。[記録の開始]は画面を操作する際にアクションの自動作成を有効にし、[記録の停止]はアクションの作成を終了します。
接続/接続解除 - このメニューオプションでは、ホストへの接続を制御できます。記録またはアニメーション表示を行う場合、接続は自動的に確立されます(その結果、[接続]アイコンは「接続されているが無効」な状態で表示されます)。ただし、このボタンは、記録を行うのではなく、単にTelnet環境を移動することを目的として接続を確立したい場合に便利です。
Telnet Connectには、このConnect固有のコンテキストメニュー項目も含まれます。コンテキストメニューを表示するには、該当するペイン(ネイティブ環境またはアクション)にカーソルを置き、マウスを右クリックします。
ネイティブ環境ペインでマウスを右クリックすると、コンテキストメニューが表示されます。記録モードになっていない場合、メニュー項目はグレー表示されます。記録モードでは、コンテキストメニューは次のようになります。
バッファの送信: USERID - このコンポーネントに対するTelnet接続リソースのユーザIDに指定した値(存在する場合)に基づいて、ユーザID情報をホストに自動的に送信します。また、対応するバッファの送信アクションをアクションモデルで作成します。
バッファの送信: PASSWORD - このコンポーネントのTelnet接続リソースでパスワードに対して指定した値(該当する場合)に基づき、パスワード情報をホストに自動的に送信します。また、対応するバッファの送信アクションをアクションモデルで作成します。
バッファの送信 - [バッファの送信]ダイアログボックスを表示し、新しいバッファの送信アクションを作成できるようにします(このコマンドの使用についての詳細は、次の章を参照してください)。
画面の確認 - ダイアログボックスを表示せずに、新しい画面の確認アクションを作成します(ツールバーで[画面の確認アクションの作成]ボタンをクリックした場合と同じです)。
アクションペインの任意の場所にマウスを合わせて右クリックすると、コンテキストメニューが表示されます(次を参照)。
バッファの送信 - バッファの送信アクションを作成できます。[バッファの送信]ダイアログボックスが表示されます。このダイアログボックスでは、Telnetホストアプリケーションに送信されるテキストまたはコントロールキーコマンド、あるいはその両方を入力できます(このダイアログボックスでは、ECMAScript式、または入力DOMにある文字列データの位置を表すXPathフラグメントを入力することもできます)。このコマンドの使用の詳細については、次の章を参照してください。
画面の確認 - このコマンドを使用すると、(コンポーネントをホストと同期させるために)新しい画面の確認アクションを作成できます。ダイアログボックスが表示され、さまざまな実行許可条件や、タイムアウト値を指定できます。画面の確認アクションの詳細については、次の章を参照してください。
Telnet Connectには、コンポーネントエディタのメインツールバーにConnect固有のツールアイコン(またはConnect固有の機能を備えたアイコン、あるいはその両方)が多数含まれています(次を参照)。これらのアイコンは、次のとおりです。
[記録]アイコン(通常の状態)
[記録]アイコン(記録が進行中)
[記録]アイコン(無効な状態)
[記録]ボタンを使用すると、ネイティブ環境ペインを操作する場合に、キーボードや画面での操作をキャプチャできます。記録された操作は、アクションモデルにアクションとして配置され、その後、テスト中に「再生」することができます。
[接続](切断されている状態)
[接続](接続されている状態)
[接続](接続されているが無効な状態)
Composerのメインツールバーにある[接続]ボタンでは、(コンポーネントに関連付けられた接続リソースの作成時に指定した設定を使用して)コンポーネントの接続の状態が切り替わります。
注記: 記録またはアニメーション表示を行う場合、接続は自動的に確立され、その場合、ボタンは「接続されているが無効」な状態で表示されます。記録をオフにすると、[接続]ボタンは有効な状態に戻ります。
[画面の確認アクションの作成]ボタン
Composerのメインツールバーにある[画面の確認アクションの作成]ボタンは、ユーザが最初に端末画面を操作する前にクリックする必要があります。これによって、ネイティブ環境ペインに現在表示されている画面データを操作する予定であることがexteNd Composerに通知されます。このボタンをクリックすると、新しい画面の確認アクションがアクションモデルに追加されます(このアクションタイプについての詳細は、次の章を参照してください)。
Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved. more ...