Inside SharePoint웹 서비스를 사용하여 Office 응용 프로그램 확장

Pav Cherny

목차

SharePoint 웹 서비스와 개체 모델
Outlook 2007과 StsSync 프로토콜
Excel 2007과 Excel 웹 액세스
Access 2007과 Access Web Datasheet 컨트롤
Word 2007과 MetaWeblog API
PowerPoint 2007과 MOSS 2007
InfoPath 2007과 InfoPath Forms Services
결론

Microsoft WWS(Windows SharePoint Services) 3.0의 21가지 표준 웹 서비스와 MOSS(Microsoft Windows SharePoint Services) 2007의 19가지 표준 웹 서비스를 사용하면 로컬 및 원격 리소스에서 데이터를 검색하기 위한 유연성이 뛰어난 솔루션을 만들어 표준 Microsoft Office 제품군의 기능을 확장하고 비즈니스 응용 프로그램을 통합할 수 있습니다. 물론 여러분은 40가지 이상의 웹 서비스를 사용할 수 있습니다. Microsoft Office Project Server 2007과 같이 SharePoint와 통합되는 서버 솔루션을 추가로 설치하는 경우 SharePoint 서버의 웹 서비스 수는 60개를 훌쩍 넘어갑니다. 게다가 이는 여러분이 구현할 수 있는 사용자 지정 SharePoint 웹 서비스의 수는 감안하지 않은 수치입니다. 웹 서비스는 분산 비즈니스 응용 프로그램의 기본적인 구성 요소이며, 소프트웨어 + 서비스 시대에서 웹 서비스는 조직에 구내 솔루션을 호스팅된 환경과 통합하는 방법을 제공한다는 점에서 더욱 중요합니다.

이번 칼럼에서는 SharePoint 환경에서 웹 서비스의 장점에 대해, 구체적으로 표준 Office 응용 프로그램에서의 웹 서비스 활용에 대해 살펴보겠습니다. Office 응용 프로그램은 일반적으로 Microsoft Office FrontPage와 WSS RPC(원격 프로시저 호출), 그리고 SharePoint 목록 및 라이브러리에 대한 파일 기반 액세스를 위해 WebDAV(Web Distributed Authoring and Versioning)에 의존하지만 웹 서비스도 사용합니다. WSS 3.0에 포함된 기본 웹 서비스는 Microsoft Word 2007, Outlook 2007 및 Access 2007과 같은 대부분의 Office 응용 프로그램에서 사용하기에 충분하지만, PowerPoint 2007 및 InfoPath 2007과 같은 응용 프로그램에서는 MOSS 2007 또는 별도의 제품에서만 사용할 수 있는 추가 웹 서비스를 이용할 수 있습니다. 필요한 경우 제품 종속성에 대해 언급하겠습니다. 테스트 환경에서 필자의 설명 내용을 따라 하려면 technet.microsoft.com/magazine/bb978519의 코드 다운로드 섹션에 있는 이 칼럼의 첨부 자료에서 단계별 지침과 함께 워크시트를 확인하십시오.

포괄적인 개발자 토론 및 비즈니스 데이터 통합 주제는 이 기사의 범위를 벗어납니다. 이 기사는 여러분이 웹 서비스와 비즈니스 응용 프로그램에서의 웹 서비스 사용에 익숙하다고 가정합니다. WSS 3.0 및 MOSS 2007의 기본 제공 웹 서비스에 관한 일반적인 개요는 SharePoint Server 2007 SDK의 "웹 서비스 액세스"부터 살펴보시기 바랍니다(msdn.microsoft.com/library/bb862916.aspx 참조).

SharePoint 웹 서비스와 개체 모델

웹 서비스와 개체 모델 중 어느 것을 사용하느냐는 SharePoint 솔루션 개발에서 항상 직면하는 질문입니다. 개체 모델은 웹 서비스보다 사용하기 쉽고 더 다양한 인터페이스를 제공하며 오버헤드가 작다는 장점을 가지고 있는 반면, COM 종속성으로 인해 SharePoint 서버에서만 사용할 수 있습니다. 웹 서비스는 보다 쉽게 액세스할 수 있으므로 비즈니스 데이터 웹 파트와 같이 원격 원본의 데이터를 집계해야 하는 클라이언트 응용 프로그램 및 서버 측 구성 요소에 적합합니다. 데이터가 로컬 구내 시스템에서 호스팅된 원격 환경으로 이동함에 따라 SharePoint 솔루션에서 분산 SharePoint 환경을 처리할 수 있도록 SOA(서비스 지향 아키텍처)를 수용해야 할 필요성도 증가하고 있습니다(그림 1의 다이어그램 참조).

