Hello, ASP.NET 예제를 통한 웹 폼 분석 3 - 웹 폼의 특징

웹 폼 소개
웹 폼은 쉽게 이야기해서 프로그래밍 가능한 웹 페이지를 구현하기 위한 마이크로소프트의 모든 기술에 대한 총칭입니다. 웹 폼은 완벽한 객체 지향적 특징과 함께 VS.NET 2003의 신속하고 강력한 응용 프로그램 개발 인프라와의 통합을 이루어 개발자에게 빠른 개발 생산성과 강력하고 확장 가능한 웹 응용 프로그램을 구현할 수 있는 프로그래밍 모델을 제공해 줍니다.

 

웹 폼의 특징
웹 폼은 다음과 같은 특징들을 제공함으로써 개발자에게 보다 강력하고 편안한 차세대 웹 응용 프로그램 개발 환경을 제공합니다.

 

일관된 객체 모델
웹 폼 페이지는 .NET 프레임워크의 웹 응용 프로그램 개발 프레임워크인 ASP.NET 페이지 프레임워크가 제공하는 직관적인 객체 모델을 통해 마치 VB나 VC 등 기타 윈도 RAD 윈도 응용 프로그램을 만드는 것과 유사한 방법으로 웹 페이지를 구현할 수 있는 빠르고 효과적인 방법을 제공합니다.

 

다양한 웹 서버 컨트롤들을 웹 폼 페이지에 배치하고 적절한 이벤트에 서버가 응답할 수 있도록 페이지를 구성하는 것은 ASP.NET 웹 응용 프로그래밍에서는 이제 매우 일반적인 작업이 되었으며, 웹 폼을 포함한 각 서버 컨트롤들은 클라이언트를 인식하여 자동으로 적절한 HTML 코드로 변환되므로 개발자는 자신의 프로그램 로직을 더욱 견고하게 구현하는데 더 많은 시간을 할애할 수 있습니다.

 

이벤트 기반 프로그래밍 모델
앞서 예제에서도 살펴보았듯이 ASP.NET에는 이제 이벤트라는 강력하고도 편리한 개념이 도입되었습니다. 이벤트 기반 프로그래밍 모델은 VB나 VC++, 델파이 등의 각종 Win32용 RAD개발 도구들을 통해 이미 익숙한 프로그래밍 모델로 자리잡았으며 이제는 웹 응용 프로그램에도 이 같은 모델을 적용함으로써 기존의 Win32 개발자에게는 친숙하고 웹 개발자에게는 새롭고 편리한 새로운 웹 응용 프로그램 개발 패러다임을 제공합니다.

 

상태관리의 강화
상태란 현재 페이지에서 각각의 요소들이 가지고 있는 값 또는 특성을 의미합니다. 기존의 ASP나 PHP 등의 웹 응용 프로그램 개발 언어에서는 페이지 요소의 상태를 유지하는 것은 전적으로 개발자가 담당해야 하는 문제였지만 ASP.NET에서는 ViewState라는 상태 관리 기법을 도입함으로써 페이지 요소의 상태를 저장하고 유지할 수 있는 새로운 방법을 제시하고 있습니다.

물론 상태 관리가 필요치 않은 페이지에 대해서는 상태 관리 기능을 꺼둘 수도 있습니다.

 

클라이언트 독립성
ASP.NET의 웹 폼과 웹 서버 컨트롤들은 웹 폼 페이지를 요청한 클라이언트를 자동으로 인식하여 그에 따른 적절한 HTML 코드로 자동으로 변환됩니다. 예를 들어 인터넷 익스플로러 5 또는 그 상위 버전과 같은 DHTML (Dynamic HTML)을 지원하는 클라이언트에 대해서는 DHTML코드로, 그렇지 않은 넷스케이스나 오페라 등의 브라우저에 대해서는 일반적인 HTML코드로 자동으로 변환되어 클라이언트에 나타납니다.

 

또한 .NET 프레임워크 1.1에 포함된 모바일 웹 폼 페이지 및 모바일 웹 서버 컨트롤들은 PDA나 휴대폰 등의 클라이언트에 대해 WML(Wireless Markup Language)이나 mHTML 등의 코드로 변환되므로 개발자는 클라이언트의 종류를 전혀 고려하지 않고도 쉽게 원하는 페이지를 구현할 수 있습니다.

 

.NET 프레임워크의 지원
ASP.NET은 이제 웹 응용 프로그램 개발 언어가 아니라 웹 응용 프로그램 개발 플랫폼으로서의 모습을 보여주고 있습니다. 이 ASP.NET 기술은 .NET 프레임워크를 바탕으로 구현되었으며, 따라서 모든 ASP.NET 웹 응용 프로그램에서 .NET 프레임워크의 모든 기술을 사용할 수 있습니다.

 

