240 likes | 426 Views
웹 서비스를 말하는 언어 XML. 인공지능연구실 한기덕 2006.01.24. 목차. 1. 왜 XML 을 사용하는가 ? 2. 웹 서비스 관련 XML 기술은 무엇인가 ? - 네임스페이스 - XML 스키마 3. 요약. 1. 왜 XML 을 사용하는가 ?. XML 과 HTTP 웹 서비스가 사용하는 대표적인 두 가지 표준 기술 HTTP 웹 서비스에서 전송 네트워크로서 메시지를 전송하고 받는 역할을 수행 XML
E N D
웹 서비스를 말하는 언어 XML 인공지능연구실 한기덕 2006.01.24
목차 1. 왜 XML을 사용하는가? 2. 웹 서비스 관련 XML 기술은 무엇인가? - 네임스페이스 - XML 스키마 3. 요약
1. 왜 XML을 사용하는가? • XML과 HTTP • 웹 서비스가 사용하는 대표적인 두 가지 표준 기술 • HTTP • 웹 서비스에서 전송 네트워크로서 메시지를 전송하고 받는 역할을 수행 • XML • 웹 서비스에서 서비스를 등록, 검색, 기술, 호출하는 방법을 정의하는 중요한 요소 • 웹 서비스의 핵심 프로토콜인 SOAP, WSDL, UDDI가 모두 XML로 기술됨
1. 왜 XML을 사용하는가? • 썬의 XML 설계자이며 W3C 의장이었던 존 보삭(Jon Bosak)은 XML을 다음과 같이 설명
1. 왜 XML을 사용하는가? • A와 B라는 프로그램이 사용자 아이디, 비밀번호, 이름을 교환하기로 합의하고 그에 따른 메시지를 정의해 놓았다면 다음과 같은 XML 메시지 형식이 가능 • 이런 메시지는 이해하기 쉽고, 전달하려는 데이터의 의미가 메시지 안에 있기 때문에 XML 파서를 통해 쉽게 사용자 아이디나 비밀번호, 이름을 추출 가능 (자기 기술, self-describing)
1. 왜 XML을 사용하는가? • XML 데이터 교환의 장점 • 데이터의 의미 표현이 가능 • 교환되는 데이터 변경이 용이 • 기존의 파싱 프로그램의 이용이 가능
2. 웹 서비스 관련 XML 기술은 무엇인가? • 네임스페이스 • 정의 • XML 네임스페이스는 URI 참조(Reference)로 구분될 수 있으며 XML 문서에서 요소 유형(Element type)과 속성 이름(Attribute name)으로 사용되는 이름(Name)의 집합 • 네임스페이스를 쓰는 이유? • XML 문서 안에 선언된 요소나 속성 이름을 구별할 수 있는 수단을 제공하는 것
네임스페이스 • 네임스페이스 사용하기 • 기본 네임스페이스의 사용 예 • 접두사와 연관지어 네임스페이스를 사용하는 예
네임스페이스 • Soap 메시지에서의 네임스페이스 (XML로 표현되는 전송 규약)
2. 웹 서비스 관련 XML 기술은 무엇인가? • XML 스키마 • 정의 • 데이터의 비즈니스 조건을 표현하기 위한 XML 어휘집(사전) • 관련 정보 • XML 스키마는 XML 1.0과 XML 네임스페이스를 필수적으로 요구 • XML 스키마는 DTD의 단점을 보완하기 위해 만들어짐 • XML 스키마를 쓰는 이유 • 유효한 XML 문서를 만들기 위해 사용
XML 스키마 • 유효한 XML 문서의 검증 • 위 데이터에 대한 제약조건 • “위치” 데이터는 “위도”와 “경도”로 이루어진다. • “위도”와 “경도” 데이터의 범위는 -90에서 90 사이이다. • “위도”와 “경도” 데이터의 소수점 아래 자리는 총 6자리이다.
XML 스키마 • DTD와 XML 스키마의 차이점 • DTD는 XML 문서와 서로 다른 표기법을 사용 • XML 문서의 구조나 타입을 기술하기 위해 다른 표기법을 사용하는 것은 XML 문서나 프로그램 개발에 이중 노력이 필요 • DTD는 10가지의 데이터를 지원하지만, XML 스키마는 44가지 이상의 데이터를 지원 • DTD에서는 어느 한 요소가 0부터 9999까지의 정수만 포함하도록 표현하는 것은 불가능하다. • DTD와 달리, XML 스키마는 XML과 마찬가지로 확장이 가능 • 개발자 자신만의 데이터 타입을 정의할 수 있으며, 한 XML 문서에서 여러 개의 XML 스키마를 참조 가능
XML 스키마 • XML 스키마 사용법 • XML 스키마의 데이터 타입 • Bulit-In Type : 미리 정의된 데이터타입 • Derived Type : 응용을 통해 만든 데이터타입
XML 스키마의 데이터 타입 • Simple Type (Derived Type) • “age”라는 element에 대한 데이터 타입을 정의 • “age” element는 정수(integer)를 가지고, 최소값은 0, 최대값은 100까지 가진다.
Simple Type (Derived Type) • Simple Type이 선언할 수 있는 제한 조건
Simple Type (Derived Type) • 제한 조건 중 enumeration의 사용
XML 스키마의 데이터 타입 • Complex Type (Derived Type) • 지시자 • Order 지시자 : 요소가 나타내는 순서에 대한 지시자 • Occurrence 지시자 : 요소가 나타내는 빈도 수에 대한 지시자 • Croup 지시자 : 요소들의 집합을 나타내고 참조하기 위한 지시자
Complex Type (Derived Type) • XML 스키마 (지시자 All) • 어떤 요소가 All 지시자를 가지면 그 요소는 자식 요소로 선언된 모든 요소를 반드시 포함해야 한다. 이때 나타나는 순서는 상관하지 않는다.
Complex Type (Derived Type) • XML 스키마 (지시자 Sequence) • Sequence 지시자는 자식 요소의 순서가 XML 스키마에서 선언된 순서대로 나타남
Complex Type (Derived Type) • 앞장의 XML 스키마에 따르는 XML 문서
Complex Type (Derived Type) • XML 스키마 (element 확장)
Complex Type (Derived Type) • 앞장의 XML 스키마에 따르는 XML 문서
Complex Type (Derived Type) • Simple Content and Attributes
3. 요약 • XML은 데이터를 표현하고 구조화하는 업계 표준으로, 이를 통해 필요한 정보를 표준화된 방식으로 구조화할 수 있으며, 이러한 XML 표준을 지원하는 다양한 파서를 사용하여, 작성된 XML 문서를 쉽게 읽어 들일 수 있다. • 개발자는 데이터를 기술하거나 파싱 프로그램을 개발하지 않아도 되기 때문에 그만큼 프로젝트에서 해결해야 할 비즈니스 로직에만 집중할 수 있다. • 네임스페이스는 XML 문서 안에서 사용된 요소(Element)나 속성(Attribute)을 URI와 연계함으로써 이를 검증하기 위한 방법(XML 어휘집)을 제공한다. • XML 스키마는 XML 문서의 유효성을 검사할 수 있는 방법을 제시하고, 문자 중심의 XML 문서 안에서 다양한 데이터 타입을 표현할 수 있는 방법을 제공한다.