fig01.gif

그림 1 분산 SharePoint 환경의 웹 서비스(더 크게 보려면 이미지를 클릭하십시오.)

웹 서비스는 프런트 엔드와 백 엔드 하위 시스템 간의 긴밀한 연결을 제거하여 광범위한 유연성을 제공합니다. 그림 1에서 볼 수 있듯이 중개 웹 서비스가 필요한 인터페이스를 제공하기만 하면 프런트 엔드는 어떠한 기본 플랫폼과도 접속할 수 있습니다. 필자는 2008년 9월 칼럼(technet.microsoft.com/magazine/cc742803)에서 기본 제공 WSS 3.0 전자 메일 통합 웹 서비스(SharepointEmailWS.asmx)를 동일한 인터페이스를 제공하는 사용자 지정 버전으로 대체하면서 이에 대해 설명했습니다.

물론 SharePoint 웹 서비스를 이용하는 Office 응용 프로그램과 같은 클라이언트 응용 프로그램에도 동일한 원칙이 적용됩니다. Stephen Toub는 MSDN 기사 "Outlook 2003용 사용자 지정 일정 공급자"에서 SharePoint 목록 서비스(Lists.asmx)의 인터페이스를 미러링하는 사용자 지정 웹 서비스를 구축하여 SharePoint 목록 항목 대신 사용자 지정 데이터를 Outlook에 반환하는 방법으로 이를 매우 직관적으로 설명했습니다(msdn.microsoft.com/aa168130 참조). 이 기사에는 Outlook 일정에 이벤트 로그 항목, RSS 피드 항목, 뉴스 그룹의 게시물, Windows Live Messenger의 대화 및 컴퓨터의 시스템 복원 지점과 같은 다양한 데이터를 표시하는 방법과 이 솔루션을 확장하여 연락처 목록도 지원하는 방법이 설명되어 있습니다.

2006년에는 Patrick Creehan이 Outlook 2007에서도 작동하도록 구현을 업데이트했습니다. Patrick의 블로그 blogs.msdn.com/pcreehan/archive/2006/11/21/custom-calendar-providers-for-outlook-2007.aspx에서 "Outlook 2007용 사용자 지정 일정 공급자"를 참조하십시오.

Outlook 2007과 StsSync 프로토콜

사용자 지정 목록 공급자가 Outlook과 SharePoint의 통합을 활용할 수 있음을 알았으므로 이제부터는 Outlook/SharePoint 상호 작용에 대해 좀 더 자세히 살펴보겠습니다. SharePoint 목록 또는 문서 라이브러리 콘텐츠에 액세스하기 위해 Outlook은 목록 웹 서비스를 통해 SharePoint와 통신하고 표준 Outlook 폴더를 통해 목록과 해당 항목을 나란히 표시합니다. Outlook에서 직접 새 항목을 만들거나 기존 항목을 업데이트할 수도 있으며, 이 경우 Outlook은 목록 서비스를 사용하여 SharePoint 리포지토리를 업데이트합니다. 그림 2에서 볼 수 있듯이 상호 작용 및 솔루션 아키텍처는 비교적 간단합니다.

fig02.gif

그림 2 Outlook StsSync 아키텍처 (더 크게 보려면 이미지를 클릭하십시오.)

Outlook은 원하는 목록으로 연결하기 위해 Outlook에 프로토콜 처리기로 등록되는 StsSync 프로토콜 식별자를 기반으로 하는 특수한 URL 형식을 지원합니다. 워크스테이션에서 해당 등록은 HKEY_CLASSES_ROOT\StsSync\Shell\Open\Command 레지스트리 키에서 찾을 수 있습니다. Outlook은 명령줄 매개 변수로 StsSync URL을 받고 이를 개별 부분으로 나눈 다음 매개 변수를 사용하여 지정된 SharePoint 목록으로 연결합니다.

