최초 문서 게시일: 2012년 11월 22일 목요일
안녕하세요? 저는 SharePoint Designer 팀의 프로그램 관리자인 임종화입니다. 오늘 이 블로그 게시물에서는 SharePoint Conference 2012(SPC 2012)에서 시연된 예제 워크플로를 보여 드리고, 더 나아가 이 예제 워크플로를 보다 실제적인 워크플로로 수정 및 확장해 보려고 합니다. 또한 SharePoint Designer 2013(SPD 2013)으로 워크플로를 만들 때 사용할 수 있는 몇 가지 팁을 알려 드리려고 합니다. 자세한 내용을 설명할 때는 여러분이 SharePoint Designer 2013 및 SharePoint 2013 유형 워크플로에 익숙한 것으로 가정하겠습니다. 그렇지 않으실 경우 SharePoint 2013 워크플로에 대한 이전 블로그 게시물들을 먼저 읽어 보시기 바랍니다.
Contoso Leisure라는 레저 회사가 있다고 합시다. 이 회사는 승마, 낚시, 클레이 사격, 패러글라이딩, 스카이다이빙 등에 대한 레저 교습을 제공합니다.
또한 다음과 같은 승인 워크플로가 필요하다고 하겠습니다.
이 워크플로 예제에서는 두 가지 웹 서비스를 사용하지만 한 가지 웹 서비스만 SPD에서 사용할 수 있는 'HTTP 웹 서비스 호출' 동작을 통해 처리됩니다. 나머지 웹 서비스는 문자열 변수 내에서 참조되어 <IMG> 태그를 사용해서 메일 본문에 배치됩니다. 자세한 내용은 Bing 지도 API 페이지(http://www.microsoft.com/maps/developers/web.aspx)를 참조하십시오.
여러분이 이 워크플로를 만들면 다음과 같은 워크플로가 생성됩니다.
여기서 '날씨 정보 얻기(Get Weather Info)' 스테이지에 'HTTP 웹 서비스 호출(Call HTTP Web Service)' 동작이 포함되어 있습니다. 첫 번째 매개 변수를 클릭하면 다음과 같은 URL이 사용되는 것을 볼 수 있습니다. 이 URL에서 'Web Service Keys'라는 별도 목록에 웹 서비스 키가 저장되어 있습니다. 웹 서비스 동작, 사전에서 항목 가져오기 동작 및 루프 컨테이너에 대한 설명과 사용 방법은 김형국 님의 이전 블로그 게시물(http://blogs.technet.com/b/office_ko/archive/2012/09/28/quot-http-quot.aspx)을 참조하시기 바랍니다.
또한 '미리 알림 전자 메일 보내기(Send Reminder Email)' 스테이지에서 '워크플로 변수 설정(Set Workflow Variable)' 동작을 클릭하면 '웹 서비스 키(Web Service Keys)' 목록을 사용하여 웹 서비스 키 또는 토큰이 저장되는 것을 볼 수 있습니다.
실제 상황에서는 웹 서비스 키를 안전하게 관리해야 할 수 있습니다. 이렇게 하려면 모든 권한이 있는 사람만 액세스할 수 있는 목록에 웹 서비스 키를 저장하여 보호해야 합니다. 그러나 이 경우 일반적인 워크플로 논리가 워크플로 시작자 및 (논리 AND) 워크플로 앱의 권한으로 실행되므로 웹 서비스 키에 액세스하지 못합니다. 즉, 워크플로 시작자에게 웹 서비스 키가 포함된 목록에 액세스할 수 있는 권한이 없는 경우 워크플로가 실패합니다. 워크플로 논리가 모든 사이트 목록에 대한 읽기/쓰기가 가능한 워크플로 앱 권한으로만 실행되게 하려면 앱 단계를 사용해야 합니다.
방금 설명한 대로, 웹 서비스 키가 포함된 목록을 모든 권한을 가진 사용자만 액세스할 수 있도록 만들어야 합니다. 이를 위해 목록에서 상속을 중지하고 불필요한 사용자를 제거해야 합니다.
목록 이름이 'Web Service Keys' 목록이라고 합시다. 목록 설정 및 이 목록에 대한 권한 페이지로 이동하면 상속을 중지할 수 있는 메뉴가 있습니다.
상속을 중지한 후에는 아래와 같이 모든 권한(Full Control)을 갖지 않는 사용자들을 선택하고 사용자의 사용 권한 제거(Remove User Permissions) 단추를 클릭합니다.
그러면 목록에 모든 권한을 가진 사용자만 표시됩니다.
앱 단계를 사용하려면 사이트 설정->사이트 기능 관리에서 아래와 같이 워크플로의 앱 사용 권한(Workflows can use app permissions) 기능을 활성화해야 합니다.
그러면 SPD에서 앱 단계(App Step) 단추가 활성화됩니다.
'Web Service Keys' 목록을 참조하는 논리를 찾아 앱 단계(App Step) 컨테이너 안에 포함시켜야 합니다. 앱 단계(App Step) 내에 배치해야 할 논리가 두 개 있습니다. 아래 그림에 나타난 HTTP 웹 서비스 호출(Call HTTP web service) 동작과 RouteMap 변수 설정(Set RouteMap variable) 동작입니다.
워크플로를 게시하면 이 동작을 설명하는 다음과 같은 대화 상자가 표시됩니다.
이 게시물을 통해 앱 단계를 적절히 사용하는 방법을 파악하고 유용한 정보를 얻으셨기를 바랍니다. 다음 게시물에서 다시 뵙겠습니다.
이 문서는 번역된 블로그 게시물입니다. 원본 문서는 How to Create a SharePoint Designer 2013 Workflow with App Step (extension from the example workflow used for SPC 2012)을 참조하십시오.