OpenSocial Overview

2013. 10. 23. 21:36Social Computing/Open Social

1. OpenSocial

 

Google에서 다른 SNS 서비스들과 연합하자는 목적으로 제안 된 것이 OpenSocil이다. 이것은 여러 SNS에서 어플리케이션을 개발하기 위한 공통 API를 제공함으로써 한번 개발된 어플리케이션을 OpenSocial을 채택한 SNS에서 공통으로 사용하게 하자는 것이다. OpenSocial은 국외적으로는 MySpace, Friendster, HI5, Ning, Bebo, Orkut등이 지원하고 있고, 국내 적으로는 Daum, Naver, M2Day등이 OpenSocial을 지원 하고 있다. OpenSocial을 기술적으로 살펴보면, OpenSocial API는 기본적으로 Google Gadget 기술을 기반으로 하고 있다. 이것은 Google 개인화 페이지인 IGoogle에서 실행되는 어플리케이션(Gadget)을 만들기 위한 기술 스펙을 의미한다. , OpenSocial API를 이용해 어플리케이션을 만든다는 것은 Social 기능이 들어간 Google Gadget을 만든다는 것을 의미한다. Social 기능은 Javascript API를 통해서 제공되며, 이렇게 제공되는 Social 기능에는 다음과 같은 것이 있다.

 

- People : 사용자 정보와 관계정보

- Activities : 사용자들의 활동에 대한 업데이트를 보거나 포스팅하는 기능

- Persistence : 오프라인에서 동작하게 하기 위한 Key-Value 형태의 간단한 데이터 저장소

 

 

Javascript가 지원되지 않는 모바일 단말에서도 이용할 수 있게 RESTful DATA API에 대한 스펙을 제공하고 있다. 이를 이용하면 URL을 요청하듯이 필요한 기능을 실행시킬 수 있다. 결국 OpenSocial에서 정의하고 있는 것은 Google Gadget 기술 기반의 Social Application FrameworkSNS를 접근할 수 있는 JavaScript APIRESTful DATA API이다. 이러한 APIOpenSocial을 지원하는 컨테이너(SNS)에서 직접 구현할 수 있다.

 

기술적인 관점에서 봤을 때, Google Gadget 기술 전반을 이용한다는 것은 기존 기술을 사용하기 때문에 새로이 개발할 필요가 없고 Google Gadget Editor 같은 도구를 사용할 수 있다는 장점이 있는 반면에 Google 기술에 종속될 가능성을 안고 있다.

 

2. Apache Shinding

Shinding은 아파치 프로젝트의 하나로서, Google Gadget을 렌더링하고, 프록시 요청을 받거나 전달하고, REST RPC 응답을 핸들링하는 등의 코드를 제공하며, 오픈 소셜 어플리케이션을 쉽게 빠르게 호스팅 할 수 있게 도와주는 OpenSocial 컨테이너이다. 현재 JAVAPHP타입의 언어를 제공하고 있으며 OpenSocial Spec 3.0까지 지원하고 있다. Shinding 구성을 살펴보면 다음과 같이 4가지로 볼 수 있다.

 

Gadget Container JavaScript : JavascriptOpensocial API와 함께 보안, 통신, UI레이아웃 및 확장된 특징들을 관리함

Gadget Rendering Server : JavascriptHTML로 컨테이너에 대한 가젯 XML을 렌더링하여 컨테이너 자바스크립트를 통해 노출하는 서버에 대한 정의

Opensocial Container JavaScript : Gadget Container Javascript의 위에 위치하여 오픈소셜의 특정 기능들을 제공하는 환경 (Profiles, Friends, Activitied, Datastore)

OpenSocil Data Server : 컨테이너의 데이터를 제공하기 위한 서버 인터페이스이며, 오픈소셜 REST API를 제공하여, 서버의 Backend 데이터에 접근할 수 있도록 함

 

Download Link :http://shindig.apache.org/

 

 

3. Google Gadget

Google GadgetHTML로 작성되고 Javascript, Flash 또는 Silverright를 사용하여 동적인 동작을 구현하는 미니 응용프로그램이다. Gadget은 여러 사이트와 플랫폼에서 실행할 수 있기 때문에, 서로 다른 장소에서 작동하는 특수 태그와 라이브러리가 있다. 이러한 것은 추가기능을 제공하기 위한 Gadget API의 확장이다.

 

- 이하 Google Gadget 기술 명세 생략

Google Gadget API 개발자 사이트 :

https://developers.google.com/gadgets/docs/gs?hl=ko

 

 

4. XML

 

Google GadgetGoolge이 찾을 수 있는 인터넷 상에 어딘가에 위치한 XML파일이다. Gadget을 지정하는 XML파일에는 Gadget을 처리하고 렌더링하는 방법에 대한 지시사항이 들어 있다. XML파일은 Gadget에 대한 모든 데이터와 코드를 포함하거나 나머지 요소를 찾을 수 있는 참조(URL)을 포함하고 있다.

 

'Social Computing > Open Social' 카테고리의 다른 글

OAuth  (0) 2013.10.23