-
NUGU Developers - Backend Proxy에 대해서NUGU 2022. 6. 22. 12:05
Backend Proxy
Backend Proxy는 응답을 생성하기 위해 필요한 정보를 외부로부터 가져와야 하는 경우,
REST API를 통해 호출하는 서버이다.Backend Proxy는 아래와 같은 경우에 사용한다.
- 외부 서버로부터 정보를 가져와야 하는 경우
(날씨 상태, 지하철 도착 예정시간 등) - 특정 Entity에 대하여 서버의 판단이 필요할 때
(2월 31일의 날씨 알려줘, 일본의 뉴욕시간 알려줘) - 서버에서 연산하여 결과를 제공할 수 있는 경우
(3+5가 뭔지 알려줘) - Directive를 사용하여 디바이스의 기능을 동작시켜야 하는 경우
(오디오 재생, 멈춤)
Backend Proxy 서버 구축
Rest API를 처리할 수 있는 웹 서버 (개발언어는 제한없음)
Backend Proxy 개발에 대한 자세한 내용은 외부 연동 서버(Backend Proxy) 문서 참고
Backend Proxy를 Play와 연결
Play Builder에서 해당 Play의 General --> 외부 서버 연결 정보 페이지에서 Backend Proxy의 Web URL 입력
(Web URL 입력 시 http:// 혹은 https:// 를 포함하여 작성)
Backend Proxy과의 통신이 실패했을 때 출력할 오류 메세지를 Prompt에 작성

외부 서버 연결 정보 페이지 REST API URL
REST API 호출은 Backend proxy를 사용하도록 지정한 Action에서만 이루어지며,
각 Action 별로 고유한 REST API URL이 결정된다.
+ 예를 들어
외부 서버 연결 정보의 Web URL에 http://backend_proxy.nugu.com를 설정하고, Action 이름을 "playMusic"으로 설정했다면 해당 Action을 처리하는 REST API URL은 http://backend_proxy.nugu.com/playMusic이 된다.
Backend Proxy를 사용하여 Play 만들기
1. NUGU 플랫폼의 Dialog Manager는 지정된 포맷(Backend Proxy API 규격)으로 Request.
- 외부 서비스의 Rest API 포맷이 Backend Proxy API 규격과 다르다면 포맷을 변환해주기 위한
Backend Proxy 웹 서버를 개발. - Play Builder를 통해 Play를 만드는 과정에서 정의한 파라미터와 Backend Proxy API Reference에서
제공하는 규격을 사용하여 직접 개발.
※ NUGU 플랫폼에서는 Backend Proxy를 구축할 수 있는 클라우드 환경을 제공하지 않기 때문에
우리가 직접 구축을 하거나 시중에 떠돌아다니는 클라우드 서비스를 이용해야함 ※
Backend Proxy로 Play를 만드는 과정의 구조 2. Backend Proxy API 규격은 다음과 같은 정보를 Backend Proxy 서버로 전달.
(다음과 같은 정보를 바탕으로 특정 사용자가 전달한 요청에 대해 적절한 정보를 응답한다)

내용출처 : SKplanet Tacademy 유튜브 채널의 Backend Proxy 서버 개발 I 영상 일부분
'NUGU' 카테고리의 다른 글
Node.js & 파이어베이스 연동 (3) 2022.07.01 - 외부 서버로부터 정보를 가져와야 하는 경우