요즘은 어떤 기술들이 spotlight를 받고 있을까?라는 생각이 들어서 웹사이트를 보다가 마침 진행중인
JavaOne컨퍼런스에서 가장 관심을 받고 있는 JavaFX에 대해서 기사를 보면서 이와 관련된 RIA에 대한
기사들도 좀 보았고, 이에 대해서 간단히 정리해 보았다.
Mainframe -> C/S(2 tiers -> 3 tiers) -> Web -> ???(X-Internet, RIA)
S/W의 운용환경을 보면 위와 같이 크게 변화해 왔다. Mainframe에서 C/S환경으로의 변화는 기능이
풍부하고 사용자의 눈을 즐겁게 하는 큰 변화가 있었다. 1990년대 중반 대부분의 기업들이 Mainframe에서
구동되던 application들을 C/S환경으로 변화시켰으며 이때만 해도 Web은 단순한 정적인 페이지의 노출을
위한 platform일 뿐이었다.(Mainframe으로 부터 C/S로의 변화는 많은 cobol개발자들을 당혹스럽게 했었다.
이후 Y2K이슈로 반짝 상한가를 치기도 했었지만 변화를 수용하지 못한 개발자들은 상당한 어려움을 겪었었다.)
하지만 WEB에 cgi라는 개념이 도입되면서 dynamic한 페이지의 노출이 가능하게 되었고 이를 통한 B2C
서비스들이 급격하게 늘어가기 시작했다. WEB은 가히 대세였다. IT계의 태풍이었고 이의 태풍을 잠재우기
위해서 거론되는 C/S의 장점들은 더 이상 진부한 기술로 치부될 뿐이었다.
그런데 WEB의 사용이 일반화 되면서 부터 변화하기 시작했다. WEB의 단점들이 사용자들의 눈에 보이기
시작했고, 사용자들의 요구사항도 커지기 시작했다. "WEB에서 할 수 없는 것이 없다"라는 것은 사실이 아니었던
것이다. 그래서 Flash, ActiveX, java applet등이 등장하였고 화려함과 편리함을 원하는 사용자들의 요구를
조금씩 충족하기 시작했다. 상기 3개의 기술들은 각각 지역별, 기능별로 재편되기 시작했으며 한국에서는
ActiveX가 대세로 기울었다. 그런데 이에 대해 조금의 변화가 시작되었다. ActiveX는 보안문제, non-cross
platform이라는 치명적인 단점으로 인하여 Flash가 힘을 내기 시작했다. Flash를 선두로 RIA market이 대두되고
있는 것이다.
궁극적으로 RIA가 추구하는 것들은(SUN의 JavaOne컨퍼런스에서 발표자들의 말을 모아보면...) 웹 Application과
desktop application의 경계를 허무는 것으로 보인다. 예를 들어 금번 JavaOne컨퍼런스에서 시연을 보인 JavaFX
application은 웹 application으로 구동하다가 간단한 drag&drop으로 desktop에서 standalone application처럼
동작하기도 한다. 또한 나아가 각각의 framework이 운영되는 모든 device에서 동일하게 동작하는 것이 목표이다.
(유명한 Google의 android플랫폼에서 JavaFX application이 동작하는 데모도 있었다.)
그럼 현재의 RIA의 대표주자격인 flash에서 부족한 것은 무엇일까? 내가 생각하기로는 desktop application을
작성할 때 제공되는 언어에서 제공하는 풍부한 library들과 외부 system과의 I/F기능들일 것이다. 또한 일반적으로
웹에서 많이 사용되는 일반 text나 image들에 비해서 느리다는 고정관념도 깨트려야 한다. 현재 인터넷 환경에서의
contents는 급속하게 대용량 media들로 바뀌고 있다. 따라서 새롭게 RIA개념으로 작성될 application들은 media가
문제없이 구동될 수 있도록 다양한 codec들도 추가해야 하고 성능도 보장받을 수 있도록 해야 한다.
(SUN의 JavaOne conf에서 HD급 동영상을 200개를 올려놓고 randering하는 application도 선보였었다.) SUN과
MS는 각각 Java와 .Net이라는 막강한 힘을 가진 framework을 보유하고 있으므로 이를 토대로 RIA market을
거칠게 두드리고 있다. MS의 Silverlight는 beta가 공개가 되었고 SUN의 JavaFX는 2008년 가을 출시를 앞두고 있다.
자 그럼 여기서 현재의 웹개발자들이 어떤 자세를 가져야 할까?라는 질문을 던진다. 세상의 많은 분야에서 수요와
공급의 원칙은 존재한다. 수요가 많으면 공급도 많아야 하고 수요가 적으면 공급도 적게된다. 개발자도 상품과 같다.
자신의 존재가치가 커야 하며 수많은 개발자들이 업무 stress와 더불어 미래에 대한 불안감에 추가적인 stress에
직면해 있다. 이 질문에 대해서 명쾌한 답을 주는 선배들도 부족하며(사실, 선배들도 항상 동일한 질문에 직면해 있다.),
미래의 방향성에 대해서 자신이 예측하는 것은 너무 힘들다.
--------------------------------------------------------------------------------
-깊이는 떨어지더라도 다양한 기술들에 대해서 섭렵하는 개발자.
-폭은 넓지 못하더라도 하나의 기술에 매진하는 개발자.
-main stream은 아니지만 사장되지 않을 기술들을 습득하여 gap filler가 되려는 개발자.
-Trend를을 확인하고 따르기 힘들어 자격증등 일단의 가시적인 도구를 취하는 개발자.
-방향성을 잡아주기를 바라며 맡은 일만 묵묵히 하는 개발자.
-개발기술 보다 관리기술쪽으로 선회하려는 목적을 가진 개발자.
등등...
--------------------------------------------------------------------------------
어떤 경우든 자신의 선택이고 자신의 전략의 일부일 것이다. 하지만 모든 선택에 있어서 기회비용은 따르기
마련이며 자신이 원하는 목표를 달성할 수도, 못할 수도 있다. 단지 하나 어떤 경우든 꼭 필요한 것은, 자신이 하고
있는 일과 주변에서 일어나는 일들에 대해서 항상 눈과 귀를 열고 있어야 한다는 것이다.
*Whait is RIA(Rich Internet Application)?
Rich Internet applications (RIA) are web applications that have the features and functionality
of traditional desktop applications.
by Wikipedia.
*RIA관련 대표적 기술들
1. Adobe : Flex(AIR)
우리가 일반적으로 많이 알고 있는 Flash다. 근래에 보면 Flash가 단순하게 화려한 페이지
장식용만이 아니라 mission critical한 업무에도 사용되고 있다.
-CJ결제 시스템
-롯데시네마 예약시스템
-Flash MMOG
-OS on Flash(Desktoptwo) : http://desktoptwo.com
*Flash위에 올라가는 OS를 보고 있노라면 할 수 없는게 없을것 같다.
-관련 URL
(열이아빠의 RIA 이야기)
http://imaso.co.kr/?doc=bbs/gnuboard.php&bo_table=article&wr_id=32088
(Adobe's AIR allows applications to bridge the Web and desktop.)
http://www.technologyreview.com/Infotech/19832/?a=f
[그림1]desktoptwo 구동화면

2. Sun : JavaFX
-관련URL
([TV] 자바원 개막: 썬 '자바FX' 집중 조명!) *ZDNET기사
http://www.zdnet.co.kr/news/enterprise/etc/0,39031164,39168588,00.htm
3. Microsoft : Silverlight
-관련URL
http://www.microsoft.com/silverlight/
JavaFX와 Silverlight의 경우 기존의 경험도 없고 현재 시장진입이 완전하지 않은 상황이라 추가적인 내용은 확인하지
않았다. 그런데 silverlight의 경우 해당 plug-in이 동작하면 CPU가 상당히 많이 점유되는 상황이 나의PC에서는 발생하였다.



덧글