'UX'에 해당되는 글 2건

  1. 2009.02.10 About the BlazeDS #1
  2. 2009.02.06 화성에서 온 플랙셔, 금성에서 온 플래셔!
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
Flex2009.02.06 14:38

2001년도에 아마도 플래쉬 버전이 4.0일때, 웹사이트 위에서 동작하는 플래쉬를 보고는
엄청난 충격을 받았다. 당시 거의 모든 사이트 들이 웹사이트에 애니매이션을 주고자 animated GIF 를 사용할 시대이다.

당시 와레즈 사이트들이 많이 활성화 되어 있던터라, 툴을 어렵지 않게 구할수 있었고, 직접 애니매이션을 만들어 봤는데 정말 쉽고 빠르게 다룰수 있게 되었다. 하지만 디자인 감각이 꽝인 나로서는 애니메이션을 만들고 아무리 화려하게 구현을 해도 이쁘지가 않고 아마추어 티가 확 났다. 그 후로는 바로 접었지만.. but, 4.0에 존재하는 단축키를 거의 익히고 나서... ㅎㅎ

얼마전에 같이 일하던 친구가 이직을 하면서 맡은 프로젝트가 FLEX 로 개발을 하는것이였는데, 또다시 충격을 받았다.
플렉스에대한 기초지식이 없던 나로써는 놀라울 따름이였다.
단지 플래쉬의 확장이라고 생각했는데, 그게 아니라 새로운 언어의 탄생이다. 물론 플래쉬에 기반을 두긴 하지만, 모든 클래스가 비슷해 보이긴 하지만 실제로는 완전히 다른 것이다.

플래셔들은 디자이너 출신이 대부분이기 때문에 플렉스로 넘어가기 힘들어한다. 물론 우리 플래셔도 플렉스로 넘어가는것을 어려워 한다.

플래쉬 개발자 커뮤니티들은 거의 ActionScript1이나 2 에 대한 이슈를 다루고 있는것이 사실이다.
AS3가 객체지향이라서 플렉스와 비슷하다고 생각하시는 분들이 많은데, 그건 잘못 알고 있는것 같다.

예전에 VB6.0으로 한참 개발할때 .Net Framework 이 나오면서 VB.NET을 해 봤는데, 폼하나도 제대로 띄우지 못한 기억이 난다.

그러므로, FLEX를 한다는것은 새로운 언어를 받아들인다는 생각으로 시도하는것이 좋다고 생각한다.
또한, 우리나라에서는 UX(User eXperience)를 좋아하기 때문에 대형 프로젝트도 FLEX로 구현되는 사례가 많다.

Adobe社 에서 내놓은 BlazeDS를 이용해서 FLEX에서 JAVA Object를 곧바로 호출할수 있는 방법을 제시한다.
그러면 Data Exchange를 위한 XML를 쓰지 않고, 곧바로 객체를 호출하여 값을 넘길 수 있는데
그러면서, 실제 FLEX는 MVC모델로 봤을때 View 로 깔끔하게 빠질수 있고, 자바코드는 Controller가 되며
Model은 Hibernate나 iBatis를 사용하게 된다. 거기다가 Spring Framework 을 얹으면 완벽한(?) 모델이 될것이다.

그러므로, FLEX는 자바 또는 닷넷 프레임웍에서 앞으로 뷰(View)단을 처리할 중요한 역할을 할것이다.
저작자 표시 동일 조건 변경 허락
신고
Posted by dotnetpower

티스토리 툴바