또한 .NET 프레임워크가 가지는 언어 통합 특성은 ASP.NET 웹 응용 프로그램에도 그대로 적용되어 여러분은 웹 폼 페이지를 여러분에게 익숙한 .NET 지원 언어를 이용해 구현할 수 있습니다.

 

코드 비하인드 기술
개인적으로 필자가 가장 마음에 들어 하는 ASP.NET의 또 다른 특징인 코드 비하인드 기술은 쉽게 말해 페이지의 UI를 담당하는 HTML코드와 페이지의 기능을 구현하는 서버 스크립트를 서로 다른 파일에 분리하여 작성하게 해 주는 획기적인 기술입니다.

 

기존의 웹 응용 프로그램 개발 언어에서는 HTML코드와 서버 스크립트가 혼재하여 페이지의 유지 및 보수 작업이 상당히 까다로웠던 것과는 달리 ASP.NET 웹 폼 페이지에 코드 비하인드 기술을 적용하면 HTML 코드의 유지 보수와 서버 스크립트 코드의 유지 보수를 개별적으로 진행할 수 있음은 물론 개발자가 코드를 식별하는데도 상당히 편리합니다.

 

향상된 성능과 안정성
처음 ASP나 PHP 등의 웹 응용 프로그램 개발 언어가 등장할 당시까지만 해도 하나의 사이트는 대부분 하나의 웹 서버에서 동작하는 규모였습니다. 그러나 고속 인터넷의 확산으로 인터넷이 인류의 생활에 빠르게 뿌리 내림에 따라 사용자는 언제 어디서든 접속할 수 있는 웹을 이용해 보다 복잡하고 다양한 작업들을 할 수 있기를 요구하게 되었으며, 이러한 수요는 웹 사이트의 규모를 이전에는 상상할 수 없을 정도의 크기로 부풀려놓았습니다.

 

사실 현재에 이르러서는 한 대의 웹 서버에서 동작하는 웹 사이트를 찾는 것은 낙타가 바늘 구멍에 들어가는 것보다 어렵다고 해도 과언이 아닐 정도가 되었습니다. 이렇게 여러 대의 웹 서버가 사이트를 서비스 하도록 구성된 것을 웹 팜 (Web Farm) 또는 웹 가든 (Web Garden)이라고 표현하는데 사실 기존의 웹 응용 프로그램 개발 언어들은 웹 팜이나 웹 가든을 지원할 수 있는 기능이 제공되지 않았습니다.

 

따라서 개발자들은 쿠키라는 다소 원시적이고 위험한 방법을 이용해 서버 간의 상태 정보를 공유해야만 했었지요. 그러나 ASP.NET의 세션은 이제 웹 팜이나 웹 가든을 지원함으로써 서버 간의 상태 정보를 손쉽게 공유할 수 있으며, 서버 간 상태 정보를 특정 웹 서버나 마이크로소프트 SQL 서버가 설치된 데이터베이스 서버에 저장할 수도 있습니다.

 

또한 쓰레기 수집(Garbage Collection) 기능의 도입으로 개발자를 대신해 서버 리소스를 자동적으로 관리해 주며 응용 프로그램에서 발생할 수 있는 각종 예외 상황 및 성능 저하 현상을 효율적으로 개선하여 보다 향상된 성능과 안정성을 보장합니다.

 

XML 웹 서비스의 지원
최근 각광 받는 XML 웹 서비스는 분산 환경을 위해 새롭게 제시된 프로그래밍 모델로 마이크로소프트를 비롯하여 썬 마이크로시스템즈나 IBM 등 굴지의 기업들이 앞다투어 연구하고 개발하는 분야입니다.

 

ASP.NET의 웹 서비스는 XML이나 HTTP (Hypertext Transfer Protocol), SOAP (Simple Object Access Protocol) 등 표준 인터넷 프로토콜을 통해 서버나 클라이언트 사이의 데이터 및 자료의 교환은 물론 소프트웨어 컴포넌트로의 접근을 가능케 합니다.

 

또한 .NET 리모팅이라 불리는 분산 프로그래밍 기술은 XML 웹 서비스와 더불어 .NET이 분산 환경에서 최고의 성능을 발휘할 수 있는 강력한 도우미로서의 역할을 하고 있습니다.

원본 - http://www.bullog.net/Web/Columns/ReadColumn.aspx?ca=1&id=632199457897115719


트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://nom3203.egloos.com/tb/1865887 [도움말]

덧글

덧글 입력 영역