사이드바 영역으로 건너뛰기

게시물에서 찾기webappscon 2007

1개의 게시물을 찾았습니다.

  1. 2007/06/25
    RIA와 인터넷의 미래(1)
    레니

RIA와 인터넷의 미래

지난 21일에 webappscon 2007에 다녀왔습니다. 웹앱스콘은 웹 어플리케이션의 새로운 기술을 소개하고 논의하는 컨퍼런스로서, 웹기술과 관련된 업체들이 자발적으로 조직한 행사입니다. 꽤 홍보가 잘 되어서인지 이 업계에서 유명하단 사람들은 여기서 죄다 볼 수 있고 다양한 새로운 기술들을 접할 수 있었죠.

관심 분야에 따라 심도있는 논의를 진행하는 오전 행사 이후, 이날의 오후 세션은 내노라하는 여러 업체들의 주제 발표로 이루어졌습니다. M$, 구글 등 거대 글로벌 기업은 물론이고 크고 작은 국내 기업들의 발표가 이어졌습니다. 꽤 길었던 오후 행사를 보며 느낀 점은 인터넷이 또다른 경쟁의 시대로 들어섰다는 것이었습니다. 물론 지금까지도 인터넷의 역사는 브라우저, 웹서비스, 검색 등 기술 경쟁의 역사와 궤적을 같이 했다고 할 수 있습니다. 그리고 이번 컨퍼런스를 통해 앞으로 이러한 경쟁은 웹 어플리케이션으로 이어지고 있다는 것을 알 수가 있었습니다.

처음 웹서비스는 "서버가 요청을 빠르고 안정적으로 처리할 수 있는 것"을 중요하게 생각했습니다. 트래픽이 많지 않고 네트웍 장비 기술과 인프라가 충분하지 않았던 때에는 보다 빠른 응답과 다운되지 않는 웹서버가 더욱 중요했었죠. 아파치Apache나 PHP같은 프로그램들이 크게 인기를 끌었던 이유가 위와 같은 것이 가능하기 때문이었습니다. 그러나 서버와 네트웍 기술이 발전하면서 장비의 성능이 크게 향상되고 가격도 저렴해 지면서, 화두는 "쉽게 개발할 수 있고 유지할 수 있는 기술"이 중요해지기 시작했습니다. 덩치가 크고 느려서 실용성이 없다고 생각되었던  자바Java가 부활하게 된 것도 체계적으로 개발이 가능하고 유지보수하기가 쉽다는 특성이 있기 때문이었죠. 동시에 시스템의 기본적인 기능을 갖추고 개발을 용이하게 해 주는 프레임웍Framework이 주목받게 되었습니다. 프레임웍이 있으면 개발자는 네트웍 프로그래밍, 데이터베이스 통신, 설정 파일 처리 등 시스템의 기반이 되는 기본적인 기능들을 별도로 개발할 필요 없이, 가장 필요로 하는 기능만 개발하면 된다는 장점이 있습니다. 그리고 복잡한 서버 시스템의 구조를 최대한 정리된 형식에 맞춰 개발할 수 있어서 프레임웍 기술이 중요하게 여겨지게 된 것이죠. 지금도 다양한 프로그래밍 언어 기반의 프레임웍들이 경쟁하며 춘추전국시대를 열어가고 있다고 할 수 있습니다.

하지만 누가 뭐라 해도 요즘 웹서비스계의 최대 화두는 "서버에 부담을 덜어주면서 더 많은 일을 처리할 수 있는 것"이라 할 수 있습니다. 이제까지는 강력한 서버가 복잡한 요청을 받아 엄청난 데이터를 처리하여 빠른 시간 내에 결과를 돌려주는 것이 미덕이었으나, 이것은 서버의 구조를 복잡하게 만들고 유지보수하기 힘들게 만든 측면이 있었습니다(설령 프레임웍을 잘 사용한다 하더라도). 게다가 서버가 아무리 미끈한 데이터를 뽑아서 돌려준다 하더라도 그것을 사용자에게 보여주는 클라이언트의 성능이 형편없다면 사용자가 만족하기 힘들겠죠. 요즘 사용자들은 단순한 HTML 페이지를 받아보는 것에 만족하지 못하고 보다 다이나믹한 화면을 보기를 원합니다. 이런 현상은 특히 플래시가 클라이언트로 사용되는 경우가 많아지면서 더욱 심화되고 있습니다. 그래서 요즘의 웹서비스는 단순히 초강력 서버의 수퍼맨같은 활약으로만 이루어지지 않고, 클라이언트까지 포함한 총체적인 프레임웍을 구성하려는 움직임이 강화되는 추세입니다.

이러한 추세의 대표주자가 화려한(rich) 클라이언트의 서막을 연 플래시입니다. 플래시는 예전에 매크로미디어Macromedia라는 회사에서 개발한 클라이언트 도구로서, 현재는 포토샵 등으로 유명한 어도비Adobe 사에 인수되어 있습니다. 원래 플래시는 동영상을 만들듯이 로컬 컴퓨터에서 만들어 배포하면 플래시 플레이어나 웹브라우저에서 재생하던 클라이언트 전용 프로그램이었습니다. 단지 거의 모든 브라우저와 OS에서 원활하게 보인다는 장점 때문에 널리 사용되고 있었죠. 그러나 2004년 Flex의 등장으로 인해 플래시는 단순 클라이언트 프로그램을 벗어나 서버-클라이언트를 아우르는 플랫폼으로 확장되게 되었습니다. Flex는 서버-클라이언트 기술, 프로그래밍 언어로서 액션스크립트, XML 기반 유저 인터페이스 기술(MXML) 등을 망라하는 웹기반 플랫폼입니다. 부담스러운 수준의 라이선스 비용에도 불구하고 많은 웹서비스들이 Flex를 사용하여 구성되고 있는데(특히 한국에서), 이는 플래시의 엄청난 범용성 덕을 많이 본 셈이죠.

