본문 바로가기

WEB_Programming/DWR

DWR: Easy AJAX for JAVA

DWR: Easy AJAX for JAVA

DWR은 RPC라이브러리로 자바 스크립트로 부터 자바 함수를 호출 하거나 자바로 부터 자바 스크립트 함수를 호출할 수 있도록 만들어 진 것이다.


이것역시 많은 사용자 기반을 가지고 있으며, 활동적인 메일링 리스트와 많은 프로젝트에서 사용되었으며 월마트 쇼핑몰 사이트나 아메리카 에어라인의 여행예약 사이트가 대표적이다.


DWR은 자바와 자바스크립트 사이에 어떠한 데이터 구조를 가상으로 마샬링(바이너리 파일 업로드와 다운로드 기능을 포함한다) 하거나, 배치 호출, 예외처리, 향상된 CSRF 보호와 몇몇 자바 서버사이드 기술인 Spring, Guice와 같은 깊은 연관의 통합이 가능하다는 특징을 가지고 있다.


첫번째 다이어 그램은 어떻게 DWR이 몇몇 자바 스크립트에 의해서 선택된 리스트가 바뀌어 질 수 있는지에 대한 방법을 보여준다.


역방향 Ajax (DWR 2.0부터 지원)은 서바에서 수행되는 자바 코드에서 어떤 클라이언트의 페이지에서 보여질지 찾거나, 자바 스크립트로 데이터를 보내고, 수동적으로 생성하거나 Java API를 사용 가능하게 한다. 이러한 자바 스크립트가 생성하는 API는 일반적으로 클라이언트 사이드의 API와 매칭된다.

DWR은 2개의 주요 파트로 나뉘어져 있다.

  • 서버상에서 수행되는 자바 서블릿으로 요청을 처리하고, 브라우저로 응답을 보내는 기능을 담당한다.
  • 브라우저에서 실행되는 자바 스크립트로 요청을 보내고 동적으로 웹페이지를 업데이트 한다.

DWR은 자바클래스에서 동적으로 생성된 자바 스크립트를 기본 베이스로 하고 있다. 몇몇 Ajax의 코드는 브라우저 상에서 일어나는 것과 같은 느낌을 만들어 낸다. 그러나 실제적으로는 서버가 실행되는 코드이며, DWR은 데이터를 앞 뒤로 마샬링 하는 기능을 한다.


이러한 자바에서 자바 스크립트로 원격 메소드의 기능은 DWR 사용자로 하여금 RMI와 SOAP와 같은 매우 편리한 RPC메터니즘 제공하며 이것은 웹 브라우저의 플러그인의 수행이 필요없다는 장점을 준다.


DWR 프로젝트는 자바스크립트 API의 자바 버젼을 서버로 부터 브라우저를 컨트롤 할 수 있도록 개발하는 과정 없이 자동적으로 생성하는 메소드를 개발하는 것이다. 서버사이드 버젼인 TIBCO GI 라이브러리는 현재 알파 버젼이며, DWR 프로젝트는 추가 확장으로 클라이언트 사이드 API를 커버할 기능을 추가하고 있으며 여기에는 Dojo Toolkit이나 JQuery, YUI, Ext와 같은 것들이 있다.


좀더 상세한 정보를 얻으려면 여기를 방문하면 된다. getting started guide and download instructions.

'WEB_Programming > DWR' 카테고리의 다른 글

Resource Forwarding  (0) 2008.06.10
Dynamically Updating Text  (0) 2008.06.10
Getting Started with DWR  (0) 2008.06.10