태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

'우왕굳'에 해당되는 글 3건

  1. 2008.11.20 Cocomo 살펴보기 (1)
  2. 2008.11.05 덕지덕지 오픈소스 프로젝트 (1)
  3. 2008.10.16 [FP10] FileReference는 어떻게 달라졌을까? (1)

Cocomo 살펴보기

얼마전, 제 블로그를 통해 이번 Adobe MAX에서 소개된 Cocomo에 대해 소개해드린적이 있습니다. Cocomo는 어도비 프레임워크중 이례적으로 코드네임까지 붙이고, 또 MAX라는 큰 규모의 행사를 통해 대중들에게 공개되었습니다.
(Adobe에서 공개한 프레임워크은 AIR Update Framework 등이 있습니다.)

사용자 삽입 이미지

Cocomo에 대해 다시한번 소개해 드리자면, Cocomo는 실시간 소셜 애플리케이션을 Adobe Acrobat 서버를 이용해 클라우딩 컴퓨팅 형태로 서비스 할 수 있고, 공개된 프레임워크로 간단히 개발 할 수 있습니다.

특히 Cocomo는 곧, AIR2.0이 본격적으로 모바일 디바이스를 지원하는 만큼, 모바일 시장에서의 라이브소셜 애플리케이션 보다 손쉽게 구현이 가능하다는 점에 있어 큰 장점으로 작용할 것 같습니다.

Cocomo는 현재 오픈베타를 진행하고 있고, 또 무료서비스입니다. ^^

사용자 삽입 이미지

