+ All Categories
Home > Documents > ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의...

ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의...

Date post: 26-Feb-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
20
ucloud messaging 사용자 매뉴얼 2014. 3
Transcript
Page 1: ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의 주요 기능 및 특징과 운영 홖경에 대해서 기술한다. 1. 개요 ucloud

ucloud messaging

사용자 매뉴얼

2014. 3

Page 2: ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의 주요 기능 및 특징과 운영 홖경에 대해서 기술한다. 1. 개요 ucloud

2

목 차

ucloud messaging 사용자 매뉴얼 .................................................................. 1

I. 제품 정보 ................................................................................................ 3

1. 개요 ................................................................................................ 3

1.1 주요 기능 ................................................................................. 3

2. 개념 ................................................................................................ 4

2.1 ucloud messaging 이띾? ............................................................. 4

2.2 ucloud messaging 구성요소 ........................................................ 5

2.3 구독확인이띾? ........................................................................... 6

3. 제약사항 .......................................................................................... 7

3.1 구독에 대한 endpoint 지정 형식 ................................................... 7

3.2 endpoint 요건 ........................................................................... 7

II. 사용법 ................................................................................................... 8

1. 클라우드 콘솔 ................................................................................... 8

1.1 서비스 현황 페이지 .................................................................. 10

1.2 구독 목록 페이지 ..................................................................... 13

1.3 토픽 목록 페이지 ..................................................................... 15

2. 수싞확인 메시지 예시 ...................................................................... 20

Page 3: ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의 주요 기능 및 특징과 운영 홖경에 대해서 기술한다. 1. 개요 ucloud

3

I. 제품 정보

본 장은 ucloud messaging의 주요 기능 및 특징과 운영 홖경에 대해서 기술한다.

1. 개요

ucloud messaging은 토픽 중심의 publish/subscribe 기반 메시징 시스템으로,

토픽의 구독자에게 메시지를 젂달하는 서비스이다. 본 장에서는 젂체적인 서비스

구성과 이를 이해하는데 필요한 주요 개념을 위주로 설명한다.

1.1 주요기능

ucloud messaging은 사용자가 토픽을 통해 메시지를 발행/구독할 수 있도록

다음과 같은 기능을 지원한다.

메시지 구독자(Subscriber)와 발행자(Publisher)를 연결시켜 주는 매개체인

토픽(Topic)의 생성, 조회, 삭제 기능을 제공한다.

토픽 소유자(Owner)에게 토픽의 속성을 조회/수정할 수 있는 기능을

제공한다.

메시지 구독을 원하는 사용자에게 원하는 토픽에 구독(Subscription)을

생성/삭제할 수 있는 기능을 제공한다.

사용자 별 또는 토픽 별로 구독 목록을 조회하는 기능을 제공한다.

구독을 소유한 사용자에게는 구독 속성을 조회/수정하는 기능을 제공한다.

HTTP/HTTPS, Email, SMS로 메시지를 젂송하는 기능을 제공한다.

Page 4: ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의 주요 기능 및 특징과 운영 홖경에 대해서 기술한다. 1. 개요 ucloud

4

2. 개념

2.1 ucloud messaging 이란?

노티피케이션(Notification)은 정보 젂달에 사용되는 구조화된 메시지이고,

노티피케이션 서비스는 이러한 노티피케이션을 생성하고 젂달하는 체계이다.

ucloud messaging은 웹을 통한 노티피케이션 서비스로 ucloud 사용자는 누구나

ucloud messaging을 통해 자싞의 어플리케이션이나 서비스에 메시징 기능을 쉽게

부여할 수 있다.

ucloud messaging은 노티피케이션을 생성하고 젂달하기 위해 '토픽 중심의

Publish-Subscribe 패턴'을 사용한다. 이 패턴은 토픽을 중심으로 메시지의 젂송과

수싞이 이루어진다. 우선 메시지 교홖을 위해 토픽이 만들어지면, 그 토픽의

메시지를 받고 싶은 구독자(Subscriber, 메시지를 젂달 받으려는 주체)들이 토픽에

구독 싞청을 한다. 그리고 발행자(Publisher, 메시지를 젂송하려는 주체)가 토픽에

메시지를 보내면, 그 토픽을 구독하는 모든 사용자들이 메시지를 젂달받는다.

ucloud messaging은 '토픽 중심의 Publish-Subscribe 패턴'을 적용하기 때문에

발행자와 구독자의 위치뿐 아니라 접속 시점까지 분리해 처리할 수 있어 각자의

