기본적으로 RIA라는 말은 "Rich Internet Application"이라는 full name에서와 같이 Rich라는 말에 주목하게된다.
이는 기존의 인터넷 환경과 Resouce를 사용할 수 있는 환경이 좋지 않았다는 이유를 반증하기도 한다.

인터넷상에서 우리가 사용할 수 있는 Application은 C/S Aplication 즉 Client & Server 기반의 애플리케이션과는 구분이 된다. 기본적으로 웹 브라우져를 사용한 다는 전제가 깔려 있기 때문이다. 하지만 이것 또한 과거의 빈약한 네트워크 환경과 인터넷 환경에서의 이야기 이다.

현재의 대한민국의 인터넷 환경은 과거 10년전과 비교하면 엄청난 변화가 있다.
10년 전의 인터넷은 기업체와 대학에서 사용하던 상용 인터넷 서비스를 제외하고는 PC방에서만 체감할 수 있을 만한 빠를 속도를 경험 할 수 있었다. 그리고는 ADSL이 나오면서 일반적인 가정에서 이를 경험할 수 있었다.
지금의 인터넷 서비스는 집집마다 광으로 직접 연결되어 있다. 그리고 무선 인터넷 역시 많은 변화가 있었는데, 무선 인터넷의 빈약한 환경속에서 WAP으로 구현하거나 이와 유사한 형태로 데이터를 모바일 브라우져를 통해서 보았었는데, 어느샌가 우리는 WAP이외의 다른 브라우져을 더 많이 사용하고 있다.

이러한 변화는 단지 네트워크 기술의 발전에 의해서만은 아니다. 하드웨어 기술적인 발전과 관련 소프트웨어와 사용자의 제품에 대한 관심들 많은 요소들이 복합적으로 변화되고 진보해 왔기 때문이다.

과거의 RIA와 현재의 RIA를 바라보는 관점도 이에 맞추어서 달라져야 할 것 같다.
과거의 제한적인 환경들이 현재에는 많은 부분 해결되었고, 이를 위해 기술적으로도 많이 발전했기 때문이다.
하지만 우리가 Internet Application을 개발한다고 하면, 이는 곧 웹 브라우져를 기반으로 한 웹 프로그램을 개발한다는 말로 인식하기 때문에, 이는 기존의 방식과 별반 차이가 없어 보인다. 그러나 해결해야할 문제로 떠오르고 있는 것이 있다. 이전에는 우리의 인터넷 환경은 단지 마이크로 소프트사의 IE 6.0을 기준으로 웹 사이트를 만들고 CSS와 Javascript를 적용하는 것으로 호환성을 고객에게 제공한다고 생각하였다. 물론 이때는 지금의 javascript와는 다른 VBscript와 Jscript를 사용하기도 했다. 마이크로 소프트사의 90%가 넘는 절대적인 시장점유율이 불러온 결과로 웹을 이용한 서비스를 제공하는 포털과 개발자는 단지 IE에서 정상적으로 동작하는 웹 어플리케이션을 만들고 배포하면 그만이었다. W3C의 Web기술 권고안을 따르지 않고 IE의 시장 점유율에 지원하고자 하는 Web Browser를 쉽게 결정한 이유는 너무나도 단순하다. 개발비와 유지보수비를 줄이려는 욕구 때문이다. 때문에 대다수의 사용자가 사용하는 IE만 지원하면, 다른 브라우져와의 호환성 테스트와 개발 및 수정에 필요한 비용들 그리고 유지 보수에 대한 비용들을 추가적으로 지불하지 않아도 되기 때문이었다.

그러나 현재의 상황을 다르다. 마이크로 소프트사가 웹 브라우져의 개발에 대한 지원이 몇년가 전무한 상태에서 Firefox와 사파리 브라우져는 깊게 갈린 칼로 무장하고 대중의 앞에 나섰고, 상당한 성과를 올리는 중이다.
그리고, 새로운 기술과 기능들을 경쟁적으로 추가하고, 이를 구현한 새로운 버전의 브라우져를 사용자들에게 수시로 발표하고 있는 상황이다.

문제는 새롭게 시장 점유율을 높여가는 브라유져와 새로운 기능들을 추가할 때마다 나오는 브라우져간의 호환성이 항상 유지되어야 하는데, 꼭 그렇지 많은 않다는 것이다.
IE의 경우는 IE 6, IE7 그리고 얼마전에 발표된 IE 8 사이에서도 동일한 페이지를 전혀 다르게 표시를 해주고 있다.
사파리 브라우저의 경우도 마찬가지이이다. Safari 2와 3가 혼재되어 사용되고 있고, Safari 4에 베타 버전 이야기도 최근이 심심치 않게 들리고 있다. Firefox의 경우는 어떠한가? 이 역시 버전 firefox 2와 3를 같이 사용하고 있는 것이 현실이다.

최근 브라우져들은 속도를 개선하고 자기들이 가장 빠른 브라우져라고 자랑하고 있고, 사용자들은 최고의 브라우져를 골라서 사용할 수 있지만, 개발자 입장에서는 결코 행복한 상황만은 아니며, 새로운 고민에 빠져가고 있는 상황이다.
거기다 모바일 브라우져를 지원해야만 하는 상황에서는 좀더 문제가 복잡해 진다.
구현의 이슈를 뒤로하더라도, 이들 모두를 제대로 지원하기 위해서는 많은 시간과 추가적인 비용에 대한 문제가 있기 때문에 좀더 많은 고민들을 해야할 이유가 생겨나는 것이다.

이러한 이유들로 Flash와 Silverlight와 같은 RIA 기술들을 사용해야 하는 하는 것이다.
사실 이는 웹 표준과는 다른 기술들이고, 다른 방향에서 발전해 왔다. 하지만 Platform 독립적으로 동작할수 있도록 자신만의 컨테이너를 제공하기 때문에, 개발자에게는 동일한 실행 환경을 제공하게 되고, 이 위에서 개발을 진행하면 되기 때문이다.
  
개발과 비용과 유지보수의 이슈는 RIA를 사용하고 도입해야할 또 하나의 이유를 주고 있다.
 
Posted by 행복상자