개발&Development/웹

Internet Scale Application

겐도 2007. 8. 10. 20:43

9일 Blog & SNS 컨퍼런스에서 첫날 발표한 블로깅툴에 대한 세션에서 잠시 언급한 이야깁니다.
(해당 발표 자료는 역시 아직 공개하기엔 쪽팔림 + 긴가민가해서 비공개중입니다.)

현재의 인터넷이 Hyper Text를 통한 Web Page 기반으로 사람들에게 서비스를 제공하고 있습니다만 Browser Based의 서비스가 줄 수 있는 한계가 있다고 할 수 있습니다. 제한적인 모바일 인터넷을 할 수는 있지만, 적어도 일부 휴대폰에서 Full Browsing을 지원하기도 하지만(iphone도 그렇죠) 일반적인 모니터를 예상한 웹 페이지를 휴대용 기기에서 보는 것은 제한이 있을 것입니다. 또한 풀 브라우징을 지원하는 기기도 아직 고가입니다.

기존의 접근방법 중 하나는 각개 격파입니다. KTF용 페이지를 만들고 SKT용 페이지를 만들었죠. 두 서비스에서 데이터 표현의 차이가 있기 때문입니다. 적어도 웹 페이지와 다른 새로운 페이지를 만들어야 했습니다. 일부 휴대용 인터넷들은 약간의 제한 사항이 있을 뿐 HTML 정도로 표현을 하면 문제가 없습니다만 일부 기계에서는 전용의 데이터 표현방식을 사용해야 합니다. 일본에서도 통신사별, 내장된 브라우저별로 약간씩 다릅니다. 지금까지의 접근 방법이면 각개격파입니다.

새로운 Web Data라는 개념에서는 이런 것이 쉽게 해결됩니다. 기계가 쉽게 이해할 수 있는 형식으로 모든 컨텐츠가 유통이 됩니다. 독특한 방식으로 표현(View)되어야 하는 경우 이 데이터를 거기에 맞게 출력하면 되는 것이죠. 최종 벤더가 해당 데이터를 핸들링하는 방식을 고민할 수도 있지만 Web Data의 시대에서는 각각의 요소들이 자신이 주거나 받을 수 있는 데이터만 알려준다면 그 두 데이터를 변환할 수 있는 컴포넌트(기존 개념으로는 웹 서비스?)를 제공할 수 있습니다.

웹상의 서비스와 서비스가 쉽게 연동이 되고, 혹은 전에는 전혀 관계없다고 생각되던 서비스들이 연결자에 의해 연결이 될 수 있음은 물론이고, 기존의 데이터를 쉽게 재가공 해서 새로운 서비스를 만들 수 있는 세상이 올 수 있습니다.

현재까지의 웹 서비스들은 기존 포털처럼 자신의 서비스 안에서 모든 것을 해결하거나 두 서비스가 서비스 연동(Integration)을 통해 확장해 나가고 있습니다. 사용자 입장에서는 공급자가 주는 서비스만을 사용할 수 있거나, 다른 서비스를 얻기 위해서는 단절된 다른 서비스만을 사용해야 합니다. 티스토리의 블로거가 설탕몰의 제품을 사고는 그 후기를 쓸 때 두군데에 별도로 작성해야 하는 것이죠. 혹 두 서비스 공급자가 협약을 맺고 서비스 연동을 할 수도 있습니다만 기름몰에는 여전히 할 수 없습니다. Open API라는 것이 현재 인기긴 합니다만 지정된 함수를 부른다는 제한이 있기에 서비스 연동에 제한이 생길 수 밖에 없었습니다. RSS 같은 좀더 제너럴한 형태의 경우 특별히 서비스 협약 없이도 사람들이 두 서비스를 같이 사용할 수 있습니다. 즉 API를 좀 더 확장성 있게 만들 필요가 생기고 거기에는 필연적으로 Microformat 즉 데이터를 표기하는 약속이 나와야 할것입니다. 그 외에도 많은 고민들이 파생되고 RESTful Service라던가 다른 모델들이 나오고 있습니다. 이것으로 충분할 수도 있고 반대로 많은 사람들이 어떻게 해야 하는가 고민중입니다.

아무튼 이런 것들이 완성이 되고 인터넷의 플레이어들이 제대로 활동하기 시작하면 AJAX로 mash-up하는 지금의 작업들은 다 장난처럼 보일 것입니다. 정말 사용자의 입맛대로 서비스를 조립해 나갈 수 있습니다. 자신의 모니터 위에 사용하던 이미 변신합체한 어플리케이션 위에 새로 마음에 드는 기능(혹은 서비스)을 바로 연결할 수 있습니다. 데이터로 제공되기에 새로운 OS, 새로운 플랫폼, 새로운 디바이스가 나오더라도 빠르고 쉽게 제공할 수 있게 됩니다.

아마 이런 모습이 ISA(Internet Scale Application)이 추구하는 모습이 아닐까 합니다.

제한된 공급자(회사)에 의한 제한된 기획자가 의도한 서비스는 모든 사람을 만족시켜줄 수 없습니다. 아니 극히 일부만 만족을 시킬 것이고 상당수는 어쩔 수 없이 제한된 서비스만을 공급 받습니다. 누군가의 아이디어로 불편한 2%를 만족시켜주는 서비스가 나온다 하더라도 기존에 제공되던 부분이 없기 때문에 사람들이 쉽게 선택할 수 없습니다. 사람들을 행복하게 만들어 주고 싶은데 많은 부분들이 빠지게 됩니다. 그런 필요에 의해 Mash-up이란 개념이 나왔지만 근본적인 설계의 한계로 인하여 현재에도 잘 안되고 있습니다. XML-RPC나 SOAP 혹은 Web Service란 개념도 그런것들을 추구하고 있지만 그것을 좀더 강화시킬 필요가 있습니다. 그리고 그런 개념들을 빨리 기존 혹은 앞으로 나올 서비스들이 수용을 해야 할 것입니다. 그 결과로 인터넷은 정말 인류의 발전을 위한 재료가 될 수 있을 것입니다.

거대한 웹이, 정말 하나의 거미줄 처럼 움직이는 세상이 기대됩니다. 이것이 바로 ISA입니다.

~~~~~~~~~~~

라는 것이 발표에서 말한 3안이겠죠. 뜬구름 잡는 소리보다는 뭔가 보여주고 싶어서 기술적으로 조금 팟더니 시간도 오버되고 등등등 했습니다만(개인적으로 반성중입니다. 이게 무슨 발표자야 하면서 ㅠ.ㅠ) 추구하는 바는 인류의 행복이고 방법에서는 현재까지 찾은 것은 저런 정도입니다. 그래서 아직 확정적으로 공개하기엔 약간 시기상조인 것 같습니다. 다른 좋은 방법이 지금 이순간 어느 차고에 있는 대학생의 머리에서 번쩍 하고 있을 수도 있죠.