'카징'에 해당되는 글 1

  1. 2012/04/29 HTML5 웹소켓, 웹 시장의 대세될까

서버와 브라우저, 브라우저와 브라우저간 실시간 양방향 통신을 가능하게 하는 ‘웹소켓’이 최근 웹 시장에 화두로 떠오르고 있다. 미디어의 발달로 인해 웹에서 양방향통신을 요구하는 사용자와 기업이 늘어가고 있기 때문이다.

현재 웹 환경에서 가장 많이 사용되고 있는 HTTP(Hyper Text Transfer Protocol) 방식은 말 그대로 텍스트를 사용자에게 잘 보여주기 위한 통신규격이다. 사용자가 서버로 ‘정보(텍스트)를 보여달라’라고 요청(Request)하면 서버가 해당 정보를 클라이언트(웹브라우저)로 보내는 형태를 띄고 있다.

즉 HTTP 환경에서 웹브라우저는 요청을 보내고 받는 역할만 하게 된다. 이는 웹브라우저가 새로운 정보를 확인하기 위해서는 지속적으로 요청을 보내고 정보를 내려받는, 이른바 새로고침(Half Duprex, 단방향통신)이 필요하다는 의미와 동일하다.

그러나 인터넷서비스가 발전하면서 사용자들은 자신이 원하는 정보를 즉각, 서버에서 알아서 보내주기를 원하게 됐다. 새로운 정보가 나오면 자신에게 즉각 전송할 수 있는 기능과 자신이 필요로 할 때에 정보를 요청할 수 있는 기능, 동적표현 등의 기능이 그것이다.

이에 대해 가장 먼저 답을 내놓은 것은 썬마이크로시스템즈(Sunmicrosystems, 썬)다. 썬이 개발한 자바애플릿(JavaApplet)은 자바머신만 설치돼 있으면 ‘어느정도’의 양방향통신을 가능하도록 했다.

자바애플릿 등장이후, 어도비 플래시, MS 액티브X, 실버라이트 등이 등장했다. 이들은 과거 텍스트로만 이뤄졌던 웹 환경을 크게 성장시킨 원동력이었다. 비록 액티브X는 너무 과도한 사용으로 인해 국내에서 많은 비난을 받고 있지만.

그러나 이들의 가장 큰 문제점은 순수 웹환경이 아니라 별도의 애플리케이션을 웹브라우저에 설치해야 사용이 가능하다. 흔히 말하는 RIA, 플러그인이 필요하다는 의미다.

많은 사람들은 RIA 이후에 등장한 기술이 HTML5라고 알고 있지만, 사실은 에이젝스(Ajax)가 먼저다. 에이잭스는 ‘Non-RIA’방식이 웹에서 할 수 있는 모든것을 보여줬다. 검색엔진에서 추천검색어를 보여주는 것, 웹 지도에서 마우스 스크롤만으로 줌인, 줌아웃 할 수 있는 것등이 사용자가 가장 많이 경험할 수 있는 에이젝스 구현의 예다.

그러나 여기에도 한계는 있다. 에이젝스 자체는 여전히 단방향 통신이기때문에 ‘폴링(polling)’방식을 버릴 수 없었다는 것이다. 즉 서버가 새로운 정보를 습득하면 웹브라우저에 쏴주는 구조가 아니라 웹브라우저가 요청을 하면 서버가 내려주는 방식이라는 의미다. 물론 쿼리를 미리 분석해놨기 때문에 얼핏보면 양방향통신으로 보이긴 한다.



시대는 흐르면서 웹은 점점 더 고도화됐다. 플래시처럼 인터렉티브한 표현이 가능하면서 HTTP처럼 플러그인이 없어도 구동되고, 에이젝스처럼 양방향통신(처럼보이는)이 가능한 기술에 대한 니즈가 나왔다.

이 같은 고민은 HTML5가 등장하면서 한번에 해결됐다. HTML5의 꽃이라고도 불리는 웹소켓이 등장했기 때문이다.

웹소켓은 웹서버와 웹브라우저가 지속적으로 연결된 TCP를 통해 실시간으로 ‘양방향통신’을 할 수 있도록 만든 HTML5의 사양이다.

지금까지 설명했던 통신방법, 기술과 웹소켓의 가장 큰 차이는 프로토콜(접속방식)에 있다고 봐도 무방하다. 웹소켓의 프로토콜은 접속에 HTTP를 활용하지만 접속 이후의 통신은 웹소켓 자체의 프로토콜을 사용한다. 양방향통신이 가능하고 헤더(header)가 작기때문에 웹의 자원도 적게먹는 것도 특징 중 하나다.

양방향통신이 기본적인 기능이기때문에 오랫동안 통신을 유지할 때 가장 큰 위력을 발휘한다. 통신이 연결된 상태라면 언제든지 서버와 클라이언트간 데이터 송수신이 가능하다. 통신시에 지정되는 URL은 http://www.sample.com/과 같은 형식이 아니라 ws://www.sample.com/과 같은 형식이 되는 것도 특징 중 하나다.

모바일과 PC와의 연동도 가능하다. 모바일 웹브라우저에서 전송한 데이터를 PC에서 즉각 받아볼 수 있다.


HTML5 웹소켓 솔루션 업체 ‘카징(Kaazing)’의 존 펠로우스 최고기술책임자는 26일 방한해 “웹소켓을 사용하면 살이있는 웹을 구현할 수 있게 되며, 웹으로 모든 것을 할 수 있다”고 강조했다.

카징은 2007년에 설립된 웹소켓 솔루션 전문업체다. 카징이 보유한 솔루션은 웹소켓을 지원하지 않는 웹브라우저에서도 웹소켓을 사용할 수 있도록 가상화(에뮬레이트) 해주는 것이다.

실제 인터넷익스플로러, 안드로이드폰에서는 웹소켓을 사용할 수 없다. HTML5를 지원한다고 하더라도 웹소켓을 지원하지 않기 때문이다.

펠로우스는 “IE6를 비롯해 모든 브라우저에서 카징 웹소켓 솔루션을 사용할 수 있다”며 “애플의 에어플레이와 같은 기능이 웹소켓으로 구현할 수 있다. 웹에서의 N스크린이 가능하다는 의미”라고 말했다.

웹소켓은 네이티브 앱으로 구동되는 기존의 서비스를 웹으로도 구현할 수 있도록 한다. 홈트레이딩시스템, 경매장, 인터랙티브 SNS 등과 같은 서비스를 프로그램이 아닌 웹으로 구현할 수 있게 된다.

이는 웹소켓이 가진 양방향통신이라는 특성 때문이다. 서버에 새로운 데이터가 올라오면 사용자의 요청이 없어도 내려보낼 수 있고, 사용자의 요청이 들어오면 또 해당되는 데이터를 보여준다.

펠로우스는 “앞으로 웹은 ‘살아있는(Living)’ 존재가 될 것이다. 그 시대가 도래한다면 웹 소켓은 가장 주목받는 기술이 될 것”이라고 전했다.

기업들이 실시간 양방향 데이터 통신이 필요한 경우, 많은 수의 동시 접속자를 수용해야 하는 경우, 브라우저에서 TCP 기반의 통신으로 확장해야 하는 경우, 개발자에게 사용하기 쉬운 API가 필요할 경우, 클라우드 환경이나 웹을 넘어 SOA 로 확장해야 하는 경우에는 HTML5 웹소켓을 고려해보는 것도 좋을 것이다.


2012/04/29 20:20 2012/04/29 20:20