[Develope]

MS XML Overview

하늘을닮은호수M 2006. 8. 9. 20:10
반응형

XML이란?

XML(Extensible Markup Language)은 웹에서 데이터를 사용하기 위한 범용 언어입니다. XML을 통하여 개발자는 매우 다양한 응용 프로그램으로부터 구조화된 데이터를 로컬 컴퓨팅 및 프레젠테이션을 위해 데스크톱으로 전달할 수 있습니다. XML을 사용하여 특정 응용 프로그램에 대한 독특한 데이터 형식을 만들 수 있습니다. 또한 XML은 서버 간에 구조화된 데이터의 전송을 위한 이상적인 형식입니다.

MSXML이란?

MSXML은 핵심 XML 서비스를 제공하는 Microsoft 소프트웨어 구성 요소입니다.

Microsoft XML Parser의 기능은?

Microsoft의 핵심 XML 서비스의 최근 버전은 다음 네 가지의 뚜렷한 기능을 제공합니다.

  • DOM(Document Object Model) 기반 파서 - 텍스트 스트림(파일, 프로그램의 문자열 또는 XML로 변환할 수 있는 기타 모든 텍스트)을 취하여 이를 체계적으로 조작할 수 있는 탐색 가능 XML 트리 구조로 변환합니다.

  • SAX(XML에 대한 단순 API) 파서 - 대형 문서의 처리 및 높은 처리량 시나리오에 대해 최적화되어 있습니다. SAX는 문서를 읽고 파싱 이벤트(요소의 시작과 끝과 같은)를 응용 프로그램에 직접 보고하는 이벤트 기반 파서입니다. 작성한 응용 프로그램은 처리기를 구현하여 그래픽 사용자 인터페이스(GUI)와 매우 유사하게 서로 다른 이벤트를 처리합니다.

  • XSLT 프로세서 - XSLT(Extensible Stylesheet Language for Transformations) 파일을 읽고 XSLT 파일의 지침을 XML 파일에 적용하여 특정 종류의 출력을 발생시킵니다. XML 구조를 만드는 것 이외에 XSLT 프로세서는 결과적인 XSLT 필터에 특정 양의 최적화를 수행할 수 있으며 더욱 기술적으로는 컴파일러로 간주됩니다.

  • 검증 파서(Validation parser) - DTD(document type definition) 또는 XML Schema를 읽고 결과적인 문서가 실제적으로 올바른 형식인지 그리고 여기에 스키마와 모순되는 데이터가 없는지 확인합니다. 스키마만의 경우 검증 스키마는 스키마 자체를 HTML 목록 상자의 옵션을 만드는 것과 같은 목적을 위해 참조할 수 있는 개체로 반환한다는 것을 참조하십시오.

MSXML, MSXML2 및 MSXML3간의 차이점은?

지난 3년 동안 XML은 여러 번 번안되었고 여러 가지 버전의 Microsoft XML 파서가 존재한다는 것은 아마 놀라운 것이 아닐 것입니다. Internet Explorer 4.0에는 XML 파서의 초기 버전이 포함되어있으며 XSL, XML 데이터 또는 대부분의 기타 XML 기술(완전히 다른 DOM 모델을 가지고 있음)은 그 이후에 개발되었습니다. 파서의 이 초기 버전은 MSXML.dll 라이브러리에 포함되어있습니다. 사용하고 있는 파서를 MSDN XML 개발자 센터에서 더 최근의 파서로 업그레이드할 수 있습니다.

새로운 파서가 훨씬 우수하기 때문에 업그레이드를 단호히 권장합니다. Internet Explorer 5.0에는 XSL 및 XML Schema의 예비 버전이 포함되어 있는 MSXML 2.0 파서가 있습니다. MSXML2는 SQL Server 2000과 함께 판매되는 파서 버전입니다. MSXML2는 성능을 강화시킨 기능을 많이 가지고 있으며 일반적으로 향상된 성능과 확장성을 갖습니다. MSXML3은 현재 Technology Preview로 제공하고 있는 버전입니다. MSXML3은 XSLT 및 XPath 지원뿐만 아니라 SAX 인터페이스를 제공합니다.

XML이 HTML을 대신할 수 있습니까?

