플렉스의 데이터 통신 방식에는
HTTP
AMF
RTMP
의 세 가지 방식이 있다.
1. HTTP
1.1 XML over HTTP 방식
HTTP를 이용하여 GET이나 POST 방식으로 데이터를 웹서버로 전송하고 결과를 XML의 형태로 받는 방식이다.
FLEX의 <mx:HTTPService /> 컴포넌트를 사용한다.
장점
- 기존의 JSP, ASP, PHP 등으로 구현된 웹어플리케이션을 XML 포맷으로 데이터를 반환하게 수정하면 쉽게 구축할 수 있다.
단점
- XML로 데이터를 받기 때문에 속도가 느리다.
1.2 XML over SOAP (웹서비스) 방식
웹서비스를 이용하여 데이터를 웹애플리케이션서버와 주고받는 방식이다.
FLEX의 <mx:WebService /> 컴포넌트를 사용한다.
장점
- 웹서비스의 장점을 그대로 가진다. (다른 플랫폼과의 서비스 가능 등..)
단점
- 역시 XML로 데이터를 처리하기 때문에 속도가 느리다.
2. AMF
AMF(Action Message Format)란 바이너리로 인코딩된 데이터를 HTTP를 이용하여 전송하는 방식이다.
바이너리로 인코딩되었기 때문에 XML에 비해 데이터의 양이 매우 적다는 장점이 있다.
FLEX의 <mx:RemoteObject /> 컴포넌트를 사용한다.
장점
- 데이터의 양이 XML에 비해 적기 때문에 처리 속도가 빠르다.
단점
- HTTP 방식과는 달리 반드시 서버 위에서 돌아가야 한다. (사실 어차피 서버 위에서 돌릴 거니깐 단점이라고 하기가 좀 ㅡ_-;;)
3. RTMP
RTMP(Real Time Message Protocol)은 TCP/IP 기반의 소켓통신이라고 되어 있지만, 쉽게 말하면 JMS를 이용한 메시지 서비스인 것 같다. (아직 이쪽은 잘 모르겠지만..)
아무튼 실시간으로 서버 푸시와 클라이언트 폴링이 가능하다.
장점
- 실시간으로 데이터를 주고 받을 수 있으므로, 당연히 좋다 +_+ 예를 들면, 인터렉티브하게 구현할 수 있다.
단점
- JMS를 이용하므로 그에 대한 지식이 있어야 하겠다.
- AMF와 마찬가지로 반드시 서버 위에서 돌아가야 한다.
마지막으로, 참고로 말하자면.. 세 가지 방식 모두 SSL 을 적용할 수 있다는 거.. |