Blaze DS 란?
BlazeDS는 Adobe에서 만든 LCDS(Life Cycle Data Service)와 유사한 개념의 Open Source
프로젝트입니다.
참고로, LCDS와 BlazeDS의 기능상의 차이는 다음 그림에 잘 나와 있습니다.
전체 사각형은 LCDS의 기능 집합이여, 아래에 컬러(하늘색)로 표시된 부분만 BlazeDS의 기능입니다
위 그림에서 보다시피 BlazeDS에는 LCDS의 몇가지 기능이 삭제되어있습니다
LCDS 의 핵심적인 기능이라면
- Data Management
- Remote Object Service
- Messaging
이렇게 크게 3가지라고 볼수 있겠습니다.(그 외에 PDF제너레이터 같은 것들고 있다)
BlazeDS는 이 중에서 Data Management 기능을 제외한 2가지를 지원합니다.
Data Management는 Server/Client Data Synchronization을 위한 기능인데 LCDS의 핵심 기능이기는 하지만제가 보기에는 일반적인 프로젝트에서 실제로 크게 많이 쓰일만한 기능은 아닌것으로 보입니다. 어쨋든 Data Management를 제외한 나머지 주요한 기능은 BlazeDS에서도 지원하고 있습니다.
찾아본 자료에 의하면 Remote Object Service의 경우는 BlazeDS와 LCDS간에 성능차이는 없습니다.
다만, Messaging의 경우는 LCDS는 CPU당 1000개 수준의 Dedicated messaging service 를 지원하는 반면, BlazeDS에서는 CPU당 100개 수준의 Web container-based messaging service 만을 지원하죠. 이부분은 좀 아쉬운 부분입니다.
어쨋든 공짜로 사용할 수 있는 것이니 Remote Object Service만 해도 충분히 사용할 만한 가치는
있는 것 같습니다.
가장 중요한 기능은 Flex에서 Remote Object란 개념으로 서버상의 Java method를 바로 Call할 수
있다는 것입니다.
BlazeDS 없이는 Remote Object (이하 RO라 표현)를 사용할 수 없으며, 따라서 기존에는
HTTPService 혹은 SOAP을 이용한 WebService방식으로 서버상의 기능을 호출하게 됩니다.
가장 기본적인 방식인 HTTPService의 경우 servlet을 호출하여 결과값을 xml이나 text형식으로
받아서 사용합니다.
가장 기본적인 사용방법은 다음과 같습니다.
< 일반적인 방식의 호출 >
<mx:HTTPService id="srvHTTP" method="POST" useProxy="false" url="simple" showBusyCursor="true" fault="Alert.show(event.fault.faultString, 'Error');"/>
위의 예에서 url 부분에 servlet의 경로가 들어가게 되고 POST방식으로 호출한다는 의미입니다.
< RemoteObject 방식의 호출 >
하지만 RO를 사용하게 되면,
서버상의 remoting-config.xml 파일에 destination에 해당하는 부분을 정의한 후
java method를 바로 호출하고 결과값을 primitive type혹은 javabean 형태로 받을 수 있습니다
- remote-config.xml 파일
- mxml 파일
"Get Data"란 버튼을 클릭하면 simpleLoadService를 호출하고 데이터를 가지고 오게 됩니다.
다음은 실제 simpleLoadService로 선언한
flexintegration.sample.SimpleLoadService.java 파일의 내용입니다
Database에서 값을 가져온 후 결과 데이터를 List로 만들어서 Flex쪽으로 리턴합니다.
이와 같이 RO를 이용하게 되면 서버쪽의 Java method를 바로 호출할 수 있어서 개발 속도를 향상 시킬수있으며, xml이나 text파일이 아닌 serialize된 object를 전달받게 되므로 대용량 데이터의 경우 데이터 전송 속도의 향상도 기대할 수 있습니다
tistory 라 부득이하게...
출처사이트 : http://sewony.tistory.com/category/FDS
[출처] BlazeDS 란?|작성자 모카빵
'Flex' 카테고리의 다른 글
Flex 암호화/복호화 as3crypto (0) | 2012.07.29 |
---|---|
Flex Mysql 연동 (0) | 2012.07.29 |
Flex 컴파일 후 익스플로러에서 적용이 안 될 때 (0) | 2012.07.29 |
Flex와 Flash의 차이점 2 (3) | 2012.07.29 |
Flex와 Flash의 차이점 1 (0) | 2012.07.29 |