3. 웹 2.0 시대의 플렉스
상태바
3. 웹 2.0 시대의 플렉스
  • 데이터넷 관리자
  • 승인 2006.12.14 00:00
  • 댓글 0
이 기사를 공유합니다

GUI트렌드 과거와 현재
웹 2.0 시대의 플렉스

Ajax와 플렉스, ‘경쟁자’이기 보다 ‘협력자’

복잡한 애플리케이션 구현 적합 … 웹 트렌드 ‘대명사’

지난 2회에 걸처 ‘GUI 트렌드 과거와 현재’와 ‘플렉스의 아키텍처와 개발환경’에 대해 알아봤다. 지금까지 ‘웹 2.0이 무엇인가?’와 ‘플렉스의 아키텍처와 개발환경은 어떠한가?’를 다뤘다면, 이번 호에서 다루는 ‘웹2.0 시대의 플렉스’는 새로운 웹 트렌드의 대명사인 웹 2.0 이라는 것 속에서 플렉스는 어떤 상태인지를 살펴보고자 한다. 새로운 트렌드 속에서 특정 제품의 기술과 제품 구성 등을 살펴보는 것도 중요하지만, 주위의 다양한 환경 속에서 어떤 상관관계를 갖고 있는가를 살펴보는 것이 더욱 중요하다. <편집자>

김태완 //

대우정보시스템 대리
okcode@gmail.com

연재순서
1. GUI 트렌드 과거와 현재
2. 플렉스의 아키텍처와 개발환경
3. 웹 2.0 시대의 플렉스(이번호)

웹 2.0 애플리케이션의 가장 중요한 특징의 하나는 매쉬업이다. 매쉬업이란 기존 웹 애플리케이션의 데이터를 이용해 새로운 애플리케이션을 개발할 수 있다는 것이다. <그림 1>은 Ajax로 만들어진 구글 맵이다.
<그림 2>는 플렉스로 만들어진 야후 맵이다. Ajax와 플렉스로 동일한 기능을 갖는 애플리케이션이 개발돼 있다. <그림 3>은 야후 맵의 데이터를 이용해 특정 위치에 이미지 정도를 추가한 매쉬업 애플리케이션이다.
기존에 라이브러리는 코드의 재사용을, SOA는 서비스의 재사용을 강조했다면 매쉬업은 애플리케이션의 재사용을 강조하는 개념이다. 기존 웹 애플리케이션이 XML기반으로 데이터를 제공한다면 플렉스는 이 데이터를 이용해 새로운 서비스를 개발할 수 있다. 매쉬업의 대표적인 사례로 야후 맵과 플리커(flicker)를 매쉬업한 www.sodascope.com/
FlickrMapsExt/ 를 살펴보면 좋을 것이다.
웹 2.0이라는 용어는 팀 오라일리가 만들었지만 웹 2.0의 특징을 만들고, 이것으로부터 수익을 창출한 대표적인 기업은 ‘구글’이다. 사람들은 구글이 새로운 서비스를 오픈 할 때 마다 열광하고 감탄한다. 그런데 더욱 흥미로운 사실은 구글이 제공하는 스타일의 서비스를 싫어하는 사람은 거의 없다는 것이다. 단지 구글을 모르는 사람들만이 있을 뿐이다. 어떻게 이런 것이 가능할까?