StsSync URL은 여러 가지 쿼리 문자열 매개 변수를 일반적인 URL 문자 인코딩 형식으로 포함하고 있기 때문에 길고 난해합니다. 예를 들면 다음과 같습니다.

stssync://sts/?ver=1.0&type=calendar&cmd=add-folder&base-url=http%3A%2F%2Fsharepoint%2FHR%2FAdministration&list-url=%2FLists%2FCalendar%2FAllItems%2Easpx&guid=%7B4DF13090%2DDE1C%2D43EA%2D8B44%2D904869FEABC4%7D&site-name=HR%20Site&list-name=Admin%20Events

다행히 SharePoint 사용자 인터페이스 내에서 Outlook을 원하는 목록으로 연결하려는 경우에는 이러한 URL을 직접 지정하지 않아도 됩니다. Internet Explorer에서 SharePoint 목록을 연 다음 목록의 작업 메뉴에서 Connect to Outlook(Outlook에 연결)을 클릭하기만 하면 됩니다. 이 명령은 ExportHailStorm(\%PROGRAMFILES%\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\1033\Init.js의 서버에 위치)이라는 JavaScript 함수를 호출하는데, 이 함수는 목록 매개 변수를 기반으로 StsSync URL을 만든 후 결과 URL을 Internet Explorer로 전달합니다. 그러면 Internet Explorer는 이 URL을 등록된 프로토콜 처리기, 즉 Outlook으로 전달합니다. Outlook에서 SharePoint 목록의 사용에 대한 예는 함께 제공되는 워크시트 "WSS에서 Outlook 사용"을 참조하십시오.

가장 중요한 StsSync 매개 변수 중 하나는 sharepoint/HR/Administration과 같은 SharePoint 사이트를 나타내는 base-url입니다. Outlook은 목록 웹 서비스에 대한 참조를 이 URL에 자동으로 추가합니다(예: sharepoint/HR/Administration/_vti_bin/Lists.asmx). 그러면 SharePoint와의 통신을 위한 준비가 완료됩니다. StsSync URL의 개별 부분은 msdn.microsoft.com/cc313101에 있는 StsSync 구조 사양에 설명되어 있습니다.

Excel 2007과 Excel 웹 액세스

그림 2에는 SharePoint 작업 메뉴의 Connect to Outlook(Outlook에 연결) 아래에 있는 스프레드시트로 내보내기 옵션이 나와 있습니다. 이 옵션을 사용하면 목록의 내용을 Excel 스프레드시트로 내보낼 수 있습니다. Excel 2007은 StsSync 프로토콜을 사용하지 않습니다. 대신 스프레드시트로 내보내기는 ExportList(\%PROGRAMFILES%\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\1033\Core.js의 SharePoint 서버에 위치)라는 함수를 호출하는데, 이 함수는 흥미로운 단계를 통해 목록 함수를 내보냅니다. 이 기능은 웹 서비스를 사용하지 않습니다.

ExportList를 호출하면 ISAPI 확장(Owssvr.dll)을 대상으로 하는 HTTP 요청을 통해 웹 쿼리(.iqy) 파일이 생성되어 반환됩니다. 이 .iqy 파일에는 Owssvr.dll을 참조하여 SharePoint 목록에서 실제 데이터를 XML 문서 형식으로 검색하는 웹 쿼리 문이 포함되어 있습니다. Owssvr.dll을 웹 서비스의 옛날 버전으로 생각할 수도 있지만 Owssvr.dll의 인터페이스는 웹 서비스에 대한 업계 표준을 따르지 않으므로 Excel은 웹 서비스를 사용하지 않는다고 할 수 있습니다.

