다음을 통해 공유


어댑터 메타데이터 추가 마법사의 스키마 범주

개요

참고

이 항목은 IStaticAdapterConfig 인터페이스를 구현하는 정적 어댑터에만 해당됩니다.

어댑터는 수천 개의 스키마 중 하나를 사용하여 데이터를 변환한 후 BizTalk Server 전달할 수 있습니다. BizTalk 프로젝트에 메타데이터를 추가하는 경우 어댑터 메타데이터 추가 마법사를 사용하여 어댑터가 상호 작용하는 모든 스키마 목록에서 스키마를 선택합니다.

샘플 FILE 어댑터에서 CategorySchema.xml 파일은 어댑터 프레임워크의 BiztalkAdapterFramework.xsd 파일과 함께 사용되어 서비스 스키마의 트리 보기 구성을 채우는 스키마 인스턴스입니다. BizTalkAdapterFramework.xsd 파일은 \Program Files (x86)\Microsoft BizTalk Server <VERSION>Developer Tools 폴더에 있습니다.

솔루션에 자연스러운 방식으로 스키마를 구성하도록 이 파일을 만들어야 합니다. CategorySchema.xml의 기존 범주는 단지 사용자가 해당 트리에서 수행할 수 있는 작업의 한 예입니다. 범주는 샘플 어댑터가 전달하는 데이터와 특별한 관계가 없습니다. 스키마 구성은 수천 개의 다른 스키마를 사용할 수 있는 응용 프로그램별 어댑터에서 특히 중요합니다. 전송별 어댑터의 경우에는 이 트리 보기 구성이 필요하지 않습니다.

다음 그림에서는 어댑터 메타데이터 추가 마법사의 가져올 서비스 선택 페이지를 보여 줍니다.

어댑터 메타데이터 추가 마법사의 가져올 서비스 선택 페이지를 보여 주는 이미지.
어댑터 메타데이터 추가 마법사의 스키마 범주 트리 보기

샘플 XML

다음 코드는 CategorySchema.xml 파일을 보여 줍니다.

<?xml version="1.0" encoding="utf-8" ?>  
<CategoryTree>  
     <DisplayName>Services Organization</DisplayName>  
     <DisplayDescription>An organization of application services</DisplayDescription>  
     <CategoryTreeNode>  
          <DisplayName>Health Care</DisplayName>  
          <Description>Services under Health Care</Description>  
          <CategoryTreeNode>  
               <DisplayName>Administrative</DisplayName>  
               <Description>Administrative Health Care Services</Description>  
               <ServiceTreeNode>  
                    <DisplayName>Eligibility</DisplayName>  
                    <Description>Eligibility Verification Transactions</Description>  
                    <WSDLReference>ANSI X 12 270</WSDLReference>  
               </ServiceTreeNode>  
          </CategoryTreeNode>  
     </CategoryTreeNode>  
     <CategoryTreeNode>  
          <DisplayName>Manufacturing</DisplayName>  
          <Description>Manufacturing Services</Description>  
          <CategoryTreeNode>  
               <DisplayName>Inventory</DisplayName>  
               <Description>Inventory Services</Description>  
               <ServiceTreeNode>  
                    <DisplayName>Requisition</DisplayName>  
                    <Description>Requisition</Description>  
                    <WSDLReference>RequisitionService</WSDLReference>  
               </ServiceTreeNode>  
          </CategoryTreeNode>  
     </CategoryTreeNode>  
</CategoryTree>  

이 스키마 인스턴스에는 다음 노드 유형이 나타납니다.

  • CategoryTree. 시스템 정보 모델의 최상위 구조입니다. CategoryTreeNode, ExpandableCategoryTreeNode 및 ServiceTreeNode 노드 중 0개 이상을 포함합니다.

  • CategoryTreeNode. CategoryTreeNode 및 ServiceTreeNode 노드 중 0개 이상을 포함합니다. UI(사용자 인터페이스)에 폴더로 나타나는 CategoryTreeNode를 사용하여 관련 서비스 집합을 그룹화할 수 있습니다. 일반적으로 여기에는 표시할 서비스의 표시 이름과 설명이 포함됩니다. 자식 노드 수가 적으면 어댑터에서 CategoryTreeNode를 사용할 수 있습니다.

  • ExpandableCategoryTreeNode. 확장할 때 동적으로 채워지는 리프 노드입니다. ExpandableCategoryTreeNode는 자리 표시자로 사용되고 UI에 폴더로 표시됩니다. 이 노드를 사용하여 사용자가 노드를 클릭하여 확장할 때까지 범주 노드를 하위 요소로 채우는 것을 지연할 수 있습니다. 범주에 많은 자식 노드가 있으면 어댑터에서 ExpandableCategoryTreeNode를 사용할 수 있습니다.

  • ServiceTreeNode. ServiceTreeNode는 UI에 문서 또는 리프 노드로 표시되고 WSDL(웹 서비스 기술 언어) 파일을 나타냅니다.

    사용자가 폴더를 클릭하여 노드를 확장하면 어댑터 프레임워크는 노드 이름을 NodeIdentifier 특성 값으로 전달하는 어댑터의 IStaticAdapterConfig.GetServiceOrganization 메서드를 호출합니다. 어댑터는 ExpandableCategoryTreeNode에 추가할 하위 노드가 포함된 CategoryTree를 반환해야 합니다. 어댑터 프레임워크는 ExpandableCategoryTreeNode를 CategoryTreeNode로 바꾸고 반환된 CategoryTree의 자식을 추가합니다.