XML은 HTML보다 우수한 유연성을 제공하지만 당분간은 이를 대체하지는 않을 것 같습니다. 사실 XML과 HTML은 상호 운용성이 뛰어납니다. Microsoft가 바라는 것은 많은 제작자 및 개발자들이, 예를 들어 HTML을 만들기 위해 XSLT를 사용하는 식으로 XML과 HTML을 협력적으로 사용하는 것입니다.

HTML에 XML을 추가하면 어떤 장점이 있습니까?

웹에서 XML을 사용하여 얻을 수 있는 몇 가지 장점을 아래에 설명하였습니다.

  • 로컬 컴퓨팅을 위해 데이터를 전달합니다.
    로컬 컴퓨팅을 위해 데스크톱으로 전달된 데이터를 사용할 수 있습니다. XML 파서가 데이터를 읽을 수 있으며 그런 다음 이 데이터는 추가적인 보기나 처리를 위해 브라우저와 같은 로컬 응용 프로그램으로 전달됩니다. 이 데이터는 또한 XML Object Model을 사용하는 기타 프로그래밍 언어 또는 스크립트를 사용하여 조작할 수 있습니다.

  • 사용자에 적합한 형태로 구조화된 데이터를 볼 수 있습니다.
    데스크톱으로 전달된 데이터는 다양한 방식으로 표현될 수 있습니다. 로컬 데이터 컬렉션은 사용자 기본 설정 및 구성과 같은 인자에 기초하여 사용자에게 가장 적합한 뷰에서 동적으로 표현할 수 있습니다.

  • 다양한 소스로부터 구조화된 데이트를 통합할 수 있습니다.
    통상적으로 에이전트를 사용하여 중간 계층 서버의 응용 프로그램 및 백 엔드 데이터베이스의 데이터를 통하여 데스크톱 또는 기타 서버에 전달한 다음 추가적인 집계, 처리 및 분배 작업을 할 수 있습니다.

  • 매우 다양한 응용 프로그램의 데이터를 설명합니다.
    XML은 확장성이 있기 때문에 웹 페이지 컬렉션의 설명에서부터 데이터 레코드에 이르는 매우 다양한 응용 프로그램에 포함되어있는 데이터를 설명하기 위해 사용할 수 있습니다. 데이터는 자체 설명을 가지고 있기 때문에 내장된 데이터 설명 없이 데이터를 받고 처리할 수 있습니다.

  • 미립형 업데이트를 통해 성능을 향상시킵니다.
    XML에서는 미립형 업데이트가 가능합니다. 개발자는 변경이 생길 때마다 구조화된 데이터를 전부 보낼 필요가 없습니다. 미립형 업데이트를 사용하면 변경된 요소만 서버에서 클라이언트로 보내면 됩니다. 변경된 데이터는 전체 페이지 또는 테이블을 새로 고칠 필요 없이 표현될 수 있습니다.

XML은 전문 개발자만을 위한 것입니까?

그렇지 않습니다. HTML 문서와 마찬가지로 XML 문서도 누구나(심지어 프로그래밍 경험이 전혀 없는 사람도) 만들 수 있습니다. XML은 정보를 설명하는 표준 방식에 지나지 않습니다. 더욱이 XML은 어떤 특수화된 소프트웨어를 사용하지 않고 작성할 수 있는 언어입니다. 일반적 의미의 코드를 작성할 필요 없이 텍스트 편집기에서 XML 문서를 작성한 다음 웹 사이트에 바로 올리기만 하면 됩니다.

XML을 시작하는데 필요한 것은 무엇입니까?

XML을 사용하기 위해서는 XML 문서를 읽고 그 내용을 처리할 수 있는 XML 파서가 필요합니다. Microsoft는 MSDN XML 개발자 센터에서 다운로드할 수 있는 파서를 제공합니다.

XML 문서를 만들려면 메모장 같은 텍스트 편집기 또는 HTML 페이지를 만들기 위해 사용하는 기타 모든 편집기를 사용할 수 있습니다. 완전한 XML 응용 프로그램을 만들려면 Microsoft® Visual Studio®과 같은 프로그래밍 환경을 사용하십시오.

XML은 어디에 사용합니까?

