웹데브(WebDAV)는 HTTP/1.1을 확장한 웹 통신 프로토콜로서 인터넷을 통하여 다양한 콘텐츠의 비동기적인 협업저작을 지원하기 위한 표준 하부구조를 제공한다. 현재 웹데브 명세를 지원하는 저작 응용프로그램으로 Microsoft office 제품군, Photoshop, Dreamweaver 등이 있으며, 웹데브 기능이 응용프로그램에 통합되어 동작된다. 이 방법은 웹데브 자원에 대한 분산저작을 효과적으로 지원하지만 각각의 응용프로그램이 웹데브 기능을 독자적으로 지원해 주어야 하는 단점을 가지고 있다. 본 논문에서는 웹데브 명세를 지원하지 않는 저작도구들이 원거리 분산저작 작업을 효과적으로 수행할 수 있도록 리녹스 KDE 기반의 웹데브 클라이언트인 DAView를 개발하였다. DAView는 웹데브 서버 자원에 대한 GUI 환경을 제공하며 DAVExplorer와 같은 웹데브 파일탐색기와 유사한 구조를 가진다. 본 클라이언트는 기존의 웹데브 파일탐색기와는 달리 서버자원에 관련된 저작도구의 자동구동과 함께 자동화된 잠금관리를 지원한다.
웹데브(WebDAV)는 HTTP/1.1을 확장한 웹 통신 프로토콜로서 인터넷을 통하여 다양한 콘텐츠의 비동기적인 협업저작을 지원하기 위한 표준 하부구조를 제공한다. 현재 웹데브 명세를 지원하는 저작 응용프로그램으로 Microsoft office 제품군, Photoshop, Dreamweaver 등이 있으며, 웹데브 기능이 응용프로그램에 통합되어 동작된다. 이 방법은 웹데브 자원에 대한 분산저작을 효과적으로 지원하지만 각각의 응용프로그램이 웹데브 기능을 독자적으로 지원해 주어야 하는 단점을 가지고 있다. 본 논문에서는 웹데브 명세를 지원하지 않는 저작도구들이 원거리 분산저작 작업을 효과적으로 수행할 수 있도록 리녹스 KDE 기반의 웹데브 클라이언트인 DAView를 개발하였다. DAView는 웹데브 서버 자원에 대한 GUI 환경을 제공하며 DAVExplorer와 같은 웹데브 파일탐색기와 유사한 구조를 가진다. 본 클라이언트는 기존의 웹데브 파일탐색기와는 달리 서버자원에 관련된 저작도구의 자동구동과 함께 자동화된 잠금관리를 지원한다.
WebDAV is a protocol which supports web-based distributed authoring and versioning, providing a standard infrastructure for asynchronous collaboration on various contents through the Internet. Current WebDAV-enabled authoring applications that support WebDAV, such as Microsoft office, Photoshop, or ...
WebDAV is a protocol which supports web-based distributed authoring and versioning, providing a standard infrastructure for asynchronous collaboration on various contents through the Internet. Current WebDAV-enabled authoring applications that support WebDAV, such as Microsoft office, Photoshop, or Dreamweaver, work by integrating WebDAV capabilities into the application. While this approach provides solid support for collaborative authoring, it has a drawback that each of the applications needs to support WebDAV capabilities in its own way. We developed a WebDAV client named DAView running on Linux KDE, which enables WebDAV-unaware authoring tools to have effective remote authoring capabilities. DAView provides a GUI view of a WebDAV server, similar to existing WebDAV-enabled file managers such as DAVExplorer. Unique among WebDAV file managers, it also provides the ability to launch the authoring application associated to a WebDAV server resource, automatically managing the locks on the resource.
WebDAV is a protocol which supports web-based distributed authoring and versioning, providing a standard infrastructure for asynchronous collaboration on various contents through the Internet. Current WebDAV-enabled authoring applications that support WebDAV, such as Microsoft office, Photoshop, or Dreamweaver, work by integrating WebDAV capabilities into the application. While this approach provides solid support for collaborative authoring, it has a drawback that each of the applications needs to support WebDAV capabilities in its own way. We developed a WebDAV client named DAView running on Linux KDE, which enables WebDAV-unaware authoring tools to have effective remote authoring capabilities. DAView provides a GUI view of a WebDAV server, similar to existing WebDAV-enabled file managers such as DAVExplorer. Unique among WebDAV file managers, it also provides the ability to launch the authoring application associated to a WebDAV server resource, automatically managing the locks on the resource.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
사용자가 웹데브 클라이언트를 이용하여 분산 저작을 하는 경우 클라이언트에서 자원에 대한 저작도구 자동 실행과 자동 잠금 기능을 제공하여 손쉬운 분산저작 방법을 제공하여야 하며 웹데브 서버 자원에 대한 효율적인 관리 기능을 제공하여야한다. 따라서 본 논문에서는 사용자의 수작업에 의한 문서 저작 절차를 단순화하고 저작도구의 모니터링을 통하여 자원 변경에 대한 능동적인 서버 갱신을 지원하는 리눅스 웹데브 클라이언트를 개발하였다.
또한 본 논문에서는 클라이언트의 HTTP 요청 /응답의 체계적인 처리를 위하여 DAVon이라 명명된 C++ 웹데브 클라 이언트 라이브러리를 개발하였다. C/C++ 웹데브 클라이언트를 개발하기 위해서는 주로 Neon[9] C/C++ 웹데브 클라이 언트 라이브러리를 사용하여 왔지만 복잡한 콜백관계의 설정과 관련 문서의 부족으로 클라이언트를 개발하는 데 많은 어려움이 존재하였다.
본 논문에서는 분산 저작을 효과적으로 지원하는 DAView 라명명된 리눅스 기반의 웹데브 클라이언트 개발에 대하여 기술한다. DAView는 파일탐색 기 형태의 웹데브 클라이언트로서 일반적인 웹데브 전용 클라이언트와 같이 웹데브 고유의 기능인 자원관리, 잠금관리, 속성관리를 모두 지원한다.
본 논문에서는 인터넷을 통하여 원거리에 위치한 다수의 작업자들이 분산 저작을 효과적으로 수행하기 위한 도구로 서 리눅스 웹데브 클라이언트인 DAView에 대하여 기술하였다. DAView는 리눅스 QT 라이브러리와 본 논문에서 개 발한 DAVon 라이브러리를 사용하여 구현되었으며 탐색기 형태의 GUI를 제공하고 자원관리, 잠금관리, 속성관리 기능을 수행한다.
가설 설정
. GET: 로컬 시스템에서 GET 메서드를 호출하는 데 이는 이미 운영체제에서 정의한 GET 메서드를 사용하게 될 것이다. Drag객체가 만들어질 때 Drag객체에 서버 정보를 설정하여 둔다.
제안 방법
개발된 DAVon C++ 웹데브 클라이언트 라이브러리는 리 눅스 QT의 HTTP 요청/응답을 처리하는 클래스, 웹데브 기능을 수행하는 클래스, XML 응답 관련 클래스로 구분되어 진다. DAVone QT의 시그널/슬롯 기법을 활용하여 비동기 적인 HTTP 요청을 지원함으로써 클라이언트의 병행성을 제고하였다. 향후 웹데브 자원에 대한 보다 안정적인 버전 관리를 지원하기 위하여 DAView 클라이언트가 웹데브 버 전관리 명세인 DeltaV[ll]를 지원할 수 있도록 확장할 계획 이다.
DAVone 리눅스의 QT[10] 라이브러리를 사용하여 객체 지향 기법으로 설계되었으며 Neon의 사용에서 야기되는 복잡성을 해결하였다. 그리고 클라이언트 작업의 병행성을 효율적으로 지원하기 위하여 QT의 시그널 I슬롯 기법을 사용한 비동기적인 HTTP 요청/응답을 수행 한다.
특별히 DAView는 웹데브 서버 자원에 대하여 마우스 더블클릭 또는 자원 열기만으로 웹데브 서버 자원에 대한 자동 잠금관리와 저작 처리자동화를 제공함으로써 효과적인 분산 저작을 지원한다. 또한 DAView는 드래그앤드 랍(Drag&Drop) 기능을 지원하여 로컬 파일시스템과 웹데브 서버간의 유기적인 파일 이동이 가능하도록 하였다. 협업 작업자는 DAView를 이용하여 웹데브 기능을 자체적으로 지원하지 않는 저작도구를 이용하여서도 손쉽게 분산저작을 수행할 수 있다.
웹데브 클라이언트 응용프로그램에서 웹데브 서버의 자원을 저작하기 위한 절차는 (그림1)과 같다. 먼저 사용자가 웹데브 서버의 자원을 조회하고 수정을 원하는 자원에 대하여 잠금처리 (LOCK)를 한다. 잠금처리 후에 자원을 로컬로 받아(GET) 정보를 편집한다.
웹데브 서버의 파일에 해당하는 DAView의 아이템을 선택하여 더블클릭을 하거나 열기를 실행하면 저작도구의 자 동 구동이 시작된다. 먼저 웹데브 서버에 있는 해당 자원에 잠금을 설정하고 KDE 라이브러리의 KRun의 객체를 생성 한다. KRun에서는 실행할 파일을 검사하고 원격에 존재하는 파일을 get 메서드를 통해 로컬 임시 저장소로 다운로드 를 받는다.
본 논문에서 개발한 DAView 는 기본적으로 Apache mod_dav 웹 서버와 연결 시험을 수행하였으며 아파치 서버 와 공개된 다른 웹데브 서버와의 연결 시험도 수행하였다. 개발한 웹데브 클라이언트의 주요 특징은 초기 구동시에 서버에 인증과정을 거치며, 웹데브 서버 정보를 파일탐색기 형태로 보여준다.
따라서 HTTP 요청 /응답 과정을 효과적으로 처리할 수 있는 클라이언트 라이 브러리를 사용하는 것이 바람직하다. 새로운 웹데브 클라이언트의 효과적인 구현을 위하여 리눅스 기반의 웹데브 클라이언트의 HTTP 요청/ 응답 처리를 위한 DAVon 웹데브 클 라이언트 라이브러리를 개발하였다. DAVone QT의 QHttp 클래스와 QHttpRequestHeader 클래스를 사용하여 구현되었으며 C++ 기반의 웹데브 클라이언트의 개발에 유용하다.
대상 데이터
(그림4) 는 QT Designer 도구를 사용하여 구성한 인터페이스를 보여준다. 메인 화면은 메뉴바, 툴바, 주소 연결 패널, 컬렉션 트리, 선택된 컬렉션의 목록 리스트로 구성된다. 컬렉션 트리는 서버의 컬렉션 구조를 트리 형태로 보여주고 목록 리스트는 컬렉션 트리에서 현재 선택된 컬렉션의 내부에 있는 자원을 이름, 잠금 여부, 크기, 타입 그리고 날짜순으로 보여준다.
데이터처리
RequestManager는 전달되어진 명령과 요청의 내용을 이용하여 DAVon 라이브러리의 메서드 객체를 생성하고 DAVSession 클래스를 통하여 서버와 HTTP 통신을 한다. 수행된 결과는 XML 형태의 HTTP 응답으로서 XML을 분석하는 각메서드 클래스의 parseXMLResponse 메서드를 사용하여 분석된다.
성능/효과
C/C++ 웹데브 클라이언트를 개발하기 위해서는 주로 Neon[9] C/C++ 웹데브 클라이 언트 라이브러리를 사용하여 왔지만 복잡한 콜백관계의 설정과 관련 문서의 부족으로 클라이언트를 개발하는 데 많은 어려움이 존재하였다. DAVone 리눅스의 QT[10] 라이브러리를 사용하여 객체 지향 기법으로 설계되었으며 Neon의 사용에서 야기되는 복잡성을 해결하였다. 그리고 클라이언트 작업의 병행성을 효율적으로 지원하기 위하여 QT의 시그널 I슬롯 기법을 사용한 비동기적인 HTTP 요청/응답을 수행 한다.
자원 관리 : 웹데브 프로토콜에서는 자원관리에 대한 부분을 MKCOL, COPY, MOVE, DELETE 등의 메서드를 사용하여 지원한다. 따라서 본 논문의 클라이언트는 웹데브 서버에 있는 컬렉션이나 파일에 대해서 생성, 복사, 옮기기, 삭제 등의 명령으로 웹데브 프로토콜의 기능을 수행할 수 있다.<표 2>는 클라이언트에서 이루어지는 자원관리에 대한 설명과 웹데브의 메서드와의 관계를 보 여준다.
이와 같은 방법은 자원의 일 관성을 유지하지 못하여 분산 저작이 정확하게 이루어 질수 없다. 본 논문에서 개발한 웹데브 클라이언트와 다른 웹데 브 클라이언트를 비교하여 보면 사용자 인터페이스 부분과 프로세스 감시를 이용한 저작 응용 프로그램의 구동을 지원하는 기능이 다른 웹데브 클라이언트보다 우수하다고 판단 되며 웹데브 서버 자원의 속성 정보 관리 및 자동 잠금 처리 기능 등이 구현되어 있다.
후속연구
DAVone QT의 시그널/슬롯 기법을 활용하여 비동기 적인 HTTP 요청을 지원함으로써 클라이언트의 병행성을 제고하였다. 향후 웹데브 자원에 대한 보다 안정적인 버전 관리를 지원하기 위하여 DAView 클라이언트가 웹데브 버 전관리 명세인 DeltaV[ll]를 지원할 수 있도록 확장할 계획 이다.
참고문헌 (17)
E. James Whitehead Jr. and Meredith Wiggins, 'WEBDAV: IETF Standard for Collaborative Authoring on the Web,' IEEE Internet Computing, pp.34-40, September/October, 1998
Y. Goland, E. Whitehead, A. Faizi, S. Carter and D. Jensen, 'HTTP Extensions for Distributed Authoring - WEBDAV,' RFC 2518, Standards Track, February, 1999
Jim Whitehead, Yaron Y. Goland, 'WebDAV: A network protocol for remote collaborative authoring on the Web,' ECSCW'99, 1999
Tomas Bednarz, 'Goliath: A website management application for MacOS,' http://www.webdav.org/goliath/, July 3, 2003
South River Technologies, WebDrive, http://www.webdrive.com/products/webdrive/, 2005
Yuzo Kanomata, Joe Feise, 'DA V Explorer,' University of California, Irvine, http://www.ics.uci.edu/~webdav/, September 30, 2003
C. Kaler, J. Amsden, G. Celmm, B. Cragen, D. Durand, B. Sergeant, E. Whitehead, 'Versioning extensions to WebDAV,' IETF Internet Draft, January, 1999
Geoff Clemm, Julian F. Reschke, Eric Sedlar, Jim Whitehead, 'Web Distributed Authoring and Versioning (WebDA V) Access Control Protocol,' IETF Internet Draft, May, 2004
정혜영, 안건태, 박양수, 이명준, '웹데브를 지원하는 닷넷 기반의 탐색기 개발', 정보처리학회논문지, 제11-C권 제5호, pp.1-8, 2004
정혜영, 안건태, 유양우, 박양수, 이명준, 'DavSUDP: 웹데브 사용자 정의 속성의 활성화를 위한 단순 프로토콜', 정보처리학회논문지. 제12-C권 제1호, pp.129-136, 2005
※ AI-Helper는 부적절한 답변을 할 수 있습니다.