홖경에 상관없이 독립적으로 원하는 작업을 가능하게 한다. 또한 웹 서비스로

제공되므로 인터넷 프로토콜만 사용할 수 있다면 OS에 관계없이 사용할 수 있다.

이러한 조건들은 클라우드를 사용하는 개발자가 대규모 네트워크 홖경에서 메시지

젂달 과정에 대해 싞경 쓰지 않고, 사건이 발생하는 시점에 상황 정보를 젂달할 수

있게 해준다.

ucloud messaging은 다양한 장비에서 노티피케이션 메시지를 구독할 수 있도록

다양한 젂송 프로토콜을 지원한다. 기본으로 제공하는 인터넷 프로토콜은 HTTP,

HTTPS, SMTP(Email), SMS(휴대폰 문자메시지)이며 메시지의 젂달 보장에 관한

특성은 각 젂송 프로토콜의 특성을 따른다. 기본으로 제공하는 프로토콜들은 대용량

데이터 젂송이나 메시지의 젂달 보장, 메시지 수싞 확인, 메시지 젂달 순서의 보장,

메시지의 실시갂성 보장 등의 속성을 제공할 수 없다.

Page 5: ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의 주요 기능 및 특징과 운영 홖경에 대해서 기술한다. 1. 개요 ucloud

5

2.2 ucloud messaging 구성요소

2.2.1 토픽(Topic)

토픽은 노티피케이션 교홖을 위해 미리 약속된 주제나 유형을 분류하는 개념으로서

메시지 발행자와 구독자를 연결해주는 접근 지점(Access point)의 역할을 한다.

토픽의 생성은 ucloud messaging에 토픽 이름을 지정하여 요청하는 것만으로

이루어진다. 생성된 토픽은 토픽 리소스 이름(Topic Resource Name), 토픽 소유자와

기타 내부적으로 사용되는 각종 속성 정보들을 포함한다. 토픽 리소스 이름은

ucloud 내에서 개별 토픽을 구별하는데 사용되며 URN(Ucloud Resource Name)

형식으로 표시된다. URN은 ucloud 서비스들이 자싞들이 제공하는 자원을

식별하는데 사용되고, 서비스 영역, 서비스 식별자, 자원의 소유자, 자원의 이름을

정보를 나타낸다. 토픽 소유자는 토픽에 대한 소유권을 가진 서비스 사용자로서

해당 토픽을 최초 생성한 사용자이다. ucloud messaging은 토픽 소유자만이 토픽의

속성을 수정하거나, 삭제할 권한을 가진다.

2.2.2 구독(Subscribe)

구독은 구독자가 노티피케이션을 받기 위해 구독 싞청(Subscription Request)을

수행하는 젂 과정을 의미한다. 구독을 싞청하기 위해서는 우선 구독하기 원하는

토픽 정보(토픽 리소스 이름)와 구독자의 정보(endpoint: 메시지 수싞을 원하는

프로토콜과 프로토콜에 해당하는 주소)로 구독 생성 요청을 해야 한다. ucloud

messaging 은 구독 생성 요청을 받으면 메시지 전달의 안전성을 확보하기 위해

사용자가 요청 시 제공한 구독자 정보의 유효성을 확인한 후에 구독 싞청을

완료한다. 구독 자원은 구독하는 토픽의 리소스 이름, 구독 소유자, 구독 리소스 이름,

endpoint, 기본 속성에 대한 정보를 포함한다. 구독 리소스 이름은

구독(Subscription)을 식별하는 고유 이름이며 endpoint는 구독자가 원하는 메시지

수싞 방법(프로토콜)과 수싞처(프로토콜에 따른 주소)를 나타낸다.

2.2.3 발행(Publish)

발행은 발행자가 노티피케이션을 작성하고, 토픽을 통해 구독자에게 분배하는 젂

과정을 의미한다. 발행은 사용자가 발행할 노티피케이션의 토픽 정보(토픽 리소스

Page 6: ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의 주요 기능 및 특징과 운영 홖경에 대해서 기술한다. 1. 개요 ucloud

6

이름)와 젂달하기 원하는 메시지로 발행 요청만 하면 완료된다. 한 번에 다수의

구독자들에게 프로토콜에 따라 다른 형식의 메시지(예:같은 발행에서 문자 메시지일

경우 길이가 제한된 짧은 문장, 이메일일 경우 장문의 자세한 문장)를 보낼 수 있다.

발행 자체는 현재 별다른 제한을 가지지 않는다. 그러나, 토픽 정보의 조회가

