ajax로 검색한 결과 :: 시소커뮤니티[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

회원가입 I 비밀번호 찾기


SSISO Community검색
SSISO Community메뉴
[카페목록보기]
[블로그등록하기]  
[블로그리스트]  
SSISO Community카페
블로그 카테고리
정치 경제
문화 칼럼
비디오게임 스포츠
핫이슈 TV
포토 온라인게임
PC게임 에뮬게임
라이프 사람들
유머 만화애니
방송 1
1 1
1 1
1 1
1 1
1

ajax로 검색한 결과
등록일:2008-03-21 10:19:00
작성자:
제목:Rich Internet Applications의 기술 옵션


기본 브라우저를 넘어서

developerWorks
문서 옵션

JavaScript가 필요한 문서 옵션은 디스플레이되지 않습니다.

이 페이지를 이메일로 보내기

이 페이지를 이메일로 보내기


제안 및 의견
피드백

난이도 : 초급

Mr. Vaibhav V. Gadge, Software Engineer, IBM

2006 년 9 월 11 일

웹 애플리케이션들은 다음 단계로 진화해야 하고, Rich Internet Applications (RIA)는 사용자 인터랙션을 상당히 향상시킬 수 있습니다. 이 글에서는 사용자 인터페이스(UI) 레이어에 RIA를 적용하는 방법을 설명합니다. 웹 개발자와 아키텍트라면 현재 이 분야에서 사용되는 기술인 Laszlo, XUL, XForms, Macromedia Flex, Dojo에 관심이 있을 것입니다. 아울러 다른 기술도 소개해 드립니다. 물론 HTML과 XML 같은 전통적인 UI 툴에 대한 이해가 필수입니다.

Rich Internet Applications (RIA)는 HTML에서 제공하는 기존의 사용자 인터페이스(UI) 컨트롤(텍스트 박스, 체크박스, 라디오 버튼)로 제한된 표준을 넘어서고 있다. RIA는 보다 풍부한 컨트롤 세트와 고급 서버 인터랙션 메커니즘을 제공한다. RIA를 사용하면 브라우저에서 데이터를 보낼 때 페이지를 리프레쉬 할 필요가 없다. 페이지의 일부만 리프레쉬 할 수 있고 더 나은 에러 핸들링 기능을 갖추고 있다.

이 글의 내용:

RIA 개요

"Rich Internet Application"이란 용어는 몇 년 전부터 사용되었으며 개념은 다음과 같이 알려져 있다.:

  • 원격 스크립팅
  • X Internet
  • 리치 (웹) 클라이언트(Rich (Web) clients)
  • 리치 웹 애플리케이션(Rich Web application)

인 터넷은 거대한 정보의 보고이며, 웹 상에서의 정보 전달과 스토리지 퍼포먼스를 높이기 위해 많은 기술들이 생겨나고 있다. 대부분의 웹 애플리케이션에서 상당히 많은 프로세싱이 서버 측에서 발생하고 클라이언트 측에서는 단순한 사용자 인터랙션만 발생한다. 이는 결국 서버에 많은 데이터와 프로세싱 부하로 부담을 주게 되고 네트워크 트래핑에 대한 의존성만 점점 커지게 된다.

옛 날 클라이언트-서버 기반 아키텍처는 매우 유연하고 풍부했지만 Web 시절에 사장되었다. 한 가지 이유는 클라이언트 애플리케이션의 표준화가 부족했기 때문이었다. 이제, 브라우저는 보편적으로 채택되는 웹 툴이 되었다. 하지만 지능적인 프로세싱이 부족하다. 따라서 풍부한 사용자 경험을 제공할 수 있는 클라이언트 애플리케이션에 부담이 생기고 클라이언트 측에 간단한 프로세싱을 수행하게 되었다. RIA는 더 빠르고 가용성 있는 사용자 경험을 디자인 할 기회를 브라우저 내에서 제공한다.

웹과 인터넷 UI 레이어에서 작업하는 개발자들은 UI 레이어 상에서 최소한의 외부 지원으로 효과적으로 작업할 수 있는 다양한 RIA 툴을 실험하고 있다. 대부분의 경우, 브라우저는 플러그인, 확장, 다운로드의 관점에서 지원을 받아야지만 완벽하게 작동할 수 있다.

이 글에서는 비즈니스 케이스에 가장 적합한 RIA를 규명하는 툴과 매개변수를 설명하겠다. RIA의 모든 요소들을 설명할 수 없기 때문에 몇 가지 중요한 기능들만 집중적으로 설명하겠다.

평가 요소

RIA 기술을 평가할 때 다음 요소들을 고려해야 한다:

UI의 풍부함 정도
UI 를 개발할 때 기본적인 UI 위젯이나 컨트롤이 어느 정도 있는가? 이러한 컨트롤을 가지고 데이터 바인딩과 이벤트 바인딩을 어떻게 수행 할 것인가? 새로운 컨트롤은 사용하기 쉽고 쉽게 플러그인 되어야 하다. 몇몇 RIA 기술에는 애니메이션 API를 페이지에 추가하는 등 풍부함과 더 많은 정보를 추가하는 간단한 방식이 있다. 예를 들어, 사용자가 버튼을 단 한번만 클릭하도록 버튼을 움직이게 할 수 있다.
복잡성
개발자들은 많은 세월 동안 기존 페이지 기반 모델을 사용해 왔다. 쉽고 단순하다는 이유에서였다. 하지만 보이는 모습은 형편없다. RIA 기술은 배우기도 쉽고 구현 및 확장하기도 쉬워야 한다. 기존 웹 기술과 운용성도 있어야 한다.
유연성과 컴포넌트화
다 양한 미들웨어 컴포넌트와 협업할 수 있는 유연성은 중요한 것이다. 협업은 쉽게 구성 및 확장되어 새로운 커스터마이징 위젯을 만들 수 있어야 한다. 일단 커스텀 위젯의 라이브러리를 만들면 이들을 애플리케이션에서 재사용 할 수 있다.
페이지 리프레쉬

전체 페이지 대신 페이지 블록을 리프레쉬 하면 매우 큰 효과가 있다. 블록을 리프레쉬 하면 애플리케이션이 더욱 빨라지고, 가용성도 높아지며, 시각적인 효과도 더 좋아진다. 에러를 더욱 잘 관리할 수 있다.

사 용자가 웹 페이지에서 액션이나 첫 번째 태스크를 수행한다면 데이터는 백그라운드에 있는 서버로 간다. 사용자는 같은 페이지에서 또 다른 태스크를 시작한다. 그 동안, 첫 번째 태스크에서 온 피드백이 같은 페이지의 몇 부분을 업데이트 한다. 따라서 이와 같은 방식으로 웹 페이지를 디자인 한다면 작업 효율성이 높아질 것이다.

보안
RIA를 적용할 때 기존 애플리케이션과 비교하여 보안 위협은 없는지를 확인한다. 서버 통신과 관련한 보안, 클라이언트에서 다운로드 된 브라우저 플러그인과 확장을 주목하라.
기본적인 웹 패러다임 지원
이 기술은 오늘날 웹 애플리케이션에서 진화하고 있는 기본적인 웹 패러다임-사용자 장치 독립, 브라우저 독립, 업로드와 다운로드에 바이너리 파일 전송 지원-을 지원해야 한다. 기술의 성숙도도 문제가 된다.
툴링
단위 테스팅과 디버깅 지원을 사용하여 통합 개발 환경(IDE)에서 개발자들이 사용할 수 있는 툴링을 검토하라. 툴링은 기존 에디터나 지원 에디터를 갖춘 플러그인이 될 수 있다.
가용성
사 용자는 브라우저 애플리케이션이 보통의 브라우저 기능들과 함께 작동하는 것을 기대한다. 특히 이미지 저장하기 기능, 페이지의 내용을 찾는 Ctrl+F, 카피& 페이스트는 FLASH 기반 솔루션에서는 작동하지 않는다. RIA 디자인의 기본을 인간과 사용자 인터랙션 (HCI) 원리에 맞춰라.



위로


UI 기술

이 섹션에서는 현재 UI 기술에서 제공되는 다양한 옵션들을 검토해 본다.

Laszlo

Laszlo 는 FLASH를 사용하여 웹 상에서 RIA의 개발과 딜리버리를 위한 오픈 소스 플랫폼이다. FLASH 플레이어는 처음에는 브라우저 내에서 FLASH 파일을 실행하는 작은 플러그인으로 시작되었다. 높은 신뢰성과 호환성 덕택에 FLASH와 애니메이션 이미지를 만드는데도 사용되고 있다. 후기 버전에는 중요한 스크립팅 호환성, 서버와 데이터 교환, 양방향 오디오와 비디오 통신을 추가하는 Flash 6를 추가했다.

Laszlo는 그 풍부함을 확장했고, FLASH를 생성하여 브라우저에 전달하는 스크립팅 언어를 사용했다. 이것은 RIA를 구현할 때 오픈 소스 XML 플랫폼을 제공한다.

XPath란?
XML Path Language는 W3C가 권고한 언어로서 XML 문서에 있는 정보를 다룬다. XPath의 기본 목적은 XML 문서의 어떤 노드나 애트리뷰트를 통한 검색이다.

브 라우저에 Flash 5.x+만 설치되어 있으면 된다. 스크립트는 LZX라고 하는 XML 기반 언어로 작성된다. LZX는 객체 지향의 태그 기반 언어로서 XML과 JavaScript 신택스를 사용하여 FLASH 파일들을 만든다. 서버에 있는 LZX 컴파일러는 LZX 파일을 컴파일 하고 FLASH 파일을 브라우저에 보낸다. 실제 데이터 교환은 XML 폼으로 이루어지고 LZX 컨트롤은 XPath를 사용하여 XML을 참조한다. 이벤트 역시 컨트롤과 바인딩 하기 쉽다. 각 컨트롤은 부모로부터 이벤트를 상속받을 수 있는 이벤트 세트를 정의한다. Listing 1의 예제는 이벤트를 사용하는 방법이다.


Listing 1. simplelaszlo.lzx 예제
				

<canvas width="500" height="80">

<view>

<text align="center" valign="middle">Hello, World!</text>

<button >Update

<method event="onclick">

Debug.write("Button pressed");

</met>

</button>

</view>

</canvas>

Laszlo는 배우기 쉽고, 새로운 컴포넌트를 개발하고, 컴포넌트를 만들며, 어떤 웹 애플리케이션과도 통합된다. 기타 RIA 툴과 비교해 볼 때 풍부한 컴포넌트 라이브러리를 갖추고 있다.

LZX 는 HTTP와 웹 서비스 요청을 SOAP과 RPC 프로토콜과 함께 페이지를 리프레쉬 하지 않고 백그라운드에 있는 서버로 요청을 하는 기능이 있다. 플러그인이 이미 있어서 웹 애플리케이션 파일과 Laszlo 라이브러리를 통합한다. 현재, Eclipse 기반 IDE를 개발에 사용할 수 있다. 클라이언트 측에서 LZX의 디버깅에 사용할 수 있는 툴링이 있다. 재미있게도 이들은 Laszlo 애플리케이션을 테스트 하는 Lzunit 프레임웍을 제공한다.

현재 Laszlo는 브라우저에 있는 애플리케이션을 같은 기존 프레임웍을 사용하여 DHTML로서 전달하는 것을 지원한다고 발표했다. 애플리케이션을 DHTML로 전달할지 아니면 FLASH로 전달할지를 설정할 수 있게 되었다. Laszlo는 ajax 커뮤니티와 다중 사용자 장치 딜리버리로도 지원을 확장했다.

그림 1은 Laszlo와 Dojo 예제이다.


그림 1. Laszlo와 Dojo로 만들어진 RIA 이미지
Laszlo, Dojo demo images

XUL

XML user-interface language (XUL)는 Mozilla의 XML 기반, 크로스 플랫폼 언어로서 애플리케이션의 사용자 인터페이스를 기술한다. 이미 만들어진 컴포넌트의 풍부한 라이브러리를 페이지에 사용할 수 있도록 제공한다. 현재 Mozilla Firefox나 Netscape 6 이후 버전 같은 Gecko 기반 브라우저 상에서만 작동한다.

XUL 은 XML 기반 마크업 언어를 사용하여 사용자 인터페이스 컨트롤을 기술한다. 메뉴, 탭, 트리, 팝업 메뉴 같은 모든 종류의 인터넷 컨트롤을 제공한다. XUL은 문서 객체 모델(DOM)을 사용하여 노드의 트리를 저장한다. 모든 XUL 파일이 로딩되면 XUL은 노드의 계층적 문서 구조에 있는 모든 태그들을 파싱 및 변환한다. DOM 구조를 사용하여 고유 메소드와 XUL 함수에서 제공되는 추가 메소드들을 사용하여 데이터를 검사 및 변경할 수 있다. JavaScript에서 DOM에 액세스 하여 조작할 수 있고 전형적인 HTML 컨트롤 처럼 이것을 핸들 할 수 있다. 각 컨트롤과 각 노드는 모양과 구조를 정의한 여러 애트리뷰트를 갖고 있다.

브라우저는 원격 위치에서 액세스 될 때 XUL 파일들을 HTML이나 다른 브라우저와 비슷하게 핸들한다. 하지만 확장으로서 크롬 시스템에 있는 브라우저에 로컬로 설치될 때 로컬 시스템과 북마크에 접근할 수 있는 특별한 권한을 받는다. 이 경우 부가적인 권한 작동을 수행할 수 있다.

Mozilla 브라우저는 XUL 파일, JavaScript, 스타일시트를 포함하고 있는 패키지 세트이다. 비록 이것은 훨씬 더 크고 복잡한 확장이다.

XUL 은 바인딩에 eXtensible Bindings Language (XBL)를 사용한다. 각 컨트롤은 Mozilla의 XBL을 사용하여 바인드 될 수 있다. XUL은 RDF 포맷을 사용하는데, 주로 리소스를 저장한다. 다른 포맷으로 데이터를 사용하여 여기에서 RDF 데이터를 만들 수 있다. 이것은 XUL 엘리먼트로 바인딩 된다.

XUL은 XML 파일과 같기 때문에 IDE에 텍스트 에디터나 XML 에디터를 사용할 수 있다. 같은 기반 코드가 모든 XUL 파일, HTML, SVG를 핸들하기 때문에, 여러분은 CSS 속성을 사용하여 XUL 파일을 스타일링 할 수 있다. 모든 텍스트 콘텐트가 브라우저에서 개별적으로 저장될 때 로컬화도 지원한다.

Mozilla에서 CSS 파일들로 구성된 Skins는 브라우저의 사용자 인터페이스를 정의한다. 코드를 변경하지 않고 다른 모양으로 스킨을 변경 및 생성할 수 있다. 기능을 추가하여 브라우저 API의 힘을 늘리는 것과 비슷하다.

Mozilla Firefox 에서 Listing 2에 있는 파일을 실행하면 텍스트 박스와 버튼을 렌더링 한다.


Listing 2. simplexul.xul 예제
				

<?xml version="1.0"?>

<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>

<window id="example-window" title="Example 2.4.1"

xmlns:html="http://www.w3.org/1999/xhtml"

xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

<label control="label" value="Enter some text"/>

<textbox id="textid"/>

<button id="yes" label="Yes"/>

</window>

XForms

XForms 1.0은 온라인 인터랙션을 위해 새로운 플랫폼 독립적인 마크업 언어를 제공한다. W3C는 XForms를 구현하는 스팩을 만들었고, 이를 HTML 폼의 후계자로 간주하고 있다.

XForms는 표현 장치에 독립적이다. 전통적인 브라우저, PDA, 모바일 폰, 보이스 브라우저, 인스턴트 메신저로 코드 변경 없이 전달될 수 있다. 이는 RIA에 있어 매력적인 툴이다.

XForms에서 실제 데이터(XML 폼 정의)는 폼의 표현과 분리된다. XForms 모델이라고 하는 장치와 독립적인 XML 폼 정의는 다양한 표준 또는 상용 사용자 인터페이스와 작동할 수 있다.

XForms 사용자 인터페이스는 요즘의 XHTML 폼 컨트롤을 대체할 시각적 컨트롤 표준을 제공한다. 이들은 XHTML SVG 또는 기타 그룹, 보이스 브라우저 그룹 내에서 사용되거나 XForms의 사용자 인터페이스 컴포넌트를 독립적으로 개발할 수 있다. 각 XForms 컨트롤에 참조된 XForms 모델은 데이터를 렌더링 한다. 이것은 XPath를 따라 XML의 엘리먼트를 참조한다. 데이터가 제출되면 구축된 XML 데이터 모델을 제출할 수 있다.

XML 이벤트
XML 이벤트는 이벤트 리스너들을 일관성 있게 통합하고 이벤트 핸들러를 DOM 이벤트와 제휴시키는 기능을 갖춘 XML 언어이다. 이벤트가 발생하면 이는 문서 트리 경로를 통해 엘리먼트(타겟)으로 보내지고 트리로 다시 전달된다. 옵저버는 이 경로에서 이벤트에 응답할 수 있다.

XForms는 이벤트와 액션 핸들링에 XML 이벤트를 사용한다. XML 이벤트는 이벤트, 옵저버, 핸들러를 지정한다. Listing 3DOMActivate는 이벤트이고, 메시지 엘리먼트는 핸들러이고, 부모 트리거는 옵저버이다.

XForms를 ajax와 통합할 수 있다. 현재, W3CXForms를 ajax와 통합할 수 있다. 현재, W3C에서 20개 이상의 XForms 예제 구현을 볼 수 있다. IBM을 비롯한 많은 벤더들이 이미 XForms 엔진을 개발했다. (참고자료) Mozilla는 XForms가 Mozilla가 실행되는 모든 플랫폼 상에서 지원될 것이라고 발표했다. XForms 구현 예제는 참고자료를 참조하라.

Listing 3은 FormFaces™ 구현으로 렌더링 된 텍스트 박스와 버튼을 디스플레이 하는 XForms 예제이다.


Listing 3. FormFaces 구현으로 렌더링 된 텍스트 박스와 버튼을 디스플레이 하는 XForms
				

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:form=http://www.w3.org/2002/xforms

xmlns:ev="http://www.w3.org/2001/xml-events" xml:lang="en">

<head>

<title>Simple example</title>

<link rel="stylesheet" type="text/css" href="xforms.css" />

<script type="text/javascript" src="../../formfaces.js"></script>

<form:model>

<form:instance>

<data xmlns="">

<greeting>Hi there!</greeting>

</data>

</form:instance>

</form:model>

</head>

<body>

<form:input ref="greeting" incremental="true">

<form:label>Greeting:</form:label>

</form:input>

<form:trigger>

<form:label>Trigger</form:label>

<form:message level="modal" ev:event="DOMActivate">You clicked

button</form:message>

</form:trigger>

</body>

</html>

Dojo

Dojo 는 JavaScript로 작성된 오픈 소스 DHTML 툴킷이다. Dojo 툴킷은 라이브러리 코어 세트와 다른 패키지 라이브러리의 리치(rich) 세트를 제공하는데 각각 특정 기능을 수행한다. Dojo는 저급 API를 통해 이식 가능한 JavaScript를 작성하고 복잡한 스크립트를 단순화 한다. 인터랙티브 위젯과 애니메이션 트랜지션을 쉽고 빠르게 프로토타이핑 할 수 있다. 이벤트 시스템, I/O 패키지, 일반적인 언어 기능을 위한 라이브러리가 있다. Dojo로 스크립트를 작성할 수 있고 필요에 맞게 API를 추가할 수 있다.

Dojo는 또한 어떤 애플리케이션에서라도 직접 사용할 수 있는 위젯 라이브러리를 선사한다. 메뉴 위젯, 탭 세트, 트리 위젯 같은 핵심 위젯을 UI 컨트롤로서 사용할 수 있다. 레이아웃 위젯, 데이터 피커, SVG 위젯 등도 있다.

Dojo는 DHTML 인터페이스 컴포넌트를 선언하고 사용하는 하나의 마크업 언어 주위에 구현된다. Listing 4는 HTML 페이지의 사용자를 위한 특별한 버튼에 대한 Dojo 컴포넌트 예제이다.


Listing 4. dojosample.html 예제
				

<button dojoType="Button2" widgetId="helloButton">Hello World!</button>

You need to include the Dojo widgets library that is required in your HTML page.

<script type="text/javascript">

dojo.require("dojo.widget.*");

dojo.require("dojo.widget.Button2");

</script>

Dojo 키트에는 디버깅 옵션들도 있다. ajax Toolkit Framework (ATF)이 강력한 IDE로서 사용될 수 있다. 이것은 IBM의 Emerging technology Toolkit (ETTK)의 일부로서 이머징 기술을 특별히 모은 것이다. ATF는 Eclipse 웹 툴 프로젝트에 많이 의존하여 DOM 브라우징, JavaScript 디버깅 등을 실행한다.

최 근에 Dojo Foundation은 Laszlo와 파트너쉽 계약을 맺었다. 계약에 따라 Laszlo의 오픈 소스 프로젝트에 Dojo 툴킷을 사용할 수 있다. Laszlo는 라이브러리를 Dojo 파운데이션에 기여하여 오른 소스 커뮤니티를 발전시킬 것이다.

Macromedia Flex

Macromedia Flex는 또 다른 FLASH 기반 사용자 인터페이스이다. 애플리케이션 서버에 있는 Flex 표현 서버를 제공하고 서버에서 동적으로 FLASH 파일을 만들어서 이를 브라우저에 전달한다. 이들 FLASH 파일들은 브라우저의 FLASH 플레이어 내에서 실행되고 사용자 인터랙션, 연산 수행, SOAP, HTTP, AMF 서버 연결 요청 등을 생성한다.

레이아 웃과 UI 컴포넌트는 MXML이라는 XML 기반 언어로 정의된다. Flex는 시각적 컴포넌트, 컨테이너, 원격 서비스 객체, 데이터 모델에 풍부한 MXML 확장 클래스 라이브러리를 제공한다. 컨트롤과 데이터 바인딩을 수행하고 서버 측 데이터에 액세스 한다.

ECMA 스크립팅 언어(ActionScript 2)는 MXML에 삽입되어 사용자 이벤트, 시스템 이벤트를 핸들하거나 복잡한 데이터 모델을 구현한다. 이는 JavaScript와 ECME 스크립트와 비슷한 객체 지향 언어이다. XForms와 마찬가지로 Flex는 데이터 모델, 데이터 표현, 데이터 밸리데이터, 데이터 서비스를 분리한다. (MVC 스타일과 비슷하다.)

MXML에서 오는 모든 요청들은 Flex 컴파일러가 처리한다. MXML을 컴파일하고 SWF를 만들며 변경되어 브라우저에 전달될 때 까지 캐싱한다.

XML 에디터는 MXML의 스크립팅에 사용될 수 있지만 Macromedia 역시 Flex 애플리케이션 개발에 Flex Builder 1.5 IDE를 제공한다. 또한 서버에 연결하고, HTTP를 호출하고, 원격 자바™ 객체로 연결하고 브라우저에서 웹 서비스와 인터랙팅하는 컴포넌트도 있다. 기존 J2EE와 .NET 애플리케이션 모델과 통합될 수 있다.

Listing 5는 Macromedia Flex 코드 예제이다.


Listing 5. Macromedia Flex 코드
				

<?xml version="1.0"?>

<mx:Application xmlns:mx="http://macromedia.com/2003/mxml">

<mx:Form label="Employee Information">

<mx:FormItem label="First Name">

<mx:TextInput id="firstName" />

</mx:FormItem>

</mx:FormItem>

</mx:Form>

<!-- The myEmployee data model. -->

<mx:Model id="myEmployee">

<name>

<first />

<last />

</name>

<department />

<email />

</mx:Model>

mx:Binding source="firstName.text" destination="myEmployee.name.first" />

</mx:Application>

Macromedia Flex는 Laszlo와 비슷하다. 두 개 모두 풍부하고 강력한 FLASH 기반 애플리케이션이다. Laszlo는 FLASH 엔진의 밖에 존재하기 때문에 퍼포먼스는 떨어지지만 여라 장점들을 갖고 있다.




위로


툴 비교

이전 섹션에서 논의된 다섯 개의 툴들을 비교했다. Altiolive (리치 엔터프라이즈 애플리케이션)도 함께 비교했다.


표 1. 툴 비교
기술브라우저 기술스크립팅Richness비고
LaszloFlash,XMLLZX files+JavaScript높음배우기 쉽고 풍부하다.
Mozilla XULXUL languageXUL files+JavaScript높음강력하고 브라우저 의존성이 있다.
XFormsXform 구현에 따라 다름제한됨장치 중립적이고 W3C 순응이다.
DojoJavaScriptHTML+JavaScript제한됨JavaScript 기반. 채택성이 높아지고 있다.
Macromedia FlexFlash, XMLMXML files높음오픈 소스가 아니다. Macromedia의 상용 툴이다.
AltioliveApplet, XMLJava제한됨http://www.altio.com/




위로


기타 기술

지금까지 다섯 가지 기술에 대해 살펴보았지만 더 있다. 많은 기업들이 다양한 기술들을 사용하여 RIA를 프로토타이핑 하고 있다. 이들 모두를 설명하지는 않겠지만 조금만 살펴보도록 하자.

  • Backbase - ajax 애플리케이션의 생성을 돕는 소프트웨어 개발 및 판매
  • Netvibes - 고객이 만든 웹 홈 페이지 솔루션을 위한 무료 서비스
  • Zimbra - 차세대 엔터프라이즈 메시징과 협업을 위한 오픈 소스 서버와 클라이언트 기술
  • Protopage - 무료, 퍼스널 시작 페이지
  • Nexaweb - Enterprise Internet Applications의 구현과 전개를 위한 소프트웨어 플랫폼
  • altio - 브라우저에 있는 리치 엔터프라이즈 애플리케이션



위로


맺음말

RIA, 현재의 UI 기술, 기타 기술들을 소개했다. 툴 비교를 통해 자신의 필요에 맞는 툴을 선택할 수 있기를 바란다. 기술들 마다 장단점이 있다.

이러한 기술들은 놀라운 것이고 더욱 풍부한 사용자 경험을 약속한다. 브라우저를 넘어서 PDA, 모바일 장치로 렌더링 되고 오디오, 비디오, 그래픽, 애니메이션을 추가할 수 있다. RIA는 XML을 대부분 수용했다.

앞으로 RIA가 웹 UI를 다음 레벨로 성장시키는데 중요한 역할을 할 것으로 기대한다.

기사의 원문보기



참고자료

교육

제품 및 기술 얻기

토론


필자소개

Photo of Vaibhav V. Gadge

Vaibhav V. Gadge는 인도 방갈로르 소재의 IBM 소프트웨어 연구소 소속의 소프트웨어 엔지니어이다. 현재 Websphere Product Center의 포탈 팀에서 일하고 있다. 그는 자바 인증 전문가이며 자바, J2EE, 웹 기반 기술에 5년의 경력을 갖고 있다. Nagpur University에서 전자공학 학사를 받았다. (vaigadge@in.ibm.com)



출처 : http://www.ibm.com/developerworks/kr/library/wa-richiapp/index.html