SlideShare une entreprise Scribd logo
1  sur  20
GAE를 활용한 XMPP 개발 대표이사 장선진 @jangsunjin ,[object Object]
 E-Mail: jangsunjin@softwareinlife.com,[object Object]
SNS 서비스
SNS 사용자 전망 - 페이스북 사용자 현황: http://www.socialbakers.com/facebook-statistics/
XMPP(eXtensible Messaging and Presence Protocol) XMPP는 RFC3920, RFC3921 등 IETF에서 제정한 IM(Instant Messenger)를 위한 국제 표준 프로토콜 Jabber Inc.에 의해 1998년부터 Jabber라는 이름으로 확장 가능한 XML 베이스의 메세징 프로토콜이 연구되었으며, 2004년 1월 IETF에 의해 표준안으로서 인정 GTalk(google), iChat(Apple), Gaim, Pidgin 등이 지원하며 현재 XMPP는 두 지점간의 통신 규격에 관한 것으로 이 두 지점은 이메일 주소와 같은 방식으로 표현되며 두  지점간의 메시지(message), 프레즌스(presence)를 실시간으로 전달해 주는 규격
XMPP의 특징 login, presence, subscribe, messaging, chat, multichat, file transfer 등 메시징 서비스를 위한 기본적인 프로토콜 규약 정의 NAT, STUN, firewall, SSL 등 두 지점간의 연결을 위한 기술 및 보안 등에 대한 정의 및 구현 지점간의 Audio, Video 통신, multimedia streaming service 및 Phone 과의 VoIP를 위한 확장 정의 서버간의 호환, 분산서버, 타 메신저와의 호환
XMPP 구조 Client Client XMPP Server XMPP Server XMPP XMPP XMPP Client Client Client Client Direct Client-Client Communication JID(Jabber ID): [ node "@" ] domain [ "/" resource ] jangsunjin@softwareinlife.com/googleappengine 사용자는 여러 XMPP 서버에 로그인할 수 있으며 Resource를 통하여 구분할 수 있다.
XMPP 프로토콜 Client 1 Client 2 (GAE) Client 1 Client 2 (GAE) ,[object Object]
XMPP의 Message Type
one-to-one chat, group-chat, error, headline and normalhttp://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol
GAE XMPP Service GAE XMPP 서비스는 3가지 inbound services를 지원함. xmpp_message GAE에서 chat message를 교환할 수 있음. xmpp_subscribe 사용자와 GAE간에 chat message, presence information, status message와 같은 데이터를 교환할 수 있음. xmpp_presence GAE에서 사용자의 chat presence를 감지할 수 있음. ,[object Object],- app-id@appspot.com ,[object Object],- anything@app-id.appspotchat.com
GAE XMPP Service의 장점 VS 즉시 활용 가능한 XMPP 서버를 구축할 수 있음. Gtalk와 같은 XMPP 서버와 원활한 통신이 보장됨. 추가적인 JID 구성을 통하여 다양한 XMPP 관련 서비스를 구축할 수 있음.
Demo JID: xmppsoftwareinlife@appspot.com
Smack  Smack API 3.1.0 http://www.igniterealtime.org/projects/smack/
GAE XMPP Service 활용 Smack API Real Time Service Smart Phone Smart PAD N-Screen (One-Source Multi-Use) Smart TV Google App Engine XMPP Service
XMPP 활용 용량
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. RESTful Architecture 15
RESTful Web Service 16
XML Binding XML Simple Framework Simple  is a high performance XML serialization and configuration framework for Java Its goal is to provide an XML framework that enables rapid development of XML configuration and communication systems. ,[object Object]
Jersey is the open source, production quality, JAX-RS (JSR 311) Reference Implementation for building RESTful Web services.

Contenu connexe

Tendances

[112]clova platform 인공지능을 엮는 기술
[112]clova platform 인공지능을 엮는 기술[112]clova platform 인공지능을 엮는 기술
[112]clova platform 인공지능을 엮는 기술NAVER D2
 
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)Hyunmin Lee
 
Kafka introduce kr
Kafka introduce krKafka introduce kr
Kafka introduce krJung soo Ahn
 
build a linux webhosting server
build a linux webhosting serverbuild a linux webhosting server
build a linux webhosting server정현 윤
 
컨텐츠 기반 A/B 테스트 구현 사례
컨텐츠 기반 A/B 테스트 구현 사례 컨텐츠 기반 A/B 테스트 구현 사례
컨텐츠 기반 A/B 테스트 구현 사례 Lee Ji Eun
 
