Skip to content

Part 4. Sencha.io Messages

kuahn edited this page Jul 28, 2012 · 5 revisions

번역자 : 안광운

원본 URL : http://docs.sencha.io/0.3.3/index.html#!/guide/overview_channels

최근 0.3.3 버전으로 릴리즈 되면서 Messages 서비스가 Channel로 변경되었습니다.

사용자의 모든 정보를 공유하는 최고의 모델은 데이터베이스에 기록하는 것이 아니다. 예를 들면 emails, instant messaging, SMS messages, IRC chat, tweets, 등등이 있다. 사용자들은 메세지와 같은 것들을 다른 사용자들과 클라이언트에 때로는 한명의 사용자에게 때로는 많은 사용자들에게 동시에 보내길 원한다. 더 나아가 사용자들은 어떤 전문적인 응용 프로그램의 실행없이 그런 일들을 하고 싶어한다.(그리고 사용자들은 앱 사용을 마무리한다). 사용자들은 또한 온라인이 아니더라도 메세지를 보낼 수 있기를 바라고 그뿐만 아니라 보낸 메세지를 오프라인일 때도 받기를 바란다.

Not all the information a user wants to share is best modeled as records in a database. Take for example emails, instant messaging, SMS messages, IRC chat, tweets, and so on. Users want to send messages like those to other users and clients, sometimes sending a message to a single user or sometimes to many users at the same time. Ideally, they’d like to do it without launching a specialized app (and leaving the app they’re using). They’d also like a way to send a message even if they’re not online, and receive messages sent to them when they were off-line, as well.

Sencha.io의 메세지 서비스는 당신의 앱에 대한 모든 것을 처리할 수 있다. 이것은 장치가 일대일과 일대다 메세지를 안정적으로 비동기 PUSH를 통해 낮은 대기 시간으로 앱에서 보내 이러한 메세지가 있는지 여부를 사용자나 장치가 알 수 있도록 하는걸 가능하게 해준다. Sencha.io 메시지가 수신 장치로 메시지 전달을 보장하는 대기에 보내는 장치에서 큐를 제공한다. 큐를 설정하는데 추가적인 코딩은 필요 없다. Sencha.io는 무료로 제공해준다.

The Sencha.io Messages service takes care of all that for your app. It enables devices to send one-to-one and one-to-many messages reliably from within an app with low latency through asynchronous pushes, whether these messages are user- or machine-initiated. Sencha.io Messages provides a queue on the sending device on a queue in the server that assures delivery of messages to receiving devices. No extra coding is needed by you to set up the queues--Sencha.io gives that to you for free.

Sencha.io 소개의 Part 1: Overview and Architecture 와 앱 내의 메세지 사용에서 설명한 EFTer 비용 추적 예제 앱을 보면 사용자는 매니저에게 리포트를 보낼 수 있고(일대일 메세지), 매니저가 승인해서 회신하면 여직원은 다음 메세지(일대다 메세지)를 지급 계정과 지불 및 기록 추적을위한 중앙 관리로 메세지를 전달 할 수 있다. 이 기능을 Sencha.io Messages에 의해 가능하게 된다.

Recall the EFTer expense tracking example app described in Introducing Sencha.io, Part 1: Overview and Architecture and its use of messaging: From within the app, the user can send reports to a manager (one-to-one message), who replies with his approval; she can then forward the message (one-to-many message) to accounts payable and to central admin for payment and records tracking. This functionality is made possible by Sencha.io Messages.

Sencha.io 메시지 구현

Implementing Sencha.io Messages

Sencha.io Messages로 메세지를 보내는 것은 다음과 같이 간단한 JSON 객체이다.

A message sent with Sencha.io Messages is a simple JSON object, like this:

{
      contents: ‘approval request’,
      urgency: ‘high’,
}

메세지는 하나 이상의 사용자 주소가 필요합니다. 메시지는 그룹 주소로도 할 수 있습니다.

The message needs to be addressed to one or more users. A message can also be addressed to a group.

일대일 메시지를 세 가지 API를 사용하여 한 장치에서 다른 장치로 전송됩니다.

One-to-one messages are sent from one device to another, using three APIs:

  • Ext.io.App 메서드 'findDevices (query)'로 장치를 찾는다.
  • Ext.io.Device 메서드 send(message)는 장치의 인터페이스를 통해 메세지를 보낸다.
  • Ext.io 메서드 listen(handler)는 수신된 메세지를 장치에 받습니다.

Ext.io.App with the method `findDevices(query)’ to find a device Ext.io.Device with the method send(message) that sends a message through the Device interface Ext.io with the method listen(handler) on the receiving device that listens for incoming messages

일대다 메시지는 한 장치에서 두 API를 통해 많은 사람에게 보내집니다

One-to-many messages are sent from one device to many others via two APIs:

  • Ext.io.App 메서드 'getQueue()' 대기열을 반환합니다.
  • Ext.io.Queue의 세 가지 메서드 : publish(message) 전송 장치에 메세지를 보내고, subscribe(handler) 수신 장치에 메세지 청취, unsubscribe() 서버의 수신 대기열에서 수신 장치 제거.

Ext.io.App with the method `getQueue()’ that returns a queue Ext.io.Queue with three methods: publish(message) that publishes the message on the sending device, subscribe(handler) which listens for messages on receiving devices, and unsubscribe() which removes listening devices from the receiving queue on the server