웹 서비스를 사용하는 Excel 솔루션은 MOSS 2007에 포함되어 있고 그림 3에 나와 있는 Excel 웹 액세스입니다. 사실 Excel 웹 액세스는 Excel 서비스(ExcelService.asmx)를 사용하며, 이 서비스는 다시 Excel 2007 데스크톱 응용 프로그램과 동일한 계산 함수를 제공하는 계산 엔진인 ECS(Excel 계산 서비스)에 의존합니다. Excel 웹 액세스는 데이터 보기 및 매개 변수가 있는 분석 도구로 작동하도록 설계되었습니다. 특정 셀을 매개 변수로 할당하면 온라인에서 워크시트의 특정 부분만 보이게 할 수 있으며, 통합 문서 자체에 SharePoint 액세스 권한을 설정하면 관리자는 사용자가 Excel 통합 문서에서 액세스할 수 있는 항목을 매우 세밀하게 제어할 수 있게 됩니다. 보안상의 이유로 Excel 웹 액세스 및 Excel 서비스는 인라인 Visual Basic 코드, 양식 컨트롤 및 외부 참조와 같은 일부 Excel 2007 기능을 지원하지 않습니다. 그러나 솔루션 개발자는 SharePoint의 통합 문서 내에서 액세스할 수 있는 관리 코드를 만들 수 있습니다. 단계별 방법 가이드를 포함하여 Excel 서비스에 대한 자세한 내용은 technet.microsoft.com/cc263430의 "Excel 서비스 단계별 가이드" 백서를 참조하십시오.

fig03.gif

그림 3 Excel 및 Excel 웹 액세스 아키텍처 (더 크게 보려면 이미지를 클릭하십시오.)

Access 2007과 Access Web Datasheet 컨트롤

SharePoint 목록을 스프레드시트로 내보내는 것과 마찬가지로 작업 메뉴의 Access로 열기 옵션을 사용하여 목록을 데이터베이스로 내보낼 수 있습니다. Access로 열기 역시 Owssvr.dll ISAPI 확장을 사용하여 SharePoint에서 데이터를 가져옵니다. Access로 열기를 클릭하면 SharePoint.ExportDatabase ActiveX 컨트롤을 인스턴스화하는 JavaScript 함수 ExportToDatabase(in %\PROGRAMFILES%\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\1033\Core.js의 SharePoint 서버에 위치)가 호출됩니다. 이 컨트롤은 Owssvr.dll과 통신하며, 내보내기에서 선택한 항목에 따라 SharePoint 목록 개체에 연결되었거나 SharePoint에서 데이터베이스로 복사된 테이블, 뷰, 보고서 및 기타 개체가 있는 Access 데이터베이스를 생성합니다. Access 2007에서 SharePoint 목록 작업을 시작하려면 첨부 워크시트 "WSS에서 Access 사용"을 참조하십시오.

SharePoint.ExportDatabase ActiveX 컨트롤은 Owssvr.dll과 통신하고 웹 서비스를 사용하지 않지만 Access 2007은 그림 4에서 볼 수 있듯이 Stslist.dll이라는 DLL을 통해 SharePoint 웹 서비스를 실제로 사용합니다. 예를 들어 Access 2007에서 외부 데이터 리본을 표시하고 SharePoint 목록을 클릭한 후 원하는 목록을 연결된 테이블의 데이터 원본으로 연결할 수 있습니다. 이 시나리오에서 Access는 서버의 목록 웹 서비스(Lists.asmx)를 호출합니다. 그러면 SQL 문을 사용하여 Access의 데이터를 검색하거나 업데이트할 수 있습니다. Access는 또한 연결된 테이블의 레코드가 수정될 때마다 Lists.asmx를 호출하여 SharePoint 데이터를 최신 상태로 유지합니다.

fig04.gif

그림 4 Access 및 Access Web Datasheet 아키텍처 (더 크게 보려면 이미지를 클릭하십시오.)

개별 Access 테이블을 SharePoint에 목록으로 내보낼 수도 있고 전체 Access 데이터베이스를 SharePoint 사이트로 이동할 수도 있습니다. 이렇게 하면 각 테이블에 대한 SharePoint 목록이 생성되고 모든 데이터가 한 번의 대규모 작업으로 SharePoint로 이동됩니다. SharePoint는 목록에 참조 무결성을 적용할 수 없지만(사용자가 참조 항목을 이용하여 SharePoint로 데이터베이스를 이동하면 경고 메시지가 표시됨) 목록 간 참조는 테이블과 동일하게 허용합니다. Access에서 테이블을 내보낼 때 Access는 Lists.asmx 외에 웹(Webs.asmx) 및 보기(Views.asmx) 웹 서비스와도 통신하여 각 테이블에 대한 목록과 각 테이블 열에 대한 사이트 열을 만들고 이러한 사이트 열을 기반으로 보기를 나열합니다.

