타자가 최근에 C++로 개발된 미디어 엔진과 Flex UI를 연동해야 할 필요가 생겼다.

독립엔진은 별도로 JSON 어댑터를 제공해주어서 특정 명령 호출까지는 문제없이 진행되었다.
다만, 미디어 엔진이다 보니 명령 호출 후 미디어 인코딩 등의 시간이 오래 걸리는 프로세스가 많았고
이 프로세스가 끝나는 2~30분 이후까지 Flex RPC 스레드를 물고 있다가 결과 핸들러를 발생할 수가 없는
상황이 발생했다. 즉, JSON 호출과 프로세스 결과 이벤트가 각각 다른 스레드를 가져야 하는 상황.

아래와 같은 내용으로 개발은 진행된다.

JSON 호출 (Java Service)

미디어 엔진에서는 위의 tid 값을 가지고 있다가 프로세스 완료후 결과 핸들러를 능동적으로 호출하면서 파라미터에 tid를 재전송한다. 이제 엔진에서 결과값을 리턴할 서블릿을 구성해보자.

Result Handler (Servlet)


엔진에서 프로세스가 완료되면 위 서블릿을 호출하며, 서블릿에 지정된 request parameter들을 HashMap으로 변형해서 BlazeDS의 Message로 발생시킨다. 이제 Flex에 Consumer를 설정해야겠지?

호출/결과 (Flex)


Flex에서 호출하고 받는 부분이다. 주목할 부분은 subTopic으로 해당 프로세스 스레드를 구분하여 메세지 처리하는 부분이다.

이 프로세스의 단점이라 하면... process progress가 안보인다는 정도?
크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 모질이

2009/10/01 11:58 2009/10/01 11:58
, , ,
Response
No Trackback , No Comment
RSS :
http://ph0ebus.net/rss/response/91

Trackback URL : http://ph0ebus.net/trackback/91

« Previous : 1 : ... 14 : 15 : 16 : 17 : 18 : 19 : 20 : 21 : 22 : ... 88 : Next »

블로그 이미지

백골이 진토되어 넋이라도 쫀득쫀득.. [사고뭉치 엉클쪼]

- 모질이

Calendar

«   2010/08   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
Statistics Graph