XML은 웹 사이트 작성 및 문서 작성에서부터 데이터베이스 통합 및 분산 프로그래밍에 이르기까지 놀라울 정도로 폭 넓은 응용 프로그램에서 사용되고 있습니다. XML의 몇 가지 사용 영역은 다음과 같습니다.

  • B2B 전송.
    비즈니스 데이터(송장, 구매 요청서, 회계 및 세금 정보 및 그 이상)가 XML 형식으로 업체 간에 전자적으로 전송되고 있습니다. XML은 하나의 송장 형식을 또 다른 형식으로 변형 작성할 수 있는 편이성이 전혀 없는 이전의 EDI(electronic data interchange) 형식보다 많은 장점을 제공합니다.

  • 분산 프로그래밍.
    XML은 복합적인 다중 플랫폼 응용 프로그램 작성에 이상적이기 때문에 Windows 서버를 다른 운영 체제와 통합할 수 있습니다.

  • 웹 사이트 아키텍처.
    XML의 계층 및 분산 성질로 인해 웹 사이트 개발자들은 웹 사이트의 전체 아키텍처 및 탐색 구조에서 XML의 사용을 점진적으로 증가시키고 있습니다. 내용 및 색인 테이블, 사용자 정보 및 웹 사이트의 상태를 추적하기 위한 XML 구조, HTML 기반 구성 요소 그리고 데이터 흐름을 처리하기 위한 전달 매체 모두가 점진적으로 XML 및 XSLT로 작성되고 있습니다.

  • 데이터베이스 작업.
    XML은 데이터베이스와의 상호 작용에 대한 선택 수단으로 호응을 얻고 있습니다(XML 레코드를 사용한 데이터베이스의 업데이트 또는 SQL 쿼리로부터 XML 데이터 집합을 검색). 이것은 또 한번 구현을 분리하는 장점을 가져다 줍니다. 데이터를 XML로 표현함으로써 실제 데이터베이스 구조에 대한 지식이 필요 없습니다.

  • 문서 관리.
    대부분의 회사는 서류 업무의 바다에서 허덕이고 있으며 이는 시간이 흐를 수록 악화되기만 할 것 입니다. 문서를 더욱 쉽게 검색할 수 있도록 문서를 XML로 인코딩하거나 더 효과적으로 참조할 수 있는 문서에 연결된 어떤 형식의 주석 컨텍스트를 제공하기 위해 XML을 점진적으로 사용하고 있습니다.

XML을 몰라도 되나요?

인터넷 기반 분야에서 경쟁하길 원한다면 그렇지 않습니다. XML은 우리가 프로그래밍 자체에 대해 가지고 있는 사고 방식의 패러다임을 바꾸는 언어입니다. 전통적인 전용 클라이언트/서버 응용 프로그램은 "언제 어디서나 액세스하는" 인터넷 서비스에 그 자리를 내주고 있으며 XML은 데이터 액세스에서 폼 처리 그리고 이러한 새로운 환경에서의 표출을 다루기 위한 논리적 매체입니다.

Microsoft Internet Explorer 4.0은 XML을 지원합니까?

그렇습니다. Internet Explorer 4.0은 XML을 지원하기 위해 다음과 같은 기능을 제공합니다.

  • 일반화된 XML 파서는 XML 파일을 읽은 다음 부가적인 처리를 위해 이것을 뷰어 같은 응용 프로그램으로 넘겨줍니다. 응용 프로그램 개발자는 Microsoft에서 두 가지 파서를 사용할 수 있습니다. 즉, C++의 Microsoft XML 파서 그리고Java의 Microsoft XML 파서입니다.

  • XML OM(XML Object Model)은 W3C(World Wide Web Consortium) 표준 DOM(Document Object Model)을 사용하여 XML 파서를 통해 구조화된 데이터에 체계적으로 액세스할 수 있기 때문에 개발자는 이를 통하여 데이터의 상호작용과 컴퓨팅 능력을 얻습니다. 자세한 내용은 DOM 규정 Non-MS link 을 참조하십시오.

  • XML DSO(XML Data Source Object)를 통하여 개발자는 구조화된 XML 데이터에 연결하고 DHTML의 데이터 바인딩 기능을 사용하여 이를 HTML 페이지에 공급할 수 있습니다.

Internet Explorer 5.0의 XML 지원 수준은?