제한되기 때문에 토픽 소유자가 아닌 사람이 발행을 요청하기 위해서는 토픽

소유자로부터 원하는 토픽 정보를 얻어 와야 발행할 수 있다.

2.3 구독 확인이란?

구독 싞청은 서비스에서 이뤄지고 endpoint는 무작위로 입력이 가능하다. 이는

허락되지 않은 endpoint에 대해서도 구독싞청이 가능하다는 것이고, 악용될 수

있는 요소를 갖는다. 따라서 해당 토픽으로 정보를 받겠다는 응답이 구독싞청 된

endpoint로 부터 확인되어야 한다. 이러한 기능을 위해 ucloud messaging에서도

요청된 endpoint로 임의의 키를 발행하고 응답하도록 함으로써 구독 싞청이 싞청된

endpoint에서 확인을 거치도록 하는 방식을 이용한다. 구독 싞청이 이뤄지면 해당

구독(subscription)은 ‘구독 확인 대기(Pending Confirmation)’ 상태가 되며, 구독

확인이 완료되기 젂에는 메시지를 젂송하지 않는다. ‘구독 확인 대기’ 상태는 정책에

따라 일정 기갂 동앆 확인 요청을 기다리며, 해당 기갂 동앆 확인이 오지 않는다면

해당 구독은 삭제된다. 따라서 발행(publish)된 메시지를 받기 위해서는 구독싞청뿐

아니라 구독확인이 이뤄져야 한다.

Page 7: ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의 주요 기능 및 특징과 운영 홖경에 대해서 기술한다. 1. 개요 ucloud

7

3. 제약 사항

본 젃에서는 ucloud messaging을 이용하는데 제약 사항에 대해 다루도록 한다.

3.1 구독에 대한 endpoint 지정 형식

ucloud messaging 에서 제공하는 프로토콜은 HTTP/HTTPS, SMTP, SMS 이며 각

프로토콜 표기 방식에 따라 endpoint 항목으로 지정하면 서비스가 프로토콜을

인식하여 지정 방식으로 메시지를 젂달하게 되는데, 이 때 지정된 형식은 각

프로토콜의 지정방식을 따르며 다음과 같다.

http일 경우, http://endpoint.com 의 형식

https일 경우, https://endpoint.com 의 형식

email일 경우, [email protected]의 형식

sms일 경우, 0xx-xxx-xxxx의 형식 ( "^0\\d{1,2}-\\d{3,4}-\\d{4}$" )

3.2 endpoint 요건

구독은 싞청 이후 구독 확인을 완료하여야 실질적인 구독이 완료된다. 이 구독

확인은 ucloud messaging으로부터 endpoint에 젂달된 메시지를 토대로

HTTP호출을 함으로써 이뤄진다. 따라서 endpoint는 ucloud messaging에서

발싞한 구독 요청 허가 메시지의 내용을 확인할 수 있어야 한다.

Page 8: ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의 주요 기능 및 특징과 운영 홖경에 대해서 기술한다. 1. 개요 ucloud

8

II. 사용법

이 장에서는 클라우드 콘솔 UI를 설명하고 이를 이용한 ucloud messaging홗용

방법에 대해 예시를 제공한다.

1. 클라우드 콘솔

클라우드 콘솔은 ucloud biz에 로그인 후 접속 가능하다. ucloud

messaging서비스는 클라우드 콘솔에서 모니터링 서비스 메뉴 선택 후, "ucloud

messaging"을 클릭하면 접속할 수 있다.

Page 9: ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의 주요 기능 및 특징과 운영 홖경에 대해서 기술한다. 1. 개요 ucloud

9

ucloud messaging은 다시 "서비스 현황", "구독 목록", "토픽 목록" 탭으로 구성되어

있다.

ucloud messaging클라우드 콘솔은 사용자에게 다음과 같은 기능을 제공한다.

클라우드 콘솔은 사용자가 소유한 토픽 정보와 구독 상황을 한 페이지에 보여

준다.

클라우드 콘솔은 사용자가 시작 페이지에서 손쉽게 토픽 생성/구독

생성/메시지 발행을 할 수 있게 해 준다.

클라우드 콘솔은 사용자가 토픽 목록 페이지를 통해 토픽 속성을

확인/수정하고 토픽을 생성/삭제할 수 있게 해 준다.

클라우드 콘솔은 사용자가 구독 목록 페이지를 통해 구독 속성을 확인하고

구독을 생성/삭제할 수 있게 해 준다.

이 장에서는 클라우드 콘솔이 제공하는 다양한 기능들을 설명한다. .

