次の方法で共有


Unified Service Desk でのデータ駆動型アダプター (DDA) の使用

データ駆動型アダプター (DDA) は、Hosted Application Toolkit (HAT) によって一般的に使用されるアダプターです。 これらのアダプターは、UI との対話のみを処理し、ビジネス プロセスを含まない汎用アセンブリです。 Unified Service Desk SDK には、さまざまなアプリケーションをホストしてアクセスするための共通の機能セットを提供する DDA が付属しています。 ただし、アプリケーションのタイプによっては、追加の機能が必要になる場合があります。 既存の機能を拡張するには、新しい DDA の作成 (および外部 DDA との複合 DDA での使用) や既存の DDA の拡張など、さまざまな方法があります。

このセクションにて

データ ドリブン アダプターの種類

DDA の作成

既存の DDA の拡張

バインディング

カスタム アプリケーション アダプターでの DDA の使用

データ ドリブン アダプターの種類

DDA には 4 つのタイプがあります。

DDA の作成

DataDrivenAdapterBase クラスを継承して、新しい DDA を作成できます。

このクラスには、オーバーロードできるコンストラクタがあります。

既存の DDA の拡張

前のセクションでは、DDA の作成方法を見ました。 ただし、カスタマイズが名目上のものである場合は、既存の DDA を使用し、要件に応じて拡張できます。

次のクラスを使用して、既存の UII DDA を拡張できます。

バインド

データ駆動型アダプターは、バインディングという名前のデータを使用して、ホストされたアプリケーションの UI コンポーネントを特定する方法を定義します。 たとえば、バインディングは、Web ページ上の要素を記述するためのドキュメント オブジェクト モデル (DOM) パスで構成されている場合があります。 次の例は、DDA バインディング・サブツリーが埋め込まれたアプリケーション初期化ストリングを示しています。 これは一般的な例ですが、Windows バインディングで Acc コントロールを実装するために使用されるパターンを示しています。

わかりやすくするために、一部の設定パラメータが削除されています。

<initstring>  
    <interopAssembly>  
      <URL>path to executable</URL>  
      <Arguments>test argument</Arguments>  
      <WorkingDirectory>c:\</WorkingDirectory>  
      <hostInside/>  
    </interopAssembly>  
<!—- notice there is no custom application adapter specified here-->  
    <displayGroup>None</displayGroup>  
    <optimumSize x="800" y="600"/>  
    <minimumSize x="640" y="480"/>  
    <DataDrivenAdapterBindings>  
      <Type>typeName, assemblyName</Type>  
      <Controls>  
        <AccControl name="combobox1">  
          <Path>  
            <FindWindow>  
              <ControlID>1003</ControlID>  
            </FindWindow>  
          </Path>  
        </AccControl>  
</Controls>  
    </DataDrivenAdapterBindings>  
</initstring>  
  

HAT Software Factory を使用している場合は、HAT Software Factory によって InitStringが作成されます。 その後、アプリケーションをソフトウェアファクトリからサーバーにデプロイできます。

Admin UI を使用してホストされたアプリケーションを直接追加する場合は、完全な InitStringを作成する必要はありません。 <DataDrivenAdapterBindings>セクションを指定して、[Automation Xml]タブに追加するだけです。

カスタム アプリケーション アダプターでの DDA の使用

DDA は当初、Hosted Application Toolkit (HAT) 内の自動化をサポートするために考案されましたが、カスタム アダプターで使用して有用な結果を得ることができます。 次のコード サンプルは、カスタム アダプターから取得されたもので、カスタム アダプターで DDA を使用する方法と、DDA の一般的な利点を示しています。 サンプルに示すように、DDA を使用すると、コードと構成情報を分離できます。

DataDrivenAdapter Dda;  
public override bool Initialize()  
{  
   Dda=DataDrivenAdapter.CreateInstance(ApplicationInitString,ApplicationObject);  
   return (Dda != null);  
}  
public override bool DoAction(Action action, ref string data)  
{  
if (action.Name == "AddToHistory")  
   {  
   Dda.ExecuteControlAction("combobox1");  
   Dda.SetControlValue("textbox1", data);  
   Dda.ExecuteControlAction("button1");  
   }  
}  
  

アプリケーションの InitStringに埋め込まれている DDA 構成は、次の例のように XML です。

<DataDrivenAdapterBindings>  
<Type> Microsoft.UII.HostedApplicationToolkit.DataDrivenAdapter.WinDataDrivenAdapter, Microsoft.UII.HostedApplicationToolkit.DataDrivenAdapter</Type>  
  <Controls>  
    <AccControl name="combobox1">  
      <Path>  
        <FindWindow>  
          <ControlID>1003</ControlID>  
        </FindWindow>  
      </Path>  
    </AccControl>  
    <AccControl name="textbox1">  
      <Path>  
        <FindWindow>  
          <ControlID>1001</ControlID>  
        </FindWindow>  
      </Path>  
    </AccControl>  
    <AccControl name="button1">  
      <Path>  
        <FindWindow>  
          <ControlID>1002</ControlID>  
        </FindWindow>  
      </Path>  
    </AccControl>  
  </Controls>  
</DataDrivenAdapterBindings>  
  

<Type/>要素は、type, assembly 形式で指定された型を動的にインスタンス化するように UII に指示するため、カスタム DDA を読み込んで使用できます。 <Controls/> 要素には、読み込まれた DDA で必要な方法で指定される、構成されたコントロールの一覧が含まれています。

こちらも参照ください

HAT Software Factory との連携