Cocomo가 특이한점은, 어도비 플렉스나 플래시 플렛폼에 소속되어 있지 않고, Acrobat 플랫폼에 소속되어 있다는 점입니다. (https://cocomo.acrobat.com/)
만약 기존의 애크로벳 컨넥트에 가입되어 있으시다면, 해당 아이디로 로그인 하셔도 바로 이용이 가능합니다.

사용자 삽입 이미지

Cocomo Developer Portal의 대시보드 화면입니다.
계정 정보를 비롯해서, 템플릿, 룸 정보, 그리고 대역폭이나, 기타 여러 정보들을 볼수 있습니다.
(아직 데이터들이 집계되지 않아서, 대시보드는 다소 휑하네요.. ^^)

Cocomo의 SDK는 상단의 Download the SDK를 통해 내려받을 수 있습니다.

사용자 삽입 이미지

Cocomo SDK는 개발문서(asdoc, pdf)를 비롯해,사용예제, 라이센스, 프레임워크 파일(swc), 소스파일(AS-Level)등으로 구성되어있습니다.

사용자 삽입 이미지

Cocomo 프레임워크의 전체 컴포넌트 목록입니다. 각 서비스의 몇몇 UI를 구현한 부분과, 서버와 통신을 처리하는 부분, 크게 두가지로 나뉘어 지며, 실제로 UI까지 어도비에서 만든 컴포넌트가 있기 때문에 서버와 연결 처리 부분만 만들어서 바로 애플리케이션을 만들 수도 있습니다.

사용자 삽입 이미지

Cocomo의 프레임워크의 라이브러리파일은 FP9,FP10용으로 나뉘어 져있으며, 둘의 큰 차이는 없지만, FP10용에서는 오디오 코덱이 향상되었다는 점과, FMS의 RTMFP지원으로 P2P기능이 지원된다는 점이 있습니다.

그럼 실제로 어떻게 Cocomo를 이용해 간단히 라이브소셜 애플리케이션을 개발할 수 있는지 살펴볼까요?

사용자 삽입 이미지

Cocomo의 SDK를 내려받은후, lib 폴더 안에 있는 cocomo 라이브러리 파일을 임포트 합니다.

사용자 삽입 이미지

그리고 두번째로 제일 중요한건 Room을 생성한다는 점인데요. Room은 사용자들의 세션을 관리하고, 또 해당 서비스가 이루어지는 공간을 뜻합니다. Room의 생성 갯수에는 제한이 없으며, 각 Room별 서비스 이용 정도도 살펴 볼 수 있습니다.
Room이름은 총 4자~61자까지 지원되며, 각 계정당 중복된 이름의 Room을 개설할 수 없습니다.

사용자 삽입 이미지

이렇게 Room을 생성하고 나서, 각 계정정보(아이디, 비밀번호), 계정암호, Room 정보를 설정하여 로그인을 하면 주기적으로 세션을 유지하면서 서비스가 이루어집니다.

아직 Cocomo Developer tool에 소소한 문제가 있는지, 계정URL은 대시보드 화면이 아닌 상단의 My account에 있는 Meeting URL을 입력하셔야 합니다.^^

사용자 삽입 이미지

위의 예제는, Cocomo의 지원기능중 하나인 채팅서비스를 개발한 예입니다.

이외에, VoIP를 이용해 Audio채팅, 웹캠공유, 화이트보드 공유, 파일스트리밍 등을 개발할 수 있으며, 해당 서비스를 이용해 개발된 예제는 SDK의 example 폴더에 포함되어 있으니 살펴보시면 어떤 구조로 동작하는지 간단시 살펴 볼 수 있습니다.

Cocomo의 가장 큰 장점중 하나는, 클라우딩 컴퓨팅 서비스중 하나로, 서비스를 위해 별도의 서버가 필요하지 않고, FMS나 LCDS등과 같은 고가의 어도비 서버제품군을 이용하지 않고도, 간단히 라이브 소셜 애플리케이션을 개발 할 수 있으며, 또 추후 다양한 디바이스에서도 해당 서비스가 가능하다는 점입니다.

아직 SDK에 여러 소소한 문제도 보이고, Acrobat 서버 자체도 많이 불안정 하지만, 어도비의 다소 색다른 시도로 라이브 소셜 애플리케이션을 쉽게 서비스 할 수 있는 시대가 본격적으로 열리길 바랍니다.

신고
트랙백 0 댓글 1

덕지덕지 오픈소스 프로젝트

안녕하세요. 덕지덕지 개발자 이희덕입니다.
(원랜 덕지덕지 개발자 희희덕덕이에요 라고 할려고 했는데, 왠지 희희덕덕이라는 아이돌그룹의 덕지덕지라는 신곡을 소개하는것 같아서 -_-;;; ← 뭐래니)


덕지덕지는 개발자가 20세되기 이전인 19세에 만들어져, 산타클로스 할아버지한테 왠일로 선물이라도 받아보고자, 오픈소스 프로젝트로 진행할려고 합니다.
(산타할아버지는 알고계신데 ㅠㅠ)






덕지덕지 전체는 오픈소스할수없다는 안타까운 소식을 전해드립니다.

아무래도 덕지덕지가 지금 현재 돌아가고있는 서비스이기도하고,
모든 부분을 노출했다간, 서비스자체의 보안에도 무리를 주기 때문이지요... ㅠㅠ (안타까워라)

대신!!
정말 여러분들게 필요한 엑기스(이미지에디터라던지, 제가 춤추는 동영상이라던지 (응?))들은
이글에, 모아서 오픈소스로 정리해두도록 하겠습니다.!

사용자 삽입 이미지

이글을 작성한 지금 (2008년 11월 4일)까지는 오픈소스...가 하나도없군요..
(슬퍼라..)
신고
트랙백 0 댓글 1

[FP10] FileReference는 어떻게 달라졌을까?

안녕하세요 : )

정말 오랫만에 글을 남기는것 같죠? 이녀석 예전처럼 게을러진거아냐? ㅋㅋ 라고 생각하셨던 분들도 계셨을것 같은데, 사실 이런 무시무시한 경고때문에, 글을 차곡차곡써가면서 여러분께 공개는 하지 못하고 있었습니다... (흑흑)

'임금님귀는 당나귀 귀' 라고 아무리 좋고 재미있는 얘기더라도, 떠들고 다니기 좋아하는 저로써는 입이 간질간질해서 참지못할 지경이더군요... ㅠㅠ