Internet Explorer 5는 다음과 같은 XML 지원을 제공합니다.

  • XML의 직접 보기. Microsoft의 XML 구현은 HTML 문서를 보는 것과 마찬가지로 사용자가 웹 브라우저로 CSS(Cascading Style Sheet) 또는 XSL을 사용하여 XML을 볼 수 있도록 합니다.

  • 고 성능, 검증 XML 엔진. Internet Explorer 4.0 개발자에 친숙한 XML 엔진이 상당히 강화되었으며 W3C XML 1.0 및 XML 이름 공간을 완전히 지원함으로써 개발자는 웹에서 요소 이름을 독특하게 부를 수 있고 따라서 동일 이름을 갖는 요소 간의 충돌을 피할 수 있습니다. Windows가 XML 지원을 본래 갖추고 있다는 것은 개발자가 응용 프로그램 및 구성 요소 사이에서 이동시키는 데이터를 조작하고 읽기 위한 XML의 완전한 처리 능력에 의존할 수 있음을 의미합니다.

  • XSLT(Extensible Style Language for Transformation) 지원. 최근 W3C Working Draft에 기반한 Microsoft XSLT 프로세서를 이용하여 개발자는 스타일시트를 XML 데이터에 적용하고 쉽게 사용자 정의할 수 있는 이 데이터를 동적이고 유연한 방식으로 표시할 수 있습니다. 또한 Microsoft XSLT 프로세서의 쿼리 기능을 사용하여 개발자는 클라이언트 또는 서버에 설정되어 있는 XML 데이터 내의 정보를 체계적으로 찾고 추출할 수 있습니다.

  • XML Schemas. 스키마 Non-MS link 는 요소 이름 및 풍부한 데이터 유형, 조합으로 나타낼 수 있는 요소 및 각 요소가 사용할 수 있는 특성 등을 포함하여 XML 문서의 규칙을 정의합니다. 다중 계층 응용 프로그램을 가능하게 하기 위해 Microsoft는 W3C XML 참여 그룹에 제출한 XDR(XML-Data Schema Reduced )에 기반하여 XML Schema에 대한 기술 개요를 공개할 예정입니다.

  • 서버 쪽 XML. 서버 쪽 XML 처리를 통하여 다중 분산 응용 프로그램 서버 간에 심지어는 운영 체제 경계를 넘어 데이터를 전달하는 표준 수단으로 XML을 사용할 수 있습니다.

  • DOM(XML Document Object Model). XML DOM은 표준 개체 응용 프로그램 프로그래밍 인터페이스로서 개발자에게 XML 문서 내용, 구조, 형식 및 그 이상에 대한 체계적 제어를 부여합니다. Microsoft의 XML 구현에는 W3C의 XML DOM 권장안에 대한 완전한 지원이 포함되어있으며 스크립트, Visual Basic 개발 시스템, C++ 및 기타 프로그래밍 언어를 사용하여 액세스할 수 있습니다.

  • C++ XML DSO(Data Source Object). XML DSO를 사용하여 HTML 요소를 직접 XML 데이터 아일랜드에 바인딩할 수 있습니다. 또한 이것은 성능을 향상시켰으며 다양한 XML 노드로의 바인딩 기능이 크게 향상되었고 Internet Explorer 5 베타 내의 새로운 모든 데이터 바인딩 기능을 사용합니다.

HTML, DHTML 및 XML은 서로 어떤 관계가 있습니까?

HTML은 CSS와 연계하여 하이퍼링크 형식의 페이지를 만들고 표현하기 위해 사용합니다. DOM을 통하여 DHTML을 사용하면 언어 독립 스크립팅 및 기타 프로그래밍 언어를 통해 HTML의 모든 요소에 액세스할 수 있으며 따라서 서버에 추가적인 요청 없이 클라이언트 쪽의 상호작용을 극적으로 증가시킵니다. 페이지의 개체 모델을 통하여 내용의 어떤 측면(추가, 삭제 및 이동을 포함하여)도 동적으로 변경할 수 있습니다.

구조화된 데이터를 얻기 위해 XML을 추가함으로써 개발자는 풍부하고, 유연한 차세대 웹 응용 프로그램의 작성에 필요한 기술을 얻을 수 있습니다. XML을 사용하여 개발자는 구조화된 데이터를 데스크톱에 전달하고 XML OM을 통해 데이터의 컴퓨팅을 수행할 수 있습니다. 오늘 날 개발자들은 Microsoft Internet Explorer 4.0 및 Microsoft Internet Explorer 5와 같은 브라우저에서 또는 스크립팅을 통한 기타 응용 프로그램에서 XML 기반 데이터를 표현할 수 있습니다. 또한 개발자는 XML 기반 데이터를 본질적으로 표시로 변환하는 XSLT 스타일시트를 사용하는 복잡한 스크립팅 없이 서식 규칙을 데이터에 적용할 수 있습니다. XML 기반 데이터를 표시하는 이 두 가지 방법을 사용하여 복잡한 데이터의 다중 보기를 생성할 수 있습니다.

