본문 바로가기

Robotics/Software Tech.

AJAX

1. 웹 응용 프로그램
(1) 장점 (데스크톱 응용 프로그램에 비교해서...)
- 플랫폼에 독립적이다.
- 개발을 위한 방법이 간단하다.

(2) 단점
- 사용자 인터페이스의 종류가 단순하다.
- 응답 성능의 문제점.
  ex) 웹 페이지에 로그인을 시도했을 때, 나타나는 페이지의 새로 고침하는 현상.
       사용자의 응답 처리 시 발생하는 잦은 UI 끊김 현상
   
2.  AJAX?!
(1) AJAX는 뭘까?
- Asynchronous JavaScript And XML
- AJAX = XHTML + CSS + JavaScript + DOM(Document Object Model) + XMLHttpRequest + etc...
- AJAX는 XML 기반의 웹서비스 언어를 사용 & 클라이언트에서는 JavaScript를 이용해 서버에 응답  
  - 브라우저와 웹서버 간의 데이터량 감소
     - 웹 응용프로그램에서 보다 부드러운 응답 성능과 느낌을 유지.
- 별도의 프로그램을 설치할 필요성이 없음 <-> ActiveX Control, Flash, etc...
- AJAX의 구조

<제시 제임스 가렛이 비교한 이전의 웹응용 모델과 Ajax 웹응용 모델의 차이>


3. AJAX가 왜 혁신적인가?!
- 비동기식 자바스크립트(Asynchronous JavaScript)의 강력함
  - 서버의 응답을 기다리지 않고 작업이 가능하므로 대기 시간이 줄어든다. (고로, 서버의 부담도 준다.)
  - 동기 방식은 사용자가 아이콘을 누르면 서버에 일일이 결과를 요청하고, 서버의 결과를 받아 받아 브라우저 화면에 보여주었다. (즉, JavaScript와 Browser는 전달자 역할만 했다.)
  - Ajax를 이용하면 일일이 서버에 묻지 않고, Browser가 스스로 생각하면서 작업을 한다. (즉, Browser의 JavaScript는 부지런하게 사용자가 요청한 일을 하고, 서버와의 통신은 백그라운드로 처리, 그리고 JavaScript로 xmlhttp를 통해 XML 자료를 관리하기 때문에 페이지 재로딩이 불필요함.)


4. AJAX를 이용해 구현된 웹사이트의 예
- GMail(http://www.gmail.com)
  - Google에서 구현함.
  - 처음 편지를 읽어올 때만 Loading하고, 그 이후에는 JavaScript 차원에서 처리함.
  - 편지나 그림, 글씨 등을 감추거나 보여줄 때 일단 JavaScript가 재빠르게 알아서 처리함. 따라서 로그인 후, 매우 빠른 속도를 보임.

- 구글지도(http://maps.google.com)
  - 새로운 방식의 웹 접근이 가능함을 보여주는 예.
  - 마우스를 따라 지도가 움직임.
  - 구글지도의 진정한 힘(AJAX의 진정한 힘)
     - HTML 문서 안에서 이루어짐.
     - 별도의 기능을 갖춘 새창이 불필요.
     - 별도의 프로그램 다운로드 불필요

- 구글의 개인화(http://www.google.co.kr/ig)
  - 이미 출력된 문서의 재배치가 화면 이동 없이 가능함.

- AJAX를 이용해 구현한 쇼핑몰(http://panic.com/goods/)
  - 시간 단축, 실제로 쇼핑하는 듯한 기분을 들게하는 인터페이스.

5. RIA(Rich Internet Application)
- HTML만으로 구현하기 어려운 복잡하고 정교한 작업을 구현가능케 함.
- ex) ActiveX Control, Flash, Java Applet, etc...
- RIA의 약화
  - ActiveX : 강력하지만 Windows와 Explorer에서만 동작하는 폐쇄성.
  - Flash: 덩치가 크고 무거움.
  - Java Applet: JVM(Java Virtual Machine)을 설치해야 함.
  - 결론적으로 표준화가 어려움.
  - AJAX는 XML을 이용하기 때문에 기기나 Browser에 구애받지 않고, 웹표준을 준수하기 쉬움.

6. 다음 세미나 주제
- ASP.NET Atlas는 무엇인가?!

Reference:
(1) http://www.dal.co.kr/chair/semanticweb/sw.html
(2) Karl Seguin - ASP.NET Spiced: AJAX 

'Robotics > Software Tech.' 카테고리의 다른 글

Flex 2.0 관련 글  (0) 2008.01.05
유니코드(unicode)와 아스키코드(asciicode)  (0) 2008.01.04
IOCP 사용하기  (0) 2008.01.01
[MFC]TRACE 파일 저장  (0) 2008.01.01
PUMA Inverse kinematics C 프로그램 소스  (0) 2007.12.26