오픈소셜 환경의 기술적 이해
- Posted at 2008/03/21 13:33
- Filed under IDtail
2008.03.21 오픈소셜 세미나 발표 자료
(Opera 브라우저에서 F11을 눌러 OperaShow를 이용한 프레젠테이션을 보실 수 있습니다.)

둘러보기
서비스 제공자와 어플리케이션 제작자
용어 간단 정리
OSoc: JavaScript API 1
OSoc: JavaScript API 2
OSoc: 어플리케이션의 데이터 저장
생각
(Opera 브라우저에서 F11을 눌러 OperaShow를 이용한 프레젠테이션을 보실 수 있습니다.)
오픈소셜이란?
- 많은 사이트 + 단일 API
- 사이트별로 존재하는 회원간의 관계 +
모든 사이트에서 동작하는 가젯(어플리케이션) - 어플리케이션을 외부에서 만들어 공급 받을 수 있음

소셜 네트워크를 제공하는 사이트는 많아지며, 이들 소셜 네트워크를 지원하기 위한 수많은 API가 존재할 수 있습니다. 이들을 지원하는데 한계가 생길 수 있는 점을 공통의 프레임웍을 만들어 개발 비용을 줄이는 것을 기술적 목표로 합니다.
현재 오픈소셜 스펙 기준으로 소셜 네트워크를 초월한 관계를 만드는 것은 아니며, 소셜 네크워크를 하나의 생태계로 보고, 각 체계에서 데이터를 제공하는 방식을 일원화하는 것입니다.
둘러보기
- http://www.google.com/ig
- http://www.idtail.com/
- http://coolengineer.ning.com/profile/HojinChoi
- http://www.hi5.com/
서비스 제공자와 어플리케이션 제작자
- 서비스 제공자: 회원들과 그 친구관계를 공급
- 어플리케이션: 공급된 데이터(회원정보,친구관계)를 이용한 프로그램
- 자바스크립트 혹은 플래시로 작성
- 개발자가 발행하여 공개되는 어플리케이션 디렉토리
- 회원이 선택한 어플리케이션을 구동시키는 오픈소셜 컨테이너
용어 간단 정리
- 가젯, 위젯, 어플리케이션 - 오픈소셜 프로그램
- 컨테이너
- 주인
- 방문자
- 주인의 친구, 방문자의 친구
- 어플리케이션 디렉토리
- 어플리케이션 프락시
IDtail: Open API
- http://dev.idtail.com/docs/OpenAPI
- 개인정보: 인증과 공개정도에 따라서 적절하게 가져옴
- http://api.idtail.com/get_user_info/<USERNAME>.json?callback=
- 네트워크(친구): IDtail의 네트워크 관계는 누구나 열람
- http://api.idtail.com/get_network/<USERNAME>.json?callback=
- 개인 알림 정보: 친구들의 활동정보 및 공지 사항 등 (IDtail 안테나)
- http://api.idtail.com/get_notification/<USERNAME>
- 기타
- 사용자 이미지 사용
- 통합 검색
- 방문자 정보
IDtail: Access Control
- 방문자 인증 방식
- API용 User key
- HTTP Basic Auth
- OAuth
- 접근 제어
- 공개 / 비공개 / 친구 공개 (친구 그룹별 공개)
- 접근 제어 대상
- 학교, 회사, 메신저, 이메일, 전화번호
OSoc: JavaScript API 1
- http://code.google.com/apis/opensocial/docs/0.7/spec.html
- opensocial 네임스페이스로 만들어지는 오픈소셜 데이터 핸들링 클래스
var req = opensocial.newDataRequest();
req.add(req.newFetchPersonRequest('OWNER'), 'pageOwner' );
req.add( req.newFetchPersonRequest('VIEWER'), 'pageViewer' );req.send( onDataLoad );title = viewer.getDisplayName()+"님이 "+owner.getDisplayName()+"님을 방문하였습니다.";
var activity = opensocial.newActivity(title);
opensocial.requestCreateActivity(activity, opensocial.CreateActivityPriority.HIGH, hello_done);
OSoc: JavaScript API 2
- gadget 네임스페이스로 만들어지는 화면 및 통신 라이브러리
- 높이 조절
- 탭
- 플래시
- 위젯 모드 검출, 제목 설정 등등
- rpc
- json
OSoc: RESTful API
- 아직 공식적인 스펙 발표되지 않음
- Opensocial API가 JavaScript API인데 반해 HTTP 를 통한 접근도 통일시키려는 시도
- Javascript 환경이 아닌 데스크탑 어플리케이션, 모바일 기기 등에서 사용할 수 있는 어플리케이션을 지원하기 위함
- Atom Publishing Protocol 기반으로 제안이 됨
http://domain/feeds/people/UserID
http://domain/feeds/people/UserID/friends
http://domain/feeds/apps/appID/persistence/userId/instance/instanceID/partKey
OSoc: 사용자 행동 로그
- 활동 내역을 공유하는 것은 SNS의 촉매제
- 일종의 단방향 커뮤니케이션 도구
- 자신의 행동을 기록함
- 친구들은 그 행동을 열람할 수 있음
- 어플리케이션의 실행 결과를 남겨 친구들이 볼 수 있게함
OSoc: 어플리케이션의 데이터 저장
- 데이터 저장 규칙
- (사용자 ID, Key, Value) 쌍을 하나의 단위로 저장
- 하나의 어플리케이션에서 여러 Key 저장 가능
- 여러 어플리케이션이 하나의 Key를 읽을 수 있음
- 방문자 자신의 Key, Value 외에는 저장/변경 금지
- 친구의 Key, Value 쌍은 읽을 수 있음
- 저장 및 응용
- 게임 어플리케이션의 최고 점수
- 친구들의 최고 점수를 보여주어 경쟁 유도
- 오늘의 한 마디
OSoc: 행동로그-데이터 저장의 한계
- 타인의 사이트에서 내 친구 목록이?
- 자신의 데이터만 수정 가능
- 주인에게 뭔가를 남기는 일이 안된다.
- 나의 행동을 남김으로써 친구들과 공유하는 것일 뿐
OSoc: 어플리케이션 글로벌 데이터
- 아주 기능이 풍부한 어플리케이션은 데이터의 양도 많다.
- 오픈소셜 공급자의 DB에 남기는 것보다, 제작자의 서버에 남겨라
- 공유하는 데이터로 이루어진 것일 경우 제작자의 서버에 남겨라
- 어플리케이션 키/값 쌍의 길이의 한계는 구현하기 나름으로 정해졌다
IDtail: OpenSocial 기능 구현 정도
- http://dev.idtail.com/docs/OpenSocialJavaScriptApi
- 주요기능 구현
- IDtail.com 의 기본 기능을 우선적으로 제공
- 어플리케이션 데이터 저장 기능 추가 구현
- 위젯 관련 기본 기능 절찬리 구현 중!
IDtail: OpenSocial 어플리케이션 시연
- 간단한 예제를 통한 어플리케이션의 구조 소개
- 주인/방문자 정보 예제
- 주인/방문자 친구 예제
- 데이터 저장 예제
- 행동 남기기 예제
- 타 오픈소셜 사이트에서 동작
생각
- OpenID 간의 SNS를 이용한 컨테이너
- OpenID + XFN, OpenID + FOAF 기반의 컨테이너
- Google의 소셜 그래프 응용 컨테이너
- http://code.google.com/apis/socialgraph/
Posted by 고슴도치플러스
- Response
- 1 Trackback , No Comment
Trackback URL : http://hedgeplus.net/trackback/187




