데이터베이스와 연동하는 웹 응용에 대한 수요가 비즈니스론 포함하는 모든 분야에서 급속히 증가하고 있다. 그러나 급증하는 수요에 비해 웹 응용의 작성 및 유지 보수에 많은 시간과 노력이 소요되고 있다. 본 논문에서 소개하는 웹 스크립트 자동 생성기인 WebGen은 웹 응용에 필요한 폼들과 이 폼들을 통해 이루어지는 질의에 대해 데이터베이스와 연동하여 처리하는 웹 스크립트들을 자동 생성하는 소프트웨어 도구다. WebGen은 웹 응용 개발자가 작성하는 구성파일(configuration file)에 정의된 선언적인 내용을, 생성될 스크립트의 기본 원형인 내장된 템플릿(template)에 반영하여 5개의 웹 스크립트들(Search, Select, Edit, Information, Action)을 생성한다. Action 스크립트를 제외한 나머지 스크립트들은 사용자 인터페이스로 각각 해당되는 웹 폼을 생성한다. 따라서 WebGen은 웹 응용 작성을 위한 시간과 노력을 크게 줄여 웹 응용의 생산성을 향상시킨다. 상용 웹 스크립트 생성기들과 달리, WebGen은 상호 독립적인 템플릿들을 기반으로 하기 때문에 버전 관리가 용이하고 한 폼에 표현 가능한 정보도 관심의 대상인 엔티티 외에 이 엔티티와 직 간접적으로 연관된 모든 엔티티들을 포함한다.
기존의 고정적 웹 페이지에, 실시간적으로 변화하는 내용의 제공을 가능하게 하기 위해, 추가적으로 코드를 첨가할 수 있도록 만든 것이 웹 응용 프로그램이다. 그 예로는 cgi, php, jsp, java, python 등이 있다. 많은 수의 언어와 다수의 프로그램들이 빠른 속도로 개발됨에 따라 많은 수의 보안 문제점들이 발생하였고 실제로 대단히 많은 서버들이 침입의 대상이 되었다. 웹 응용 프로그램의 보안에 많은 문제점이 발생한 이유는 첫번째, 기존의 서버 응용 프로그램들에 비하여 웹 응용 프로그램은 휠씬 많은 수가 아주 빠르게 개발되었다는 점이다. 두 번째는 웹 응용 프로그램에서 발생한 새로운 종류의 보안 위험성을 들 수 있다. 기존의 서버 응용 프로그램에서 발생하는 위험성들은 서버프로그램의 버그를 이용한 것이었고, 이들은 외부 입력의 내용보다는 그 크기 등의 간단히 검사 가능한 특징에 의존하는 경우가 많았다. 하지만, 웹 응용 프로그램이 외부 입력의 내용을 코드의 일부로 사용하는 경우가 많음으로 인해서, 웹 응용 프로그램에서는 간단히 검사하기 어려운 특징인 입력의 내용에 의존하는 위험성들이 많이 발생한다. 본 논문에서는 이러한 새로운 방식의 위험성을 소스코드를 이용해서 어떻게 자동적으로 검사할 수 있을 지에 관해서 새로운 아이디어를 제시한다. 이 아이디어는 현재 구현 중에 있으며, 초기 실험 결과 기존의 검사 프로그램들이 찾아내지 못하는 취약점들을 찾아낼 수 있음이 확인되었다.
최근 웹의 놀랄만한 성장으로 인터넷에 존재하는 데이터의 양은 기하 급수적으로 증가하고 있다. 이와 같은 방대한 양의 데이터를 체계적으로 관리, 검색하기 위해 데이터베이스 관리 시스템의 사용이 절실해지고, 웹 상에서 데이터베이스를 사용하기 위한 웹과 데이터베이스의 연동 방법에 관한 연구가 활발히 진행되고 있다. 그러나 현재까지 웹과 데이터베이스의 연동을 위해 개발된 웹-데이타베이스 게이트웨이는 응용 프로그램 작성의 편의상과 범용 프로그래밍 기능을 동시에 제공하지 못하고 있다. 본 논문에서는 객체지향 멀티미디어 데이터베이스 관리 시스템인 오디세우스를 위한 웹-데이타베이스 게이트웨이를 설계하고 구현한다. 본 논문에서 구현한 웹-데이타베이스 게이트웨이는 웹과 데이터베이스의 연동 방식으로 서버 전용 API 방식을 사용하기 때문에 사용자의 요청을 보다 빠르게 처리할 수 있다. 또한 본 논문에서 구현한 웹-데이타베이스 게이트웨이는 HTML 페이지 작성만으로 응용 프로그램 개발이 가능하므로 사용자가 보다 쉽게 웹 기반 데이터베이스 응용 프로그램을 개발할 수 있으며, 범용 프로그래밍 언어로 작성된 함수를 HTML 페이지 내에서 수행할 수 있는 기능을 제공하므로 다양한 웹 기반 데이터베이스 응용 프로그램을 개발할 수 있다.
시간적 금전적 압박으로 최근의 웹 응용에서는 체계적인 시험작업이 종종 간과되곤 한다. 게다가 효과적인 웹 응용 시험 방법이 많지 않아 웹 응용에 기존의 시험 방법들을 적용하면서 개발자들은 많은 어려움을 겪고 있다. 빠르고 효과적 인 시험을 위하여 웹 페이지간의 메시지를 모델링한 UML 순차도(Sequence Diagram)로부터 웹 응용을 위한 시험사례를 추출하는 방법을 제안한다. 웹 응용을 위한 시험사례들은 UML의 순차도에서 자기 호출 메시지 (Self-Call Messages)를 포함한 메시지들로부터 추출된다. 시험사례는 시험할 대상인 메시지와 스크립트 함수, 서버 페이지와 추가적인 시험값들로 구성된다. 또한, 웹 응용 시험을 지원하기 위한 간단한 도구를 제시한다. 이 시험 도구는 웹 응용을 시험하기 위한 URL을 생성하고 이를 실행하여 그 결과를 보인다. 생성된 URL은 시험할 서버 페이지의 주소와 추가적인 시험값들로 구성된다. 이 도구는 마이크로소프트 비주얼 베이직으로 작성하였다. 회원 관리 기능을 수행하는 웹 응용개발 과제에 제안하는 시험사례 추출방법과 시험 지원 도구를 적용하였으며 그 유용성을 확인하였다.
본 논문은 3차원 웹 그래픽 라이브러리의 개발에 관한 논문이다. 본 3차원 웹 그래픽 라이브러리는 웹 응용 서비스에서 사용자에게 2차원 웹 응용 서비스 또는 기존의 3차된 점 서비스에서 시야각이 한정된 그래픽 제공의 경우 보다 다양한 동적 입체감을 제공함으로써 더욱 사용자의 흥미를 유발할 수 있는 웹 응용서비스를 개발하는데 이용 가능한 3차원 웹 그래픽 라이브러리이며 다양한 3차원 웹 객체 및 현실감 있는 드로잉 기법의 적용으로 더욱 복합적이고 동적인 3차원 웹 서비스를 제공하기 위한 3차원 웹 응용 서비스의 개발에 응용이 가능하다. 특히, 3차원 웹 게임이나 웹을 이용한 동적 광고 매체 제작에 효과적으로 이용 가능하다. 본 3-D 웹 그래픽 라이브러리는 자바 언어를 이용하여 작성되었으며 자바 가상 머신과 연동하는 웹 브라우저를 통해 웹 상에서 수행되는 응용 소프트웨어의 개발에 적용 가능하다.
기존 스마트폰 응용프로그램 개발 시 단점으로 부각된 다양한 플랫폼 환경 설정 고려와 이종 기기의 호환성 문제점 등 한계성이 들어나면서 자연스럽게 모바일 웹 응용프로그램 개발이 대안으로 부각되고 있다. 모바일 웹 응용프로그램 종류의 하나인 하이브리드용 웹 응용프로그램은 스마트폰에 내장된 웹킷엔진을 이용하기 때문에 간단하게 개발될 수 있다는 장점이 있다. 스마트폰의 웹킷 탑재로 응용프로그램 개발자는 HTML과 자바스크립트, CSS 만으로도 쉽고 빠르게 개발할 수 있을 뿐만 아니라 다양한 모바일 기기에 서비스를 제공할 수 있다. 웹킷은 스마트폰 웹 브라우저에서 모바일 친화적인 고성능 렌더링 엔진이다. 본 논문에서는 웹 응용프로그램 개발 시 고려해야할 웹킷 인터페이스의 성능과 기능을 비교 분석하였다. 또한 실제 모바일 웹 응용프로그램에 웹킷 메소드들이 어떻게 쓰이고 있는지 분석하였으며, 아이폰과 안드로이드폰 중 웹 응용프로그램 개발 시에 어떠한 환경이 개발자에게 편리한지도 분석하였다. 그 결과 아이폰 웹킷 성능이 안드로이드 보다 뛰어나다는 것을 알 수 있었다.
웹 응용은 현재 가장 빠르게 성장하고 있고 사회에 미치는 영향이 큰 분야이다. 잘 못 동작하는 웹 응용은 사회적은 큰 손실이 될 수 있다. 이에 웹 응용의 검증 방법의 중요성이 대두되고 있다. 검증 방법으로는 코드 분석과 테스팅이 있다 허나 시장에 제품이 출시되는 시간이 매우 짧고, 관련 기술의 발달이 빠른 웹 응용 개발의 특성상 코드 분석은 왜 정확한 검증 결과를 얻을 수는 있으나 적절하다고는 할 수 없다 따라서 테스팅을 검증 방법으로 사용하게 된다. 그렇다고 해도, 테스팅에 들이는 시간과 노력이 코드 분석과 비슷하다면 이 또한 적절한 검증 방법이라고 할 수 없다. 테스팅의 비용을 줄여 전체적인 개발 비용을 줄이는 것이 필요하다 테스팅의 비용은 테스트 케이스를 수행하는 시간과 테스트 케이스로 생성, 분석하는 시간으로 측정 가능하다. 이 논문에서는 이 시간들을 줄이기 위해 전체 웹 응용의 경로 중 사용빈도가 높은 경로를 테스트 케이스로 타여 테스트 케이스 실행 시간을 줄이고, 각 페이지에 안는 입력 값으로 빈도가 높은 사용자 세션 정보를 이용하여 테스트 케이스의 생성을 자동으로 할 수 있게 하여 테스터가 직접 테스트 케이스를 생성하는 것보다 시간을 줄였다.
복잡하고 난해한 웹 응용을 이해하고 테스트하는 것은 사용자가 요구하는 품질을 만족시키기 위한 필수적인 과정이지만 실제로 이 과정을 제대로 수행하는 것은 쉬운 일이 아니다. 지금까지 웹 응용의 테스트를 위해 여러 가지 프레임워크가 제시되어 사용되고 있지만 이러한 프레임워크의 효율성은 어떤 접근법을 사용하느냐에 의존적인 경우가 많다. 본 논문에서는 웹 응용 상태를 표현하는 도메인 모델과 테스트 활동 그래프를 통해 객체의 활동과 의존성을 표현하여 웹 응용의 정확성을 검증하는 테스트 기법을 제안하고자 한다. 이 기법은 웹 응용을 사용자가 이해하기 쉬운 활동으로 모델링하여 테스트할 수 있도록 도와줄 수 있으므로 업무의 효율성과 편의성을 증대시킬 수 있을 것으로 기대된다.
스마트폰과 앱스토어 열풍은 응용프로그램 개발을 과거 PC응용에 이어 다시 한 번 활성화시키고 있다. 하지만 현재 스마트폰 응용프로그램 개발 시에는 다양한 플랫폼 환경 설정 고려와 이종 기기의 호환성 문제점 등의 한계가 있어 자연스럽게 모바일 웹 응용프로그램 개발이 대안으로 부각되고 있다. 모바일 웹 응용프로그램 형태의 하나인 하이브리드용 웹 응용프로그램은 스마트폰에 내장된 웹킷 엔진을 이용하기 때문에 간단하게 개발될 수 있다는 장점이 있다. 스마트폰의 웹킷 탑재로 웹 응용프로그램 개발자는 HTML과 자바스크립트, CSS만으로도 쉽고 빠르게 개발할 수 있을 뿐만 아니라 다양한 모바일 기기에 독립적인 서비스를 제공할 수 있다. 본 논문에서는 기존에 복잡하게 개발했던 네이티브 응용프로그램 대신 웹킷을 이용하여 단순하고 간결하게 개인이 운영할 수 있는 앱스토어를 안드로이드 환경에서 구현하였다. 기존 네이티브 응용프로그램에서는 복잡하게 구현했던 회원 등록 및 로그인 환경을 OpenID를 이용하여 간결하게 할 수 있었다. 이를 통해 스마트폰용 네이티브 응용이 아닌 웹 응용으로도 성능이 뒤지지 않으면서 쉽게 응용을 개발할 수 있음을 확인하였다. 아울러 웹 응용프로그램 개발시 장점을 네이티브 응용 개발과 비교함으로써 그 효율성을 보였다.
현재, 데이터베이스를 연동한 웹 스크립트 사용이 급속히 증가하고 있다. 요구되는 수요에 비해 웹 스크립트의 생성 및 변경에는 많은 시간과 노력이 소요되고 있다. 본 논문에서 소개하는 웹 스크립트 자동 생성기 WebGen은 웹 응용에 필요한 웹 폼들과 이 폼들을 통해 이루어지는 질의에 대해 데이터베이스와 연동하여 결과를 얻어 제공하는 웹 스크립트들을 자동 생성하는 소프트웨어 도구이다. WebGen은 웹 응용 개발자가 제공하는 구성파일(configuration file)에 정의된 내용을 스크립트의 기본 원형인 내장된 템플릿(template)에 반영하여 5개의 웹 스크립트들(search, select, edit, information, action)을 생성한다. action 스크립트를 제외한 나머지 스크립트들은 각각 해당되는 웹 폼을 생성한다. 따라서 웹 스크립트 생성을 위한 시간과 노력을 크게 줄여 웹 응용의 생산성을 향상시킨다. 또한, WebGen은 템플릿 기반이기 때문에 생성된 스크립트들과 WebGen 자체의 유지 보수를 효율적으로 할 수 있다.
본 웹사이트에 게시된 이메일 주소가 전자우편 수집 프로그램이나
그 밖의 기술적 장치를 이용하여 무단으로 수집되는 것을 거부하며,
이를 위반시 정보통신망법에 의해 형사 처벌됨을 유념하시기 바랍니다.
[게시일 2004년 10월 1일]
이용약관
제 1 장 총칙
제 1 조 (목적)
이 이용약관은 KoreaScience 홈페이지(이하 “당 사이트”)에서 제공하는 인터넷 서비스(이하 '서비스')의 가입조건 및 이용에 관한 제반 사항과 기타 필요한 사항을 구체적으로 규정함을 목적으로 합니다.
제 2 조 (용어의 정의)
① "이용자"라 함은 당 사이트에 접속하여 이 약관에 따라 당 사이트가 제공하는 서비스를 받는 회원 및 비회원을
말합니다.
② "회원"이라 함은 서비스를 이용하기 위하여 당 사이트에 개인정보를 제공하여 아이디(ID)와 비밀번호를 부여
받은 자를 말합니다.
③ "회원 아이디(ID)"라 함은 회원의 식별 및 서비스 이용을 위하여 자신이 선정한 문자 및 숫자의 조합을
말합니다.
④ "비밀번호(패스워드)"라 함은 회원이 자신의 비밀보호를 위하여 선정한 문자 및 숫자의 조합을 말합니다.
제 3 조 (이용약관의 효력 및 변경)
① 이 약관은 당 사이트에 게시하거나 기타의 방법으로 회원에게 공지함으로써 효력이 발생합니다.
② 당 사이트는 이 약관을 개정할 경우에 적용일자 및 개정사유를 명시하여 현행 약관과 함께 당 사이트의
초기화면에 그 적용일자 7일 이전부터 적용일자 전일까지 공지합니다. 다만, 회원에게 불리하게 약관내용을
변경하는 경우에는 최소한 30일 이상의 사전 유예기간을 두고 공지합니다. 이 경우 당 사이트는 개정 전
내용과 개정 후 내용을 명확하게 비교하여 이용자가 알기 쉽도록 표시합니다.
제 4 조(약관 외 준칙)
① 이 약관은 당 사이트가 제공하는 서비스에 관한 이용안내와 함께 적용됩니다.
② 이 약관에 명시되지 아니한 사항은 관계법령의 규정이 적용됩니다.
제 2 장 이용계약의 체결
제 5 조 (이용계약의 성립 등)
① 이용계약은 이용고객이 당 사이트가 정한 약관에 「동의합니다」를 선택하고, 당 사이트가 정한
온라인신청양식을 작성하여 서비스 이용을 신청한 후, 당 사이트가 이를 승낙함으로써 성립합니다.
② 제1항의 승낙은 당 사이트가 제공하는 과학기술정보검색, 맞춤정보, 서지정보 등 다른 서비스의 이용승낙을
포함합니다.
제 6 조 (회원가입)
서비스를 이용하고자 하는 고객은 당 사이트에서 정한 회원가입양식에 개인정보를 기재하여 가입을 하여야 합니다.
제 7 조 (개인정보의 보호 및 사용)
당 사이트는 관계법령이 정하는 바에 따라 회원 등록정보를 포함한 회원의 개인정보를 보호하기 위해 노력합니다. 회원 개인정보의 보호 및 사용에 대해서는 관련법령 및 당 사이트의 개인정보 보호정책이 적용됩니다.
제 8 조 (이용 신청의 승낙과 제한)
① 당 사이트는 제6조의 규정에 의한 이용신청고객에 대하여 서비스 이용을 승낙합니다.
② 당 사이트는 아래사항에 해당하는 경우에 대해서 승낙하지 아니 합니다.
- 이용계약 신청서의 내용을 허위로 기재한 경우
- 기타 규정한 제반사항을 위반하며 신청하는 경우
제 9 조 (회원 ID 부여 및 변경 등)
① 당 사이트는 이용고객에 대하여 약관에 정하는 바에 따라 자신이 선정한 회원 ID를 부여합니다.
② 회원 ID는 원칙적으로 변경이 불가하며 부득이한 사유로 인하여 변경 하고자 하는 경우에는 해당 ID를
해지하고 재가입해야 합니다.
③ 기타 회원 개인정보 관리 및 변경 등에 관한 사항은 서비스별 안내에 정하는 바에 의합니다.
제 3 장 계약 당사자의 의무
제 10 조 (KISTI의 의무)
① 당 사이트는 이용고객이 희망한 서비스 제공 개시일에 특별한 사정이 없는 한 서비스를 이용할 수 있도록
하여야 합니다.
② 당 사이트는 개인정보 보호를 위해 보안시스템을 구축하며 개인정보 보호정책을 공시하고 준수합니다.
③ 당 사이트는 회원으로부터 제기되는 의견이나 불만이 정당하다고 객관적으로 인정될 경우에는 적절한 절차를
거쳐 즉시 처리하여야 합니다. 다만, 즉시 처리가 곤란한 경우는 회원에게 그 사유와 처리일정을 통보하여야
합니다.
제 11 조 (회원의 의무)
① 이용자는 회원가입 신청 또는 회원정보 변경 시 실명으로 모든 사항을 사실에 근거하여 작성하여야 하며,
허위 또는 타인의 정보를 등록할 경우 일체의 권리를 주장할 수 없습니다.
② 당 사이트가 관계법령 및 개인정보 보호정책에 의거하여 그 책임을 지는 경우를 제외하고 회원에게 부여된
ID의 비밀번호 관리소홀, 부정사용에 의하여 발생하는 모든 결과에 대한 책임은 회원에게 있습니다.
③ 회원은 당 사이트 및 제 3자의 지적 재산권을 침해해서는 안 됩니다.
제 4 장 서비스의 이용
제 12 조 (서비스 이용 시간)
① 서비스 이용은 당 사이트의 업무상 또는 기술상 특별한 지장이 없는 한 연중무휴, 1일 24시간 운영을
원칙으로 합니다. 단, 당 사이트는 시스템 정기점검, 증설 및 교체를 위해 당 사이트가 정한 날이나 시간에
서비스를 일시 중단할 수 있으며, 예정되어 있는 작업으로 인한 서비스 일시중단은 당 사이트 홈페이지를
통해 사전에 공지합니다.
② 당 사이트는 서비스를 특정범위로 분할하여 각 범위별로 이용가능시간을 별도로 지정할 수 있습니다. 다만
이 경우 그 내용을 공지합니다.
제 13 조 (홈페이지 저작권)
① NDSL에서 제공하는 모든 저작물의 저작권은 원저작자에게 있으며, KISTI는 복제/배포/전송권을 확보하고
있습니다.
② NDSL에서 제공하는 콘텐츠를 상업적 및 기타 영리목적으로 복제/배포/전송할 경우 사전에 KISTI의 허락을
받아야 합니다.
③ NDSL에서 제공하는 콘텐츠를 보도, 비평, 교육, 연구 등을 위하여 정당한 범위 안에서 공정한 관행에
합치되게 인용할 수 있습니다.
④ NDSL에서 제공하는 콘텐츠를 무단 복제, 전송, 배포 기타 저작권법에 위반되는 방법으로 이용할 경우
저작권법 제136조에 따라 5년 이하의 징역 또는 5천만 원 이하의 벌금에 처해질 수 있습니다.
제 14 조 (유료서비스)
① 당 사이트 및 협력기관이 정한 유료서비스(원문복사 등)는 별도로 정해진 바에 따르며, 변경사항은 시행 전에
당 사이트 홈페이지를 통하여 회원에게 공지합니다.
② 유료서비스를 이용하려는 회원은 정해진 요금체계에 따라 요금을 납부해야 합니다.
제 5 장 계약 해지 및 이용 제한
제 15 조 (계약 해지)
회원이 이용계약을 해지하고자 하는 때에는 [가입해지] 메뉴를 이용해 직접 해지해야 합니다.
제 16 조 (서비스 이용제한)
① 당 사이트는 회원이 서비스 이용내용에 있어서 본 약관 제 11조 내용을 위반하거나, 다음 각 호에 해당하는
경우 서비스 이용을 제한할 수 있습니다.
- 2년 이상 서비스를 이용한 적이 없는 경우
- 기타 정상적인 서비스 운영에 방해가 될 경우
② 상기 이용제한 규정에 따라 서비스를 이용하는 회원에게 서비스 이용에 대하여 별도 공지 없이 서비스 이용의
일시정지, 이용계약 해지 할 수 있습니다.
제 17 조 (전자우편주소 수집 금지)
회원은 전자우편주소 추출기 등을 이용하여 전자우편주소를 수집 또는 제3자에게 제공할 수 없습니다.
제 6 장 손해배상 및 기타사항
제 18 조 (손해배상)
당 사이트는 무료로 제공되는 서비스와 관련하여 회원에게 어떠한 손해가 발생하더라도 당 사이트가 고의 또는 과실로 인한 손해발생을 제외하고는 이에 대하여 책임을 부담하지 아니합니다.
제 19 조 (관할 법원)
서비스 이용으로 발생한 분쟁에 대해 소송이 제기되는 경우 민사 소송법상의 관할 법원에 제기합니다.
[부 칙]
1. (시행일) 이 약관은 2016년 9월 5일부터 적용되며, 종전 약관은 본 약관으로 대체되며, 개정된 약관의 적용일 이전 가입자도 개정된 약관의 적용을 받습니다.