Apache kafka intro_20150313_springloops
Apache kafka intro_20150313_springloopsApache kafka intro_20150313_springloops
Apache kafka intro_20150313_springloopsSungMin OH
 
안정적인 서비스 운영 2014.03
안정적인 서비스 운영   2014.03안정적인 서비스 운영   2014.03
안정적인 서비스 운영 2014.03Changyol BAEK
 
Webservice cache strategy
Webservice cache strategyWebservice cache strategy
Webservice cache strategyDaeMyung Kang
 
모바일 Rpg 게임서버 제작
모바일 Rpg 게임서버 제작모바일 Rpg 게임서버 제작
모바일 Rpg 게임서버 제작기환 천
 
웨일 보안 이야기
웨일 보안 이야기웨일 보안 이야기
웨일 보안 이야기NAVER D2
 
닷넷 Apache avro
닷넷 Apache avro닷넷 Apache avro
닷넷 Apache avro흥배 최
 
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.NAVER D2
 
Tdc2013 선배들에게 배우는 server scalability
Tdc2013 선배들에게 배우는 server scalabilityTdc2013 선배들에게 배우는 server scalability
Tdc2013 선배들에게 배우는 server scalability흥배 최
 
KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직
KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직
KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직Hyunjik Bae
 
FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기Jongwon Kim
 
Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3SANG WON PARK
 
HTTP/3 시대의 웹 성능 최적화 기술 이해하기
HTTP/3 시대의 웹 성능 최적화 기술 이해하기HTTP/3 시대의 웹 성능 최적화 기술 이해하기
HTTP/3 시대의 웹 성능 최적화 기술 이해하기SangJin Kang
 
Streaming platform Kafka in SK planet
Streaming platform Kafka in SK planetStreaming platform Kafka in SK planet
Streaming platform Kafka in SK planetByeongsu Kang
 
자바 네트워크 소녀 Netty 리뷰
자바 네트워크 소녀 Netty 리뷰자바 네트워크 소녀 Netty 리뷰
자바 네트워크 소녀 Netty 리뷰Woojin Joe
 

Tendances (20)

[112]clova platform 인공지능을 엮는 기술
[112]clova platform 인공지능을 엮는 기술[112]clova platform 인공지능을 엮는 기술
[112]clova platform 인공지능을 엮는 기술
 
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
 
Kafka introduce kr
Kafka introduce krKafka introduce kr
Kafka introduce kr
 
Active MQ
Active MQActive MQ
Active MQ
 
build a linux webhosting server
build a linux webhosting serverbuild a linux webhosting server
build a linux webhosting server
 
컨텐츠 기반 A/B 테스트 구현 사례
컨텐츠 기반 A/B 테스트 구현 사례 컨텐츠 기반 A/B 테스트 구현 사례
컨텐츠 기반 A/B 테스트 구현 사례
 
Apache kafka intro_20150313_springloops
Apache kafka intro_20150313_springloopsApache kafka intro_20150313_springloops
Apache kafka intro_20150313_springloops
 
안정적인 서비스 운영 2014.03
안정적인 서비스 운영   2014.03안정적인 서비스 운영   2014.03
안정적인 서비스 운영 2014.03
 
Webservice cache strategy
Webservice cache strategyWebservice cache strategy
Webservice cache strategy
 
모바일 Rpg 게임서버 제작
모바일 Rpg 게임서버 제작모바일 Rpg 게임서버 제작
모바일 Rpg 게임서버 제작
 
웨일 보안 이야기
웨일 보안 이야기웨일 보안 이야기
웨일 보안 이야기
 
닷넷 Apache avro
닷넷 Apache avro닷넷 Apache avro
닷넷 Apache avro
 
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
 
Tdc2013 선배들에게 배우는 server scalability
Tdc2013 선배들에게 배우는 server scalabilityTdc2013 선배들에게 배우는 server scalability
Tdc2013 선배들에게 배우는 server scalability
 
KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직
KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직
KGC 2014: 클라이언트 개발자를 위한 컴퓨터 네트워크 기초 배현직
 
FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기
 
Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3Apache kafka performance(latency)_benchmark_v0.3
Apache kafka performance(latency)_benchmark_v0.3
 
HTTP/3 시대의 웹 성능 최적화 기술 이해하기
HTTP/3 시대의 웹 성능 최적화 기술 이해하기HTTP/3 시대의 웹 성능 최적화 기술 이해하기
HTTP/3 시대의 웹 성능 최적화 기술 이해하기
 