그래도! 16일부터는 여러분들과 함께, FP10에선 어떤 API들이 추가되었고, 어떤 변화사항이 있는지, 다루어 볼수 있게되어, 매우 즐겁게 생각하고 있습니다.

앞으로도 제 블로그에 계속 연재할 예정이니, 많이 많이 찾아주세요..
(방문자 늘리기 작전인가 -_-;;)
Flash Player10이 출시된 만큼 여러분께 유익한 정보가 될수 있었으면.... 합니다!

자 그럼 오늘의 주제인 Filerefrence는 어떻게 달라졌을까요?
우선, FileReference API에 대해 소개하자면, 이 API는 로컬의 파일을 접근하고, 업로드 하거나 다운로드 하는데 사용되는 API입니다.


변경사항

Flash Player10에서 FileReference의 변경사항입니다.

1. 사용자의 로컬 파일에 접근이 가능합니다(load(), save() 메서드 추가)
2. 보안샌드박스의 변경사항이 있습니다.

일단 제일 눈에 띄는게 사용자의 로컬 파일에 접근이 가능하다?! 는 점인데, "어라? 그럼 로컬 파일들을 불러올수 있다는건가요? 어디까지 접근할수 있나요?" 라고 궁금해 하시는분들이 많으실것 같습니다. 그 내용은 아래에서 ㅋ


load(), save() 메서드

Filerefrence에는 load(), save()라는 메서드가 추가되었습니다.  두 메서드는 로컬파일에 접근하여, 파일을 읽거나 쓰는데 활용할 수 있습니다.

근데, '어? 파일을 읽고 쓰고 하면 사용자의 컴퓨터에 위해를 줄수 있지 않나요' 라고 생각하시는 분들이 많으실것 같습니다.

하지만 load(). save() 메서드의 경우 다이렉트로 호출할수 없으며, 사용자가 browse창에서 직접 파일은 선택해야 호출할수 있는 메서드 입니다.


위의 소스코드는 파일을 불러오는(load) 예입니다. 파일을 선택하고(browse), 파일을 불러오는(load) 구조로 로컬 파일에 접근할 수 있습니다.
load() 메서드의 경우 파일의 경로 지정없이 바로 메서드로 호출하게 되며, 파일의 스트림, 파일명, 파일크기등의 자료는 이벤트 데이터로 불러올 수 있습니다.


위의 소스코드는 파일을 저장하는(save) 예입니다.
save() 메서드의 경우 파라미터에 저장될 파일의 내용, 파일의 이름을 지정하게 되면, 자동으로 browse 창이 뜨게 됩니다.
한가지 주의할점은, 기존 파일에 중복해서 저장하게 될경우 ioerror가 발생하게 됩니다.


보안샌드박스

Flash Player10에서 기존 Filerefrence와, 또 새로 추가되는 매서드에 대한 보안 샌드박스가 강화되어 적용되었습니다.

파일선택과 다운로드시 사용자의 직접적인 인터렉션을 필요로 합니다.
Filerefrence.browse를 통해 사용자의 로컬의 파일을 찾는 창을 띄울수 있고, Filerefrence.download를 통해 파일을 내려 받을수 있습니다.
두 메서드의 경우 종전엔 사용자의 UI 인터렉션을 필요로 하지 않았습니다만, Flash 10에서는 사용자가 직접 UI인터렉션을 취해야 작동하게 됩니다.

로컬파일을 불러오고 저장할때 사용자의 직접적인 인터렉션을 필요로 합니다.
Flash 10에서는 SWF파일에서 사용자 로컬의 파일을 읽어오고 또 저장할 수 있습니다. 다만, 이 메서드들은 사용자가 파일 선택창에서 직접 파일이나 경로를 선택할때만 가능합니다.

따라서, 현재 UI를 HTML로 꾸며놓고, 플래시와 JS의 통신으로 파일 업로드가 구현되어있는 티스토리나, 기타 사이트들은 사용자의 직접적인 UI인터렉션으로 browse()메서드가 호출되지 않았기 때문에, 샌드박스 오류가 발생하게 됩니다.

