728x90
반응형
앞글( http://tylee82.tistory.com/62 )에 이어서 클라이언트 작성을 알아보도록 한다.
이글은 머그초보의 블로그( http://mudchobo.tomeii.com/tt/239?category=8 ) 의 글을 참고로 작성됨을 알려드리며, 문제가 발생시 자삭 하겠습니다.

<< service-config.xml파일을 수정 >>

<factories>
  <factory id="springfactory" class="flex.messaging.factory.SpringFactory" /> 
</factories>
를 추가합니다.

<< remote-config.xml 파일을 수정 >>
<destination id="productmanager">
 <properties>
  <factory>springfactory</factory> 
  <source>productManager</source>
 </properties>
</destination> 

자세히 보시면 factory는 위에 service-config.xml파일에 정의한 놈이고, source는 bean이름입니다.
즉 applicationContext.xml파일에 정의한 그 bean이름을 저기에 적어 놓으면 됩니다.
그러면 그 bean을 flex로 가져와서 쓸 수 있습니다.


아 그리고 프로젝트에서 이상하게 contextroot가 WebContent로 되어있는데 프로젝트이름으로 고쳐줍시다-_-; 
---> (원래 WebContent 나오는게 정상 아닌가?? 뭐 난 아무것도 모르는 초보니깐.. 그냥 시키는데로...)

프로젝트 이름에 대고 마우스오른쪽버튼(alt+enter) properties를 선택, Flex Server부분 클릭.
context root를 프로젝트이름(SpringAndBlazeds)으로 바꿔줍시다.


<< FLEX 작성 >>
자 그러면 flex_src에 있는 SpringAndBlazeds.mxml을 수정해봅시다.
SpringAndBlazeds.mxml


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
 
applicationComplete="init();">
 
 
<mx:Script>
  <![CDATA[
   import mx.controls.Alert;
   import mx.rpc.events.FaultEvent;
   import mx.rpc.events.ResultEvent;
   import mx.rpc.remoting.RemoteObject;
   
   private function init():void {
    var remoteObject:RemoteObject = new RemoteObject();
    remoteObject.destination = "productmanager";
    remoteObject.addEventListener(ResultEvent.RESULT, resultHandler);
    remoteObject.addEventListener(FaultEvent.FAULT, faultHandler);
    remoteObject.getProducts();
   }
   
   private function resultHandler(event:ResultEvent):void{        
       dg.dataProvider = event.result;  
      }      
   
      private function faultHandler(event:FaultEvent):void{        
       Alert.show("실패 메세지 : " + event.fault.message);  
      }  
  ]]>
 
</mx:Script>
 
 
<mx:DataGrid id="dg" width="100%" height="100%" />
</mx:Application>

간단하게 Manager에 있는 getProducts를 호출해서 DataGrid에 넣는 코드입니다.

<< 실행 >>
이클립스 오른쪽아래에 server에다가 SpringAndBlazeds프로젝트를 추가합니다.
서버에 대고, 오른쪽버튼누르면, Add and Remove Project클릭해서 추가하면 됩니다.
서버를 가동합니다.
Run Flex Application을 실행해봅시다!


 - 후기
이번 예제를 실행하면서 나의 실력에 부족한점을 알아냈다.
  • Spring 프레임워크의 부족한 점 보안 
  • Flex에서 DataBase의 연동시 처리 방법 보안
  • iBatis의 데이터 베이스 정의 및 사용방법 보안
실질적으로 사용을 하기위한 프로젝트로 만들기 위해서는 많은 점을 보안해야 겠지만, 일단 오늘 돌려본 이 예제가 엄청난 도움이 될거라 생각한다. 아직 Spring 프로젝트 경험도 공부도 해본적이 없지만, EJB시스템 및 좀더 거대한 프로젝트를 위해서는 아무래도 공부를 해야겠다.

개인적으로 참 괜찮다고 생각한 DB 처리 java 소스들이 있어서 언제나 그것을 가지고 개발을 했는데, 아무래도 이제는 iBatis를 이용해 봐야겠다. 

FLEX의 컴포넌트 구조도 아는것이 없었는데, 일단 DB와 연동을 시켜봤으니 게시판부터 한번 개발 해보려 한다.

다시한번 머그초보님에게 감사를 표시합니다.

728x90
반응형

+ Recent posts