Programming/WEB2008. 12. 3. 15:17

ASP.NET AJAX란 Microsoft에서 만든 AJAX 프레임워크로서 ASP.NET 기반의 AJAX 프로그래밍을 쉽게 구현하도록 지원한다. ASP.NET AJAX는 서버로 페이지 업데이트를 위한 라운드 트립의 요청 없이, 브라우저에서 웹 응용프로그램의 페이지의 의미 있는 중요한 부분만 실행할 수 있도록 하는데 그 목적이 있다. 이는 AJAX가 지향하는 부분과 동일하며, ASP.NET을 이용하여 이를 쉽게 적용하고 결과물을 얻을 수 있는 것이다.

ASP.NET AJAX 개발 기술은 ASP.NET 2.0 서버 기반의 개발 플랫폼의 ECMAScript(Javascript) 클라이언트 라이브러리로 통합되어 있다. ASP.NET AJAX는 클라이언트 스크립트에서 웹 기반 응용 프로그램을 호출하고자 하는 AJAX의 전략을 기본으로 하여 만들어진 프레임워크로 볼 수 있는 것이다.

왜 ASP.NET AJAX를 사용하는가?
ASP.NET AJAX를 이용한 개발은 전형적인 웹 응용 프로그램에 가지고 있는 한계를 극복한 AJAX 스타일의 새로운 웹 응용 프로그램을 개발할 수 있도록 지원한다. AJAX 스타일의 응용 프로그램은 다음의 장점을 가진다.
 
       ● 향상된 성능
       ● 사용자 인터페이스의 확대
       ● 웹 페이지의 부분 업데이트
       ● 비동기 포스트백
       ● 브라우저 독립성

ASP.NET AJAX 목표
ASP.NET AJAX의 목표는 응용 프로그램 제작에 있어 다양한 선택을 주기 위함이 가장 크다. ASP.NET AJAX를 사용하는 것으로만 개발자들은 ASP.NET AJAX 응용 프로그램을 제작하는데 도움을 받을 수 있고, 서버상의 ASP.NET의 특징과 ASP.NET AJAX 클라이언트 스크립트의 특징이 통합된 모델을 이용하여 개발할 수 있게 되는 것이다.


■ 클라이언트 스크립트를 이용하여 AJAX 스타일 응용 프로그램 작성
AJAX 기반의 개발은 생각보다 상당히 복잡하다. 자바스크립트가 기본으로 이용되며, 브라우저 별로 각기 다른 자바스크립트를 모두 고려하여 코드를 만들어야 하기 때문이다. 그러나 ASP.NET AJAX를 이용하면 이런 복잡한 AJAX 구현에 다음과 같은 도움을 얻을 수 있다.
 
● 일관성. 자바스크립트에서의 개발을 위한 객체지향 기반의 API 집합
● 클라이언트 스크립트를 위한 타입 제어
● 자동 브라우저 안정성. 여러 브라우저에서 실행되지만 브라우저에 따른 추가 작업이 필요 없음
● 리치 UI 특징을 지원하는 클라이언트 스크립트 API와 컴포넌트를 사용. AJAX 스타일의 응용프로그램에서 일반적으로 요구되는 확장된 코드로 작성된 여러 가지 컴포넌트를 쉽게 이용할 수 있다. 예를 들어, 드래그 앤 드롭, 자동 채우기와 같은 기능들이 있다.
● ASP.NET 서버 컨트롤을 위한 선언적인 문법과 유사한 클라이언트 개발을 위한 선언적인 스크립트 모델을 사용. 이를 사용하면 복잡한 코딩작업을 줄이거나 삭제할 수 있다.
 
ASP.NET에 통합되는 클라이언트 스크립트
ASP.NET AJAX의 또 다른 목적은 ASP.NET 서버 사이드 개발과 함께 클라이언트 스크립팅을 통합하는데 있다. 대부분의 개발이 클라이언트 또는 서버 중 하나에 집중되어 있는데 반해 ASP.NET AJAX는 개발자들이 사용하기 편한 방식을 이용하여 응용 프로그램을 제어할 수 있도록 클라이언트/서버 모두를 위한 툴을 모두 지원한다. ASP.NET은 ASP.NET AJAX 응용 프로그램을 위해 다음의 서버 사이드 특징을 지원한다.
 
