모로코 가구패널 조사를 위한 웹 기반 설문 관리 플랫폼
초록
본 논문은 전통적으로 데스크톱 환경에서 사용되던 CSPro를 웹 서비스 형태로 전환하고, 웹 2.0 기술을 활용해 설문 관리와 현장 데이터 수집을 중앙집중식으로 처리할 수 있는 플랫폼을 설계·구현한 사례를 제시한다. 모로코 가구패널 조사(MHSP)의 1차 파동에서 발생한 데이터 전송 지연·버전 관리 문제를 해결하기 위해 개발된 시스템의 구조, 핵심 모듈, UML 기반 설계, 그리고 현장 적용 결과를 상세히 기술한다.
상세 분석
본 연구는 CSPro(Census and Survey Processing System)의 기존 한계를 웹 서비스화함으로써 해결하고자 한다. CSPro는 강력한 데이터 검증 로직과 파일 포맷 변환 기능을 제공하지만, 데스크톱 전용이라는 제약 때문에 현장 조사원들이 수집한 파일을 중앙 서버에 전송하고 버전을 관리하는 과정에서 지연과 오류가 빈번히 발생한다. 이를 극복하기 위해 저자들은 웹 2.0 기술(Stack: HTML5, CSS3, JavaScript, AJAX, RESTful API, MySQL) 기반의 Survey Management Web Platform을 설계하였다. 플랫폼은 크게 세 계층으로 나뉜다. 첫 번째는 프레젠테이션 계층으로, 브라우저 기반 UI를 제공해 조사원이 실시간으로 설문 진행 상황을 확인하고, CSPro 파일을 업로드·다운로드 할 수 있다. 두 번째는 서비스 계층으로, CSPro를 백엔드에서 웹 서비스 형태로 래핑하고, 파일 검증·변환 로직을 REST API로 노출한다. 여기서 중요한 점은 기존 CSPro 실행 파일을 Docker 컨테이너에 격리시켜 운영체제 의존성을 최소화하고, API 호출 시마다 최신 버전의 검증 규칙을 적용한다는 것이다. 세 번째는 데이터 저장 계층으로, 업로드된 원본 파일과 변환된 .dat, .log 파일을 메타데이터와 함께 관계형 데이터베이스에 저장하고, 버전 관리 테이블을 통해 파일 이력 추적이 가능하도록 설계하였다.
UML 기반 설계는 Use‑Case Diagram, Sequence Diagram, Class Diagram, Component Diagram을 포함한다. Use‑Case Diagram에서는 조사원, 현장 관리자, 데이터 관리자, 시스템 관리자의 네 가지 주요 액터가 정의되고, 각각 파일 업로드, 검증 요청, 결과 조회, 시스템 설정 등의 시나리오가 도출된다. Sequence Diagram은 파일 업로드 → CSPro 검증 API 호출 → 검증 결과 반환 → 데이터베이스 저장 → 알림 전송의 흐름을 상세히 보여준다. Class Diagram에서는 CSProService, FileHandler, ValidationResult, NotificationService 등 핵심 클래스를 식별하고, 의존성 주입과 인터페이스 기반 설계를 통해 확장성을 확보하였다. Component Diagram은 프론트엔드, API 게이트웨이, CSPro 엔진, 데이터베이스, 인증·권한 관리 모듈을 독립적인 컴포넌트로 구분하고, Docker Compose를 이용한 배포 구조를 제시한다.
보안 측면에서는 OAuth 2.0 기반 토큰 인증과 HTTPS 전송을 기본으로 하며, 파일 무결성 검증을 위해 SHA‑256 해시값을 저장한다. 또한, 대용량 파일 전송을 위해 Chunked Upload 방식을 적용해 네트워크 장애 시 재시도를 가능하게 하였다. 성능 테스트 결과, 평균 파일 검증 시간은 3.2초(±0.8초)로 기존 현장 PC에서 로컬 실행 시 7초 이상 걸리던 것에 비해 50% 이상 향상되었으며, 동시 사용자 200명까지도 응답 지연 없이 서비스를 제공할 수 있었다.
시스템 도입 후 조사 현장에서는 데이터 전송 지연이 70% 감소하고, 파일 버전 충돌이 거의 사라졌다. 또한, 중앙 데이터베이스에 누적된 메타데이터를 활용해 실시간 진행 상황 대시보드를 구축함으로써 현장 관리자와 정책 입안자가 조사 진행률을 한눈에 파악할 수 있게 되었다. 이러한 결과는 CSPro와 같은 전통적인 통계 소프트웨어도 웹 서비스화와 현대적인 웹 아키텍처를 결합하면 대규모 패널 조사에 충분히 적용 가능함을 입증한다.