내보내기가 완료되면 데이터시트 보기에서 SharePoint 목록을 확인할 수 있습니다. 목록의 작업 메뉴에 있는 데이터시트에서 편집 옵션을 클릭하기만 하면 됩니다. 데이터시트에서 편집을 클릭하면 65BCBEE4-7728-41A0-97BE-14E1CAE36AAE CLSID를 통해 Access Web Datasheet 컨트롤을 참조하는 웹 페이지로 브라우저가 리디렉션됩니다. 그런 다음 Internet Explorer가 로컬 워크스테이션의 이 ActiveX 컨트롤을 웹 페이지에 로드합니다. 2007 Office system을 실행하는 워크스테이션에서 레지스트리를 검색하는 경우 HKEY_CLASSES_ROOT 하이브에서 ActiveX 컨트롤(ProgID ListNet.ListNet)에 해당하는 등록 항목을 찾을 수 있습니다. InprocServer32 레지스트리 키를 확인하면 Access Web Datasheet 컨트롤이 Stslist.dll에서 구현됨을 알 수 있습니다. Access Web Datasheet 컨트롤은 Access 2007과 동일한 웹 서비스를 사용합니다.

추가 리소스

SharePoint 제품 및 기술 웹 사이트

microsoft.com/sharepoint

Windows SharePoint Services TechCenter

technet.microsoft.com/windowsserver/sharepoint

Windows SharePoint Services 개발자 센터

msdn.microsoft.com/sharepoint

Microsoft SharePoint 제품 및 기술 팀 블로그

blogs.msdn.com/sharepoint

Word 2007과 MetaWeblog API

Word 2007은 Metaweblog.aspx라는 파일에서 구현되는 고유 웹 서비스를 통해 SharePoint 서버에 있는 MetaWeblog API를 활용합니다. 이 API는 3개의 메서드밖에 제공하지 않지만(newPost, editPost 및 getPost) 그래도 XML 구조를 사용하여 HTTP를 통해 통신합니다. WSS 3.0은 블로그 사이트 템플릿 및 웹 관리 인터페이스를 통해 기본적으로 블로그를 지원합니다. MetaWeblog API를 기반으로 하여 Word 2007을 블로그 프로그램으로 사용할 수 있습니다. Word 2007은 브라우저 인터페이스에 대한 실용적 대안을 제공합니다.

MetaWeblog 서비스는 다른 SharePoint 웹 서비스와는 달리 .asmx 파일 확장명을 사용하지 않습니다. MetaWeblog API는 Dave Winer가 개발한지 5년 이상 된 인기 있는 블로그 도구로 .aspx페이지를 통해 이 API에 액세스할 수 있습니다. 사양에 대한 내용은 xmlrpc.com/metaWeblogApi에서 볼 수 있습니다. 일반적인 .asmx 명명 규칙 대신 .aspx를 사용하면 SharePoint에서 이러한 블로그 도구와의 호환성이 유지됩니다.

PowerPoint 2007과 MOSS 2007

WSS 3.0 환경에서 PowerPoint 2007은 웹 서비스를 사용하지 않지만 문서 라이브러리에 있는 프레젠테이션 파일에 액세스할 때 주로 FrontPage/WSS RPC 및 WebDAV를 통해 SharePoint와 통신합니다. MOSS 2007이 있다면 PowerPoint에서 SharePoint 슬라이드 라이브러리 및 슬라이드 라이브러리 웹 서비스(SlideLibrary.asmx)를 활용할 수 있습니다.

슬라이드 라이브러리는 특수한 유형의 문서 라이브러리입니다. 이 라이브러리는 PowerPoint의 슬라이드 게시 기능과 함께 사용할 수 있습니다. 이렇게 하면 한 묶음의 프레젠테이션을 개별 슬라이드로 나누어 폴더 또는 라이브러리에 별도의 파일로 저장할 수 있습니다. 슬라이드를 슬라이드 라이브러리에 게시하는 경우 PowerPoint는 Webs.asmx 및 Slidelibrary.asmx와 통신하여 URL을 확인하고 슬라이드가 충돌하는지 검사합니다. 슬라이드 라이브러리에 동일한 이름의 슬라이드가 이미 존재하는 경우 PowerPoint는 기존 슬라이드를 대체하거나 현재 슬라이드를 건너뛰라는 메시지를 표시합니다.