● 프로파일 서비스처럼 ASP.NET AJAX 응용 프로그램의 통합에 유용한 웹 서비스
● ASP.NET AJAX 응용 프로그램에 필요한 클라이언트 스크립트를 출력해주는 ASP.NET 웹 서버 컨트롤. 이 컨트롤들은 ASP.NET AJAX 클라이언트 스크립트 API와 컴포넌트를 학습을 줄여주는데 도움을 준다.
● Visual Studio와 같은 툴과의 통합 지원. 디자인 타임 개발 환경, 디버깅, 구문 실행, 관리 및 생산성 향상을 위한 특징들을 제공한다.
 
ASP.NET AJAX 아키텍처
ASP.NET AJAX 응용 프로그램은 웹 서버상의 서비스 또는 응용 프로그램을 호출하는 ASP.NET AJAX 클라이언트 스크립트 라이브러리를 사용하는 웹 응용 프로그램으로 이루어진다. 그러나 보다 향상된 개발 모델을 위해서는 ASP.NET AJAX 서버 컴포넌트도 사용할 수 있다. 그러므로 ASP.NET AJAX는 클라이언트 스크립트 라이브러리와 서버 컴포넌트의 양쪽 모두를 포함한 아키텍처를 가진다고 이야기할 수 있다.

■  ASP.NET AJAX 클라이언트 컴포넌트
ASP.NET AJAX 클라이언트 스크립트 라이브러리는 객체지향 개발을 위한 특징을 제공하는 여러 가지 자바스크립트(.js) 파일로 구성된다. 이들은 이전의 스크립팅 개발 환경에서는 지원되지 않았던 모델로, ASP.NET AJAX에서 고유한 기능을 지원하기 위해 클라이언트로 제공되는 자바스크립트 파일들의 집합으로 이해할 수 있다. 다음의 몇 가지 기능들이 이들 스크립트에서 제공되는 것이다.

● 브라우저 호환성. 여러분들이 개발하는 ASP.NET AJAX 스크립트를 위한 대부분의 브라우저에서 동일 코드를 이용하여 동작하도록 브라우저 호환성을 지원.
● 클래스, 네임스페이스, 이벤트 핸들링, 상속, 데이터 타입, 직렬화와 같은 자바스크립트를 확장할 수 있는 코어 서비스들.
● 스트링 빌더(String Builder), 에러 핸들링과 같은 컴포넌트를 가지는 ASP.NET AJAX 기반의 클래스 라이브러리.
● 웹 기반 서비스와 응용 프로그램과 통신을 제어하고 비동기 원격 메서드 호출을 관리하는 네트워크 레이어.
● 실행, ASP.NET AJAX 선언적인 문법, UI 컴포넌트, 데이터 바인딩과 같은 ASP.NET AJAX 클라이언트 UI 레이어.
● 클라이언트 개발을 위한 ASP.NET AJAX 특정 컨트롤을 작성할 수 있는 컨트롤 레이어. 이들 컨트롤들은 데이터 바운드, 스크립트, ASP.NET AJAX 메서드에 바인딩 될 수 있다. 자동 채움 텍스트 박스, 일반적인 폼 컨트롤, 데이터 바운드 listview 컨트롤, 네비게이션 컨트롤들이 이에 해당한다.

■  ASP.NET AJAX 서버 컴포넌트
ASP.NET AJAX 서버 컴포넌트는 ASP.NET 웹 서비스와 ASP.NET 서버 컨트롤로 이루어진다. 모든 ASP.NET의 특징은 ASP.NET AJAX 응용 프로그램에서 사용 가능하다. ASP.NET AJAX 또한 웹 서비스와 서버 컨트롤의 ASP.NET에서의 컴포넌트를 포함한다. 이들 컴포넌트들은 ASP.NET AJAX 클라이언트 스크립트 라이브러리와 결합하여 동작하게 된다.

ASP.NET 또한 ASP.NET 서버 컨트롤과 유사하지만 ASP.NET AJAX 클라이언트 스크립트를 출력해주는 ASP.NET AJAX 서버 컨트롤을 포함한다. ASP.NET AJAX 서버 컨트롤은 서버 기반에서 이들을 개발하고자 할 때 ASP.NET AJAX 클라이언트 스크립트의 프로세스를 간단하게 해준다. 더불어 ASP.NET AJAX는 버튼, 라벨, 옵션, 텍스트 박스, 체크 박스, 하이퍼링크, 유효성 검사 컨트롤과 같은 이미 존재하는 ASP.NET 서버 컨트롤들에 상응하는 서버 컨트롤들을 포함한다. 이들 컨트롤들은 Visual Studio로 통합될 것이며, 디자이너 모드를 통해 표준 ASP.NET 컨트롤들과 같이 사용할 수 있게 될 것이다.

[출처] ASP.NET AJAX란|작성자 장훈

Posted by skensita