플래시처럼 화려하고 동적인 클라이언트는 웹 어플리케이션의 새로운 중심으로 자리잡고 있습니다. 이들을 RIA(Rich Internet Application)라고 총칭해서 부릅니다. RIA는 마치 기존의 오피스 같은 데스크탑 어플리케이션처럼 강력하고 많은 기능들을 수행할 수 있으며, 입력창과 라디오 버튼 몇 개로 이루어진 정적인static HTML보다 동적이고 편리한 유저 인터페이스를 제공합니다. 하지만 RIA와 기존 웹 어플리케이션 사이의 결정적인 차이는 서버와의 관계에 있습니다. 기존 웹 어플리케이션은 서버에서 보내주는 내용에 거의 의존하여 출력을 합니다. 표 하나만 그리더라도 서버에서 표의 마지막 라인까지 지정해서 보내줘야 출력이 가능했죠. 하지만 보통 RIA는 서버에서 모든 정보를 얻어오는 것이 아니라 순수한 데이터만을 XML등으로 받아오는 경우가 많습니다. 일단 데이터를 받아오면 RIA는 이 데이터를 뒤섞거나 순서를 재정렬하거나 하는 작업을 임의로 할 수 있습니다. 아까처럼 표 전체를 요청하는 것이 아니라 표에 들어가는 데이터만을 요청하게 되고, 순수한 데이터만을 이용하여 표의 마지막 줄을 제일 앞으로 보내는 식으로 하는 출력을 할 수 있게 되는 것이죠.

RIA계의 전통의 강자는 아직까지 Flex임이 분명합니다. 하지만 플래시 플레이어에 의존해야 하고 엄청난 비용이 들어가는 Flex에 불만을 느끼는 사람들이 많습니다. 그래서 가장 일반적인 웹의 표현방식인 다이나믹HTML(DHTML)과 자바스크립트, XML을 이용한 Ajax(에이작스라고 보편적으로 읽습니다)가 2006년 선풍적인 인기를 끌 수 있었죠. 역시 예전에 네트워커에서 소개한 바가 있는 Ajax는 비동기적asynchronous 통신을 사용하여 서버 부하를 줄이고, 데이터 교환 형식으로서 XML을 사용하며, DHTML과 자바스크립트로 동적인 페이지를 구성하는 방식입니다. 플래시 플레이어 같이 별도의 프로그램을 깔 필요가 없으며, 브라우저만 있으면 동작한다는 장점때문에 많은 관심을 받았으며, 지금도 Ajax 어플리케이션은 널리 사용되고 있습니다. 다만 XML 처리나 브라우저마다 자바스크립트를 별도로 작성해야 한다는 점 때문에 다소 사용에 번거로운 점이 있다는 단점이 있지만, 이는 프레임웍이나 라이브러리 등의 배포로 점차 나아질 것 같습니다.

이와 함께 최근 RIA계를 크게 흔든 사건이 있었으니, 바로 M$의 등장입니다. 구글 데스크탑, 구글 어스 등 웹에서 데스크탑으로 영역을 넓혀가는 구글의 행보와 정반대로 M$는 데스크탑에서 웹으로의 진출을 노리고 있는데, 최근 실버라이트의 출시를 발표함으로써 어도비와 정면 승부를 선언하게 된 것이죠. 실버라이트는 XAML이라는 XML 포맷의 유저 인터페이스을 제공함으로써 M$가 보유하고 있던 데스크탑 플랫폼인 닷넷(.NET) 프레임웍을 연결시킬 수 있다고 합니다. 아직 정식 출시된 단계가 아니라 구체적인 것은 나오지 않았지만, OS와 브라우저를 가리지 않고 지원한다는 호언장담을 믿어본다고 하면(현재는 아직 리눅스 버전이 없습니다만), Flex와 좋은 승부가 되지 않을까 하는 예상을 할 수 있겠습니다.

이밖에도 구글은 구글 API를 기반으로 한 플랫폼 구글기어즈Google Gears를 발표했으며, XML 기반의 유저 인터페이스를 만들 수 있는 오픈라즐로OpenLaszlo도 눈길을 끌었습니다. 바야흐로 지금은 어도비가 수성하고 있던 웹 어플리케이션계에 RIA라는 전장이 마련되고 전운이 감도는 상황이라고 할 수 있겠네요.

RIA 는 보통 웹 어플리케이션 기술에 더하여 서버, 데이터 교환, 프로그래밍 언어, 개발도구 등과 함께 이루어지는 것이 보통입니다. 위에서 언급한 Flex는 Flash 클라이언트와 Flex 서버, MXML, 액션 스크립트, Flex SDK 등으로 묶이는 것처럼 말이죠. 물론 결국 하나의 RIA는 하나의 플랫폼을 이루는 것이 보통이고, RIA의 각축장은 결국 플랫폼의 각축장입니다. 최후의 승자가 누가 되던 간에, 사용자들은 요즘 많이 강조되는 UX(User Experience), 즉 보다 풍부한 사용자 경험을 할 수 있는 환경이 조성될 것으므로 경쟁을 즐거운 마음으로 지켜보면 될 것 같습니다. 물론 그 사이에서 변화하는 환경에 적응해야 하는 개발자와 디자이너들은 무척 힘들겠지만요. :)
진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크