메인 컨텐츠로 가기

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

XMPP를 사용하여 웹 기반 알림 도구 빌드하기

XMPP, PHP 및 Javascript를 사용한 실시간 웹 애플리케이션 작성

Ben Werdmuller, Consultant and writer, Freelance
Ben Werdmuller is a web strategist and developer who specializes in open source platforms. He co-founded and was the technical lead for Elgg, an open source social networking framework. Ben blogs regularly at http://benwerd.com/.

요약:  실시간 웹 애플리케이션은 네트워크로 연결된 애플리케이션으로 인터넷 정보가 발행되는 즉시 웹 기반 사용자 인터페이스를 사용하여 정보를 표시합니다. 예제에는 외부 소스에서 계속 데이터를 가져와서 자체적으로 업데이트하는 소셜 뉴스 수집기와 모니터링 도구가 포함되어 있습니다. 이 튜토리얼에서는 XMPP(Extensible Messaging and Presence Protocol)를 기반으로 통신을 하는 소형 알림 도구인 Pingstream을 PHP와 Javascript를 사용하여 작성합니다. XMPP는 인식 및 실시간 통신 기능을 지원하도록 설계된 XML 기술 세트입니다.

원문 게재일:  2010 년 6 월 22 일
난이도:  중급 PDF:  A4 and Letter (259 KB | 32 pages)Get Adobe® Reader®

페이지뷰: 17777 회
의견: 

시작하기 전에

이 튜토리얼에서는 실시간 웹을 소개함과 동시에 실시간 웹 애플리케이션을 빌드하는 몇 가지 이유를 살펴본다. 또한, 서버 자원을 유지하면서 멋진 사용자 경험을 제공하는, 응답이 빠르고 계속해서 업데이트되는 웹 애플리케이션을 작성할 수 있는 기술을 배운다.

이 튜토리얼의 정보

자주 사용하는 약어

  • DOM: Document Object Model
  • HTML: HyperText Markup Language
  • HTTP: Hypertext Transfer Protocol
  • REST: Representational State Transfer
  • RSS: Really Simple Syndication
  • URL: Uniform Resource Locator
  • XML: Extensible Markup Language

실시간 웹 애플리케이션에서는 정보가 발행되는 즉시 사용자가 알림을 수신할 수 있으며 업데이트하기 위해 원본 소스를 수동으로 확인할 필요가 없다. 이러한 애플리케이션은 Twitter 및 Friendfeed와 같은 소셜 알림 도구와 Google Wave와 같은 웹 기반 협업 도구, Meebo와 같은 웹 기반 대화 클라이언트로 일반화되었다.

XMPP(Extensible Messaging and Presence Protocol)는 실시간 애플리케이션을 위한 XML 기반의 기술 세트로, 데이터가 새로 작성되거나 변경될 때마다 계속해서 업데이트되는, 네트워크로 연결된 애플리케이션으로 정의된다. 이러한 애플리케이션은 원래 엔터프라이즈 환경에서 인스턴트 메시징과 인식 애플리케이션을 지원하기 위해 프레임워크로 개발되었다.

이 튜토리얼에서는 데이터가 발행될 때마다 바로 RSS 피드 업데이트를 사용하여 스스로 업데이트하는 간단한 도구인 Pingstream을 빌드하게 된다. (Pingstream 소스 코드는 다운로드를 참조한다.) 이러한 과정을 통해 다음과 같은 내용을 살펴보게 된다.

  • XMPP가 웹 애플리케이션에 특히 적합한 이유를 확인한다.
  • XMPP 통신 컴포넌트에 관해 배운다.
  • Openfire XMPP 서버를 설치하고 구성한다.
  • PHP와 XMPPHP 라이브러리를 사용하여 XMPP 서버에 연결한다.
  • RSS 피드에 있는 새 항목을 확인하고 이 항목을 XMPP를 기반으로 전송한다.
  • BOSH(Bidirectional-streams Over Synchronous HTTP)를 사용하여 HTTP를 기반으로 XMPP 서버에 연결하기 위해 Strophe와 jQuery를 사용한다.
  • 웹 페이지에 XMPP 알림을 표시한다.

전제 조건

이 튜토리얼에서는 독자가 고급 프로그래밍을 해본 경험은 없다고 해도 PHP로 웹 애플리케이션을 개발하는 데 다소 익숙하다고 가정한다. 또한, HTML과 Javascript를 다룬 경험이 있어야 한다. jQuery Javascript 프레임워크에 대한 경험이 있으면 도움이 된다. XMPP나 이와 비슷한 기술에 대해 익숙할 필요는 없다.

이 튜토리얼을 따라 하려면 다음과 같은 서버 소프트웨어를 설치하고 실행해야 한다.

  • PHP 5.2 이상
  • Apache HTTP Server
  • MySQL

이 튜토리얼을 따라 하다 보면 다음과 같은 소프트웨어와 라이브러리를 다운로드하여 설치하게 된다.

  • Openfire
  • jQuery
  • Strophe
  • XMPPHP
  • Last RSS

또한, MySQL 서버 도구인 phpMyAdmin이 유용하다는 것을 알게 될 것이다. 로컬에서 실시간 웹 애플리케이션 소프트웨어를 테스트하기 위해 데스크탑 시스템을 사용하고 있는 경우에는 설치된 테스트 웹 서버 인프라를 관리하고 실행하는 데 XMAPP가 유용하다는 사실을 알 수 있을 것이다.

이러한 모든 도구에 대한 다운로드 링크는 참고자료를 확인하기 바란다.

110 | 다음

의견



static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=20
Zone=XML, 웹 개발, 오픈 소스
ArticleID=559911
TutorialTitle=XMPP를 사용하여 웹 기반 알림 도구 빌드하기
publish-date=06222010
author1-email=ben@benwerd.com
author1-email-cc=

태그

Help
검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오.

태그를 더 많이 보거나 적게 보기 위해 슬라이더 막대를 사용하십시오.

인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다.

내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.

검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오. 인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다. 내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.