Streaming platform Kafka in SK planet
Streaming platform Kafka in SK planetStreaming platform Kafka in SK planet
Streaming platform Kafka in SK planet
 
자바 네트워크 소녀 Netty 리뷰
자바 네트워크 소녀 Netty 리뷰자바 네트워크 소녀 Netty 리뷰
자바 네트워크 소녀 Netty 리뷰
 

Similaire à N04 xmpp and_android

S04 hybrid app_and_gae_management_v1.0
S04 hybrid app_and_gae_management_v1.0S04 hybrid app_and_gae_management_v1.0
S04 hybrid app_and_gae_management_v1.0Sun-Jin Jang
 
m-Station Channel Xpander5 020325
m-Station Channel Xpander5 020325m-Station Channel Xpander5 020325
m-Station Channel Xpander5 020325sbroh
 
Open source engineering
Open source engineeringOpen source engineering
Open source engineeringYoungSu Son
 
2004_P2P chatting program
2004_P2P chatting program2004_P2P chatting program
2004_P2P chatting programNakCheon Jung
 
History and Status of HTML5
History and Status of HTML5History and Status of HTML5
History and Status of HTML5Channy Yun
 
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용
Python과 Tensorflow를 활용한  AI Chatbot 개발 및 실무 적용Python과 Tensorflow를 활용한  AI Chatbot 개발 및 실무 적용
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용Susang Kim
 
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?주식회사 내일비
 
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?Sang-ho Choi
 
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)AWSKRUG - AWS한국사용자모임
 
Netty 시작하기 (1)
Netty 시작하기 (1)Netty 시작하기 (1)
Netty 시작하기 (1)Daehyun Kim
 
Daum의 개방형 기술 전략 및 자바 기술 로드맵(2007)
Daum의 개방형 기술 전략 및 자바 기술 로드맵(2007)Daum의 개방형 기술 전략 및 자바 기술 로드맵(2007)
Daum의 개방형 기술 전략 및 자바 기술 로드맵(2007)Daum DNA
 
회사소개서 (주)애니포미디어테크 Rev2.0
회사소개서 (주)애니포미디어테크 Rev2.0회사소개서 (주)애니포미디어테크 Rev2.0
회사소개서 (주)애니포미디어테크 Rev2.0호천 김
 
DzinnyPing(포트폴리오)-정재훈
DzinnyPing(포트폴리오)-정재훈DzinnyPing(포트폴리오)-정재훈
DzinnyPing(포트폴리오)-정재훈jung jaehun
 
AWS SaaS 방식의 다양한 Chatbot Service 구축 방법::이두식::AWS Summit Seoul 2018
AWS SaaS 방식의 다양한 Chatbot Service 구축 방법::이두식::AWS Summit Seoul 2018AWS SaaS 방식의 다양한 Chatbot Service 구축 방법::이두식::AWS Summit Seoul 2018
AWS SaaS 방식의 다양한 Chatbot Service 구축 방법::이두식::AWS Summit Seoul 2018Amazon Web Services Korea
 
Joget Workflow 오픈 소스 워크플로우 애플리케이션 빌더 - 도입부
Joget Workflow 오픈 소스 워크플로우 애플리케이션 빌더 - 도입부Joget Workflow 오픈 소스 워크플로우 애플리케이션 빌더 - 도입부
Joget Workflow 오픈 소스 워크플로우 애플리케이션 빌더 - 도입부Joget Workflow
 
Open source engineering - 0.1
Open source engineering - 0.1Open source engineering - 0.1
Open source engineering - 0.1YoungSu Son
 
제11회공개sw개발자대회 금상 TensorMSA(소개)
제11회공개sw개발자대회 금상 TensorMSA(소개)제11회공개sw개발자대회 금상 TensorMSA(소개)
제11회공개sw개발자대회 금상 TensorMSA(소개)Susang Kim
 
[코세나, kosena] 생성AI 프로젝트와 사례
[코세나, kosena] 생성AI 프로젝트와 사례[코세나, kosena] 생성AI 프로젝트와 사례
[코세나, kosena] 생성AI 프로젝트와 사례kosena
 

Similaire à N04 xmpp and_android (20)

S04 hybrid app_and_gae_management_v1.0
S04 hybrid app_and_gae_management_v1.0S04 hybrid app_and_gae_management_v1.0
S04 hybrid app_and_gae_management_v1.0
 
