XRX
태그 :
- 개념
- XRX(XForms, REST anx XQuery) Applicatio의 개념 - XForms, REST, XQuery를 기반으로 한 웹 어플리케이션 구조 - XRX Application 은 웹 클라이언트 및 웹서버에 XML 형식의 데이터를 저장하고 클라이언트와 서버 사이의 데이터 옮김을 최소화하는 간단하고 명쾌한 어플리케이션 구조를 가짐(Zero Translation)
I. 웹 개발자를 위한 High ROI, XRX 의 개요
가. XRX(XForms, REST anx XQuery) Applicatio의 개념
- XForms, REST, XQuery를 기반으로 한 웹 어플리케이션 구조
- XRX Application 은 웹 클라이언트 및 웹서버에 XML 형식의 데이터를 저장하고 클라이언트와 서버 사이의 데이터 옮김을 최소화하는 간단하고 명쾌한 어플리케이션 구조를 가짐(Zero Translation)
나. XRX의 구성요소
구성요소 |
개념 설명 |
XForms |
Form의 목적과 표현을 분리하는 목적으로 W3C에서 제정한 XML 데이터 프로세싱용 웹 폼 스펙 |
REST(Representation State Transfer) |
WWW처럼 자원을 정의하고 접근하는 메터니즘을 기반으로 한 네트워크가 가능한 시스템을 만드는 아키텍쳐 원칙과 소프트웨어 아키텍처 스타일의 집합 |
XQuery |
XML 형식으로 저장된 데이터를 쿼리하려는 특별한 목적을 위해 XML Query Working Group에 의해 처음부터 새로 설계된 형식있는 선언적 기능 언어 |
II. XRX의 Web Application 구조 및 기술요소
가. Web Application 구조
- XForms는 Client에서, REST는 인터페이스로, XQuery는 서버에서 기능 역할 수행
나. XRX 의 기술요소
구분 |
구성요소 |
관련기술 |
XForms |
- Namespace, CSS Import, Model, Constraints, UI(View), Submit Controls로 구성 |
xmlns, schema(xsd) XSLT, Metadata |
REST (REpresentation State Transfer) |
- Names : 요청하고자 하는 리소스의 이름 - Verbs : Create, Read, Update, Delete 등 동작 - Representations : 리소스 표현 방식 |
URL, URI, XRI, DOI, UCI, POST, GET, PUT, DELETE, HTML, XML, Binary |
XQuery |
- Syntax: "FLWOR" 포함된 XPath 표현식 사용 - DataModel: XML 기반, Tree 구조의 모델 사용 |
CSS, DTD, XSLT |
III. XRX의 특징 및 상세내용
가. 데이터와 표현의 분리, XForms 의 특징 및 상세내용
- 웹에서 input form을 생성하기 위해 XML을 사용하는 차세대 HTML Forms
- XHTML2.0 의 Form 기준
- XForms 는 장치(Device)와 독립적인 플랫폼임
- 화면단으로부터 로직과 데이터 영역을 분리
- 폼 데이터를 정의하기 위해 XML을 사용함
나. 자원 접근의 유연성,확장성 제공, REST의 특징 및 상세내용
- 부수적인 시멘틱 레이어나 세션 관리를 추가하니 않고서도 HTTP 같은 프로토콜로 데이터를 전달하는 프레임워크를 설명하는데 사용
- URI 를 사용하여 주어진 자원 표현의 위치를 알아내고 접근
- HTTP 처럼 웹과 관련된 기술, 표준, 프로토콜을 활용할 수 있음
- 무상태 변화(Stateless Conversation)내에서 동작하기 때문에 RSS/RDF/OWL/ATOM같은 등록기반의 기술이 쉽게 보급될 수 있게 영향
- 펴현 상태(Representational State) 라 알려진 자원표현은 만들어 질 수도 찾아올 수도 수정될 수도 삭제 될 수도 있음
REST 구성요소 |
구성요소 설명 |
데이터요소 |
데이터, 식별자(URI/URL), HTML문서, XML 문서, 이미지와 같은 표현 |
컴포넌트 |
아파치, httpd와 IIS같은 고유 서버, 스퀴드와 CGI같은 게이트웨이, 건트렛과 네스케이프 프록시 같은 프록시 웹브라우져나 모바일 기기 같은 사용자 Agent |
커넥터 |
libWWW 같은 클라이언트 커넥터, NSAPI같은 서버 커넥터, 브라우져 캐시 같은 캐쉬등 |
다. XML데이터 접근 표준 XQuery
1) [특징]
- XML구조를 이용하여 전체가 구조화 되거나 부분적으로 구조죈 XML문서에 대한 복잡한 질의를 수행
- XML data 를 질의하는 언어(단순히 XML data만 질의한다는 의미가 아닌 정형화된 데이터를 질의 할 수 있다는 의미)
- XPath표현식(표준: XPath2.0)으로 구성
- IBM, Oracle, Microsoft등등의 모든 Major DataBase Engines를 지원하며 W3C의 표준임
2) [질의 구조 및 문법]
- XQuery를 파서가 파싱을 한 후 이를 데이터베이스의 XML파일에 적용하여 필요한 데이터를 조회
- XPath를 기준으로 파일을 접근
3) [데이터 베이스 매핑관계]
- 객체지향 데이터베이스(ODB)에는 OQL(Object Query Language)로 변환 후 질의
- XML 데이터베이스에는 XQuery를 그대로 질의
- 관계형 데이터베이스(RDB)에는 SQL로 변환 후 질의(아래 사례 참조)