원문 : http://today.java.net/pub/a/today/2005/03/22/laszlo.html

Framework과 Container Model들은 새롭게 탄생되어 개발자들에게 도움을 주고 있다. 그러나 결국은 html에서 html로 진화되지 못하였다. 예를 들어 model 1 --> struts --> JSF로 진화되었지만 output은 항상 html이다.

그러나, 현재 우리는 어디에 서있는가? 변화의 종단에 서있다고 볼수도 있다.

계속되는 인프라의 성장, 이를 기반으로 rich internet application들로 조금씩 조금씩 옮겨가고 있다.

이에 이 글에서는 rich internet application들을 위한 framework 중 laszlo에 대한 개요 및 기본적인 특징에 대해 이야기 하려고 한다.

그럼 본론에 앞서, "rich internet application들" 이란?.. 뭘까요..

이러한 애플리케이션들이 쉽게 구분은 되지만, 그렇다고 또 쉽게 정의 내리기는 어렵다. 우리는 이런 전자의 상황을 현실에서 격게되면, 우리는 이렇게 얘기 할것이다. "보면 알어!"

하지만 그래도 다음과 같은 몇가지 사항에 비춰서 그들을 알아 볼수는 있다.

  • 그 애플리케이션이 웹페이지에서 구동되어 진다.
  • 그 애플리케이션이 다음의 기능을 제공한다면.. - USER가 애플리케이션과 상호 작동을 할때 USER에게 애플리케이션이 즉각적인 반응을 보여준다.(2~4초 사이의 지연, 또는 새로고침을 하는 경우 white page 대신에... 즉각적인 반응 보여주기..)
  • 그 애플리케이션이 현대적인 feel~의 인터페이스 컨트롤러를 사용한다.(MUIC) 예를 들어 tree control들 또는 panel들로 구성되된 경우..
  • 그 애플리케이션이 사용자에게 일반적인 fat client 기능을 수행하도록 허락한다. 예를 들어 drag&drop 또는 keyboard navigation을 사용하는 방식..
  • platform-, browser- dependent 없이 위의 모든 사항을 이행한다.

위의 애플리케이션이 구동되도록하는 rich internet architecture들은 몇가지 공통점이 있다.

  • 그것들은 모두 client-side container model을 사용한다.
  • 그것들은 서버와의 통신의 최소량을 사용하여 적은 영역만을 가지고 수행한다. 애플리케이션에서 어떤 프로세스를 마치기 위해 USER의 매번 click 요청을 통해 전체 html페이지가 로딩되는것 대신에, 해당 click에 대해 로컬에서 처리한다거나 서버에서 request data를 처리한다.
  • 정의된 UI에 대해 XML기반의 language의 어떤 폼을 사용한다.

그럼, 간략하게 Laszlo에 대해 알아보도록 하자.

Laszlo System은 2000에 건립되어 큰 Enterprise들에게 Flash기반 rich internet application framework을 판매와 구축을 하였다. 하지만 2004년 중반에 open source 진영으로 넘어 왔다. Laszlo는 현재 완숙되고 강력한 framework 이다. 또한 무료이며 어느정도 영향력도 보유하고 있다.

Laszlo platform는 두개의 부분으로 구성되어있다.

1. 하나, LZX라고 부르는 선언적 XML기반 language는 clinet apllication들을 작성하기 위해 사용되어진다.

2. 둘, presentation server라고 불리는 application server(그리고 LZX complier)가 있다.

presentation server 는 두개의 역할을 수행한다.

1. 하나는 브라우저가 그 LZX로 작성된 applicaton들을 요청할때 Flash로 application을 컴파일 하는 것이다. Laszlo에서, client쪽으로 디플로이는 표준 web model이다. 또한 JSP와 같이 컴파일된 LZX프로그램의 cache를 유지한다.(변경될때만 재컴파일 한다.)

2. 다른 하나는 client 애플리케이션으로 부터 Data request들을 중개하는 것이다.(기본적으로, 여러분들의 server쪽 코드로 request들을 전송한다.) 이 역할은 다음 버전에서 아마 제거 되어질 것이다.

Laszlo 프로그램들을 작성하기 위한 language LZX는 xhtml처럼 혼합형 언어이다. LZX는 페이지와 UI 구성을 정의 하기위해 XML 태그 문법을 가져갔고 절자형 로직을 위해 Javascript를 사용하며 변수들을 나타낸다.

이는 다음과 같은 두가지 이점들이 있다.

  • 읽기가 쉽다. 종종 Laszlo 프로그램은 매우 HTML프로그램들처럼 보인다.
  • Javascript는 매우 잘 알려진 프로그램밍 언어이며 느슨하게 분류된 interpretation model 이다. Javascript로 정의된 client 애플리케이션들에 대해 매우 잘 작동한다.

presentation server는 LZX를 가져가 Flash로 컴파일 한며, 이는 web browser로 보내진다.

그럼, 왜 Laszlo는 Flash를 기반일까?

이런 의문을 주위에서 많이 듣게 된다.

rich internet 애플리케이션을 위해 전달 수단으로 Flash의 선택은 흥미로운것이다. 많은 사람들이 Flash에 대한 생각은 웹의 감초로서 아니면 중독성적인, 단순한 형태의 게임을 위한 전달 메카니즘으로서 자리 잡혀 있다. 그러나 Flash는 몇가지 강력한 이점들이 있다.

  • Flash는 시작적으로 rich 애플리케이션을 위해 고안 되어 졌다.
  • Flash는 모든곳에 있다. 2004년 9월 조사에 이미 모든 웹 브라우저들의 97.3%가 Flash를 플레이 할수 있는 인스톨된 버전을 가지고 있다. 이는 JAVA의 경우 87.9%, PDF인 경우 80%와 비교할때 큰 의미를 갖는다.
  • Flash는 모든곳에서 동일하다. 파이어폭스든,IE든..

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-2) was last changed on 06-Apr-2006 09:45 by 이동국