m-Station Channel Xpander5 020325
m-Station Channel Xpander5 020325m-Station Channel Xpander5 020325
m-Station Channel Xpander5 020325
 
Open source engineering
Open source engineeringOpen source engineering
Open source engineering
 
2004_P2P chatting program
2004_P2P chatting program2004_P2P chatting program
2004_P2P chatting program
 
History and Status of HTML5
History and Status of HTML5History and Status of HTML5
History and Status of HTML5
 
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용
Python과 Tensorflow를 활용한  AI Chatbot 개발 및 실무 적용Python과 Tensorflow를 활용한  AI Chatbot 개발 및 실무 적용
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용
 
Open platform/API overview
Open platform/API overviewOpen platform/API overview
Open platform/API overview
 
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
 
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
 
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
 
Netty 시작하기 (1)
Netty 시작하기 (1)Netty 시작하기 (1)
Netty 시작하기 (1)
 
Daum의 개방형 기술 전략 및 자바 기술 로드맵(2007)
Daum의 개방형 기술 전략 및 자바 기술 로드맵(2007)Daum의 개방형 기술 전략 및 자바 기술 로드맵(2007)
Daum의 개방형 기술 전략 및 자바 기술 로드맵(2007)
 
회사소개서 (주)애니포미디어테크 Rev2.0
회사소개서 (주)애니포미디어테크 Rev2.0회사소개서 (주)애니포미디어테크 Rev2.0
회사소개서 (주)애니포미디어테크 Rev2.0
 
DzinnyPing(포트폴리오)-정재훈
DzinnyPing(포트폴리오)-정재훈DzinnyPing(포트폴리오)-정재훈
DzinnyPing(포트폴리오)-정재훈
 
AWS SaaS 방식의 다양한 Chatbot Service 구축 방법::이두식::AWS Summit Seoul 2018
AWS SaaS 방식의 다양한 Chatbot Service 구축 방법::이두식::AWS Summit Seoul 2018AWS SaaS 방식의 다양한 Chatbot Service 구축 방법::이두식::AWS Summit Seoul 2018
AWS SaaS 방식의 다양한 Chatbot Service 구축 방법::이두식::AWS Summit Seoul 2018
 
Joget Workflow 오픈 소스 워크플로우 애플리케이션 빌더 - 도입부
Joget Workflow 오픈 소스 워크플로우 애플리케이션 빌더 - 도입부Joget Workflow 오픈 소스 워크플로우 애플리케이션 빌더 - 도입부
Joget Workflow 오픈 소스 워크플로우 애플리케이션 빌더 - 도입부
 
Open source engineering - 0.1
Open source engineering - 0.1Open source engineering - 0.1
Open source engineering - 0.1
 
제11회공개sw개발자대회 금상 TensorMSA(소개)
제11회공개sw개발자대회 금상 TensorMSA(소개)제11회공개sw개발자대회 금상 TensorMSA(소개)
제11회공개sw개발자대회 금상 TensorMSA(소개)
 
[코세나, kosena] 생성AI 프로젝트와 사례
[코세나, kosena] 생성AI 프로젝트와 사례[코세나, kosena] 생성AI 프로젝트와 사례
[코세나, kosena] 생성AI 프로젝트와 사례
 
Mobile Application Development Platform "Morpheus"
Mobile Application Development Platform "Morpheus"Mobile Application Development Platform "Morpheus"
Mobile Application Development Platform "Morpheus"
 

Plus de Sun-Jin Jang

S03 hybrid app_and_gae_datastore_v1.0
S03 hybrid app_and_gae_datastore_v1.0S03 hybrid app_and_gae_datastore_v1.0
S03 hybrid app_and_gae_datastore_v1.0Sun-Jin Jang
 
S02 hybrid app_and_gae_restful_architecture_v2.0
S02 hybrid app_and_gae_restful_architecture_v2.0S02 hybrid app_and_gae_restful_architecture_v2.0
S02 hybrid app_and_gae_restful_architecture_v2.0Sun-Jin Jang
 
S01 gae and_hybrid_app_v1.0
S01 gae and_hybrid_app_v1.0S01 gae and_hybrid_app_v1.0
S01 gae and_hybrid_app_v1.0Sun-Jin Jang
 
N03 app engineseminar
N03 app engineseminarN03 app engineseminar
N03 app engineseminarSun-Jin Jang
 
N02 app engineseminar
N02 app engineseminarN02 app engineseminar
N02 app engineseminarSun-Jin Jang
 
