XML 문서용 분산 편집 환경
초록
본 논문은 XML 문서를 인터넷 상에서 다중 사용자가 동시에 편집할 수 있도록 하는 분산 편집 시스템을 제안한다. 사용자의 선택·수정 동작을 XML 형태로 직렬화해 서버에 전송하고, 서버가 문서를 업데이트한 뒤 각 클라이언트에 변경 사항을 전파한다. 이 방식은 전송 데이터량 감소, 다양한 뷰에 대한 독립적 업데이트, 비동기 HTTP 통신 지원 등 여러 장점을 제공한다.
상세 분석
이 시스템은 XML이 갖는 두 가지 핵심 특성—트리 구조의 데이터 모델링과 데이터·프레젠테이션의 분리—을 기반으로 설계되었다. 문서 자체는 순수한 추상 트리 형태로 서버에 보관되고, 클라이언트는 이를 다양한 뷰(예: HTML, XSL‑FO, 그래픽)로 변환해 사용자에게 제공한다. 사용자가 뷰에서 선택하거나 수정할 때, 해당 조작은 즉시 화면에 반영되지 않는다. 대신, 선택 영역과 수정 명령을 XML 스키마에 정의된 ‘operation’ 요소로 감싸 직렬화한다. 이러한 XML‑operation 문서는 원본 문서보다 훨씬 작으며, 표준 XSLT 변환 엔진을 이용해 다른 형태의 명령으로 변환하거나 여러 명령을 하나의 배치 파일로 합칠 수 있다. 서버는 수신된 operation 문서를 파싱해 원본 트리에 적용하고, 변경된 서브트리를 식별한다. 이후 각 클라이언트에게는 해당 서브트리만을 포함하는 최소한의 업데이트 XML을 전송한다. 이 과정은 HTTP 기반의 비동기 요청/응답 모델에 적합하도록 설계되었으며, 장시간 연결이 필요 없는 환경에서도 실시간에 가까운 협업이 가능하도록 한다. 또한, 여러 뷰가 서로 다른 업데이트 주기를 가질 수 있다. 예를 들어, 텍스트 기반 뷰는 초당 여러 번 갱신되지만, 복잡한 그래픽 뷰는 몇 초에 한 번만 갱신하도록 설정할 수 있다. 이는 서버 부하를 최소화하고 네트워크 대역폭을 효율적으로 사용하게 한다. 시스템은 또한 충돌 해결 메커니즘을 포함한다. 동일 노드에 대한 동시 수정이 발생하면, 서버는 타임스탬프와 사용자 우선순위에 따라 순서를 정하고, 충돌된 부분을 별도 XML 메시지로 반환해 클라이언트가 사용자에게 알릴 수 있게 한다. 전체적으로 이 설계는 XML의 자체 기술적 장점(구조화, 표준화, 변환 가능성)을 활용해 분산 편집 환경을 구현함으로써, 기존의 파일‑기반 협업 툴이 갖는 동기화·버전 관리 문제를 최소화한다.
댓글 및 학술 토론
Loading comments...
의견 남기기