ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Ajax 란?
    Javascript/Ajax 2008. 8. 25. 16:48
    반응형

    Ajax라는 용어는 Jesse James Garrett가 만든 것으로 “Asynchronous JavaScript + XML의 약어”입니다.


    말 그대로 Ajax는 전혀 새로운 개발언어가 아닙니다. JavaScript, CSS, DOM, XMLHttpRequest, XML등과 같이 현재 우리가 사용하고 있는 기술들을 잘 어울려서 웹애플리케이션을 사용자가 더욱 이용하기 편하게 서버와 비동기 통신을 하는것입니다. 따라서 개발자들에게 알려진 많은 언어가 사라진 반면 Ajax언어는 없어진 많은 언어들처럼 어느날 없어지지는 않을것입니다. 왜냐하면 브라우저만 있으면 Ajax 애플리케이션을 개발할 수 있으며 MS, JAVA진영의 상황이 바뀌더라도 여전히 존재하는 것은 브라우저이기 때문입니다. 또한 Ajax는 W3C표준에 근거한 언어이기 때문입니다.


    예를들면 기존, 아니 우리가 지금까지의 웹은 일반적으로 사용자가 웹브라우저에서 버튼을 클릭하면 서버로 submit이 일어나고 서버는 데이터를 처리, 가공하여 html형식으로 클라이언트의 브라우저로 돌려주는 것이었습니다. 이때 화면의 깜빡임이 일어나고 심지어는 이시간이 너무 길어져 유저의 인내심을 넘어서게 한다고 가정합시다. 이런 일들은 흔히 있는일들이며 본인도 많이 격어 본 일입니다. 그렇지만 Ajax는 이러한 기존의 submit방식을 완전히 깨부수는 새로운 접근방식입니다. 위의 예에서 Ajax를 이용한다면 사용자가 버튼을 클릭 후 기다리는 시간을 없앨수 있습니다. 서버에서 데이터를 처리하는동안 브라우저에서는 다른 서버와는 별개로 사용자에가 또다른 서비스를 해 줄수 있는것입니다. 이것이 바로 Asynchronous 비동기식 방법입니다. 그리고 서버는 데이터를 처리할 시 html방식으로 클라이언트로 전송하는 것이 아니라 필요한 데이터만 가공하여 보내어 집니다. 이 데이터를 받아서 JavaScrpit기술로서 클라이언트 브라우저에서 html을 생성하는것입니다.


     따라서 서버의 부하도 무척 줄어들 반면 처리속도까지 향상되는 이점을 얻을수 있습니다. Ajax의 예를 가장 많이 볼수 있는곳이 구글 사이트 입니다. 여기 사이트를 가 보시면 기존의 사이트와는 다른 어떤 것을 보실 수 있을것입니다.


    우리가 현재 가장 많이 사용하는 MVC모델(Model, View, Control)은 비즈니스 로직을 서버측에 있는Controler에서 모두 처리하지만 Ajax애플리케이션은 Client에 있는 브라우저의 JavaScript에서 모두 처리하는 개념입니다. 따라서 더 나아가서는 jsp, asp페이지가 더 할 것이 없게될지도 모릅니다. Asp, jsp 페이지가 할일이 없다는 것은 또다른 웹 애플리케이션을 예고합니다. 이를 위해 꼭 필요한 것이 JavaScript, DOM, XML입니다.



    DOM(Document Object Model)


    DOM은 HTML과 XML 문서를 연결시켜주는 프로그래밍적 인터페이스이다. DOM은 어떤 XML 문서를 열고 XML 데이터를 처리할 수 있는 방법을 정의하고 있다.

    DOM을 이용하면 개발자는 XML 문서를 만들 수 있고, XML 문서 구조를 내비게이션할 수 있으며, 그 요소들을 추가/수정/삭제할 수 있다.

    DOM의 중요한 목적은 아주 다양한 환경과 애플리케이션에서 사용할 수 있는 표준적인 프로그래밍 인터페이스를 제공하는 것이다.

    W3C DOM은 어떠한 프로그래밍 언어로도 개발될 수 있도록 고안되었다.


    XML [extensible markup language]


    1996년 W3C(World Wide Web Consortium)에서 제안하였다. HTML보다 홈페이지 구축 기능, 검색 기능 등이 향상되었고 클라이언트 시스템의 복잡한 데이터 처리를 쉽게 한다. 또한 인터넷 사용자가 웹에 추가할 내용을 작성, 관리하기에 쉽게 되어 있다.


    이밖에 HTML은 웹 페이지에서 데이터베이스처럼 구조화된 데이터를 지원할 수 없지만 XML은 사용자가 구조화된 데이터베이스를 뜻대로 조작할 수 있다. 구조적으로 XML 문서들은 SGML(standard generalized markup language) 문서 형식을 따르고 있다. XML은 SGML의 부분집합이라고도 할 수 있기 때문에 응용판 또는 축약된 형식의 SGML이라고 볼 수 있다. 1997년부터 마이크로소프트사()와 넷스케이프 커뮤니케이션스사()가 XML을 지원하는 브라우저 개발을 하고 있다.


    반응형
Designed by Tistory.