데이터 기반 어댑터 사용(DDA)

 

게시 날짜: 2016년 11월

적용 대상: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016

데이터 기반 어댑터(DDAs)는 일반적으로 호스트형 응용 프로그램 도구 키트(HAT)에서 활용되는 어댑터입니다. 이러한 어댑터는 UI를 사용하는 상호 작용만 처리하고 비즈니스 프로세스는 포함하지 않는 일반 어셈블리입니다.Unified Service Desk SDK에는 다양한 응용 프로그램을 호스팅하고 액세스할 수 있는 일반적인 기능 집합을 제공하는 DDA가 포함되어 있습니다. 그러나 응용 프로그램의 종류에 따라 추가 기능이 필요할 수 있습니다. 새 DDA(및 외부 DDA가 있는 DDA에서 사용)를 만들고 기존 DDA를 확장하는 등 기존 기능을 확장하는 다양한 방법이 있습니다.

이 섹션의 내용

데이터 기반 어댑터 유형

DDA 만들기

기존 DDA 확장

바인딩

사용자 지정 응용 프로그램 어댑터에서 DDA 사용

데이터 기반 어댑터 유형

DDA에는 다음과 같은 네 가지 유형이 있습니다.

DDA 만들기

DataDrivenAdapterBase 클래스를 상속하는 것만으로 새 DDA를 만들 수 있습니다.

클래스에 오버로드할 수 있는 생성자가 있습니다.

기존 DDA 확장

이전 섹션에서 DDA를 만드는 방법을 살펴보았습니다. 그러나 명복상의 사용자 지정인 경우 기존 DDA를 사용하고 요구 사항에 따라 확장할 수 있습니다.

다음 클래스를 사용하여 기존 UII DDA를 확장할 수 있습니다.

앞의 모든 클래스는 DataDrivenAdapterBase 클래스에서 파생됩니다.

바인딩

데이터 기반 어댑터는 바인딩이라는 데이터를 사용하여 호스트형 응용 프로그램의 UI 구성 요소를 식별하는 방법을 정의합니다. 예를 들어, 바인딩은 웹 페이지에서 요소를 설명하는 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 소프트웨어 팩터리를 사용하는 경우 InitString을 만듭니다. 응용 프로그램은 소프트웨어 팩터리에서 서버에 배포할 수 있습니다.

관리 UI를 사용하여 호스트형 응용 프로그램을 직접 추가하는 경우 전체 InitString을 만들 필요가 없습니다. <DataDrivenAdapterBindings> 섹션을 지정하고 Automation Xml 탭에 추가하기만 하면 됩니다.

사용자 지정 응용 프로그램 어댑터에서 DDA 사용

DDA는 처음에는 호스트형 응용 프로그램 도구 키트(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/> 요소는 UII가 유형, 어셈블리 형식에 지정된 유형을 동적으로 인스턴스화하도록 하여 사용자 지정 DDA를 로드하고 사용할 수 있습니다.<Controls/> 요소에는 로드된 DDA에서 요구하는 방식으로 지정된 구성된 컨트롤 목록이 포함되어 있습니다.

참고 항목

HAT 소프트웨어 팩터리 작업

Unified Service Desk 2.0

© 2017 Microsoft. All rights reserved. 저작권 정보