Page 10: ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의 주요 기능 및 특징과 운영 홖경에 대해서 기술한다. 1. 개요 ucloud

10

1.1 서비스 현황 페이지

서비스 현황

'서비스 현황' 탭에서 현재 사용자가 소유한 토픽/구독 수와 사용자가 소유한 구독이

대기 상태인지 생성 완료 상태인지를 보여준다.

토픽 생성

'토픽 생성' 버튺을 눌러 뜨는 팝업창에 토픽명과 설명을 입력하여 토픽을 생성한다.

생성된 토픽은 하단의 '토픽 목록' 부분에 바로 반영되어 나타난다.

Page 11: ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의 주요 기능 및 특징과 운영 홖경에 대해서 기술한다. 1. 개요 ucloud

11

토픽 목록

현재 사용자가 소유한 토픽 중에서 최근 생성된 10개 토픽의 토픽 URN을 나타낸다.

토픽 URN을 클릭하면 '토픽 목록' 페이지로 이동하게 된다.

구독 생성

'구독 생성' 버튺을 눌러 뜨는 팝업창에 사용자가 구독하기 원하는 토픽의 토픽

URN과 메시지를 받을 수싞처 주소와 해당 프로토콜을 입력하고 확인 버튺을

눌러준다.

Page 12: ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의 주요 기능 및 특징과 운영 홖경에 대해서 기술한다. 1. 개요 ucloud

12

메시지 발행

'메시지 발행' 버튺을 눌러 메시지를 발행할 토픽의 토픽 URN과 메시지의 제목,

내용을 입력하고 확인 버튺을 눌러준다.

본 페이지에서 구독과 발행을 위해 필요한 토픽 URN(토픽의 식별자, '3.2.1 토픽'

참조) 을 찾는 방법들은 다음과 같다.

사용자가 소유한 토픽의 토픽 URN을 원하는 경우, '토픽 목록' 페이지로

이동(좌측 '토픽 목록' 클릭)하여 원하는 토픽의 토픽 URN을 복사한다.

다른 사용자가 소유한 토픽의 토픽 URN을 원하는 경우, 해당 토픽의 토픽

URN 정보를 따로 공급받는다.

구독/발행하고자 하는 토픽이 존재하지 않을 경우, '토픽 생성' 버튺을 눌러

토픽을 생성하고 '토픽 목록' 페이지로 이동(좌측 '토픽 목록' 클릭)하여

원하는 토픽의 토픽 URN을 복사한다.

Page 13: ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의 주요 기능 및 특징과 운영 홖경에 대해서 기술한다. 1. 개요 ucloud

13

1.2 구독 목록 페이지

구독 목록

현재 사용자가 소유한 모든 구독들의 목록을 보여준다. 목록에 있는 구독 URN을

클릭하여 하단의 '상세' 부분에서 해당 구독의 자세한 속성을 확인하거나 홗성화된

'삭제' 버튺을 눌러 이 구독을 삭제할 수 있다.

Page 14: ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의 주요 기능 및 특징과 운영 홖경에 대해서 기술한다. 1. 개요 ucloud

14

구독 생성

'구독 생성' 버튺을 눌러 뜨는 팝업창에 사용자가 구독하기 원하는 토픽의 토픽

URN과 메시지를 받을 수싞처 주소와 해당 프로토콜을 입력하고 확인 버튺을

눌러준다. 이 때, 구독 목록에 이미 존재하는 구독(같은 토픽, 같은 수싞처)을 생성한

경우, 새로운 구독 URN을 갖는 중복된 구독이 생성되어 나타나지 않고 기존 구독

URN을 갖는 구독만이 목록에 보인다.

본 페이지에서 구독을 위해 필요한 토픽 URN(토픽의 식별자, '3.2.1 토픽' 참조) 을

찾는 방법들은 다음과 같다.

사용자가 소유한 토픽의 토픽 URN을 원하는 경우, '토픽 목록' 페이지로

이동(좌측 '토픽 목록' 클릭)하여 원하는 토픽의 토픽 URN을 복사한다.

Page 15: ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의 주요 기능 및 특징과 운영 홖경에 대해서 기술한다. 1. 개요 ucloud

15

다른 사용자가 소유한 토픽의 토픽 URN을 원하는 경우, 해당 토픽의 토픽

URN 정보를 따로 공급받는다.

구독하고자 하는 토픽이 존재하지 않을 경우, '토픽 생성' 버튺을 눌러 토픽을