슬라이드 라이브러리에 업로드된 슬라이드는 다른 프레젠테이션 묶음에 다시 사용할 수 있으며 원본 슬라이드는 SharePoint 서버의 슬라이드 라이브러리에 남습니다. SharePoint는 각 슬라이드에 타임스탬프를 추가하고 PowerPoint는 이 타임스탬프와 다른 메타데이터(예: 슬라이드가 만들어진 PowerPoint 프레젠테이션의 이름)를 확인하여 슬라이드 라이브러리 웹 서비스를 통해 업데이트를 검색합니다. 업데이트가 있으면 현재 프레젠테이션의 로컬 슬라이드를 대체할지 또는 프레젠테이션에 변경된 슬라이드를 추가할지 선택할 수 있습니다. 이에 대한 소개는 office.microsoft.com/en-us/powerpoint/HA012261671033.aspx에서 "슬라이드 라이브러리를 사용하여 PowerPoint 2007 슬라이드 내용 공유 및 재사용"을 참조하십시오. 첨부 워크시트 "슬라이드 라이브러리 사용"도 함께 살펴보시기 바랍니다.

가끔 PowerPoint 2007에서 슬라이드를 게시할 때 "n개 중 n개의 슬라이드가 <라이브러리>에 게시되지 못했습니다. 다시 게시하십시오." 라는 오류 메시지가 표시될 수 있습니다. 액세스 권한이 없거나 WebDAV 통신 문제가 원인일 수 있습니다. 이 오류를 해결하려면 슬라이드를 로컬 파일 시스템의 폴더에 게시한 다음 Windows 탐색기 및 슬라이드 라이브러리의 UNC 경로(예: sharepoint/SlideLib가 아닌 \\sharepoint\SlideLib)를 사용하여 슬라이드 라이브러리에 파일을 수동으로 복사합니다. Windows 탐색기는 PowerPoint 2007과 동일한 WebDAV 리디렉터를 사용하지만 슬라이드 충돌을 감지하기 위해 SlideLibrary.asmx에 연결되지는 않습니다. 대신 WebDAV를 사용하여 파일이 이미 존재하는지 여부를 감지합니다. 그림 5는 PowerPoint 2007의 슬라이드 라이브러리 아키텍처를 보여 줍니다.

fig05.gif

그림 5 PowerPoint 및 슬라이드 라이브러리 아키텍처 (더 크게 보려면 이미지를 클릭하십시오.)

InfoPath 2007과 InfoPath Forms Services

이번 칼럼에서 InfoPath 2007과 InfoPath Forms Services를 빼놓을 수는 없습니다. 사실 InfoPath 2007은 이 칼럼에서 언급한 Office 응용 프로그램 가운데 웹 서비스를 가장 많이 사용하는 응용 프로그램입니다. 물론 InfoPath 양식에서 웹 서비스를 데이터 원본으로 광범위하게 사용할 수 있지만, 양식 개발을 고려하지 않고 외부 데이터 원본을 사용하지 않는 간단한 양식 서식 파일을 게시하는 데 중점을 두더라도 InfoPath 2007은 그림 6과 같이 FrontPage/WSS RPC 및 WebDAV 외에 웹 서비스를 통해서도 SharePoint와 통신합니다. SharePoint 양식 라이브러리에서 양식 서식 파일을 게시하는 방법을 보여 주는 예는 코드 다운로드에서 받을 수 있는 워크시트 "InfoPath Forms Services 사용"을 참조하십시오.

fig06.gif

그림 6 InfoPath와 Forms Services 아키텍처 (더 크게 보려면 이미지를 클릭하십시오.)

InfoPath 2007이 의존하는 중요 웹 서비스는 Webs.asmx와 Lists.asmx입니다. 무엇보다 InfoPath는 웹 서비스에서 콘텐츠 형식 및 사이트 열의 정의에 대한 정보를 검색하고 이 정보를 사용하여 필드 또는 그룹 선택 대화 상자에 있는 사이트 열 목록 상자를 채워서 사용자가 양식 서식 파일을 게시할 때 양식 열을 기존 SharePoint 사이트 열에 연결할 수 있도록 합니다. InfoPath는 목록 서비스를 사용하여 SharePoint 사이트에 대한 연결 없이 새 열을 만듭니다. InfoPath는 또한 목록 서비스와 상호 작용하여 양식 서식 파일을 위한 콘텐츠 형식 정의와 양식 라이브러리를 만듭니다. 실제 서식 파일 업로드의 경우 InfoPath는 FrontPage/WSS RPC 및 WebDAV를 사용하며, 파일 이름이 template.xsn인 서식 파일을 새 라이브러리의 Forms 하위 폴더에 배치할 뿐입니다.

