데이터 디자이너 확장성 아키텍처
데이터 디자이너 확장성 (DDEX) 데이터 디자이너를 확장 하는 메커니즘을 제공 합니다. Visual Studio 외부 데이터 원본과 통신 하 고 해당 개체 계층 구조를 노출 하 고 계층 구조 보기에 서버 탐색기. DDEX 있습니다 외부 데이터 소스 개체에 액세스를 디자인 타임에 뿐 아니라 데이터 개체에서 가시성을 제공 Visual Studio, 하지만 또한 드래그 앤 드롭 기능, 개체 속성 격자 가시성 및 통합 기능을 사용 하면는 Visual Studio 디자이너. 간단히 말해 DDEX 공급자는 다른 데이터 원본의 전체 국적으로 즐길 수 있습니다의 Visual Studio 디자인 타임 환경입니다.
참고
DDEX 공급자에서 다릅니다.NET 데이터 공급자입니다.자세한 내용은 DDEX 공급자를 참조하십시오.
데이터 디자이너 확장성이 DDEX SDK 및 아키텍처의 기능 사용에 대 한 다음, 하 고 외부 데이터를 통합 하는 관리 되는 Api 소스 개체에는 Visual Studio 환경입니다.
참고
이 SDK와 함께에서 사용 해야 Visual Studio 개요를 확장합니다..
아키텍처 개요
아래 그림은 고급의 도식 보기 DDEX 아키텍처를 제공합니다. DDEX 클라이언트에서 호스팅되는 볼에 Visual Studio, 액세스 및 핵심 서비스 (DDEX 관리 되는 클래스 라이브러리의 일부) 사용 DDEX 공급자와 상호 작용 하는. DDEX 공급자 관리 되는 클래스는 지원 엔터티를 구현 하기만 하면 됩니다. DDEX 다음에 전용으로 사용 하는 데이터 계층과 통신 합니다.NET 데이터 공급자입니다. DDEX 공급자 데이터 소스와 상호 작용 하는 데 필요한 기능이 있는 경우에는 데이터 공급자를 생략할 수 있도록 note입니다.
DDEX 아키텍처 다이어그램
DDEX 계층을 두 가지 각 부분의 중심입니다: DDEX 엔터티와 DDEX 서비스를 지원 합니다.
엔터티, 핵심 서비스 및 Access Services 지원 합니다.
DDEX 지원 엔터티 데이터 확장성 있도록 DDEX 공급자를 구현 하는 인터페이스입니다. 사실 DDEX 공급자 구성 이러한 지원 항목의 구현입니다.
DDEX 서비스 반면, 핵심 서비스 및 액세스 서비스에 구분 되어 있습니다. 핵심 서비스 지원 엔터티를 노출 하는 기본 서비스입니다. 관리 대상으로 내부적으로 구현 되는 인터페이스는 클래스 Visual Studio 최상위 DDEX 공급자 지원 엔티티를 생성 하 고 데이터 공급자 및 데이터 소스 작업을 호출 합니다. 내부적으로 관리 되는 클래스를 구현 하는 인터페이스는 또한, 액세스 서비스 제공 Visual Studio 만들기 및 데이터 연결 작업을 하 고 메모리의 데이터에 액세스할 수 구조 표현 데이터 개체의 XML을 지원 하 고 데이터 보기 XML을 지원 합니다. 또한 액세스 서비스 지원 요소를 사용합니다.
아래 그림은 서비스에 자세히 지원 엔터티 사이의 관계를 보여 줍니다.
엔터티 및 Access Services 다이어그램 지원
지원 요소
DDEX 공급자를 구성 하는 관리 되는 Api에는 광범위 하 게 세 가지 범주로 구분 됩니다.
연결 지원
데이터 객체 지원
데이터 보기 지원
연결 지원
연결 지원 데이터 소스와 연결 문자열을 포함 하 여 연결 정보를 지정 하는 방법을 제공 합니다. 이 하나가 프로그래밍 방식으로 연결 정보를 알고 있는 경우 또는 사용자에 게 필요한 연결 정보를 묻는 연결 UI를 사용 하 여 수행할 수 있습니다. DDEX 공급자에서 호스팅되는 연결 제어 노출 될 수 있습니다 필요한 경우는 Visual Studio 연결 대화 상자.
데이터 객체 지원
DDEX 공급자 데이터 객체 지원 XML 파일을 사용 하 여 지정 된 데이터 소스에 대 한 데이터 공급자가 노출 하는 데이터 개체를 정의 합니다. 또한 개체 계층 구조 또는 이러한 개체에 대 한 개체 모델을 정의합니다.
Visual Studio 메타 데이터 엔진 일반 개체 속성, 모두이 감소에 매핑된 형식 뿐만 아니라 테이블, 뷰 및 저장된 프로시저와 같은 일반 데이터 원본 개체를 인식할 수 있도록 하는 강력한 형식의 클래스의 라이브러리를 유지 관리 합니다. XML 파일에 제공 된 데이터 개체가 정의 메타 데이터 엔진에서 인식할 수 있는 이러한 제네릭 형식 중 하나에 데이터 공급자가 지 원하는 개체 형식에 매핑할 수 있습니다.
개체 형식을 정의 하 고 해당 제네릭 형식에 매핑되 뿐만 아니라 데이터 객체 지원 스키마도 다음 지정 해야 합니다.
개체를 열거 해야 하는 경우 호출 되는 처리기를 지정 하 여 수행 되는 지정 된 형식의 개체를 열거 하는 방법입니다.
개체 속성 또는 개체 식별자와 같은 메타 데이터 개체 메타 데이터를 검색 하는 방법입니다.
경우 지정 된 형식의 개체를 복사 작업 수행 위치에 클립보드 객체를 만드는 방법에 설명 합니다. Visual Studio데이터 원본 참조 (DSRef) 클립보드 형식을 데이터 디자이너를 사용합니다. Dsref를 지 원하는 개체 끌어서 놓은 대상 될 수 있습니다 Visual Studio 데이터 디자이너.
데이터 개체 지원에 대 한 자세한 내용은 참조 하십시오. DDEX 데이터 객체 지원.
데이터 보기 지원
데이터 뷰 지원 XML 파일을 사용 하 여 DDEX 공급자 물리적 계층에서 지정 된 연결 노드 아래에 표시 되는 데이터 개체의 정의 Visual Studio서버 탐색기. 동일한 데이터 원본에 대해 여러 뷰를 정의할 수 있습니다.
실제 개체 계층 구조를 정의할 뿐만 아니라 계층 구조 노드를 필요에 따라 지역화 된 표시 이름, 상황에 맞는 메뉴 명령 (명령 이름, CLSID 및 처리기), 아이콘 및 기타 정보 등을 포함 하는 방법에 대 한 추가 정보를 지정할 수도 있습니다.
데이터 뷰 지원에 대 한 자세한 내용은 참조 하십시오. DDEX 데이터 보기 지원.
핵심 서비스
DDEX 제공 관리 대상으로 내부적으로 구현 되는 인터페이스 집합을 클래스는 Visual Studio DDEX 공급자 지원 최상위 엔터티 형식에서에 의해 구현 되는 기능에 액세스 하기 위해 호출 됩니다. 이러한 인터페이스 이름으로 통칭 되는 DDEX 핵심 서비스.
더 중요 한 핵심 서비스는 다음과 같습니다.
관리자 공급자를 사용 하 여 등록 된 DDEX 공급자를 열거 하 고 특정 형식의 개체를 쿼리 수 (IVsDataProviderManager 인터페이스)입니다.
데이터 공급자 개체 팩터리 DDEX 공급자가 구현 하는 데이터 개체를 만들 수 있습니다 (IVsDataProviderObjectFactory 인터페이스)입니다.
DDEX 핵심 서비스 허용 Visual Studio 는 디자인 타임에 데이터 소스와 통신 합니다. 이 데이터 원본 개체 유형 액세스 전문화 된 서비스와 보기의 계층적 레이아웃 뿐만 아니라 구성 요소를 데이터 원본에 해당 서비스에 대 한 연결 문제가 필요 합니다.
일반적인 구현에서는 DDEX 클라이언트 핵심 구성 요소를 인스턴스화할 수 있는 데이터 공급자 개체 팩터리를 호출 합니다. 이러한 핵심 구성 요소 (엔티티를 지원 및 Access Services 다이어그램 참조) 건물 연결 및 연결 지원 개체를 포함 합니다. 이러한 문서 블록 개체 중 일부를 지원 항목 계층 구조를 필요에 따라 보조 개체 다음 생성 합니다.
Access Services
DDEX 제공 관리 대상으로 내부적으로 구현 되는 인터페이스 집합을 클래스는 Visual Studio 데이터 연결 및 데이터 개체의 메모리 내 표현에 대 한 기능에 액세스할 수 있는 호출 XML을 지원 하 고 데이터 보기 XML을 지원 합니다. 이러한 인터페이스는 통칭 DDEX 액세스 서비스로 이라고 합니다.
액세스 하는 중요 한 서비스 중 일부는 다음과 같습니다.
데이터 연결 팩토리를 사용 하면 연결 개체를 만들 수 있습니다 (IVsDataConnectionFactory 인터페이스)입니다.
데이터 연결 대화 상자에 대 한 연결 정보를 사용자에 게 및 연결 개체를 만들 수 있습니다 (IVsDataConnectionDialog 인터페이스)입니다.
데이터 원본 연결 (및 연결 관리자 및 연결 팩토리 등의 주요 구성 요소인) 데이터 확장성 프레임 워크에 의해 proffered 통합 서비스로 볼 수 있습니다. 이 보기는 Visual Studio 메타 데이터 엔진 역할을 하는 해당 지원 엔티티를 차례로 호출 하는 Access Services Api를 사용 하는 연결 클라이언트와 같은. 이 메커니즘은 통해입니다 Visual Studio 서비스는 데이터 소스에 연결 하는 지원 구조를 어셈블합니다.
Access Services 및 지원 엔터티 간의 중복
확장성 클라이언트 DDEX 공급자와 통신 하는 액세스 서비스 (주로 연결 개체)를 사용 하는지 지원 엔터티 및 액세스 서비스 간의 주요 차이점이입니다. 반대 방향에서 보거나, 공급자와의 연결을 지원 엔터티의 Api를 사용 하 여 작용 합니다.
경우에 따라 지원 엔터티 및 액세스 서비스의 역할, 특히 어디 스레드로부터의 안전성을 보장 해야 할가 겹칩니다. DDEX 아키텍처 데이터 공급자 및 연결 클라이언트 사이의 보안 잠금 레이어에이 목적을 위해 제공합니다. 다음 예제에서는 기능을 보여 줍니다.
예를 들어, 가져올 때의 IVsDataCommand 의 프록시 구현을 가져옵니다 데이터 명령 개체에서 연결 개체 대신 얻는 것이 아니라 연결 개체에서 서비스의 IVsDataCommand 인터페이스입니다. 프록시 구현은 구현 지원 엔터티와 통신 합니다. 또한 프록시 구현이 스레드로부터 안전입니다. 이렇게 하면 프록시를 먼저 연결 잠그고 다음 지원 엔터티로 호출. 연결 작업을 마친 스레드가 잠금을 해제 하는 연결을 다시 잠금을 해제 합니다.
이 예는 IVsDataCommand 인터페이스 액세스로 구현 된 (클라이언트 프로그램이 직접 호출한 것) 서비스 지원 엔터티로 데이터 공급자가 동일한 인터페이스를 구현 하 고 결과 공급자와 연결 클라이언트 사이의 보안 잠금 레이어에 생성 되어 동작 하는 수도 있지만.
DDEX 참조
DDEX SDK 전체 언어 참조 설명서를 제공합니다.
데이터 객체 지원 XML 스키마
데이터 개체 지원 스키마 (DataObjectSupport.xsd)를 사용 하 여 프로그래밍 방식으로 관리 하 고 데이터 원본 개체의 인스턴스를 열거 합니다. 데이터 개체에 대 한 자세한 내용은 참조 하십시오. DDEX 데이터 객체 지원.
데이터 뷰 지원 XML 스키마
서버 탐색기에 표시 된 대로 데이터 개체 계층 구조 레이아웃의 여러 보기를 관리할 수 데이터 보기 지원 (DataViewSupport.xsd) 스키마를 사용 합니다. 데이터 뷰에 대 한 자세한 내용은 참조 하십시오. DDEX 데이터 보기 지원.
관리 되는 클래스 라이브러리 참조
DDEX SDK는 관리 되는 인터페이스와 관리 DDEX 공급자를 작성 하는 기본 클래스를 제공 합니다.