네이티브 XML 웹 서비스 개요
이 항목에서는 Microsoft SQL Server 2005의 네이티브 XML 웹 서비스와 Microsoft SQLXML을 비교하고 네이티브 XML 웹 서비스의 작동 방식과 이 서비스를 사용할 때의 이점을 설명합니다.
다음과 같은 시나리오에서는 아무 효과가 없으므로 네이티브 XML 웹 서비스를 사용하지 마십시오.
- 단기 트랜잭션을 위해 실시간으로 동시에 액세스하는 사용자가 많은 응용 프로그램
- 웹 팜 유형 확장
- 중간 계층 대신(특히 중간 계층 구성 요소에서 보다 잘 처리할 수 있는 대형 비즈니스 논리를 응용 프로그램 아키텍처가 요구하는 경우)
네이티브 XML 웹 서비스와 SQLXML 비교
이전 버전의 SQL Server에서 SQL Server 데이터베이스에 액세스하려면 TDS(Tabular Data Stream)를 사용해야 합니다. TDS는 Windows 기반 데스크톱 클라이언트에 대해 지원되어야 하는 소유 프로토콜입니다. SQL Server 클라이언트에서 MDAC(Microsoft Data Access Components)를 사용해야 할 경우가 있습니다. SQL Server에 연결된 클라이언트 컴퓨터에 MDAC 스택이 설치됩니다. SQL Server의 경우 SQLXML 3.0은 SQL Server에 대한 웹 기반 액세스를 지원하는 중간 계층 구성 요소지만 IIS(인터넷 정보 서비스)도 사용해야 합니다.
SQL Server 2005에서 HTTP와 SOAP를 함께 사용하면 네이티브 XML 웹 서비스는 다음 그림과 같이 Windows가 아닌 환경을 위한 대안을 제공합니다.
더 이상 클라이언트에 설치된 MDAC 또는 IIS의 중간 계층에서 종속 관계가 있는 SQLXML이 필요하지 않기 때문에 SOAP 및 HTTP 액세스를 통해 보다 광범위한 범위의 클라이언트가 SQL Server에 액세스할 수 있습니다. 여기에는 웹 브라우저와 같은 기존 클라이언트 응용 프로그램을 사용하는 웹 응용 프로그램 클라이언트가 포함됩니다. 네이티브 XML 웹 서비스를 사용하면 Microsoft .NET Framework, Microsoft SOAP Toolkit, Perl, 및 기타 웹 개발 운영 체제와 도구 집합으로 더욱 쉽게 작업할 수 있습니다.
다음 표에서는 각 기술이 제공하는 몇 가지 기능을 보여 줍니다.
네이티브 XML 웹 서비스 | Microsoft SQLXML |
---|---|
|
|
네이티브 XML 웹 서비스 작동 방식
SQL Server에서 네이티브 XML 웹 서비스를 사용하려면 서버에서 HTTP 끝점을 설정해야 합니다. 이 끝점은 기본적으로 HTTP 기반 클라이언트에서 서버에 쿼리하는 데 사용할 수 있는 게이트웨이입니다. HTTP 끝점을 설정한 후 저장 프로시저 또는 사용자 정의 함수를 추가하거나 끝점 사용자가 사용할 수 있도록 설정할 수 있습니다. 이 작업은 끝점을 만들거나 업데이트할 때 수행할 수 있습니다. 프로시저와 함수를 활성화하면 웹 메서드로 지정됩니다. 함께 사용하도록 만든 웹 메서드 컬렉션을 웹 서비스라고 합니다.
이러한 웹 서비스는 WSDL 형식을 사용하여 나타낼 수 있습니다. 다음 그림과 같이 WSDL 형식은 SQL Server 인스턴스에서 생성되고 WSDL이 활성화된 HTTP 끝점의 SOAP 클라이언트에 반환됩니다. 필요하면 WSDL 형식은 SQL Server에서 생성된 솔루션이 아닌 사용자 지정 솔루션일 수 있습니다. 또한 WSDL 요청에 응답하지 않도록 끝점을 구성할 수도 있습니다.
이 프로세스를 따르면 SQL Server 사용 웹 서비스의 컬렉션을 구현할 수 있으며 SOA(Service-Oriented Architecture)를 만들고 채우는 데 사용할 수 있습니다. 자세한 내용을 보려면 Microsoft 웹 사이트의 MSDN Online Library에서 키워드 "SOA"를 검색합니다.
네이티브 XML 웹 서비스를 사용할 때의 이점
자체의 고유한 XML 웹 서비스로 기능할 수 있는 SQL Server 인스턴스는 다음과 같은 이점을 제공합니다.
- 모든 웹 서비스 응용 프로그램에서 SQL Server 인스턴스에 액세스
이것이 주요 이점입니다. 네이티브 XML 웹 서비스는 XML이나 HTTP와 같이 잘 알려진 기술을 기반으로 하기 때문에 XML 구문을 분석하고 HTTP 요청을 전송할 수 있는 모든 장치에서 SQL Server에 액세스할 수 있습니다. 따라서 응용 프로그램이 Windows 이외의 운영 체제에서 실행되는 다른 유형의 환경에서 SQL Server에 연결해야 하는 경우 SQL Server에 더 쉽게 액세스할 수 있습니다. 일반적으로 이러한 경우에는 JDBC(Java Database Connectivity) 또는 ODBC(Open Database Connectivity) 드라이버만 사용할 수 있었습니다. SQL Server의 네이티브 XML 웹 서비스는 비용이 적게 드는 또 다른 방법을 제공합니다. 예를 들어 데이터베이스 관리자가 Windows가 아닌 운영 체제에서 실행되는 Perl에서 스크립트를 작성하여 SQL Server 리소스를 관리하는 경우 이 기능이 매우 유용할 수 있습니다. - Microsoft 및 타사 웹 개발 도구 집합과의 통합 향상
네이티브 XML 웹 서비스를 사용할 경우 SQL 쿼리 결과는 XML 형식으로 반환됩니다. 미리 정의된 스키마를 사용하면 Microsoft Visual Studio 2005, JBuilder 등 기본적으로 SOAP/HTTP가 지원되는 지능적인 IDE(통합 개발 환경)에서 네이티브 XML 웹 서비스를 이용하여 SQL Server 인스턴스와의 통신을 추출하는 프록시 코드를 생성할 수 있습니다. 그러면 대부분의 경우 클라이언트 응용 프로그램이 웹 기반 데이터에 액세스하는 데 사용할 수 있는 개체가 생성되고 제공됩니다. - 가끔씩 연결하는 모바일 클라이언트에 대한 지원 향상
네이티브 XML 웹 서비스를 사용하면 항상 SQL Server 인스턴스에 액세스할 수 있습니다. 따라서 모바일 장치나 가끔씩 연결하는 장치를 위한 응용 프로그램을 더욱 쉽게 개발할 수 있습니다. 연결을 설정하고 서버에서 요청 처리를 시작한 후에는 TDS 및 SQL Server Net-Library를 사용한 일반적인 네트워크 기반 클라이언트에서 사용할 수 있는 기존 메커니즘을 통해 서버를 모니터링할 수 있습니다. - 서버에서 기본으로 제공하는 보안 대책으로 추가 방화벽 구현의 필요성 감소
SQL Server 2005의 네이티브 XML 웹 서비스는 웹 액세스에 대해 기본 제공 수준의 보안을 제공합니다. 일반 웹 서버와 달리 SQL Server에서 사용하도록 생성된 HTTP 끝점은 익명 사용자 액세스를 허용하지 않습니다. 끝점을 만들려면 우선 서버에서 시스템 수준 관리 권한이 필요하며 끝점은 끝점을 구성할 때 공용으로 설정된 저장 프로시저만 표시합니다.
참고 항목
개념
관련 자료
SQLXML 4.0 Programming
CREATE ENDPOINT(Transact-SQL)