‘구글 스타일’과 ‘플렉스 스타일’
개인적으로 구글이 사용자를 관리하는 방식을 ‘구글 스타일’ 단어로 요약하고 하고 있다. 구글은 사용자 등록이 없다. 구글의 서비스를 이용하기 위해서 메일 계정을 얻어야 하지만 사용자 등록이 없기 때문에 기존 사용자의 초대장을 받아야 한다. 왜 이럴까? 왜 이렇게 불편하게 만들었을까? 처음에 필자도 이러한 방식에 대해 잘 이해가 되지 않았다. 사용자를 늘리기 위해서 혈안이 된 사이트에 익숙한 상태에서 이러한 방식은 조금은 이상한 것처럼 여겨졌다.
일반적으로 소프트웨어 산업은 서비스 산업으로 인식된다. 고객의 만족도를 높이기 위해 많은 노력을 기울인다. 그러나 우리 주위의 고객 만족도는 높은 편이 아니고 불만이 더 높은 경우가 더 많다? 고객의 요구사항은 계속 변하고 그 요구사항을 수렴하는 것은 쉬운 것만은 아니다. 전체 아키텍처를 변경해야 하는 경우도 존재한다.
구글은 이러한 상황을 거부하는 방식을 취한다고 생각된다. “구글 스타일에 익숙하고 좋아하는 사용자만 오세요. 그리고 구글에 적응 하십시오. 구글에 적응하시면 최고의 만족감을 드립니다” 어쩌면 구글은 이렇게 말하는 것인지 모른다. 이러한 방식을 아무나 취할 수 있는 것은 아니다. 기술 및 문화를 이끄는 기업만이 이러한 방식을 취할 수 있다. 구글은 새로운 기술, 새로운 사용자 인터페이스로 사용자들에게 새로운 것을 스타일을 제시하고 그 방식에 적응하여 만족감하는 새로운 사이클을 제시하고 있다.
이와 같은 방식에서 웹 2.0은 어떨까? 웹 2.0 이라는 것이 일반 명사화 되면서 많은 애플리케이션들이 나오고 있다. 문제는 기능적인 변화를 강조하다 보니 기존의 방식과 다르게 작동하는 것들이 많고 사용자들이 혼란스러워 하는 사례가 생긴다는 것이다. 또한 불특정 웹 상의 클라이언트의 요구사항은 점차 변하고 있고 변화의 가속도는 더욱 빨라지고 있다. 이러한 요구사항을 대응하기는 쉽지 않고 또한 UI에서는 더욱 극명해 진다.
이 부분이 X-인터넷 분야의 다른 제품에 비해 플렉스가 갖는 강점이다. 플렉스는 어도비사에서 개발하는 솔루션이다. 어도비는 디자인 분야에서 선두를 달리고 있고, W3C(웹 표준기구) 및 디자인 분야에서 업계와 표준을 정의하는 기업이다. 새로운 UI 스타일과 컴포넌트를 표준화하고 대중화하는 작업을 하고 있다.
고객의 변화를 이끄는 것과 변화를 수용하는 것에는 매우 큰 차이가 존재한다. 사용자의 변화를 리드하는 것은 업계를 이끄는 그룹만이 할 수 있는 것이다.
어도비는 플래시와 플렉스를 PMP, 폰 등 다른 하드웨어에 포팅하는 작업을 하고 있다. 현재 휴대폰에 들어가는 플래시 라이트는 플래시 플레이어 7.0버전에 해당하는 휴대폰 용 플래시 플레이어다.
향후 이 플래시 라이트가 8 버전 이상으로 업그레이드 되면 휴대폰에서 플렉스 애플리케이션을 실행하는 것이 가능해진다. 어도비는 다양한 컴포넌트 스타일을 개발하고 있고, 이러한 스타일이 보급되는데 많은 노력을 하고 있다.
어도비 플렉스는 플렉스 스타일이 일반 사용자들이 친숙해 지도록 많은 노력을 하고 있고 ‘플렉스 라이크(Flex-Like)’한 환경을 만들어 가고 있다. 따라서 플렉스는 다양한 환경에서 실행가능하고 다양한 고객의 요구사항을 충족하는 컴포넌트로 무장한 강력한 RIA(Rich Internet Application) 솔루션이다.

플렉스 컴포넌트
컴포넌트의 의미는 여러 가지로 사용된다. 지금 말하고 싶은 컴포넌트는 오픈 인터페이스, 생산성 향상, 컴포넌트 마켓의 입장에서 말하고 싶다. 다른 X-인터넷(RIA) 제품들은 컴포넌트를 확장하는데 많은 제약이 따른다. 특정 컴포넌트가 필요하거나 기능 개선이 필요할 경우 해당 업체에 의뢰해야 하는 것이 일반적이다. 이러한 현상은 기술력의 문제가 아닌 확장성을 클라이언트에게 제공하지 않기 때문에 발생한다.
이러한 입장에서플렉스의 확장 인터페이스는 완전히 개방돼 있다. 플렉스 2는 소스를 완전히 오픈하고 있고 컴포넌트 확장과 관련된 다양한 기능을 제공해 클라이언트가 필요한 시점에서 필요한 기능을 수정 및 추가해 사용 가능하다.
컴포넌트가 중요한 이유는 재사용성에 있다. 한번 만들어진 컴포넌트는 다음에 재사용이 가능하기 때문에 경험 및 컴포넌트가 쌍일수록 개발 생산성은 높아지게 된다. 플렉스는 컴포넌트의 확장과 재 사용성이 매우 높은 기술로 여기에 한가지 더 언급하자면 플렉스 컴포넌트 시장이 활성화될 가능성이 매우 크다는 것이다. 어도비는 플렉스 2를 공개하기 이전부터 컴포넌트 시장에 대한 관심을 보이고 있었다. 소비자와 판매자, 생산자의 관계가 유기적이면 해당 분야는 더욱 발전하게 된다.
컴포넌트를 만드는 것과 사용하는 것이 분리될 경우 더욱 효과를 보이게 된다. 일반적인 기능을 개발하는 것보다 이 기능을 포함하는 컴포넌트를 개발하는 것은 더욱 많은 노력과 시간이 필요하다. 비용대비 효과의 문제를 해결하기 위한 좋은 방법이 컴포넌트 시장의 활성화다.
소프트웨어 분야에서 컴포넌트 시장이 활성화된 분야는 아마도 디자인 분야일 것이다. 디자인 분야를 제외한 컴포넌트 시장은 크게 성공한 사례가 없는 상황이다. 반가운 소식은 플렉스 컴포넌트 시장이 생겨나고 있다는 것이다. 아직은 시작단계이지만 컴포넌트 판매 사이트가 점차 늘어가고 있는 것은 사실이다.