N01 cloud computing_and_gae
N01 cloud computing_and_gaeN01 cloud computing_and_gae
N01 cloud computing_and_gaeSun-Jin Jang
 
Google App Engine의 이해
Google App Engine의 이해Google App Engine의 이해
Google App Engine의 이해Sun-Jin Jang
 

Plus de Sun-Jin Jang (7)

S03 hybrid app_and_gae_datastore_v1.0
S03 hybrid app_and_gae_datastore_v1.0S03 hybrid app_and_gae_datastore_v1.0
S03 hybrid app_and_gae_datastore_v1.0
 
S02 hybrid app_and_gae_restful_architecture_v2.0
S02 hybrid app_and_gae_restful_architecture_v2.0S02 hybrid app_and_gae_restful_architecture_v2.0
S02 hybrid app_and_gae_restful_architecture_v2.0
 
S01 gae and_hybrid_app_v1.0
S01 gae and_hybrid_app_v1.0S01 gae and_hybrid_app_v1.0
S01 gae and_hybrid_app_v1.0
 
N03 app engineseminar
N03 app engineseminarN03 app engineseminar
N03 app engineseminar
 
N02 app engineseminar
N02 app engineseminarN02 app engineseminar
N02 app engineseminar
 
N01 cloud computing_and_gae
N01 cloud computing_and_gaeN01 cloud computing_and_gae
N01 cloud computing_and_gae
 
Google App Engine의 이해
Google App Engine의 이해Google App Engine의 이해
Google App Engine의 이해
 

N04 xmpp and_android

  • 1.
  • 2.
  • 4. SNS 사용자 전망 - 페이스북 사용자 현황: http://www.socialbakers.com/facebook-statistics/
  • 5. XMPP(eXtensible Messaging and Presence Protocol) XMPP는 RFC3920, RFC3921 등 IETF에서 제정한 IM(Instant Messenger)를 위한 국제 표준 프로토콜 Jabber Inc.에 의해 1998년부터 Jabber라는 이름으로 확장 가능한 XML 베이스의 메세징 프로토콜이 연구되었으며, 2004년 1월 IETF에 의해 표준안으로서 인정 GTalk(google), iChat(Apple), Gaim, Pidgin 등이 지원하며 현재 XMPP는 두 지점간의 통신 규격에 관한 것으로 이 두 지점은 이메일 주소와 같은 방식으로 표현되며 두  지점간의 메시지(message), 프레즌스(presence)를 실시간으로 전달해 주는 규격
  • 6. XMPP의 특징 login, presence, subscribe, messaging, chat, multichat, file transfer 등 메시징 서비스를 위한 기본적인 프로토콜 규약 정의 NAT, STUN, firewall, SSL 등 두 지점간의 연결을 위한 기술 및 보안 등에 대한 정의 및 구현 지점간의 Audio, Video 통신, multimedia streaming service 및 Phone 과의 VoIP를 위한 확장 정의 서버간의 호환, 분산서버, 타 메신저와의 호환
  • 7. XMPP 구조 Client Client XMPP Server XMPP Server XMPP XMPP XMPP Client Client Client Client Direct Client-Client Communication JID(Jabber ID): [ node "@" ] domain [ "/" resource ] jangsunjin@softwareinlife.com/googleappengine 사용자는 여러 XMPP 서버에 로그인할 수 있으며 Resource를 통하여 구분할 수 있다.
  • 8.
  • 10. one-to-one chat, group-chat, error, headline and normalhttp://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol
  • 11.
  • 12. GAE XMPP Service의 장점 VS 즉시 활용 가능한 XMPP 서버를 구축할 수 있음. Gtalk와 같은 XMPP 서버와 원활한 통신이 보장됨. 추가적인 JID 구성을 통하여 다양한 XMPP 관련 서비스를 구축할 수 있음.
  • 14. Smack Smack API 3.1.0 http://www.igniterealtime.org/projects/smack/
  • 15. GAE XMPP Service 활용 Smack API Real Time Service Smart Phone Smart PAD N-Screen (One-Source Multi-Use) Smart TV Google App Engine XMPP Service
  • 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. RESTful Architecture 15
  • 19.
  • 20. Jersey is the open source, production quality, JAX-RS (JSR 311) Reference Implementation for building RESTful Web services.
  • 21. But, it is also more than the Reference Implementation. Jersey provides an API so that developers may extend Jersey to suit their needs.http://jersey.java.net/ http://simple.sourceforge.net/
  • 23.