'SIlverLight'에 해당되는 글 2건

  1. 2009.02.10 About the BlazeDS #1
  2. 2009.02.09 온라인 외국어 강좌와 실버라이트
Flex2009.02.10 09:59

BlazeDS Overview

BlazeDS는 client-side 어플리케이션을 실시간으로 server-side 데이터와 데이터 통신을 하는것이다.
즉, client-side부분의 호출자와 서버(J2EE)단의 응답자로 나뉘는데, 클라이언트 쪽에서는 Ajax client library를 통하여
HTTP통신으로 서버를 호출한다.




이는 Flex에서 server-side object를 곧바로 호출하기 위한 기술이며 코어 아키텍쳐는 다음과 같다.


크게 RPC Services, Messaging Services, Service Adapters, Proxy Service 로 나뉘어지고, Flex에서 주로 많이 사용하는 방식은 RPC Services에서 Remoting Service로 Java의 Service Adapter로의 호출하는 방식이다.

MVB패턴으로 보면, Java Service Adapter 가 Controller, Flex가 View 가 된다. Model은 Hibernate나 iBatis를 많이 사용한다.


Client Architecture

BlazeDS는 서버와의 메시지기반 통신을 한다. 이 메시지는 AMF Channel이라는 ActionScript 객체 직렬화된 바이너리 메시지 포맷 방식이다. AS에서의 flash.net.NetConnection 패키지안에 있다. 이 외에도 Secure AMF, RTMP, HTTP Channel이 있는데 자세한 내용은 Adobe사의 Using RPC services in Flex Data Services 2 문서를 참조 하기 바란다.


그렇다면 Flex에서 BlazeDS 서비스를 통한 서버와의 통신에서 플래쉬 객체를 AMF Channel로 주고 받으면, 자바와 서로 다른 Object 구조에서 어떻게 값을 받을 수 있을까 하는 의문이 든다.
Flex Builder를 사용한다면 통신할때 디버그를 해 보면 가장 잘 알수 있는데, 보통 자바 MVC패턴으로 개발 할때는 VO(Value Object)를 많이 쓴다. 이 VO를 Flex에서 받을때는 신기하게도 형변환이 이루어져 mx.collections.ArrayCollection 으로 받는다.


Server Architecture

서버 아키텍쳐는 J2EE 웹 어플리케이션이다. 플렉스 클라이언트는 서버에 채널을 통한 메시지를 endpoint 로 매칭시켜 보내어진다. endpoint라는것 자체가 서블릿단 이라고 생각하면 될것 같다.




앞으로 인터넷은 RIA 전성시대가 될 것이고, Flex는 View단을 처리하는 중요한 요소이며 이 View단에서 데이터를 더이상 무거운 XML로 받지 않고 서버와 곧바로 통신 하니 빠른속도로 UX를 생각하면서 데이터를 보여주게 될 것이다.
MS사의 Silverlight는 이미 ADO.NET과 직접적인 통신을 할수 있고, Flex는 조금 늦게 RO 호출 기술이 나왔지만 서로 우열을 가릴 수 없을 많큼 훌륭한 기술이다.

내 생각에 앞으로의 관건은 웹에서의 Vector 그래픽을 이용한 3D 처리 기술과 미디어 재생 기술인데, WMV의 라이센스가 MS라서 아무래도 MS가 약간 유리한것 같다. Adobe사가 유리한것은 FlashPlayer가 많이 배포 되어 있다는 것이다.

참조 : BlazeDS Developer Guide
저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by dotnetpower
Silverlight2009.02.09 14:29

작년에 회사에 제안을 하려고 만든 문서.

실버라이트에는 미디어엘리먼트의 배속조절 기능이 없어서 프로젝트 진행 80%에서 중단 ㅠㅠ.

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by dotnetpower

티스토리 툴바