'Shared Object'에 해당되는 글 3건

  1. 2009.03.04 Flash Shared Object for RIA Application (4)
  2. 2008.01.21 Shared Object library - powerful browser cookie? (4)
  3. 2008.01.14 SharedObject in Macromedia Flash (4)

예전에 JavaScript를 이용한 Local Shared Object 라이브러리를 블로그에 소개했었는데요.  
  1. SharedObject in Macromedia Flash
  2. Shared Object library - powerful browser cookie?

이는 일종의 브라우저 쿠키와 매우 유사하지만 그 기능은 좀더 강합니다. 하지만 Expire에 대한 메커니즘은 포함되어 있지 않습니다.

제가 개발했던 Shared Object 제어를 위한 JavaScript 라이브러리는 사용자 PC에 .so파일을 생성하여 Flash Movie에서 이 .so 파일에 데이터를 읽고 쓸 수 있는 방식이였습니다.  이로써 제한적인 쿠키의 제한적인 부분을 해소해 보고자 했었습니다.

하지만 Ajaxian.com 에 소개된 jsSO – Flash Shared Objects in JavaScript는 Adobe Systems의 FMS(Flash Media Server)와 같은 RTMP 프로토콜을 사용하는 서버(이하 RTMP 서버)를 통해서 하나의 공유 객체를 동일 Flash Movie를 사용하는 사용자들끼리 이 객체를 공유할 수 있게 됩니다.

간단히 아래의 구조를 갖습니다.  

 

RTMP 프로토콜은 아래 링크를 참고해주세요.
http://ko.wikipedia.org/wiki/리얼_타임_메시징_프로토콜 
http://www.adobe.com/aboutadobe/pressroom/pressreleases/200901/012009RTMP.html

실제 위의 web-user1 과 web-user2는 Shared Object 의 정보를 갖고 또한 실시간(real-time)으로 RTMP 서버에 의해서 각 유저들에게 공유 객체의 데이터를 보내게 됩니다.

jsSO 개발자도 JavaScript에서 게임과 채팅과 같은 애플리케이션을 개발해보고자 한듯 하네요.

Adobe의 FMS 3.5를 제외한  Red5Mammoth 의 경우에는 오픈 소스 프로젝트로 진행중입니다.
위 서버와 구조를 잘 활용한다면 매우 재미있는 서비스들을 많이 개발할 수 있을 것입니다.




위 소스는 사내에서 Red5 에 대한 분석자료를 만들면서 예시로 만들었던 라이브 스트리밍 혹은 퍼블리싱 되는(FLV, MP4, AVI, MP3) 스트리밍을 보는 예제 소스입니다.  혹 도움이 될까해서 올려봅니다.

jsSO - Flash Shared Objects in Javascript
Ajaxian.com : http://ajaxian.com/archives/jsso-flash-shared-objects-in-javascript
Red5 : http://osflash.org/red5
Mamoth : http://mammothserver.org/

신고
Posted by Rhio.kim
사용자 삽입 이미지


























Shared Object 에 대한 자료입니다.
몇일전에 이와 같은 게시물을 기재했었는데.. 요~ 밑에..
크로스 도메인에 대한 문제가 맞았던거 같습니다.

아주 간단하게 해결되었고 유용하게 사용될 수 있는 라이브러리로 만들었습니다.

PDF 내용으로 요약 정리하였습니다.
javascript library 와 swf 를 함께 첨부합니다.

사용법이나 궁금한 사항은 언제든지 메일이나 댓글을 통해서 날려주세요..


신고
Posted by Rhio.kim
SharedObject outline 입니다.  기술 관련 문서는 docx 파일을 참고하시면 됩니다.

FireFox 의 globalStorage 과 유사하게 구현했으며 차후 유연한 연동 및 extansion 을 위해서 비슷하게 구현합니다. [docx 파일 내용은 그림 아래 추가했습니다. 그리고 javascript 라이브러리는 추후 공개합니다. ]

Shared-Object 를 잘 활용하면 정말 파워풀(?)한 웹 기반 Application을 만들 수 있겠습니다.
Dojo Toolkit 에서도 localStorage 를 위해 Shared Object를 활용하고 있습니다. (Dojo.Storage)

사용자 삽입 이미지












Shared Object 란 무엇인가?

Shared Object Macromedia flash MX 의 새롭고 강력한 기능입니다. 

Shared Object 를 사용하는 방법은 많이 있고 이 문서는 여러분들에게 기초적인 개념들을 얻게 해줄 것입니다.