Flash Player10이 출시된 만큼, 보안샌드박스의 변화를 빨리 파악해서, 사용자가 불편을 입지 않도록 신속히 대응하는것이 좋겠습니다.



기대분야

1. 이미지 편집기

많은 디지털 멀티미디어 기기가 보편화 되고, 또 1인미디어가 대중화됨에 따라, 웹에서 이런 멀티미디어 자료들을 손쉽게 편집할수 있는것에 대한 사용자의 요구가 날로 늘어갔습니다.

대부분의 업체는, 이를 해결하기 위해 Active X방식으로 이미지 편집기를 만들어 제공해 왔으나, Active X방식의 애플리케이션은 크로싱 플랫폼을 지원하지 않는다는 단점이 있습니다.

그래서 이를 해결하기 위해, 플래시를 통한 이미지 편집기가 스타플(http://starpl.com), 싸이월드 블로그(http://cyworld.com)에서 개발되어 사용중입니다.
 

다만, 현재까지의 flash의 Filerefrence는 파일을 선택하고, 그 파일을 업로드하거나, 다운로드 하는데에 한정되어 있었습니다.

따라서 이미지를 편집하기전 해당 이미지를 불러오기 위해, 임시 서버에 업로드 해 두고, 업로드된 주소를 플래시 상에 불러와서 작업을 해야 합니다.

이 방법의 경우, 불필요한 자원을 추가로 낭비한다는 문제점도 있지만, 최근 대부분의 멀티미디어 화상 이미지가 고 해상화 됨에 따라 파일 용량이 커지고, 또 해외지역이나 네트워크 지역이 느린 환경에선 업로드와 또 플래시에서 이미지로 불러오는데 상당한 시간 지연이 발생하게 됩니다.

하지만 Flash 10의 Filerefrence에는 load() 메서드가 추가되어 데스크탑 내의 로컬 자원에도 엑세스 할 수 있습니다. 따라서, 불필요한 자원을 낭비할 일이 줄게 되며, 또 고 해상도의 이미지를 처리하거나, 네트워크 환경이 느린 사용자에서도 지연 없이 빠르게 이미지를 불러올수 있습니다.

또, "Flash에서는 로컬 자원만 불러와 이미지 편집→서버업로드"로 프로그램의 구조적 장점도 얻을수 있습니다.


2. 대용량 파일의 안정적 전송

보통 로컬에 있는 파일을 플래시로 서버에 전송할때엔, Filerefrence의 upload는 HTTP를 통해 전송하게 됩니다.
작은 용량일 경우엔 HTTP로의 전송은 큰 무리가 없지만, 대용량 파일의 경우, 해당 서버에 과부화가 발생하거나, 중간에 연결이 끊기는 등의 문제가 발생할 수 있습니다.

그래서 대부분의 메일 서비스의 경우에도, 5mb이내의 작은 용량의 전송은 HTTP로 전송하지만, 대용량의 파일전송은 안정적인 서버와의 연결이 중요하기 때문에, Active X 컨트롤을 설치해 서버로 보내고 있습니다.

이 방법을 Flash에서 활용을 해보면 어떨까요?

이전의 Flash Player의 경우, 사용자가 파일을 선택하고, 업로드하고, 다운로드 받는등 아주 작은 부분에 대한 관여만 가능했지만, 이젠 로컬의 파일을 직접 불러와서 엑세스 할 수 있습니다.

또 Flash에서는 서버와 Socket을 주고 받을수 있는데 우리가 흔히 대용량 파일전송에 사용하는 FTP도 Socket를 통해 연결하게 됩니다.

따라서 FTP의 Socekt에 접근해서(policy-file을 설정하고, port도 1024이상으로 설정하고), 파일의 스트림을 FTP로 보내면 대용량 파일을 좀더 안정적인 전송하는게 가능하지 않을까요?


이외의 여러분들의 깜짝 놀랄만한 아이디어, 그리고 의견, 질문사항은 댓글로 남겨주세요!
신고
Trackback 2 댓글 1
prev 1 next