기술 커뮤니티의 힘
새로운 기술과 트렌드가 나오면 이것이 성장할 것인가? 아니면 조만간 사라지는 유행인가를 판단하는 효과적인 방법으로 커뮤니티의 반응을 살펴보는 것이다. 과거에 특정 기술은 대형 벤더에 의해 만들어지고 발전했다. 인터넷의 힘은 다양한 부류의 개미들의 힘을 하나로 결집하는 것이 아닌가 싶다. 정치나 경제에 미치는 영향만큼 IT에 미치는 영향도 대단하다. 더 이상 기술은 대형 벤더에 의하여 움직이지 않는다. 개발자 블로그나 오픈소스 커뮤니티에 의하여 움직인다.
요즘 인기를 끌고 있는 기술들이 그렇듯이 플렉스도 다양한 오픈소스 커뮤니티와 개발자 블러그가 활성화돼 있다. 대표적인 오픈소스 커뮤니티로 www.riaforge.org, www.cfopen.org, www.osflash.org 가 있다. 이 사이트에는 플렉스와 관련된 다양한 프로젝트가 진행 중이다. 이러한 사이트들을 통하여 다양한 플렉스 지원 툴과 정보를 얻을 수 있고, 이들을 활용하여 효과적인 방법으로 플렉스를 도입하는 방법 및 활용 방안을 모색할 수 있게 된다.


웹 2.0 구현기술의 최고는 무엇인가?
“마징가Z와 태권V 중에 누가 강해요?” 어릴적에 필자가 종종 어른들에게 하던 질문이다. 이런 우문에 아버님께서 “둘 다 같은 편이기 때문에 싸우질 않는다”라고 말씀하신 것이 기억이 난다. 요즘에도 이와 비슷한 질문을 가끔 듣게 된다. “Ajax와 플렉스 중 어떤 것이 좋은가요?”, “가장 강력한 X-인터넷 기술은 무엇인가요?” 등등 이러한 질문을 받게 되는 경우가 있다.
Ajax라는 용어가 처음 등장할 때만해도 Ajax는 기존에 사용하던 기술의 복합체였을 뿐 더 이상의 장점은 없었다. 그리고 2년이라는 시간이 지난 지금 Ajax의 기술은 많이 성숙해 졌다. 특히 Ajax에 사용되는 자바스크립트는 자바스크립트 프레임웍들이 등장할 정도로 발전한 생태다. 작년 초에는 “Ajax 코드는 매우 복잡해 유지보수가 어렵다. 반면 플렉스는 코드가 간단하고 명확해 유지보수성이 뛰어나다”라고 말하는 사람들도 있었다. 이 말은 그 당시에는 정확한 지적이었으나, 현재 시점에서는 거짓말이다.
Ajax로 가능한 것은 모두 플렉스로 가능하다. 플렉스로 가능한 것 대부분은 Ajax로 가능하다. 차이점은 그들의 개발 생산성과 실행 형태이다. Ajax는 브라우저에서 돌아가는 자바스크립트 언어이고 플렉스는 브라우저의 플러그인인 플래시 플레이어에서 돌아가는 플래시 파일이라는 것이다.
웹 2.0 구현기술은 한가지가 독점할 수 없다. 다양한 기술이 모여 서로 유기적인 관계를 만들고 적절한 곳에 사용하는 것이 중요하다. 결국 Ajax와 플렉스는 경쟁자이기 보다는 협력자라고 생각한다. 웹 사이트를 개발할 때 Ajax를 사용하는 것이 효과적일 때가 있고 플렉스로 개발하는 것이 효과적일 때가 있다. 이러한 부분을 잘 구분하는 것이 중요하다. 플렉스는 이미지 처리와 대용량 데이터 처리, 차트 등 동적인 움직임이 많고 처리할 데이터건수가 많으며 사용자와의 커뮤니케이션이 복잡한 애플리케이션을 만드는데 적합하다.
UI와 사용자 사이에 커뮤니케이션이 복잡한 경우에 적용하는 것이 더 효과적이다. Ajax는 UI와 서버의 커뮤니케이션에 집중하는 것이 좋다. 어도비는 플렉스-Ajax 브릿지(labs.adobe.com/wiki/index.php/Flex_Framework:FABridge)를 오픈소스 형태로 제공하고 있다. 한 사이트를 전부 Ajax로 만드는 것이나 전체 웹 애플리케이션을 플렉스로 만드는 것은 상당히 부담스러운 일이다. 플렉스가 적합한 곳과 Ajax가 적합한 곳 기존 스타일의 html이 적합한 곳이 존재한다. 이러한 곳에 효과적으로 해당 기술을 적용시키는 것이 중요하다.

