Share via


InfoPath 개체 모델 및 개발 환경 이해

Microsoft InfoPath 2010에서는 양식 서식 파일에서 비즈니스 논리를 개발하는 데 사용할 수 있는 두 종류의 프로그래밍 모델을 지원하며, 관리 코드에서 외부 자동화를 실행할 수도 있습니다.

Microsoft SharePoint Server 2010에서 사용 가능한 InfoPath Forms Services는 InfoPath 양식을 채우기 위한 웹 브라우저 환경을 제공합니다. 브라우저 호환 양식 서식 파일(.xsn)에 기반하는 양식을 InfoPath Forms Services를 실행하는 서버에 배포하면 InfoPath 2010이 설치되지 않은 컴퓨터의 웹 브라우저에서 열 수 있지만, InfoPath 2010이 설치된 경우에는 InfoPath 2010에서 열립니다. 또한 InfoPath Forms Services에서는 InfoPath 양식 서식 파일 게시 및 관리와 관련된 서버 작업을 자동화하는 데 사용할 수 있는 개체 모델도 제공합니다.

InfoPath 2010에서는 Microsoft Visual Studio Tools for Applications 프로그래밍 환경 및 이와 연결된 프로그래밍 언어를 지원하며, 이러한 언어에 대해서는 이 항목 뒷부분에서 설명합니다.

InfoPath 프로그래밍 모델

InfoPath 2010에서는 양식 서식 파일에서 비즈니스 논리를 개발하는 데 사용할 수 있도록 다음과 같은 두 가지 개체 모델을 지원합니다.

  • InfoPath 관리 코드 개체 모델

  • InfoPath 2003 호환 관리 코드 개체 모델

또한 InfoPath 2010에서는 외부 응용 프로그램에서 InfoPath를 자동화하는 관리 코드를 작성할 수도 있습니다.

InfoPath Forms Services에서는 서버에서 실행되는 코드를 통해 양식 서식 파일을 확인하고 업로드하는 것과 같이 서버 관리자 액세스 및 사용 권한이 필요한 서버 작업을 자동화할 수 있는 개체 모델을 제공합니다.

참고 사항참고 사항

InfoPath Filler 2010에서는 스크립트 언어(JScript 및 VBScript)로 작성된 비즈니스 논리를 사용하는 이전 버전의 InfoPath에서 만든 InfoPath 양식 서식 파일 솔루션을 열고 실행할 수 있습니다.

InfoPath 관리 코드 개체 모델

InfoPath 2010 관리 코드 개체 모델은 Microsoft.Office.Infopath.dll라는 이름의 두 어셈블리에 구현됩니다.

한 버전의 어셈블리는 InfoPath Forms Services가 포함된 Microsoft SharePoint Server 2010에서 실행되는 브라우저 사용 양식 서식 파일로 배포된 양식 서식 파일의 비즈니스 논리에서 지원되는 형식과 멤버만 포함하는 InfoPath 개체 모델의 하위 집합을 구현합니다. 이 어셈블리에 대해 비즈니스 논리가 작성된 양식 서식 파일은 InfoPath Filler 및 웹 브라우저에서 열리고 실행됩니다.

다른 버전의 어셈블리는 브라우저 사용 양식 서식 파일의 비즈니스 논리에서 지원되지 않는 기능을 제공하는 추가 형식 및 멤버를 구현합니다. 이 어셈블리의 추가 클래스 및 멤버에 대해 비즈니스 논리가 작성된 양식 서식 파일은 InfoPath Filler 편집기에서 열리고 실행됩니다.

참고 사항참고 사항

Environment 클래스의 속성을 사용하는 조건부 논리를 작성하여 양식 서식 파일이 실행되는 환경(InfoPath Filler 또는 웹 브라우저)을 확인할 수 있습니다. 이 조건부 논리를 사용하면 웹 브라우저에서 작동하는 코드와 InfoPath Filler 편집기에서만 작동하는 클래스 및 멤버에 대해 작성된 코드 간에 비즈니스 논리가 분기할 수 있습니다. 자세한 내용은 방법: 런타임 환경을 확인하는 조건부 논리 작성을 참조하십시오.

