메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

ASP 설계, 무엇이 문제인가?

한빛미디어

|

2001-07-09

|

by HANBIT

9,392

by 스콧 미첼 얼마 전 친구로부터 전화가 왔다. 그 친구는 현재 데이터 중심의 웹사이트를 구축 중인데 ASP 개발이 너무 단순하며 비효율적이라는 내용이었다. 실제로 ASP는 많은 개발자에게 급속도로 대중화되었지만 코드의 질은 성장하지 못했다. 왜 그런가? 그렇다면 어떻게 해야 하는가? ASP 설계의 문제점 필자는 컨설팅 경험을 통해서, 많은 개발자들이 스크립트 설계 작업을 소홀히 한다는 사실을 발견했다. 일단, 웹사이트의 겉보기와 처리해야 할 작업이 파악되면 개발자는 바로 코딩을 시작하는 경향이 있다. 이런 접근은 비효율적이며 에러가 발생하기 쉽다. 스크립트를 코딩하기 전에 ASP 설계에 대해 아무 생각도 하지 않는다면, 결국 개발자는 각각의 유사한 스크립트를 반복적으로 만들어내는 쳇바퀴를 돌 수 밖에 없다. 예를 들어, 데이터베이스를 수정해야 하는 4개의 ASP 스크립트가 있다고 가정하자. 이 4개의 스크립트는 완전히 똑같지는 않아도 기능에는 많은 유사점이 있을 것이다. 하나의 일반화된 페이지로 가능한 일을, 왜 개발자는 각 페이지를 따로 만들면서 시간을 낭비하는가? 프로그램에서 여러분이 작성한 코드의 분량과 버그의 개수에는 직접적인 상호 관련성이 있다. 개발을 지연시키는 오탈자와 사소한 에러는 실제로 작성한 원시 소스 코드의 분량에 비례해서 발생한다. 4개의 스크립트가 처리했던 일을 대신 처리하는 다른 스크립트를 작성해서 ASP 스크립트의 수를 줄인다면 ASP 응용 프로그램의 버그도 줄일 수 있다. 이러한 방식으로 ASP 스크립트를 설계한다면, 현재의 프로젝트에서 뿐만 아니라 앞으로 수행하게 될 프로젝트에서도 시간과 버그를 줄일 수 있다. 일단, 특정 작업을 처리하는 견고한 모듈을 작성해놓으면 미래의 프로젝트에서 똑같은 작업을 처리해야 할 때 단지 기존의 코드를 재사용하면 된다. 조급하게 설계하는 기법으로는 앞을 내다보지 못한 채 동일한 코드를 계속 작성할 수 밖에 없다. ASP 설계 기법이 발전하지 못한 이유 ASP 설계 단계에 많은 시간을 투자했을 때 얻을 수 있는 이점에도 불구하고, 여전히 많은 개발자가 ASP 페이지를 조급하게 설계하는 전통을 답습하고 있다. 이렇게, 논리적으로도 맞는 ASP 설계 단계를 따르지 않는 것은 다음 세 가지 이유 때문이다.
  • 비즈니스는 24시간 활동하는 인터넷 시각에 맞춰 처리된다. 따라서 비즈니스에서 경쟁력을 가지기 위해서는 전통적인 소프트웨어 개발에서 주로 사용되던 시간이 많이 소요되는 개발 단계를 웹 응용 프로그램에서는 서둘러서 처리하거나 생략하게 된다.
  • ASP는 스크립트 언어로 작성된다. 스크립트 언어는 작고 독립적인 프로젝트를 프로그래밍 할 때 주로 사용되며, 방대하고 복잡한 프로젝트에는 스크립트 언어를 사용하지 않는 경향이 있다. 그러므로 스크립트를 사용하는 경우에 설계에 많은 시간을 투자하는 것은 이치에 맞지 않다고 보는 것이다.
  • ASP는 사용하기가 쉽고 강력하며 동적인 웹 사이트를 빠른 시간에 구축할 수 있다. 물론 이것이 웹 사이트를 개발할 때 이점이 되기는 하지만 그 반대일 수도 있다. ASP로 웹 사이트 개발할 때의 편리함과 신속한 웹 사이트 구축에 대한 개발자들의 기대 때문에, 시간을 많이 투자하는 설계 과정은 제자리를 찾지 못하고 있다.
ASP 설계 기법을 향상시키기 위한 방법 ASP 설계 기법이 발전하지 못한 이유는 간단하게 위의 세 가지 요인으로 분류할 수 있다. 그렇다면 우리는 무엇을 해야할까?
  ASP 설계하기
ASP 설계하기
한마디로 소스 코드를 모듈화하고 복잡한 작업을 캡슐화하면 끝이다. ASP에서는 모듈화와 캡슐화를 위해서 다음과 같은 기법을 사용할 수 있다.
  • SSI(Server-Side Include)의 사용
  • VBScript 클래스의 사용
  • Server.Execute와 Server.Transfer 메소드 호출
SSI는 모듈화된 코드를 만드는 가장 일반적인 방법 중의 하나로 ASP 코드를 다른 ASP 페이지 안에 포함시킬 때 사용된다. 따라서 자주 사용되는 함수나 클래스를 별도의 ASP 페이지로 만들 수 있어서 모듈화를 지원한다. VBScript 5.0에서부터는 클래스를 사용할 수 있게 되었다. 클래스는 객체지향적인 접근 기법을 제공하여 ASP 페이지의 재사용성을 크게 확장시킨다. Server.Execute는 한 페이지에서 다른 페이지로 제어를 넘겨주기 때문에 코드 모듈화를 지원하고, Server.Transfer는 한 페이지에서 다른 페이지로의 자연스러운 이동 방법을 제공하여 ASP 설계를 향상시킨다. 위에 설명한 모든 내용이 『ASP 설계하기』(Designing Active Server Pages, 2000.9, O"reilly)라는 적은 분량의 책 한 권에 간결하게 설명되어 있다. 본문에 포함되어 있는 다양한 예제로 부디 여러분이 ASP 설계 기법론에 대한 필자의 생각을 즐겁게 이해했으면 좋겠다.
TAG :
댓글 입력
자료실

최근 본 상품0