ASP 설계하기
사이트의 웹 페이지 수가 증가하여 응용 프로그램으로 확장됨에 따라 페이지의 유지보수나 갱신 작업은 훨씬 어려워지고 버그를 찾아 수정하는 작업 역시 복잡하고 번거로운 작업이 된다. 따라서 기존의 설계 기법과는 다른 효율적인 방법론이 절실히 요구된다. 이 책은 스크립트에서 공통적인 기능을 찾아보고 웹 페이지의 프리젠테이션 요소를 스크립트로부터 분리함으로써 ASP 개발자에게 코드를 재사용하는 방법을 보여준다.
- 저자 : 스콧 미첼
- 번역 : 신경아 , 김진홍
- 출간 : 2001-06-25
왜 이 책을 보아야 하는가?
최근 몇 년간 IT 산업의 급격한 성장과 더불어 특히 두드러진 것이 인터넷 관련 분야이다. 그 성장의 속도와 양에는 혁명이라는 단어를 사용해도 무방할 것이다. 웹의 여러 장점 중 하나인 개발에 대한 부담이 상대적으로 낮다는 점에서 우후죽순처럼 웹사이트가 개발되었고, 또 이를 개발하는 데 필요한 도구나 언어의 성장이 빠르게 이루어 졌다. 그러나 개발 기법의 발전은 상대적으로 크게 뒤쳐져 있는 게 사실이다.
이는 웹사이트 개발에 요구되는 시간은 점점 줄어들고 비용은 낮아지고 있으며, 급격한 수요만큼 폭증한 개발 회사들과 인력으로 경쟁이 더욱 심화되어, 충분한 개발 단계를 거칠 시간과 환경이 갖추어지지 못했기 때문이다. 게다가 실제 개발자들 조차 웹 프로그래밍 언어를 간단한 스크립트 정도로 가볍게 여기는 경향이 있다. 여러 환경적인 문제가 있지만 그렇다고 해서 다른 개발 환경에서처럼 충분한 시간과 비용 등을 요구할 수만은 없다. 그래서 이런 문제를 해결하기 위해서는 기능 구현 측면보다는 효율적인 웹 프로그래밍 기법을 고려하지 않을 수 없다.
그에 대한 요구가 낮았던 만큼 적합한 책을 찾기 힘들었는데, 널리 쓰이고 있는 웹 개발 언어 중 하나인 ASP에 관한 『ASP 설계하기(Designing Active Server Pages)』란 책이 그 해결책을 제시해 줄 수 있으리라 생각된다. 이 서적의 목차를 살펴보자.
1장. 개요
응용 프로그램 설계
ASP 설계의 문제점
ASP 설계 기법이 발전하지 못한 이유
ASP 설계 기법을 향상시키기 위한 방법
관련 사이트
2장. 서버측 스크립트 언어 선택하기
비주얼베이직 스크립트의 대중성
스크립트 언어 명시하기
JScript로 ASP 페이지 만들기
PerlScript로 ASP 페이지 만들기
파이썬으로 ASP 페이지 만들기
관련 사이트
3장. 예외 처리
관련 용어
예외 감지하기
예외에 대한 대응
사용자 정의 오류 페이지의 작성
관련 사이트
4장. 정규 표현식, 클래스, 동적 연산과 실행
RegExp 객체 사용
비주얼베이직 스크립트 객체지향 프로그래밍
동적 연산과 실행
관련 사이트
5장. 폼 재사용
코드 재사용의 중요성
폼 사용 입문
폼 유효성 검사
재사용 가능한 서버측 폼 유효성 검사 루틴 만들기
재사용 가능한 폼 생성 루틴을 개발하기
재사용의 실용성
관련 사이트
6장. 데이터베이스 재사용
데이터베이스 사용법
재사용 가능한 관리 페이지 생성
재사용 가능한 관리 페이지 작성하기
관련 사이트
7장. 컴포넌트 사용
COM 개요
마이크로소프트 COM 컴포넌트
마이크로소프트의 COM 컴포넌트 확장하기
컴포넌트 구축
관련 사이트
8장. 서드 파티 컴포넌트로 웹 사이트 확장하기
ASPExec로 웹 서버의 도스와 윈도우 응용 프로그램 실행시키기
사용자의 브라우저에 대한 자세한 정보 얻기
다른 웹 서버로부터 정보를 알아내기
정보 암호화
브라우저에서 웹 서버로 파일 업로드하기
왜 똑같은 실수를 범하는가?
관련 사이트
위와 같은 내용으로 구성된 이 서적의 강점을 세세히 얘기해보면 다음과 같다.
ASP로 개발할 때 쉽게 간과했던 문제에 대한 날카로운 지적
ASP라는 제한된 범위이고 깊이 있는 소프트웨어 개발 방법론적인 접근이라고는 할 수 없지만, 개발 여건의 제약이나, CASE 툴(Computer Aided Software Engineering Tool)에 모두 적용하기 힘든 웹의 특성 등을 고려할 때 지나치게 원론적인 접근보다는 실제 사용되는 도구를 가지고 중요하지만 쉽게 간과해 버리는 문제점을 지적하고, 프로그램의 재사용성을 향상시키는 기법을 제시하면서 동시에 여러 개발 방법을 제시하고 있다.
구조적인 로직 설계를 통해 프로그램의 재사용성을 향상시키는 방법 제시
특히 ASP 3.0에서 추가된 Server 개체의 Excute와 Transfer 메소드에 대한 내용은 가장 유용하게 쓰이고 있는 SSI(Server Side Include)의 큰 문제점인 동적 포함에 대한 해결책을 제시하고 각각의 특성을 잘 비교하여, 로직 설계의 부분이나 코드의 재사용성, 그리고 프로그램 코드와 디자인 코드와의 분리 등의 페이지 설계에 큰 도움을 줄 것이다.
익숙하지 않은 다른 스크립트 언어에 대한 길잡이 역할
시스템적인 제약으로 비주얼 베이식(Visual Basic), VBScript 등에 익숙하지 않은 개발자들에게 Jscript, 펄(Perl), 파이썬(Pyton) 등의 스크립트 코드를 사용할 수 있는 방법을 제시해 주고 있어, 누구나 쉽게 접근이 가능한 ASP의 장점을 또 한번 느끼게 해 주었다.
ASP 기능의 확장으로 중대형 사이트 개발 가능
기존의 책에서 볼 수 없었던 ASP를 통한 데이터베이스 접근 방법과 다양한 클래스에 대한 내용을 통해 재사용과 일관성이란 프로그래밍 기법을 익히게 함과 동시에 컴포넌트를 사용하여 웹사이트를 확대할 수 있는 내용은 ASP라는 스크립트로 중대형 웹사이트 개발이 가능하도록 날개를 달아 줄 수 있을 것이다.
예외 처리에 대한 명쾌한 해결책 제시
웹사이트는 다양한 접근 경로로 많은 접속자 수, 비접속성(접속성의 특성을 일부 가지고 있지만) 등으로 인해 예기치 못한 에러가 발생할 수 있는 빈도 수가 상대적으로 높음에도 불구하고, 전자상거래나 인증이 필요치 않는 사이트의 경우 에러를 임의대로 처리하거나 혹은 그것조차도 무시하는 사례를 간혹 발견하게 된다. 이는 에러를 처리하는 것이 쉽지 않을 것이라는 막연한 부담감과 웹사이트의 일부 에러에 대해(TimeOut이나 메뉴상의 UI 관련 (자바)스크립트 에러) 너무 가볍게 생각하고 있기 때문인지도 모른다. 이런 예외 처리에 관한 내용에 쉽고 체계적으로 접근하여 운영상에서 필요한 문제점을 기술하고, 해결 방안을 제시하여, 웹사이트의 오류에 대한 원활한 처리가 가능하도록 해줄 것이다.
누가 봐야 하는가?
이 책에서는 각 단원의 주제에 대해 프로그램 로직의 흐름을 상세히 기술하고, Jscript와 비교를 통해 여러 관점에서 쉽게 접근이 가능하게 함으로, 논리적인 내용에서 오는 어려움과 난해함을 줄여 누구나 쉽게 이해하도록 세심한 배려를 아끼지 않았다
ASP의 입문자들에게는 꼭 알아야 되는 기본 지식을 제공하여, 많은 경험과 노력을 통해서 어렵게 얻게 되는 지식들을 빠르게 습득할 수 있게 할 것이고, 중급 개발자에게는 그 동안 쉽게 간과해온 중요한 문제를 다시금 상기시키고 해결하도록 하는 대안을 제시하면서, 쉽게 접할 수 없었던 고급 기법을 알려준다. 이 책에는 실무 작업에 기초한 작업 코드가 포함되어 있지 않지만, 안정적이고 구조적인 프로그램을 빠르게 개발할 수 있도록 개발 효율성을 높이는 데는 참고 도서로서 손색이 없을 것이다.
이원재(NeoArti@hotmail.com)씨는 현재 nTech9에 근무하고 있는 전문 프로그래머로 부동산 중계 C/S 프로그램 제작, 엠파스 결혼정보 서비스 개발, SPOS site 시스템 설계, iMBC.com 결혼서비스 개발, 대한치과기공사협회 사이트 개발 등의 화려한 경력을 가지고 있다.