0
GAE를 활용한 XMPP 개발<br />대표이사 장선진<br />@jangsunjin<br /><ul><li>Mobile Phone: (+82) 010-4585-1770
 E-Mail: jangsunjin@softwareinlife.com</li></li></ul><li>Real-Time Web<br />SNS의 정의<br />A social network service is an on...
SNS 서비스<br />
SNS 사용자 전망<br />- 페이스북 사용자 현황: http://www.socialbakers.com/facebook-statistics/<br />
XMPP(eXtensible Messaging and Presence Protocol)<br />XMPP는 RFC3920, RFC3921 등 IETF에서 제정한 IM(Instant Messenger)를 위한 국제 표준 ...
XMPP의 특징<br />login, presence, subscribe, messaging, chat, multichat, file transfer 등 메시징 서비스를 위한 기본적인 프로토콜 규약 정의<br />NAT...
XMPP 구조<br />Client<br />Client<br />XMPP<br />Server<br />XMPP<br />Server<br />XMPP<br />XMPP<br />XMPP<br />Client<br /...
XMPP 프로토콜<br />Client 1<br />Client 2 (GAE)<br />Client 1<br />Client 2 (GAE)<br /><ul><li>XMPP는 Stream 기반으로 동작
XMPP의 Message Type
one-to-one chat, group-chat, error, headline and normal</li></ul>http://en.wikipedia.org/wiki/Extensible_Messaging_and_Pre...
GAE XMPP Service<br />GAE XMPP 서비스는 3가지 inbound services를 지원함.<br />xmpp_message GAE에서 chat message를 교환할 수 있음.<br />xmpp_s...
GAE XMPP Service의 장점<br />VS<br />즉시 활용 가능한 XMPP 서버를 구축할 수 있음.<br />Gtalk와 같은 XMPP 서버와 원활한 통신이 보장됨.<br />추가적인 JID 구성을 통하여 ...
Demo<br />JID: xmppsoftwareinlife@appspot.com<br />
Smack <br />Smack API 3.1.0<br />http://www.igniterealtime.org/projects/smack/<br />
GAE XMPP Service 활용<br />Smack API<br />Real Time Service<br />Smart Phone<br />Smart PAD<br />N-Screen<br />(One-Source M...
XMPP 활용 용량<br />
Representational State Transfer (REST) is a style of software architecture for distributed hypermedia systems such as the ...
RESTful Web Service<br />16<br />
XML Binding<br />XML<br />Simple Framework<br />Simple  is a high performance XML serialization and configuration framewor...
Jersey is the open source, production quality, JAX-RS (JSR 311) Reference Implementation for building RESTful Web services.
Upcoming SlideShare
Loading in...5
×

N04 xmpp and_android

1,183

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,183
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
25
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "N04 xmpp and_android"

  1. 1. GAE를 활용한 XMPP 개발<br />대표이사 장선진<br />@jangsunjin<br /><ul><li>Mobile Phone: (+82) 010-4585-1770
  2. 2. E-Mail: jangsunjin@softwareinlife.com</li></li></ul><li>Real-Time Web<br />SNS의 정의<br />A social network service is an online service, platform, or site that focuses on building and reflecting of social networks or social relations among people, e.g., who share interests and/or activities. <br />A social network service essentially consists of a representation of each user (often a profile), his/her social links, and a variety of additional services.<br />
  3. 3. SNS 서비스<br />
  4. 4. SNS 사용자 전망<br />- 페이스북 사용자 현황: http://www.socialbakers.com/facebook-statistics/<br />
  5. 5. XMPP(eXtensible Messaging and Presence Protocol)<br />XMPP는 RFC3920, RFC3921 등 IETF에서 제정한 IM(Instant Messenger)를 위한 국제 표준 프로토콜<br />Jabber Inc.에 의해 1998년부터 Jabber라는 이름으로 확장 가능한 XML 베이스의 메세징 프로토콜이 연구되었으며, 2004년 1월 IETF에 의해 표준안으로서 인정<br />GTalk(google), iChat(Apple), Gaim, Pidgin 등이 지원하며 현재 XMPP는 두 지점간의 통신 규격에 관한 것으로 이 두 지점은 이메일 주소와 같은 방식으로 표현되며 두  지점간의 메시지(message), 프레즌스(presence)를 실시간으로 전달해 주는 규격<br />
  6. 6. XMPP의 특징<br />login, presence, subscribe, messaging, chat, multichat, file transfer 등 메시징 서비스를 위한 기본적인 프로토콜 규약 정의<br />NAT, STUN, firewall, SSL 등 두 지점간의 연결을 위한 기술 및 보안 등에 대한 정의 및 구현<br />지점간의 Audio, Video 통신, multimedia streaming service 및 Phone 과의 VoIP를 위한 확장 정의<br />서버간의 호환, 분산서버, 타 메신저와의 호환<br />
  7. 7. XMPP 구조<br />Client<br />Client<br />XMPP<br />Server<br />XMPP<br />Server<br />XMPP<br />XMPP<br />XMPP<br />Client<br />Client<br />Client<br />Client<br />Direct Client-Client Communication<br />JID(Jabber ID): [ node "@" ] domain [ "/" resource ]<br />jangsunjin@softwareinlife.com/googleappengine<br />사용자는 여러 XMPP 서버에 로그인할 수 있으며 Resource를 통하여 구분할 수 있다.<br />
  8. 8. XMPP 프로토콜<br />Client 1<br />Client 2 (GAE)<br />Client 1<br />Client 2 (GAE)<br /><ul><li>XMPP는 Stream 기반으로 동작
  9. 9. XMPP의 Message Type
  10. 10. one-to-one chat, group-chat, error, headline and normal</li></ul>http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol<br />
  11. 11. GAE XMPP Service<br />GAE XMPP 서비스는 3가지 inbound services를 지원함.<br />xmpp_message GAE에서 chat message를 교환할 수 있음.<br />xmpp_subscribe 사용자와 GAE간에 chat message, presence information, status message와 같은 데이터를 교환할 수 있음.<br />xmpp_presence GAE에서 사용자의 chat presence를 감지할 수 있음.<br /><ul><li>GAE 기반의 어플리케이션은 기본 JID가 부여됨.</li></ul>- app-id@appspot.com<br /><ul><li>사용자가 JID 추가 정의 가능함.</li></ul>- anything@app-id.appspotchat.com<br />
  12. 12. GAE XMPP Service의 장점<br />VS<br />즉시 활용 가능한 XMPP 서버를 구축할 수 있음.<br />Gtalk와 같은 XMPP 서버와 원활한 통신이 보장됨.<br />추가적인 JID 구성을 통하여 다양한 XMPP 관련 서비스를 구축할 수 있음.<br />
  13. 13. Demo<br />JID: xmppsoftwareinlife@appspot.com<br />
  14. 14. Smack <br />Smack API 3.1.0<br />http://www.igniterealtime.org/projects/smack/<br />
  15. 15. GAE XMPP Service 활용<br />Smack API<br />Real Time Service<br />Smart Phone<br />Smart PAD<br />N-Screen<br />(One-Source Multi-Use)<br />Smart TV<br />Google App Engine XMPP Service<br />
  16. 16. XMPP 활용 용량<br />
  17. 17. Representational State Transfer (REST) is a style of software architecture for distributed hypermedia systems such as the World Wide Web. The term Representational State Transfer was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation.<br />RESTful Architecture<br />15<br />
  18. 18. RESTful Web Service<br />16<br />
  19. 19. XML Binding<br />XML<br />Simple Framework<br />Simple is a high performance XML serialization and configuration framework for Java<br />Its goal is to provide an XML framework that enables rapid development of XML configuration and communication systems.<br /><ul><li>Jersey
  20. 20. Jersey is the open source, production quality, JAX-RS (JSR 311) Reference Implementation for building RESTful Web services.
  21. 21. But, it is also more than the Reference Implementation. Jersey provides an API so that developers may extend Jersey to suit their needs.</li></ul>http://jersey.java.net/<br />http://simple.sourceforge.net/<br />
  22. 22. Demo<br />XML<br />
  23. 23.
  24. 24. 감사합니다.<br />http://code.google.com/p/devmento-gae-seminar/<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×