티스토리 툴바


SharePoint 20102011/10/27 00:42

SharePoint online 은 office 365 을 이루는 서비스의 한부분입니다.

SharePoint 가 독자적인 제품인 동시에 개발 프래임웍의 성격을 가지고 있다보니, 또한 한국시장에서 워낙 SharePoint 의 커스터마이징 개발이 활발하다보니, SharePoint online 의 개발 가능성에 관심을 둘 수 밖에 없습니다.

SharePoint online 상에서 커스터마이징을 할 때 기억해야할 원칙(이라고 쓰고 제약이라고 읽습니다)을 정리해 보도록 하겠습니다. 원래 기능적으로 가지고 있는 제약이 아닌 커스터마이징 개발시의 제약사항에 기반한 내용입니다.

- 샌드박스 솔루션

SharePoint Online 을 위한 개발 방법이라고 해도 과언이 아닐 샌드박스 솔루션입니다. 물론 클라우드가 아닌 온프레이미스 환경에서도 샌드박스 솔루션을 자유롭게 사용하는 것이 가능합니다. 그리고 실제로 회사 내에 멀티 테넌트라고 불러도 될만한 “본사IT-지사IT” 의 구조를 가진 기업이라면 꽤 권장할만한 사용 시나리오를 제공해 주는 잇점이 있습니다. 본사 IT 의 눈치를 보지 않고 지사에서 마음대로 개발한 솔루션을 올려서 사용할 수 있는 것입니다.

그렇지만 샌드박스 솔루션은 태생적으로 샌드박스 안에 격리된 환경에서의 프로세싱 범위 만을 제공받기 때문에 이런 저런 기능의 제약 사항이 있습니다. 자세한 내용은 아래에 상술해 보겠습니다

- 관리자 권한을 못 쓴다

일단 기존의 SharePoint 개발자에게 가장 큰 장벽으로 체감 되는 것이 바로 이것입니다. 코드레벨에서 관리자 권한을 취득할 수 없습니다. 오로지 현재 사용자의 권한으로 코드가 동작하는 것만 허용됩니다.

제가 처음 SharePoint online 의 개발을 시작할 때 가장 크게 걸리는 부분이 이 제약이었습니다. 기존의 on premise 환경에서 개발할 때에는 코드에 의한 관리자 권한의 취득에 꽤 자주 의존했기 때문이었습니다.

-  외부 자원의 사용 제약

관리자권한을 사용하지 못하는 것 다음으로 개발자에게 장벽되는 것은 샌드박스 솔루션에서 SharePoint 오브젝트 모델 이외의 데이터를 사용할 수 없다는 것입니다. SQL 서버도, XML 웹서비스도, HTTP webclient도 사용이 불가능합니다.

실제 어플리케이션 개발에서 이 제약은 꽤 큰 장벽입니다. 서버코드에서 외부자원을 사용할 수 없기 때문에 LOB 어플리케이션에서 일상적으로 구현하던 시스템 간 연동을 구현하려할 때 방법을 찾기가 쉽지 않습니다.

- layout 폴더를 손대지 못한다

SharePoint 의 Layouts 폴더는 14Hive 라고도 불리웁니다. 이 폴더를 사용해서 모든 사이트에 전역적으로 사용할 수 있는 리소스들을 간편하게 서비스 할 수 있습니다. 이를 테면 이미지라든가, JS, CSS 파일들을 말합니다.

이러한 전역 경로를 사용할 수 없기 때문에 개발자들은 사이트 모음단위로 개별적인 리소스 업로드를 해야만 합니다.

-  로컬디스크를 못쓴다

로컬디스크를 사용하는 것이 불가능합니다. 클라우드에서 호스팅되는 SharePoint online의 특성상 당연한 것이기도 합니다만, 고급기능을 구현해야할 경우 개발자에게는 장벽이 될 수 밖에 없습니다. 클라우드 환경에서는 서버는 개발자의 것이 아닌 것이지요.

- 워크플로우 제약

커스텀 워크플로우의 사용은 제한적으로만 허용됩니다.

간단히 정리하면 오로지 SharePoint Designer로 만든 워크플로만 사용할 수 있습니다. SharePoint Designer를 이용해서도 간단한 워크플로우 기능은 구현이 가능합니다만, 보다 복잡하고 고급기능의 워크플로우를 구현하는 데에는 한계가 있습니다.

 

그렇다면 …. 과연… SharePoint Online 은 개발자에게 아무런 의미가 없는 것일까요.

일단 microsoft 에서 제시하는 SharePoint Online 개발사례를 둘러볼 필요가 있습니다. 결론부터 말씀드리면 희망은 있습니다. 충분합니다.

- MSDN 의 아티클 “Customizing SharePoint Online with SharePoint Designer 2010” 에서 훌륭한 디자인 테마 개발 방법을 소개합니다.

5555555

(http://msdn.microsoft.com/en-us/library/hh428136.aspx )

 

- Microsoft 본사 데모팩 개발 사례로서 쉐어포인트 디자인 개발의 궁극을 보여줍니다. 제대로 기획하고 디자인 한다면 그것만으로 이정도까지 쉐어포인트 사이트를 구축할 수 있구나. 하는 것을 보여줍니다.

333547_195408923857694_100001657631837_468896_2385091_o (1)

 

- SPC 2011 의 KeyNote 동영상을 보시면 1:25 분 경부터 소개되는 내용 중 Office 365 와 Azure 를 연동하여 개발한 내용이 소개됩니다. SharePoint Online 과 Azure 에 관심이 있으시면 아래의 링크에서 동영상을 보실 수 있습니다.

232323

(http://www.mssharepointconference.com/pages/keynote.aspx)

 

이제 가까운 한국 사례를 돌아볼까요? 제 주변의 사례를 소개해 보겠습니다.

- SharePoint Online Korea Demo (샌드박스 솔루션으로 디자인을 탈바꿈 시키는 실험무대였습니다.)

24242

 

- 응답형 게시판 (아.. SharePoint Online 상에서 구현하는 거 힘들었습니다.. ^^ 지금은 댓글까지 만들어서 거의 완성 상태죠)

339527_205126292885957_100001657631837_498662_665831509_o

 

- 워크플로로 구현한 전자결재 (삼정데이터의 Office 365 용 전자결재 솔루션입니다.)

343434

 

여기까지 SharePoint Online 이 가지는 개발의 제약사항과 그러한 제약사항을 딛고 개발해낸 국내외의 사례들을 살펴보았습니다. 클라우드 환경에서 비롯되는 한계가 존재하지만 그 한계로 인해 SharePoint 의 가능성이 가려지는 것은 아니라고 봅니다. 오히려 개발자가 해야할 일이 더 많아지고, 활약할 수 있는 분야가 더 늘어난 것이 아닐까 싶습니다.

Posted by 랜스 lanslote