사용자가 양식 서식 파일에 대한 비즈니스 논리를 추가하고 컴파일할 때 InfoPath에서 사용하는 어셈블리는 InfoPath Designer에서 새 양식 디자인을 시작할 때 Microsoft Office Backstage의 새로 만들기 탭에서 새 양식 양식 서식 파일을 선택하는지, 아니면 새 양식(InfoPath Filler) 양식 서식 파일을 선택하는지에 따라 달라집니다. 새 양식 양식 서식 파일을 사용하여 만든 양식은 브라우저 사용 양식 서식 파일로 배포된 양식 서식 파일의 비즈니스 논리에서 지원되는 형식 및 멤버만 포함하는 어셈블리를 사용합니다. 새 양식 양식 서식 파일을 사용하여 만든 양식은 웹 브라우저와 InfoPath Filler에서 모두 열 수 있습니다. 새 양식(InfoPath Filler) 양식 서식 파일을 사용하여 만든 양식은 브라우저 사용 양식 서식 파일의 비즈니스 논리에서 지원되지 않는 기능을 제공하는 추가 형식 및 멤버를 구현하는 어셈블리를 사용하며, InfoPath Filler에서만 열 수 있습니다.

양식 서식 파일 디자인을 시작한 후에는 양식의 호환성 설정을 변경하여 사용할 어셈블리를 변경할 수 있습니다. 이렇게 하려면 개발자 탭에서 언어를 클릭한 다음 범주 목록에서 호환성을 클릭합니다. 양식 유형 목록에서 웹 브라우저 양식을 선택하여 Microsoft SharePoint Server 2010에 브라우저 호환 양식으로 배포할 수 있는 양식을 만듭니다. InfoPath Filler 양식을 선택하여 InfoPath Filler 편집기에서만 실행할 수 있는 양식을 만듭니다. 양식 유형 목록의 다른 선택 항목에서는 InfoPath 2007 및 InfoPath 2003과의 호환성 지원을 제공합니다.

이 개체 모델의 두 버전의 클래스와 멤버는 모두 Microsoft.Office.InfoPath 네임스페이스를 통해 노출됩니다. 이러한 어셈블리는 InfoPath 2010 설치 환경의 다음 디렉터리에 있습니다.

어셈블리

설명

Microsoft.Office.InfoPath.dll
(C:\Program Files\Microsoft Office\Office14\InfoPathOM\InfoPathOMFormServices에 있음)

InfoPath Forms Services를 실행하는 서버에 배포된 양식 서식 파일의 비즈니스 논리에서 실행되는 형식과 멤버만 포함하는 개체 모델의 하위 집합입니다.

Microsoft.Office.InfoPath.dll
(C:\Program Files\Microsoft Office\Office14\InfoPathOM에 있음)

InfoPath Forms Services에 배포된 양식 서식 파일의 비즈니스 논리에서 실행되지 않는 형식과 멤버를 포함하는 "전체" 개체 모델입니다.

참고 사항참고 사항

이 섹션의 앞부분에서 참조된 어셈블리는 코드를 작성하고 컴파일할 때 디자인 타임에 사용됩니다. 런타임에 InfoPath에서 양식 서식 파일을 열 때 사용되는 어셈블리는 InfoPath가 설치된 컴퓨터의 GAC(전역 어셈블리 캐시)에 있습니다. InfoPath Forms Services를 실행하는 서버의 웹 브라우저에서 양식 서식 파일을 열 때 사용되는 어셈블리는 서버에 있습니다.

두 어셈블리를 제공하면 지원되는 양식 편집기(웹 브라우저 또는 InfoPath Filler)의 해당 개체 모델 멤버에 대한 호출만 비즈니스 논리에 포함되도록 할 수 있습니다. 예를 들어 코드를 편집하는 경우 문 완성 및 인라인 설명서와 같은 IntelliSense 기능은 대상 양식 편집기의 해당 개체 모델 멤버에 대해서만 표시 및 작동합니다.

