from : http://w3labs.kr/?p=5389
시중에 나와있는 웹소켓 솔루션은 정말 많은 종류가 있습니다.
하지만, 웹소켓을 지원하지 않는 IE6+ , Android2.1+ 버전까지 지원하는 웹소켓 솔루션은
Kaazing 과 Socket.IO 뿐이 없는 실정입니다.
Kaazing 과 Socket.IO 에서는 시뮬레이션모드 라는 것으로 웹소켓 미지원 브라우저에서도 동작 하는데요.
이 시뮬레이션 모드에서 기술의 차이가 발생 합니다.
Socket.IO 는 Long-Polling(Comet) 방식으로 시뮬레이션을 하고 있습니다.
결국 웹소켓이 나오기 이전 기술, 그러니까 결국 Legacy 기술을 이용하는 것으로 웹소켓과는 거리가 멀지요.
웹소켓의 장점인 Full-Duplex 방식이 아닌 Half-Duplex 방식으로 응답(Latency)가 느리고 가비지 트래픽이 발생하게 되지요.
Kaazing 의 경우는 유료 솔루션 답게 시뮬레이션을 자체 기술로 해결 했는데요.
Ajax 통신 2개를 열어 놓고, 하나는 Send를, 하나는 Receive를 담당하게 합니다.
웹소켓과 동일한 Full-Duplex 방식으로 빠른 응답속도와 적은 트래픽을 유발하게 되지요.
또한, 이러한 시뮬레이션 모드가 어떠한 구성환경에서도 완벽하게 동작 하는데요.
* Single Sign-On (SSO) 연동
* VPN 2중화 환경
* DDMZ 환경
* Proxy Server 에서 패킷을 감청 할 수 있는 환경(보안 유지)
* Active-Active Load Balancing
* Binary Data의 WebSocket 지원원
* 병렬적 서버 확장
* 국내 기술지원
이러한 엔터프라이즈 환경의 Needs 를 모두 충족시켜 주고 있습니다.
Kaazing을 도입한 회사들을 보면 솔루션의 완성도를 보실 수 있습니다.
금융권
* JP모건
* HSBC 은행
* 골드만삭스 외 4개사
Software & Service
* 오라클
* 인텔
* 시스코
* 에릭슨
* 구글
* 퀄컴
* 맥아피 외 8개사
Media & Entertainment
* Skybet
* AOL
* The Daily
* CNN Money 외 5개사
기타
* Southwest Airlines 외 4개사
더 자세한 내용은 아래 슬라이드를 참조 하시기 바라며,
문의 사항은 연락 주시기 바랍니다. (contact@w3labs.kr)
* URL : http://w3labs.kr/?p=5389
감사합니다.
2. 미래웹기술연구소 소개
W3C 공식 멤버
(국내 민간사 7번째 회원사)
Sencha Inc. 공식 파트너
Kaazing 공식 파트너
HTML5 및 웹표준 기술 전문 연구
강의, 교육
HTML5 모바일 개발 및 앱개발
웹기술기반 아이폰, 안드로이드앱
개발 및 컨설팅
아이패드, 안드로이드 패드용 전자책
개발
웹기술과 가전제품의 융합 선행연구
Page 2 http://w3labs.kr
3. 미래웹기술연구소
HTML5, 모바일웹, N-Screen 대응 웹기술 연구 및 교육,컨설팅
컨퍼런스 주최 : WebApps Future Conference 2011
Microsoft IE9 런칭 기념 HTML5 쇼케이스 개발
국내 유일의 Sencha Touch 및 웹앱개발 전문회사
Page 3 http://w3labs.kr
4. About Kaazing
Early contributors of HTML5 WebSocket
Founded in 2007 by former Oracle experts (Web
Platform Solutions)
First Enterprise-grade Web Communications
platform implementing new standards
Introduced products in 2009
Marquee customers and partners
LEADER IN WEB COMMUNICATIONS
Page 4 http://w3labs.kr
5. 목차
왜? WebSocket 인가?
Websocket 솔루션에는 어떤 것이 있는가?
Kaazing vs. Socket.IO
Kaazing Demo
Page 5 http://w3labs.kr
7. Legacy Web
Request 와 Response 를 동시에 처리 하지
못하는 HTTP 프로토콜
- 21세기에 “전보(telegraph)” 를 통해
웹서비스를 이용하는 모습 입니다.
정적인(Static) 웹서비스에 최적화 되어
있습니다.
- User Interaction을 중시하는 현재의 웹과 맞지
않습니다.
불필요한 트래픽을 최대 1600배 이상
처리해야 합니다.
- 서버 비용 증가
- 느린 속도
Page 7 http://w3labs.kr
8. Legacy Web Architecture
Need to translate a connected
world (backend) to a disconnected
world (Web)
Expensive to scale applications to
large web audience
High latency / bandwidth intensive
COSTLY INFRASTRUCTURE AND DEVELOPMENT
Page 8 http://w3labs.kr
9. Kaazing Web Architecture
Designed for real-time
Massive scalability through
simplified architecture
Enterprise-grade reliability
and resiliency
SIMPLICITY REDUCES COSTS
Page 9 http://w3labs.kr
11. WebSocket Solution
Solution
- 무료 : Socket.IO (http://socket.io)
- 유료 : Kaazing (http://kaazing.com)
웹소켓 솔루션은 2개 뿐입니다.
- 제품은 많이 있지만, 웹소켓을 지원하지 않는 브라우저 까지도 지원하도록 시뮬레이션
해주는 솔루션이 2개 뿐이기 때문입니다.
- 웹소켓을 지원하지 않는 브라우저 : IE6+ , Android 2.1+
Page 11 http://w3labs.kr
12. WebSocket Solution – 지원 브라우저
Browser Support – Desktop
- IE6+
- Safari 3+
- Google Chrome 4+
- Firefox 3+
- Opera 10.61+
Browser Support – Mobile
- iPhone , iPad
- Android 2.1+
- WebOS Webkit
Page 12 http://w3labs.kr
14. Kaazing vs. Socket.IO – Full-Duplex
IE6+, Android 환경에서 Full Duplex 통신하는 유일한 솔루션!!
- Socket.IO : Long-Polling(Comet) 방식을 통한 시뮬레이션
- Half-Duplex 방식으로 응답이 느리다.
- 가비지 트래픽 발생으로 Kaazing 에 비해 최대 1600배 트래픽 발생. 서버 부하로 이어짐
- Kaazing : Ajax connection 2개 연결하여 Send/Receive 를 동시 진행
- Full-Duplex 방식으로 Real WebSocket 방식과 동일
- 가비지 트래픽 없다 서버 안정
- 빠른 Latency
Page 14 http://w3labs.kr
15. Kaazing vs. Socket.IO – Secure Emulation
IE6+, Android 시뮬레이션 환경에서 완벽한 보안 제공
Page 15 http://w3labs.kr
16. Kaazing vs. Socket.IO – Single Sign-On(SSO) 환경 지원
Single Sign-On(SSO) 환경 지원하는 유일한 솔루션
(시뮬레이션 모드 포함)
기업의 Legacy SSO 시스템과 결합
- 기업의 Legacy SSO를 통해 승인 받은 유저에게 별도 승인 없이 WebSocket 연결
- SSO 한번만 승인 받으면 모든 서비스 이용 가능
Page 16 http://w3labs.kr
17. Kaazing vs. Socket.IO – VPN 환경
클라이언트가 VPN을 통해 접속을 하더라도 WebSocket 완벽 지원하는 유일한
솔루션
(시뮬레이션 모드 포함)
Legacy VPN 환경에 설치가 가능하다.
WebSocket Connection도 VPN통해 이뤄진다.
클라이언트(시뮬레이션 모드 포함)와 서버에 각각 VPN 환경(총 2개 VPN)도
지원
- 어떠한 네트워크 구조도 지원
Page 17 http://w3labs.kr
18. Kaazing vs. Socket.IO – DDMZ 지원
서버가 어떠한 DMZ 환경에 있더라도 WebSocket 완벽 지원
Page 18 http://w3labs.kr
19. Kaazing vs. Socket.IO – Active-Active 이중화
서버 확장 시 Active-Active 이중화 가능
Kaazing 스스로 자동으로 Load Balancing 작동
Page 19 http://w3labs.kr
20. Kaazing vs. Socket.IO – 병렬적 서버 확장
서버 확장 시, 병렬적 서버 확장이 가능하며 세션문제 발생하지 않는다.
병렬로 확장된 서버 간에는 자동으로 Load-Balancing 작동
Page 20 http://w3labs.kr
21. Kaazing vs. Socket.IO – Development
Kaazing 은 Java base 로 개발되어 있어 다루기가 쉽다.
- 국내 수많은 Java 엔지니어
Socket.IO는 Node.js 기반으로 되어 있어 인력 구하기 어려움.
Page 21 http://w3labs.kr
22. Kaazing vs. Socket.IO – 기술지원
Kaazing
- 미래웹기술연구소를 통한 1차 지원과 Kaazing 본사를 통한 2차 지원
- 1차 지원 : 국내 미래웹기술연구소
- 2차 지원 : Kaazing 본사
Socket.IO
- 기술지원 없음.
- 웹 검색을 통해 자체 해결 필요.
Page 22 http://w3labs.kr
23. Kaazing vs. Socket.IO – 안정성
Kaazing
- W3C WebSocket 스펙 작성에 주도적으로 참여한 John Fallows(Kaazing 창업자)
- W3C 활동 내역 : http://goo.gl/hsElI
- W3C의 Ian Hickson 이 최고의 WebSocket 솔루션으로 소개 (비공식)
Socket.IO
- 2013년 2월 현재 “0.9.x” 버전
Page 23 http://w3labs.kr
24. Kaazing vs. Socket.IO – Proxy Server 지원
서버와 클라이언트 사이에 Proxy Server 가 있을 경우
Proxy Server 에서 WebSocket 데이터를 감청 하는 경우가 있는데
Kaazing 에서는 완벽하게 암호화 하여 Proxy Server 구조에서도 보안 확보
Page 24 http://w3labs.kr
25. Kaazing vs. Socket.IO – Misc.
Binary Data 의 WebSocket 지원
Server Sent Events(SSE) 지원
개발자 라이선스 무료
Enterprise-level Security
많은 Client 지원
- JavaScript (HTML5)
- Flash / Flex / Air
- Sliverlight
- .Net
- Java
Page 25 http://w3labs.kr
OLD WEBDesigned for static documentsRequest – Response modelNo concept of connectionLatest standards date from 1999Communications similar to the telegraphOnly one direction at a timeUnreliableSimulated interactivityRequires proprietary plug-insRequires polling / long polling techniquesHigh latencyFragmented client (browser) capability
OLD WEB ARCHITECTURENeed to translate a connected world (backend) to a disconnected world (Web)Need for “translation” processingHTTP – half duplex communicationAjax/Comet techniques (polling / long polling)Costly legacy Application/Web serversRequires WAN optimizationExpensive to scale applications to large web audienceEach round trip needs to be processed by the web middlewareRe-authenticate, re-authorize, re-translate each timeHigh latency / bandwidth intensiveHTTP header traffic 800 to 2000 bytes overhead per request/response
KAAZING WEB ARCHITECTUREDesigned for real-timeFull-duplex Up to 1000x less latency (< 1ms)Up to 1000x better bandwidth utilizationMassive scalability through simplified architecture Enterprise-grade reliability and resiliencyGuaranteed messagesSupport for ALL Client devices Support for ALL TCP-based binary and text protocols to the Web