블로그 이미지
정홍주
Azure에 대한 내용뿐만 아니라 새로운 트렌드로 빅데이터, BI, SharePoint, 앱 등의 내용을 다룹니다.

calendar

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

Notice

2011.01.23 22:16 SharePoint/SharePoint 2010

UPDATE 다른 곳에 썻던 내용을 이곳에 통합하기 위해 옮겼습니다.

Client Side OM에서 Client OM은 이전내용에서 다루었으며 이번 블로깅은 SharePoint 2010에서 REST API 에 대한 내용을 다루어 보겠습니다

 

SharePoint 2010에서는 Representational State Transfer (REST)를 통한 데이터 작업이 가능합니다.

SharePoint 목록 데이터, 문서 라이브러리의 Excel 문서의 차트, 표 등의 데이터를 손쉽게 액세스 할 수 있습니다.

액세스 하는 방법은 ListData.svc 를 통해서 진행하게 됩니다. 응용 프로그램에서 서비스 참조 추가 등을 통해 처리되게 됩니다.

 

아래 그림은 ListData.svc 를 액세스한 결과입니다.

http:/SiteCollectionName/_vti_bin/ListData.svc

 


해당 리스트만 보기 위해서는 마지막에 리스트의 이름을 입력합니다.

_vti_bin/ListData.svc/
공지사항

 


REST
를 액세스 하는 구문은 아래와 같으며 다양하게 액세스 할 수 있습니다.

/_vti_bin/ListData.svc/{Entity}[({identifier})]/[{Property}]

) 공지사항 #3의 제목

/_vit_bin/ListData.svc/공지사항(9)/제목

* 인터넷 옵션의 피드 보기 사용을 해제해야 결과를 볼 수있습니다.

 
목록과 항목을 액세스 하는 경우는 아래 구문의 예를 통해서 가능합니다. 



정렬 등 옵션에 대한 내용은 아래 표를 참고하십시오. 

 

REST의 일반적인 내용은 살펴보았습니다. REST를 이용해서 Client Side에서 여러 응용 프로그램을 통해(.NET, Silverlight, Javascript) 액세스 가능합니다. 여기서는 .NET 응용 프로그램에서 액세스 해보도록 하겠습니다.

.NET Windows 응용 프로그램을 생성하고 서비스 참조 추가에 REST URL을 입력하고 프록시 클래스를 생성합니다. 프록시에 대한 클래스 뷰는 아래와 같습니다.

 

사이트의 제목이 “Home” 이므로 HomeDataContext 클래스가 생성되며 한글 사이트라 공지사항Item” 이라는 클래스와 클래스의 한글 속성 들을 확인할 수 있습니다.

이제는 프록시 클래스를 통해 DataGrid에 공지사항 목록을 바인딩해보도록 하겠습니다.

아래와 같은 소스를 작성합니다.


WCF 와 달리 HomeDataContext의 클래스는 Uri 를 지정해주어야 합니다.

Where OrderBy 는 생략했습니다. 실행한 결과는 아래와 같습니다.

 

위에서 살펴본 것처럼 REST –ListDataSvc 를 통해 Client Side에서 손쉽게 SharePoint 2010 SharePoint 데이터를 액세스할 수 있습니다.

 

목록을 읽기만 하는 것이 아니고 항목을 추가하거나 수정, 삭제할 수 있습니다.

아래 구문으로 공지사항에 항목을 추가해보도록 하겠습니다.

아래 그림을 통해 먼저 공지사항Item 클래스의 다이어그램을 확인해봅니다. (한글 속성.., ㅠㅠ)

 

아래 코드를 통해 공지사항Item의 인스턴스를 생성해서 DataContext SaveChanges 메서드를 호출
하면 됩니다.


본문에는 아래와 같이 이미지가 보이게 HTML 코드를 입력했습니다. 아래에서 추가된 결과를 확인 가능합니다.

 

이상으로 SharePoint 2010에서 REST의 소개와 .NET 응용 프로그램에서 REST 를 사용하는 방법을 알아보았습니다.

 


신고

'SharePoint > SharePoint 2010' 카테고리의 다른 글

REST - jQuery  (0) 2011.01.23
REST – Silverlight  (0) 2011.01.23
REST -.NET  (0) 2011.01.23
Client Object Model – 정리  (0) 2011.01.23
Client Object Model - Javascript(2)  (0) 2011.01.23
Client Object Model - Javascript(1)  (0) 2011.01.23
posted by 정홍주