Shared Object의 다양한 사용 법은 유저의 점수, 좋아하는 색깔 혹은 마지막 방문했던 곳을 기억하는 것을 포함합니다. 아래의 예제는 사용자에 의해 입력된 이름이 저장되고 여러 번 방문했었던 사이트는 Shared Object의 기능을 사용하게 됩니다.

 

Shared Object 는 클라이언트에 저장된 데이터를 사용합니다. 이것은 데이터가 웹 브라우저를 통하여 생성되어진 쿠키와 유사한 방식으로 저장되어집니다.

 

생성된 그 데이터는 Shared Object에 의해 생성된 같은 도메인에서만 오직 읽을 수 있습니다.

 

이것은 한가지 방법입니다. Macromedia Flash Player 는 유저의 컴퓨터에 데이터를 쓸 수 있습니다.  그들이 정보를 제공하지 않는다면 Shared Object 는 사용자의 이메일 주소 혹은 다른 개인적인 정보를 기억할 수 없습니다.

보안을 위해서 http://download.macromedia.com/pub/flash/whitepapers/security.pdf 이 자료를 더 참조해야 합니다.

 

1.     Using Shared Objects
A. Shared Object
getLocal 메서드를 이용하여 Shared Object를 생성해라.  무비의 myLocalSO 변수를 설정하고 아래의 ActionScript “flashcookie”의 이름을 갖는 Shared Object를 할당한다.

//create the local Shared Object

myLocal_so = sharedobject.getLocal("flashcookie");

만약 “flashcookie” 라는 이름을 갖는 Shared Object가 미리 존재하지 않는다면 Macromedia Flash Player 는 그 이름을 갖는 Shared Object 를 생성할 것입니다.
B. localPath
라 불리는 선택적인 파라미터는 Shared Object 생성을 위해서 또한 설정할 수 있습니다.  localPath 파라미터는 Shared Object 가 사용자 컴퓨터에 저장될 장소를 지정할 수 있습니다.  이 경로는 SWF의 위치와 매치되거나 URL을 함께 포함되어 집니다.
 
그러므로 Movie http://www.mysite.com/movie/movies.swf 라는 localPath 파라미터를 설정했다면 사용자 컴퓨터에 http://www.mysite.com/movie/movies.swf, /, /movies 혹은 /movies/movies.swf 경로에 Shared Object 를 생성한다.

코드는 아래와 같이
myLocal_so = sharedobject.getLocal("flashcookie","/movies/mymovie.swf");

하나의 사이트에서 한 개 혹은 그 이상의 Shared Object를 사용할 때 유용합니다.
예를 들어 localPath 를 루트 레벨로 하여 생성된 Shared Object는 사이트 내의 모든 movie 에서 접근이 가능하게 됩니다. (localPath “/”로 설정한 경우) 그리고 다른 정보들은 각각의 movie 에서 저장한 Shared Object 에서만 접근만 허용합니다. localPath movie 에 지정하게 됩니다. (localPath /movies/mymovie.swf 로 설정한 경우)

2.  Shared Object의 값 설정
정보들은 Shared Object의 데이터 프로퍼티에 할당된 속성에 의해서 저장 되어집니다. 아래의 Movie의 텍스트 입력창에 입력된 사용자 이름은 Shared Object의 데이터 프로퍼티에 할당한 속성과 동일합니다. 아래와 같이 하면 됩니다.

/set the variable “name” equal to the text property
//of the textfield “username”
myLocal_so.data.name = username.text;

//increase the variable counter by one for each visit
myLocal_so.data.counter++;

데이터는 Movie Macromedia Flash Player에서 제거되어질 때 Shared Object에 써집니다. 데이터를 쓰기 위해서 바로 flush 메서드를 아래처럼 사용하면 됩니다.

myLocal_so.flush();

3.     Shared Object 의 값 반환
사용자가 페이지로 되돌아 왔을 때 Shared Object는 읽고 그 값을 표시한다.

userName.text = myLocal_so.data.name;
numVisits.text = “You have been here “ + myLocal_so.data.counter +”times.”


왜냐하면 myLocal_so = Shared Object.getLocal(“flashcookie”); 와 같이 Shared Object “flashcookie”는 이미 사용자 컴퓨터에 생성되어져 있기 때문에 사용자 이름과 방문횟수를 Shared Object에서 데이터를 얻을 수 있는 것입니다.


사용자 삽입 이미지

a.site.com 에서 생성된 데이터(Shared Object)를
b.site.com 에서 사용할 수 있는 방법이나 트릭을 아시는 분든 좀 알려주세요.


관련 정보
wikipedia : http://en.wikipedia.org/wiki/Local_Shared_Object




신고
Posted by Rhio.kim