REST API 샘플에 대한 웹 서비스 커넥터 워크플로 가이드
이 문서에서는 REST API 웹 데이터 원본을 사용하여 웹 서비스 구성 도구를 안내하는 샘플 REST API의 배포에 대해 설명합니다.
사전 요구 사항
샘플을 사용하려면 다음 필수 구성 요소가 필요합니다.
- 웹 서비스 구성 도구가 설치됩니다.
- REST 데이터 원본 샘플 서비스가 배포됩니다. 에서 샘플을 다운로드하여 설치합니다(여기 참조).
참고
JSON 데이터에는 배열이 포함된 속성이 있는 단일 개체가 포함되어야 합니다.
{
"EmployeeList":[
{"id":"1","employee_name":"Albano","employee_salary":"22213","employee_age":"37","profile_image":""},{"id":"2","employee_name":"Albano","employee_salary":"22213","employee_age":"37","profile_image":""}
]
}
웹 서비스 구성 도구에서 REST 프로젝트 검색 구성
다음 단계에서는 웹 서비스 구성 도구에서 데이터 원본에 대한 새 프로젝트를 만드는 방법을 보여줍니다.
웹 서비스 구성 도구를 엽니다. 빈 SOAP 프로젝트가 열립니다.
파일>새>REST 프로젝트를 선택합니다.
왼쪽에서 REST 프로젝트를 선택한 다음 , 추가를 선택합니다.
다음 페이지에서 다음 정보를 제공합니다.
- 새 웹 서비스 이름
- 주소(REST API URL 경로)
- 네임스페이스
- 보안 모드(인증 유형)
다음 화면에서는 이러한 값에 대한 예제를 보여 줍니다.
보안 모드를 없음으로 설정합니다. 주소를 Azure에서 호스트되는 샘플 JSON 서버로 설정합니다.
확인을 선택합니다. 웹 서비스 구성 도구에 나열된 REST 프로젝트입니다.
다음 단계는 REST API 호출을 정의하고 WCF(Windows Communication Foundation) 호출로 호출을 변환하는 것입니다.
REST 프로젝트를 확장하고 RESTSAMPLE 서비스를 선택합니다.
추가를 선택합니다. 다음 두 값을 추가하라는 메시지가 표시됩니다.
- 이름을 입력합니다. 이 단계는 스크린샷에서 3으로 레이블이 지정됩니다.
- 주소를 입력 합니다. 이 단계는 스크린샷에서 4로 레이블이 지정됩니다.
- 확인을 선택합니다. REST 리소스가 RESTSAMPLE 서비스에 대한 설명에 추가됩니다.
리소스 상자에서 방금 추가한 REST 리소스를 선택합니다. 다음 메서드를 추가합니다.
REST 메서드를 선택합니다. 동일한 리소스에 여러 메서드를 만들고 실행 중에 전달된 쿼리를 정의할 수 있습니다.
GETALL 메서드의 경우 쿼리가 필요하지 않습니다. 매개 변수 값을 비워 둡니다. REST API를 내보내거나 가져올 때 함수에 따라 샘플 요청 /또는 응답을 정의해야 합니다. 이 샘플로 이동할 때 JSON 반환을 복사하여 붙여넣습니다.
저장을 선택합니다. 프로젝트를 에 저장합니다
C:\Program Files\Microsoft Forefront Identity Manager\2010\Synchronization Service\Extensions
.
참고
프로젝트가 저장되면 WsConfig 파일이 생성됩니다. 구성 파일에는 웹 서비스 개요의 앞부분에서 정의한 여러 파일이 포함되어 있습니다.
웹 서비스 구성 도구에서 개체 형식 구성
다음 단계에서는 웹 서비스 구성 도구에서 데이터 원본에 대한 개체 형식을 구성하는 방법을 보여줍니다.
다음 단계는 커넥터 공간 스키마를 정의하는 것입니다. 이는 개체 형식을 만들고 해당 개체 형식을 정의하여 수행됩니다. 왼쪽 창에서 개체 형식 을 클릭하고 추가 단추를 클릭합니다. 이렇게 하면 아래 화면이 열립니다. 새 개체 형식을 추가하고 이름을 제공합니다. 확인 단추를 클릭합니다.
개체 형식을 추가하면 아래 화면이 제공됩니다.
개체 형식에 해당하는 오른쪽 창을 사용하면 선택한 개체 형식에 대한 특성 및 해당 속성을 유지할 수 있습니다. 추가 단추를 클릭하면 특성을 추가할 수 있는 아래 화면이 제공됩니다.
모든 필수 특성을 추가한 후 아래 화면이 나타납니다.
개체 형식 및 특성이 만들어지면 MIM(Microsoft Identity Manager)에서 수행되는 작업을 충족하는 빈 워크플로를 제공합니다.
웹 서비스 구성 도구에서 워크플로 구성
다음 단계는 개체 형식에 대한 워크플로를 구성하는 것입니다. 워크플로 파일은 런타임에 Web Services 커넥터에서 사용하는 일련의 활동입니다. 워크플로는 적절한 MIM 작업을 구현하는 데 사용됩니다. 웹 서비스 구성 도구를 사용하면 다음과 같은 네 가지 워크플로를 만들 수 있습니다.
가져오기: 다음 두 가지 유형의 워크플로에 대한 데이터 원본에서 데이터를 가져옵니다.
- 전체 가져오기: 구성할 수 있는 전체 가져오기입니다.
- 델타 가져오기: 웹 서비스 구성 도구에서 지원되지 않습니다.
내보내기: MIM에서 연결된 데이터 원본으로 데이터를 내보냅니다. 작업에 대해 지원되는 세 가지 작업은 다음과 같습니다. 요구 사항에 따라 이러한 작업을 구성할 수 있습니다.
- 추가
- 삭제
- 바꾸기
암호: 사용자(개체 유형)에 대한 암호 관리를 수행합니다. 이 작업에는 다음 두 가지 작업을 사용할 수 있습니다.
- 암호 설정
- 암호 변경
연결 테스트: 데이터 원본 서버와의 연결이 성공적으로 설정되었는지 확인하도록 워크플로를 구성합니다.
참고
프로젝트에 대해 이러한 워크플로를 구성하거나 Microsoft 다운로드 센터에서 기본 프로젝트를 다운로드할 수 있습니다.
Workflow Designer
워크플로 디자이너는 작업 영역을 열어 요구 사항에 따라 워크플로를 구성합니다. 모든 개체 유형(새 /기존)에 대해 구성 도구는 도구에서 지원하는 워크플로에 대한 노드를 제공합니다.
워크플로 디자이너는 다음 UI 요소로 구성됩니다.
왼쪽 창의 노드: 워크플로를 디자인할 노드를 선택하는 데 도움이 됩니다.
중앙 워크플로 디자이너: 여기서 워크플로를 구성하기 위한 활동을 삭제할 수 있습니다. 다양한 MIM 작업(내보내기, 가져오기, 암호 관리)을 수행하려면 .NET Workflow Framework 4의 표준 및 사용자 지정 워크플로 작업을 사용할 수 있습니다. 웹 서비스 구성 도구는 표준 및 사용자 지정 워크플로 작업을 사용합니다. 표준 활동에 대한 자세한 내용은 활동 디자이너 사용을 참조하세요.
중앙 워크플로 디자이너에서 작업 옆에 느낌표가 있는 빨간색 원은 작업이 삭제되었으며 올바로 완전히 정의되지 않음을 나타냅니다. 빨간색 원 위로 마우스를 가져가 정확한 오류를 확인합니다. 활동이 올바르게 정의되면 빨간색 원은 노란색 정보 표시로 변경됩니다.
중앙 워크플로 디자이너에서 작업 옆에 노란색 삼각형 정보 표시는 작업이 정의되었음을 나타내지만 작업을 완료하기 위해 수행할 수 있는 작업이 더 있습니다. 노란색 삼각형 위로 마우스를 가져가서 자세한 내용을 확인합니다.
도구 상자: 시스템 및 사용자 지정 활동 및 미리 정의된 문을 포함한 모든 도구를 패키지하여 워크플로를 디자인합니다. 자세한 내용은 도구 상자를 참조하세요.
도구 상자 섹션: 도구 상자에는 다음과 같은 섹션과 범주가 있습니다.
설명: 도구 상자의 헤더입니다. 한 탭은 도구 상자 및 선택한 워크플로 활동의 속성에 액세스합니다.
가져오기 워크플로: 가져오기 워크플로를 구성하는 사용자 지정 작업입니다.
워크플로 내보내기: 내보내기 워크플로를 구성하는 사용자 지정 활동입니다.
일반: 워크플로를 구성하는 사용자 지정 활동입니다.
디버그: 워크플로 4에 정의된 디버깅을 위한 시스템 워크플로 작업입니다. 이러한 활동은 워크플로에 대한 문제 추적을 허용합니다.
문: 워크플로 4에 정의된 시스템 워크플로 작업입니다. 자세한 내용은 활동 디자이너 사용을 참조하세요.
속성: 속성 탭에는 디자이너 영역에서 삭제되고 선택된 특정 워크플로 작업의 속성이 표시됩니다. 왼쪽 그림에는 할당 작업의 속성이 표시됩니다. 모든 활동에 대해 속성이 다르며 사용자 지정 워크플로를 구성하는 동안 사용됩니다. 이 탭을 사용하면 중앙 워크플로 디자이너에 삭제된 선택한 도구의 특성을 정의할 수 있습니다. 자세한 내용은 속성에 정의된 인터페이스의 private C++ 관련 구현입니다.
작업 표시줄: 작업 표시줄에는 변수, 인수 및 가져오기의 세 가지 요소가 포함됩니다. 이러한 요소는 워크플로 활동과 함께 사용됩니다. 자세한 내용은 개발자의 .NET 4의 WF(Windows Workflow Foundation) 소개를 참조하세요.
웹 서비스 구성 도구에서 전체 가져오기 워크플로 구성
다음 단계에서는 웹 서비스 구성 도구를 사용하여 REST API에 대한 전체 가져오기 워크플로를 구성하는 방법을 보여 줍니다.
경고
이 샘플은 워크플로만 만듭니다. API에서 사용자 지정 논리를 사용하는 등의 워크플로 수정이 필요할 수 있습니다.
구성할 전체 가져오기 워크플로를 선택합니다. 인수 및 가져오기는 이미 정의되어 있으며 활동과 관련이 있습니다. 자세한 내용은 다음 화면을 참조하세요.
호출을 재구성한 후에는 API의 반환 구조와 이전 네임스페이스를 참조하는 개체 형식을 참조하는 변수에 네임스페이스를 변경하거나 추가하는 특성의 이름을 변경해야 합니다. 오른쪽 창의 도구 상자에는 구성에 필요한 모든 사용자 지정 워크플로 관련 활동이 있습니다. 논리에 사용할 변수에 값을 할당합니다. 중앙 워크플로 디자이너의 아래쪽 섹션으로 이동하여 변수를 선언합니다. 변수는 다음 단계에서 선언됩니다.
시퀀스 작업을 추가합니다. 시퀀스 활동 디자이너를 도구 상자에서 끌어 Windows 워크플로 디자이너 화면으로 놓습니다. 다음 화면을 참조하세요. 시퀀스 활동에는 순서대로 실행되는 자식 활동의 순서가 지정된 컬렉션이 포함됩니다.
변수를 추가하려면 변수 만들기를 찾습니다. 이름에 wsResponse를 입력하고 변수 형식 드롭다운을 선택한 다음 형식 찾아보기를 선택합니다. 대화 상자가 표시됩니다. 생성된>GETALL>응답을 선택합니다. 범위 및 기본값을 선택하지 않은 상태로 유지합니다. 또는 속성 뷰를 사용하여 이러한 값을 설정합니다.
이미 추가 된 시퀀스 작업 내의 도구 상자 에서 하나 이상의 시퀀스 활동 디자이너를 끌어옵니다.
Common 아래에 표시되는 WebServiceCallActivity 를 끌어 옵니다. 이 작업은 검색 후 사용할 수 있는 웹 서비스 작업을 호출하는 데 사용됩니다. 이는 사용자 지정 작업이며 다양한 작업 시나리오에서 일반적입니다.
웹 서비스 작업을 사용하려면 다음 속성을 설정합니다.
서비스 이름: 웹 서비스의 이름을 입력합니다.
엔드포인트 이름: 선택한 서비스의 엔드포인트 이름을 지정합니다.
작업 이름: 서비스에 대한 해당 작업을 지정합니다.
인수: 인수를 선택합니다. 다음 대화 상자에서 다음 그림과 같이 인수 값을 할당합니다.
중요
이 대화 상자를 사용하여 인수의 이름, 방향 또는 형식 을 변경하지 마세요. 이러한 값이 변경되면 작업이 유효하지 않습니다. 인수의 값 만 설정합니다. 이 그림과 같이 wsResponse 값이 설정됩니다.
WebServiceCallActivity 바로 아래에 ForEach 활동을 추가합니다. 이 작업은 개체 형식의 모든 특성(앵커 및 비 앵커 모두)을 반복하는 데 사용됩니다. 이 작업을 워크플로 디자이너 화면으로 끌면 개체의 모든 특성 이름이 자동으로 열거됩니다. 다음 화면에 따라 필요한 값을 설정합니다.
경우에 따라 WsConfig 파일 내에 있는 generated.dll 열어야 할 수 있습니다. 이 WsConfig 파일을 복사하고 .zip 확장명 이름을 바꿉니다. 원하는 .NET 리플렉터 도구를 사용하여 generated.dll 열고 추출합니다.
EmployeeList에 대한 공용 네임스페이스를 식별합니다.
다음으로, 이 반환을 ForEach 워크플로에 추가합니다.
ForEach 본문 내에서 CreateCSEntryChangeScope 작업을 끌어옵니다. 이 작업은 대상 데이터 원본에서 데이터를 검색하는 동안 각 레코드에 대한 워크플로 도메인에 CSEntryChange 개체의 인스턴스를 만드는 데 사용됩니다. 이 활동을 끌면 아래 화면이 제공됩니다. CreateAnchorAttribute 작업은 자동으로 상속됩니다. DN 값을 기본 설정 도메인 이름으로 업데이트합니다.
참고
앵커 값 및 개체 이름은 노출된 웹 서비스에 따라 달라집니다. 그림에는 예제가 표시됩니다.
CreateAttributeChange 작업을 CreateAnchorAttribute 작업 아래로 끌어옵니다. 끌 활동 수는 앵커가 아닌 특성의 수와 같습니다. 참조는 다음 그림을 참조하세요.
참고
이 작업을 사용하려면 드롭다운에서 해당 필드를 선택하고 할당하고 값을 할당합니다. 다중값 특성의 경우 CreateAttributeChangeActivity 활동 내에 여러 CreateValueChangeActivity 작업을 삭제합니다.
이 프로젝트를 위치에
%FIM_INSTALL_FOLDER%\Synchronization Service\Extensions
저장합니다. 그런 다음 , 웹 서비스 MA 구성에 설명된 대로 관리 에이전트를 구성합니다.기본 프로젝트를 다운로드하여 대상 시스템의 위치에
%FIM_INSTALL_DIR\2010\Synchronization Service\Extensions
저장해야 합니다. 그러면 프로젝트가 웹 서비스 커넥터 마법사에 표시됩니다.실행 파일을 실행할 때 설치 위치를 지정하라는 메시지가 표시됩니다. 저장 위치를 입력합니다.
중요
프로젝트 파일을 저장하고 모든 위치에서 열 수 있습니다(해당 실행기의 적절한 액세스 권한 포함). MIM 동기화 UI를
Synchronization Service\Extension
통해 액세스되는 웹 서비스 커넥터 마법사에서 폴더에 저장된 프로젝트 파일만 선택할 수 있습니다.웹 서비스 구성 도구를 실행하는 사용자에게는 다음 권한이 필요합니다.
- 동기화 서비스 확장 폴더에 대한 모든 권한.
- 확장 폴더 경로가 있는 레지스트리 키
HKLM\System\CurrentControlSet\Services\FIMSynchronizationService\Parameters
에 대한 액세스를 읽습니다.