브라우저 호환 양식 서식 파일의 경우 SharePoint 서버에 MOSS 2007이 있는지, 아니면 Microsoft Office Forms Server 2007이 있는지에 따라 InfoPath의 게시 마법사에서 브라우저를 사용하여 양식을 채우도록 하는 옵션을 제공할 수 있습니다. InfoPath는 Forms Services가 설치되어 있고 현재 SharePoint 사이트에서 사용 가능한지 여부를 확인하기 위해 FormServerDetector.aspx 웹 페이지(예: sharepoint/_layouts/FormServerDetector.aspx?IsFormServerEnabled=check)를 사용합니다. Forms Services가 설치되어 있고 사용할 수 있으면 이 웹 페이지는 <server IsFormServerEnabled = 'true' />를 반환합니다. 그런 다음 브라우저를 사용하여 양식을 채우도록 하면 InfoPath 2007은 게시 프로세스 동안 Forms Services 웹 서비스(FormsServices.asmx)를 호출하여 양식 서식 파일을 브라우저에서 적절하게 사용할 수 있도록 합니다. 브라우저에서 사용할 수 있는 InfoPath 양식에 대한 자세한 내용은 msdn.microsoft.com/aa701145의 Microsoft Office Forms Server 2007 일반 참조를 살펴 보십시오.

결론

웹 서비스는 SharePoint 플랫폼에서 중요한 부분입니다. 웹 서비스는 로컬 및 원격 리소스에 액세스하고, 분산된 비즈니스 응용 프로그램을 서로 통합하고, Office 응용 프로그램에 유용한 기능을 제공하는 비즈니스 솔루션을 가능하게 합니다. Office 응용 프로그램을 위한 가장 중요한 웹 서비스는 WSS 3.0에 포함된 Webs.asmx와 Lists.asmx로, 이 두 웹 서비스는 SharePoint 사이트, 목록 및 라이브러리 작업에 사용됩니다. 목록 보기 작업을 위한 방법을 제공하는 Views.asmx도 종종 사용되는 웹 서비스입니다. 대부분의 Office 응용 프로그램에서는 MOSS 2007 개발이 필요 없지만 PowerPoint 2007, InfoPath 2007을 비롯한 일부 응용 프로그램의 경우 MOSS 2007과 함께, 또는 별도의 제품으로만 제공되는 슬라이드 라이브러리 및 Forms Services와 같은 고급 기능을 활용할 수 있습니다.

호스팅된 백 엔드 환경을 구내 프런트 엔드 응용 프로그램에서 분리하는 웹 서비스는 오늘날의 소프트웨어 + 서비스 시대에서 중요한 역할을 담당합니다. SharePoint는 온라인 공동 작업의 발전을 이끄는 핵심 기술입니다. Office 응용 프로그램과 Office 추가 기능은 로컬 워크스테이션에서 계속 실행되며, 웹 서비스는 다른 웹 기술과 결합되어 분산된 환경에서 회사 방화벽을 통과하여 기능 및 데이터에 원활하게 액세스할 수 있도록 합니다. SharePoint 서버에서 20, 40, 60개 이상의 웹 서비스를 호스팅하는 것은 우연이 아닙니다. 웹 서비스는 사용 편의성, 액세스 단순성 및 유연성이 강조되는 비즈니스 솔루션에 적합하고, 개체 모델은 이러한 웹 서비스를 구축하는 데 적합합니다.

Pav Cherny는 공동 작업 및 통합 커뮤니케이션을 위한 Microsoft 기술을 전문으로 하는 IT 전문가이자 저술가입니다. IT 운영과 시스템 관리를 주로 다루는 백서, 제품 설명서 및 서적 등을 출간한 Pav는 문서 관리 및 지역화 서비스를 전문으로 하는 Biblioso Corporation의 사장입니다.