아폴로로 시작하는 새로운 실행환경
어도비는 아폴로(Apollo)라는 코드네임의 새로운 실행 환경을 개발하고 있다. 미국에서 진행된 맥스 컨퍼런스에서 발표된 것으로 아폴로의 특징은 웹 애플리케이션 개발에 일반적으로 사용되는 플래시나 AJAX등의 기술로 데스크톱 애플리케이션의 작성을 가능하게 하는 것이다. 예를 들면, 사전에 아폴로가 인스톨 되고 있으면 플래시나 AJAX 애플리케이션을 데스크톱에 인스톨 해 실행할 수 있는 것이다.
일반적으로 데스크톱 애플리케이션은 고유의 OS 에 의존해 만들어 지지만 아폴로 애플리케이션은 OS 사이의 차이를 흡수하기 하기 때문에 복수의 운영체제 위에서 동작하는 데스크 톱 애플리케이션을 만들 수 있게 된다. 플래시 플레이어가 브라우저에 대한 플러그 인이라면 아폴로는 OS 에 대한 플러그 인이라고 할 수 있다.
아폴로를 발표함으로써 어도비는 복수의 브라우저에서 동일하게 플래시 애플리케이션을 구동하는 플래시 플레이어, 개발 프레임웍인 플렉스 2 프레임워크, 개발환경인 플렉스 2 빌더, 복수의 운영체제에서 구동가능 한 데스크톱의 실행환경 등 플래시 중심의 통합 개발 환경 및 실행환경을 포괄하게 된다.

표준과 통합
웹 2.0의 중요한 특징 중 하나는 표준과 통합이다. 웹 표준은 그 동안 존재하지만 잘 적용되지는 않았다. 웹 2.0이 강조되면서 브라우저간에 동일한 기능과 이미지를 제공하는 것이 중요시 됐다. 플렉스는 플래시 플레이어에서 작동하는 애플리케이션이고 플래시 플레이어는 각 운영체제에서 동작하는 모든 브라우저를 지원한다. 따라서 플렉스는 플래시 플레이어를 이용하여 크로스 브라우징(Cross-Browsing)을 기본적으로 보장한다.
통합은 데이터 측면과 실행환경 측면 두 가지로 볼 수 있다. 데이터 측면의 통합이란 기존 웹 애플리케이션이 제공하는 데이터를 이용해 새로운 애플리케이션을 개발하고 서비스 살 수 있는 기능을 의미한다. 이러한 기능을 매쉬업이라고 한다. 플렉스는 기존 웹 애플리케이션이 제공하는 XML 데이터를 이용해 새로운 서비스를 개발하는 것을 지원한다.
웹과 데스크톱 애플리케이션의 통합이다. 기존의 애플리케이션을 보면 한눈에 이것은 웹 애플리케이션이다. 이것은 데스크톱 애플리케이션이다. 이런 구분이 가능했다. 기술 및 플랫폼의 제약으로 웹 애플리케이션 같은 데스크톱 애플리케이션은 가능하지만 데스크톱 애플리케이션 같은 웹 애플리케이션을 만드는 것은 어려운 일이었다.
그러나 웹 2.0 시대의 웹 애플리케이션의 특징은 “와!!! 웹에서 이런 것이 되네?”라고 생각한다. 웹의 표준 및 플랫폼, 구현기술, 개발 툴의 발전 등 다양한 요소가 결합돼 한 차원 높은 애플리케이션을 개발하는 것이 가능해 지는 경향을 의미한다.
웹 2.0 시대의 다양한 구현기술들은 다양한 운영체제와 브라우저의 차이점을 흡수해 여러 운영체제와 브라우저에서 동일하게 작동하는 개발 기법 및 기술을 확보하기 위해 노력하고 있다. 어도비는 플래시 플레이어와 플렉스를 통해 이러한 웹 2.0을 리드해 왔다. 여기에 아폴로를 통해 웹과 운영체제를 추상화하는 기술을 포함해 기존의 한계를 뛰어 넘고 있다. 이제 플렉스는 다양한 플랫폼(웹, 데스크톱), 다양한 운영체제, 다양한 브라우저, 다양한 하드웨어(PC, PMP, 전화기 등)에서 실행 가능 형태로 발전하고 있다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.