Udostępnij za pośrednictwem


SharePoint 2013에서 OData 및 ECT 사용

최초 문서 게시일: 2012년 12월 7일 금요일

SharePoint 2013 BCS 환경에서 향상된 유용한 기능 중 하나는 이제 SharePoint가 BDC 응용 프로그램에서 OData를 사용할 수 있다는 것입니다. 그런데 최근에 제가 이 프로세스를 수행할 때 경험한 몇 가지 문제가 있어 다른 분들도 비슷한 문제에 봉착하실 수 있을 것 같아 여기서 다루려고 합니다. 먼저 OData용 응용 프로그램을 만드는 기본적인 방법을 설명하는 문서(https://msdn.microsoft.com/ko-kr/library/sharepoint/jj163967.aspx)를 읽어 보시기 바랍니다. 여기서 주의할 사항 중 하나는 SharePoint Designer에서는 OData 원본에 연결되는 BDC 응용 프로그램을 만들 수 없다는 것입니다. 이러한 응용 프로그램을 만들려면 Visual Studio 같은 도구를 사용하여 ECT(외부 콘텐츠 형식)를 만들어야 합니다.

위에서 링크로 알려드린 문서는 ECT를 만드는 프로세스를 설명합니다. SharePoint 앱에서 ECT를 사용하는 방법과 배포하는 방법을 보여 주지만 많은 사이트 모음에 사용하도록 BDC 카탈로그에 추가하는 방법은 알려 주지 않습니다. 따라서 이 게시물에서 알려 드리려고 합니다. 먼저 이해할 것은 위 문서에 설명된 프로세스를 수행하면 각 엔터티(예: 테이블)에 대해 하나의 ECT가 만들어진다는 것입니다. 이를 이해하는 것이 중요한 이유는 ECT 파일에서 엔터티에 공유 이름이 사용되므로 BDC 카탈로그에 둘 이상의 엔터티를 업로드할 수 없기 때문입니다. SharePoint에서 이러한 각 엔터티를 사용하려면 다음과 같이 해야 합니다.

  1. Visual Studio에서 ECT 파일을 마우스 오른쪽 단추로 클릭하고 연결 프로그램...을 선택한 다음 XML(텍스트) 편집기를 선택합니다. 문서 위쪽의 Model 요소를 보시면 Name 특성이 있습니다. 이 값은 BDC에 업로드하는 모든 ECT에 걸쳐 고유해야 합니다. 따라서 각 값을 해당 엔터티를 설명하는 값(예: "Customers Table")으로 변경합니다.
  2. 문서에서 20줄 아래로 내려오면 있는 Entity 요소의 Namespace를 변경할 수 있지만 변경하지 않아도 됩니다. 제 경우에는 모델 이름과 일관되게 변경했는데 단지 스타일 선택일 뿐이며 필수는 아닙니다.
  3. 이러한 변경을 수행하고 파일을 저장한 후에는 .ect 파일을 BDC에 바로 업로드할 수 있습니다. 이것은 모델이므로 기본 옵션을 그대로 사용하고 확인 단추를 클릭합니다.
  4. 모델을 가져온 후에는 모델을 사용할 사용자에게 권한을 부여하는 것을 잊지 마십시오. 권한을 부여하지 않으면 소용 없습니다.

마지막으로 알려 드릴 사항은 SQL 데이터베이스, Azure 테이블 저장소 등에 대한 OData 메타데이터 끝점이 기본으로 제공되지 않는다는 점입니다. 다행히 SQL에 대해 끝점을 추가하는 것은 비교적 쉽습니다. 간략히 설명하면, 다음과 같이 하면 됩니다.

  1. 비어 있는 ASP.NET 웹 응용 프로그램을 새로 만듭니다.
  2. ADO.NET 엔터티 데이터 모델을 추가합니다.
  3. WCF Data Service를 추가합니다.
  4. WCF Data Service에서 클래스 생성자에 Type을 설정해야 합니다. 처음에는 다소 혼동될 수 있습니다. App_Code 폴더에 있는 myDataConnection.Context.tt 파일을 찾습니다. 이것을 확장하면 그 아래에 myDataConnection.Context.cs 클래스가 표시됩니다. 이 클래스를 열면 WCF Data Service에 필요한 두 가지 정보, 즉 1) WCF Data Service 클래스 생성자의 Type으로 사용될 클래스 이름과 2) get; set; 속성과 같이 구현된, 지원되는 엔터티 이름을 확인할 수 있습니다. WCF Data Service에서 엔터티 이름도 필요합니다. 표시할 각 엔터티에 대해 최소한 "SetEntitySetAccessRules"를 만들어야 하기 때문입니다. 이것은 WCF Data Service를 추가할 때 주석에 자세히 설명되어 있습니다. 저는 단지 이러한 규칙 중 하나를 만들 때 사용할 엔터티 이름을 어디서 찾을 수 있는지 알려 드리는 것뿐입니다.

 

이 문서는 번역된 블로그 게시물입니다. 원본 문서는 Using OData and ECTs in SharePoint 2013을 참조하십시오.