Microsoft.Office.InfoPath 어셈블리에 의해 노출되는 관리 코드 개체 모델의 두 가지 버전 모두에서 비즈니스 논리의 XML 데이터 저장소를 탐색하고 업데이트하려면 System.Xml.XPath.XPathNavigator 클래스의 멤버를 호출해야 합니다. InfoPath 2003에서는 XML 데이터 저장소를 탐색 및 업데이트하려면 MSXML 클래스의 멤버를 호출(JScript 또는 VBScript를 사용하여 만든 비즈니스 논리의 경우)하거나, Microsoft.Office.Interop.InfoPath.SemiTrust 네임스페이스에서 제공하는 MSXML 클래스에 대한 래퍼를 통해 호출(C# 또는 Visual Basic 및 Visual Studio .NET용 Microsoft Office InfoPath 2003 Toolkit을 사용하여 만든 비즈니스 논리의 경우)해야 합니다.

XPathNavigator 클래스의 멤버를 사용하면 InfoPath 클라이언트에서 열리는 양식 서식 파일과 InfoPath Forms Services가 포함된 Microsoft SharePoint Server 2010에서 웹 브라우저에 열리는 웹 사용 양식의 양식 서식 파일 모두에 대해 동일한 비즈니스 논리 코드로 DOM을 조작할 수 있습니다.

InfoPath 관리 코드 양식 서식 파일의 비즈니스 논리에서 XPathNavigator 클래스의 멤버를 사용하여 작업하는 방법에 대한 자세한 내용은 방법: XPathNavigator 및 XPathNodeIterator 클래스 사용을 참조하십시오.

InfoPath 2003 호환 관리 코드 개체 모델

InfoPath 2003 호환 관리 코드 개체 모델은 관리 코드를 사용하여 양식 서식 파일에서 비즈니스 논리를 작성하기 위해 Visual Studio .NET용 Microsoft Office InfoPath 2003 Toolkit과 함께 InfoPath 2003 서비스 팩 1에서 도입되었습니다. 이 개체 모델은 InfoPath 2003과의 호환성을 제공하기 위해 InfoPath 2010에서도 지원됩니다.

이 개체 모델의 클래스와 멤버는 Microsoft.Office.Interop.InfoPath.SemiTrust 네임스페이스를 통해 노출됩니다. 이 개체 모델은 C:\Program Files\Microsoft Office\Office14 폴더에 있는 다음 어셈블리 파일에 구현됩니다.

어셈블리

설명

Microsoft.Office.Interop.InfoPath.SemiTrust.dll

C# 또는 Visual Basic을 사용하여 작성된 양식 서식 파일 비즈니스 논리에 InfoPath COM 개체 모델에 대한 COM interop를 제공합니다.

참고 사항참고 사항

InfoPath 2010에서도 Microsoft.Office.Interop.InfoPath.SemiTrust 어셈블리가 제공하는 COM interop 관리 코드 개체 모델을 사용하여 비즈니스 논리를 만들 수는 있지만, 이 개체 모델을 사용하여 작성된 비즈니스 논리는 InfoPath Forms Services가 포함된 Microsoft SharePoint Server 2010에 배포되는 브라우저 사용 양식 서식 파일에 대해 지원되지 않습니다. 브라우저 사용 양식 서식 파일의 경우 사용자 지정 비즈니스 논리에 InfoPath 관리 코드 개체 모델을 사용해야 합니다.

관리 코드에서 InfoPath 자동화

개발자는 관리 코드를 사용하여 비즈니스 논리를 작성할 뿐 아니라, 외부 응용 프로그램에서 실행되는 관리 코드를 사용하여 InfoPath를 자동화할 수도 있습니다. 코드 작성에 필요한 어셈블리와 이 기능은 InfoPath 2003 서비스 팩 1에서 도입되었습니다. InfoPath 자동화를 위한 개체 및 멤버가 InfoPath 2010에 대해 외부 자동화 코드를 작성할 때 추가 기능을 제공하도록 업데이트되었습니다.

외부 자동화에 사용되는 클래스와 멤버는 Microsoft.Office.Interop.InfoPath 및 Microsoft.Office.Interop.InfoPath.Xml 네임스페이스를 통해 노출됩니다. 자동화 코드를 작성하는 데 필요한 어셈블리 파일은 C:\Program Files\Microsoft Office\Office14 폴더에 있습니다.

어셈블리

설명

Microsoft.Office.Interop.InfoPath.dll

C# 또는 Visual Basic을 사용하여 작성한 외부 자동화 코드에 InfoPath COM 개체 모델에 대한 COM interop를 제공합니다.

Microsoft.Office.Interop.InfoPath.Xml.dll

C# 또는 Visual Basic을 사용하여 작성한 외부 자동화 코드의 XML DOM 작업에 MSXML에 대한 COM interop를 제공합니다.

외부 응용 프로그램의 관리 코드를 사용하여 InfoPath 응용 프로그램을 자동화하는 용도로만 사용되는 Microsoft.Office.Interop.InfoPath 및 Microsoft.Office.Interop.InfoPath.Xml 네임스페이스에서 제공하는 개체 모델에 대한 자세한 내용은 InfoPath 개발자 센터(영문일 수 있음)를 참조하십시오.

InfoPath Forms Services 개체 모델

InfoPath Forms Services 관리 작업을 자동화하는 관리 코드 개체 모델은 Microsoft SharePoint Server 2010 설치 환경에서 <드라이브>:\Program Files\Microsoft Office Server\14.0\Bin 폴더에 있는 Microsoft.Office.InfoPath.Server.dll에 구현됩니다.

어셈블리

설명

Microsoft.Office.InfoPath.Server.dll

브라우저 사용 양식 서식 파일의 업로드, 활성화 또는 비활성화와 같은 InfoPath Forms Services 작업을 자동화하기 위한 개체 모델입니다.

InfoPath Forms Services 개체 모델에 대한 자세한 내용은 MSDN에서 사용할 수 있는 Microsoft Microsoft SharePoint Server 2010 SDK(Software Developers Kit)를 참조하십시오.

InfoPath 개발 환경

Microsoft Visual Studio Tools for Applications 개발 환경을 사용하여 InfoPath 2010 양식 서식 파일의 비즈니스 논리를 개발할 수 있습니다.

참고 사항참고 사항

InfoPath Filler에서는 이전 버전의 InfoPath에서 만든 스크립트 기반 양식 서식 파일을 열 수 있지만 InfoPath 2010에서는 JScript 또는 VBScript로 작성된 비즈니스 논리를 사용하는 양식 서식 파일을 만들거나 편집할 수 없습니다. 또한 InfoPath 2010에서는 Visual Studio의 양식 서식 파일 개발을 지원하지 않습니다.

Visual Studio Tools for Applications

컴퓨터에 Microsoft .NET Framework 2.0 이상 버전이 설치되어 있으면 Microsoft Visual Studio Tools for Applications 개발 환경을 InfoPath 2010과 함께 설치할 수 있습니다. InfoPath를 처음 설치할 때 Microsoft .NET Framework 2.0 이상 버전의 구성 요소가 설치되어 있지 않았던 경우 Microsoft Visual Studio Tools for Applications 개발 환경을 사용하려면 먼저 해당 구성 요소를 다운로드하여 설치해야 합니다.

Microsoft Visual Studio Tools for Applications 개발 환경은 InfoPath를 설치할 때 기본적으로 설치되지 않습니다. Microsoft Visual Studio Tools for Applications를 설치하려면 처음 설치할 때 사용자 지정을 선택하거나, 기능 추가/제거를 사용하여 Microsoft Visual Studio Tools for Applications를 포함하도록 Office 또는 InfoPath 설치를 업데이트해야 합니다. 설치 프로그램에서 Microsoft Office InfoPath.NET 프로그래밍 지원을 확장하면 Microsoft Visual Studio Tools for Applications 설치 옵션을 사용할 수 있습니다.

Microsoft Visual Studio Tools for Applications 환경을 사용하면 InfoPath 2003 호환 개체 모델(Microsoft.Office.Interop.InfoPath.SemiTrust 네임스페이스의 멤버) 또는 새 관리 코드 개체 모델(Microsoft.Office.InfoPath 네임스페이스의 멤버)에 대해 C#이나 Visual Basic으로 비즈니스 논리를 작성할 수 있습니다.

InfoPath 2003 개체 모델을 사용하는 양식 서식 파일 관리, 만들기 및 변환

Microsoft Visual Studio Tools for Applications에서는 Visual Studio .NET용 Microsoft Office InfoPath 2003 Toolkit 또는 Microsoft Visual Studio Tools for the Microsoft Office System을 사용하여 만든 InfoPath 양식 서식 파일 프로젝트를 열고 해당 프로젝트를 사용하여 계속 작업할 수 있습니다.

참고 사항참고 사항

Microsoft Visual Studio Tools for Applications를 사용하여 컴파일된 양식 서식 파일의 사용자 컴퓨터에는 Microsoft .NET Framework 2.0 이상 버전이 설치되어 있어야 합니다. 반면에 Visual Studio .NET 2003을 사용하여 컴파일된 양식 서식 파일의 사용자 컴퓨터에는 Microsoft .NET Framework 1.1만 설치되어 있으면 됩니다.

Microsoft Visual Studio Tools for Applications를 사용하고 InfoPath 2003과의 호환성을 유지하려면 새 양식 서식 파일을 만들고 개발자 탭에서 언어를 클릭하고 호환성을 클릭한 다음 양식 유형InfoPath 2003 Filler 양식으로 선택합니다. 그런 다음 프로그래밍을 클릭하고 양식 서식 파일 코드 언어를 사용하려는 언어로 설정합니다.

또한 InfoPath 2003 개체 모델을 사용하는 양식 서식 파일을 변환하여 새 InfoPath 관리 코드 개체 모델을 사용할 수도 있습니다. 양식 서식 파일을 변환하는 방법에 대한 자세한 내용은 방법: InfoPath Toolkit을 사용하여 만든 양식 서식 파일 열기 또는 변환을 참조하십시오.

참고 항목

작업

연습: 기본 관리 코드 양식 서식 파일 만들기

연습: InfoPath 2003 개체 모델을 사용하여 기본 양식 서식 파일 만들기 및 디버깅