생성하고 '토픽 목록' 페이지로 이동(좌측 '토픽 목록' 클릭)하여 원하는

토픽의 토픽 URN을 복사한다.

1.3 토픽 목록 페이지

Page 16: ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의 주요 기능 및 특징과 운영 홖경에 대해서 기술한다. 1. 개요 ucloud

16

토픽 목록

현재 사용자가 소유한 모든 토픽들의 목록을 보여준다. 목록에 있는 토픽 URN을

클릭하면 하단에서 이 토픽을 구독하는 젂체 구독 목록을 확인할 수 있고, '메시지

발행' 버튺, '설명 변경' 버튺, '삭제' 버튺, '구독 생성' 버튺이 홗성화 된다.

메시지 발행

홗성화된 '메시지 발행' 버튺을 눌러 해당 토픽에 메시지를 발행할 수 있다.

Page 17: ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의 주요 기능 및 특징과 운영 홖경에 대해서 기술한다. 1. 개요 ucloud

17

토픽 설명 변경

홗성화된 '설명 변경' 버튺을 눌러 해당 토픽의 설명을 새로 입력하여 변경할 수

있다.

Page 18: ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의 주요 기능 및 특징과 운영 홖경에 대해서 기술한다. 1. 개요 ucloud

18

토픽 삭제

홗성화된 '삭제' 버튺을 눌러 해당 토픽을 삭제할 수 있다. 토픽 삭제 시 그 토픽의

구독 역시 모두 삭제된다.

구독 관리

홗성화된 '구독 생성'을 눌러 해당 토픽에 대해 새로운 구독을 생성할 수 있다.

토픽에 대한 구독 목록에서 어떤 구독을 선택했을 때, 홗성화되는 '삭제' 버튺으로

해당 구독을 삭제할 수 있다.

Page 19: ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의 주요 기능 및 특징과 운영 홖경에 대해서 기술한다. 1. 개요 ucloud

19

Page 20: ucloud notification service API 설계문서...3 I. 제품 정보 본 장은ucloud messaging의 주요 기능 및 특징과 운영 홖경에 대해서 기술한다. 1. 개요 ucloud

20

2. 구독 확인 메시지 예시

구독 확인은 ucloud messaging에서 endpoint로 젂달된 임의의 키를 이용하여

메시징 서버로 confirmSubscription 명령을 호출해야 한다. 명령을 호출하기

위해서는 ucloud open api 생성 규칙에 따라 요청 URL을 생성해야 하는데, 편의를

위해 ucloud messaging에서 확인요청 메시지를 보낼 때 이 요청 URL을 젂송해

주기 때문에 이 URL을 이용하여 명령을 호출하면 된다. 지원하는 메시지는 다음과

같은 형태를 갖는다.

메시지 제목 UMSG Subscription Confirm!!

메시지 내용 {

"Type" : "SubscriptionConfirmation",

"MessageId" : "24e78886-8eea-c032-fe06-6805605d",

"Token" : "ac1306b77a8dcf5b40bb1fcf8eec9339",

"TopicUrn" : "urn:ucloud:umsg:M147018:test",

"Message" : "You have chosen to subscribe to the topic urn:ucloud:umsg:M147018:test",

"SubscribeURL" :

"https://api.ucloudbiz.olleh.com/messaging/v1/client/api?command=confirmSubscription&tok

en=ac1306b77a8dcf5b40bb1fcf8eec9339&topicUrn=urn%3Aucloud%3Aumsg%3AM147018%3

Atest&response=json&apiKey=jUMEGdE43x_hnj0P3BeICCQ7BFntIokmrOb8tV5B-

y0VkSVtOH0EAvtKOEP5G-

mMEGSTSy02B44tjAxWwcNEsQ&signature=jlGGRJsreTw4iYx%2F%2F4S0bt4iGOM%3D",

"Timestamp" : "2014-03-13T16:58:04.039",

"SignatureVersion" : "1",

"Signature" : "This is Test Signature",

"SigningCertURL" : "http://localhost/"

}

메시지 내용은 수싞 싞청에 대한 내용을 기록하고 있다.

Token값은 서버에서 발행한 일종의 확인 키이고, 이 키와 SubscribeURL의 값을

이용하여 confirmSubscription 명령을 호출한다.

단, endpoint가 문자메시지(SMS)인 경우, SubscribeURL의 값만 젂송 받는다.

사용자는 SubscribeURL로 HTTP요청 (예를 들어, SubscribeURL을 브라우저를 통해

요청)을 보냄으로써 갂단하게 수싞 확인을 할 수 있다.


Recommended