참고

IStaticAdapterConfig.GetServiceOrganization에 대한 초기 호출에서 어댑터 프레임워크는 노드 식별자에 대해 null을 전달합니다. 그러면 어댑터에서 루트 수준 CategoryTree를 반환합니다.

다음은 BiztalkAdapterFramework.xsd 파일에서 추출한 범주 트리 스키마입니다. 이 스키마는 어댑터 메타데이터 추가 마법사에서 XML 파일의 특정 응용 프로그램별 엔터티로 채울 기본 트리로 사용됩니다. 이 예에서 해당 파일은 CategorySchema.xml 파일입니다.

<!-- Service Organization Tree schema used by Add Adapter Wizard -->  
    <xs:element name="CategoryTree" type="CategoryTree" />  
    <xs:complexType name="CategoryTree">  
        <xs:sequence>  
            <xs:element name="DisplayName" type="xs:string" />  
            <xs:element name="DisplayDescription" type="xs:string" />  
            <xs:choice minOccurs="0" maxOccurs="unbounded">  
                <xs:element name="ExpandableCategoryTreeNode" type="ExpandableCategoryTreeNode" minOccurs="0" maxOccurs="unbounded" />  
                <xs:element name="CategoryTreeNode" type="CategoryTreeNode" minOccurs="0" maxOccurs="unbounded" />  
                <xs:element name="ServiceTreeNode" type="ServiceTreeNode" minOccurs="0" maxOccurs="unbounded" />  
            </xs:choice>  
        </xs:sequence>  
    </xs:complexType>  
    <xs:complexType name="ExpandableCategoryTreeNode">  
        <xs:sequence>  
            <xs:element name="DisplayName" type="xs:string" />  
            <xs:element name="Description" type="xs:string" />  
        </xs:sequence>  
        <xs:attribute name="NodeIdentifier" type="xs:string" use="required"></xs:attribute>  
    </xs:complexType>  
    <xs:complexType name="CategoryTreeNode">  
        <xs:sequence>  
            <xs:element name="DisplayName" type="xs:string" />  
            <xs:element name="Description" type="xs:string" />  
            <xs:choice minOccurs="0" maxOccurs="unbounded">  
                <xs:element name="ExpandableCategoryTreeNode" type="ExpandableCategoryTreeNode" minOccurs="0" maxOccurs="unbounded" />  
                <xs:element name="CategoryTreeNode" type="CategoryTreeNode" minOccurs="0" maxOccurs="unbounded" />  
                <xs:element name="ServiceTreeNode" type="ServiceTreeNode" minOccurs="0" maxOccurs="unbounded" />  
            </xs:choice>  
        </xs:sequence>  
    </xs:complexType>  
    <xs:complexType name="ServiceTreeNode">  
        <xs:sequence>  
            <xs:element name="DisplayName" type="xs:string" />  
            <xs:element name="Description" type="xs:string" />  
            <xs:element name="WSDLReference" type="xs:string" />  
        </xs:sequence>  
    </xs:complexType>  
</xs:schema>  

CategorySchema.xml 파일을 수정한 후 AdapterManagement 프로젝트를 다시 빌드하고 어댑터 메타데이터 추가 마법사를 실행하여 CategorySchema.xml에 표시된 트리가 올바르게 나타나는지 확인합니다.

어댑터 메타데이터 추가 마법사를 실행하는 방법에 대한 자세한 내용은 UI 지침 및 개발자 API 네임스페이스 참조어댑터 메타데이터 추가 마법사 대화 상자를 참조하세요.