효율적인 XML 교환

Efficient XML Interchange

Efficient XML Interchange(Efficient XML Interchange, EXI)는 컴퓨터 네트워크에서 데이터 교환을 위한 이진 XML 형식이다.W3C의 Efficient Extensible Interchange Working Group에 의해 개발되었으며, XML 문서를 일반 텍스트가 아닌 이진 데이터 형식으로 인코딩하기 위한 가장 두드러진 노력 중 하나이다.EXI 형식을 사용하면 구문 분석 비용뿐만 아니라 XML 문서의 상세도를 줄일 수 있다.작성(생성) 컨텐츠의 성능 향상은 작성되는 매체의 속도, 실제 구현 방법 및 품질에 따라 달라진다.EXI는 에 유용하다.

  • 수십 바이트에서 테라바이트에 이르는 XML 문서 크기의 전체 범위
  • 압축된 문서의 구문 분석 속도를 높이기 위해 컴퓨팅 오버헤드 감소
  • 효율적인 감압 기능을 활용하여 소형 장치의 내구성 향상

역사

W3C(World Wide Web Consortium)는 2006년 3월 워킹그룹을 구성하여 포맷으로 표준화하였다.EXI는 Fast Infoset을 포함한 다양한 제안에 대한 평가를 거쳐 W3C의 바이너리 XML 포맷으로 선택되었다.[1]EXI는 2011년 3월 10일 W3C에 의해 W3C 권고안으로 채택되었다.2014년 2월에 두 번째 판이 출판되었다.[2]

2016년 11월에는 XML을 넘어 다른 데이터 설명 언어에 이르기까지 EXI 적용 범위가 넓어진 것을 반영하기 위해 작업 그룹의 이름을 "Efficient Extensible Interchange(EXI)"에서 "Efficient Extensible Interchange(EXI)"로 바꾸었다.[3]

대안

EXI 형식은 애자일델타 이펙티브 XML 형식에서 파생된 형식이다.[4]

Fast Infoset에 비해 EXI의 장점은 (선택적으로) XML 스키마로부터 더 많은 제약조건을 사용한다는 것이다.이를 통해 EXI 데이터가 더욱 압축될 수 있다. 예를 들어 XML 스키마가 'bar'라는 이름의 요소가 'foo'라는 이름의 요소 안에만 존재할 수 있다고 지정하는 경우, EXI는 문서의 다른 곳에서 발생하는 요소와 동일한 토큰 공간을 공유할 필요가 없다는 것을 알고 'bar' 요소에 더 짧은 토큰을 할당할 수 있다.

이러한 "스키마 정보" 압축을 활용하기 위한 주요 단점은 문서에는 스키마가 필요할 뿐만 아니라 디코더에는 인코더가 사용했던 것과 동일한 스키마의 복사본이 필요하다.

사용하다

다양한 EXI 지원 애플리케이션이 제공된다.[5]

다른 툴에서 EXI 기능을 통합할 수 있는 다양한 EXI 구현이 가능하다.[6]

관련: XML 이외의 데이터 형식에도 EXI를 적용하고 있다.

  • EXI4JSON은 JSON 문서에 동일한 형식을 사용하기 위해 동일한 작업 그룹이 개발한 규격이다.[7]

EXI는 미국 국방부 글로벌 정보 그리드에서 사용할 것을 권고받았다.[8]

퓨처 워크

EXI 작업 그룹에 의해 여러 실험 이니셔티브가 계속 추진되고 있다.

  • EXI4CSS는 CSS(Cascading Style Sheet)를 EXI에 매핑하는 방법을 탐구하고 있다.[3]
  • 자바스크립트용 EXI는 소스 코드에 초기 구조화된 파스 트리를 사용할 경우 가능한 것으로 보인다.[3]
  • XML Encryption 및 XML Digital Signature가 포함된 XML EXI의 잠재적 구성 고려.

참조

  1. ^ Robin Berjon and Jaakko Kangasharju editors (20 July 2006). "Analysis of the EXI Measurements". W3C. Retrieved 23 September 2016. {{cite web}}: author=일반 이름 포함(도움말)
  2. ^ "Efficient XML Interchange Working Group". Public web site. W3C. Retrieved 23 September 2016.}
  3. ^ a b c Daniel Peintner (22 November 2016). "Efficient representation for Web formats". W3C Blog. Retrieved 28 February 2017.
  4. ^ "Lightning-Fast Delivery of XML to More Devices in More Locations". AgileDelta. 5 November 2015. Retrieved 23 September 2016.
  5. ^ EXI Working Group (28 March 2017). "EXI Deployment". EXI Working Group public page. World Wide Web Consortium. Retrieved 28 March 2017.
  6. ^ EXI Working Group (28 March 2017). "EXI Implementations". EXI Working Group public page. World Wide Web Consortium. Retrieved 28 March 2017.
  7. ^ Daniel Peintner and Don Brutzman editors (23 August 2016). "EXI for JSON (EXI4JSON)". Public Working Draft. World Wide Web Consortium. Retrieved 23 September 2016. {{cite web}}: author=일반 이름 포함(도움말)
  8. ^ Sheldon L. Snyder (1 March 2010). "Efficient XML Interchange (EXI) Compression and Performance Benefits: Development, Implementation and Evaluation" (PDF). Masters Thesis. US Naval Postgraduate School (NPS). Retrieved 23 September 2016.

외부 링크