XML이 중요한 이유는?

XML은 컴퓨팅의 미래가 되기 위한 태세를 갖추고 있습니다. 하나의 기술로서 XML의 효과는 포함 시스템에서 그래픽 인터페이스, 분산 시스템 및 데이터베이스 관리에 이르는 프로그래밍의 구석 구석에 스며들 것입니다. XML은 소프트웨어 업계 간에 데이터 통신에 대한 사실상의 표준이 되었으며 세계적으로 거의 모든 산업에서 비즈니스 교환을 위한 기본 매체로 EDI 시스템을 빠르게 대체하고 있습니다. 인터넷 온라인 및 오프라인 모두의 경우에 대부분의 문서를 만들고 저장하는 언어로 유망하며 인터넷 응용 프로그램 서버에 대한 충분한 기초가 됨으로써 일부 사람들은 이것이 현재 생산되고있는 많은 수축 포장한 제품을 대체할 것으로 믿습니다.

Microsoft가 제공하는 XML 제품은?

Microsoft는 수많은 분야에서 XML 리소스를 개발하기 위해 부단히 노력하고 있습니다.

  • 데이터 액세스. 가장 최근에 구현한 ADO(ActiveX® Data Object)는 XML 생성 및 거의 일 년 동안의 소비를 지원하며 Microsoft SQL Server 2000은 SQL 기반 정보를 XML로 변환하고 또는 그 반대로 변환하기 위한 많은 인터페이스를 제공합니다.

  • 브라우저 지원. Microsoft는 원시 구조 형태로 또는 XSL/CSS 스타일시트를 통해 XML 파일을 읽을 수 있는 상업용 브라우저(Internet Explorer 5)를 만든 첫 회사였습니다.

  • BizTalk Server 2000. Microsoft® BizTalk™ Server 2000은 XML을 포함하여 매우 다양한 형식을 넘나들며 통신할 수 있는 수단을 제공하여 B2B 응용 프로그램을 활성화시키는데 도움을 줍니다. 또한 BizTalk Server에는 많은 스키마 생성 및 매핑 도구가 포함되어있어서 이를 사용하여 비즈니스 또는 상업적 요구에 따라 XML 구조의 개발을 폭 넓게 단순화시킬 수 있습니다.

웹을 통한 전송을 위해 XML을 압축할 필요가 있나요?

일반적으로 XML 데이터의 압축에 대한 필요성은 응용 프로그램에 따라 다르며 크게 서버 및 클라이언트 간에 이동하는 데이터의 양에 의존합니다. 데이터의 구조를 설명하기 위해 사용하는 태그의 반복적 성질로 인해 XML은 압축이 아주 잘 됩니다. HTTP 1.1 서버 및 클라이언트의 경우 압축이 표준이며 XML은 자동으로 그 혜택을 얻는다는 것을 알아두면 좋습니다.

데이터 형식으로서 XML은 얼마나 안전합니까? XML에 보안을 추가할 예정은 있습니까?

XML은 HTML만큼 안전합니다. HTTP에 암호화를 추가하기 위해 보안 HTTP(HTTPS)를 사용하여 HTML을 보호할 수 있는 것처럼, 이는 또한 XML을 보호하기 위해 사용할 수 있습니다. XML은 구조화된 데이터를 표현하기 위한 텍스트 기반 형식입니다. XML은 단순성 및 데이터와의 상호 작동성을 최대화합니다. XML 형식에 보안 및 인증을 추가하기 위해 많은 단계를 취할 수 있습니다. 우선 XML은 클라이언트에 전송하기 전에 서버에서 암호화할 수 있으며 그런 다음 클라이언트에서 암호를 해독할 수 있습니다. 데이터에 적용되는 디지털 서명 자체도 XML을 인증할 수 있습니다.

자료출처 : http://www.microsoft.com/

반응형

'[Develope]' 카테고리의 다른 글

msxml wrapper class by CodeGuru  (0) 2006.08.10
[Doc]C++ MSXML Programming  (0) 2006.08.10
msxml  (0) 2006.08.09
XML parser  (0) 2006.08.08
응용 서비스 개발 방법과 국내외 개발현황③  (0) 2006.08.08