---
title: "모바일 앱을 위한 백엔드 서버에서의 효율적인 모바일 통합 서비스"
date: "2018-03-19"
categories: 
  - "mobile"
  - "mobile-development"
  - "mobiletogether"
tags: 
  - "backend-servers-for-mobile-apps"
  - "mobiletogether"
  - "server"
  - "server-services"
description: 백엔드 서버에서 제공되는 MobileTogether 서비스를 통해 데이터베이스 쿼리 및 알림과 같은 작업을 사용자 인터페이스 없이 자동화함으로써 모바일 앱의 기능을 향상시키는 방법을 알아보세요.
---
Status: #blog

Tags:  #backend-servers-for-mobile-apps #mobiletogether #server #server-services

Categories: [mobile-development](/blog/ko/category/mobile-development.md) | [mobile-development](/blog/ko/category/mobile-development.md) | [mobile-development](/blog/ko/category/mobile-development.md)
# 모바일 앱을 위한 백엔드 서버에서의 효율적인 모바일 통합 서비스

MobileTogether Server Advanced Edition은 모바일 앱의 백엔드 서버에서 실행되는 서비스로, 모바일 기기에 설치된 특정 앱과 독립적으로 작동하며, 다양한 조건에 따라 실행됩니다. MobileTogether 서비스는 모바일 앱에 백그라운드 기능을 제공하거나, 사용자의 상호 작용 없이도 자동으로 독립적인 작업을 수행할 수 있습니다. 예를 들어, MobileTogether 서비스는 특정 시간에 보고서를 생성하여 서버 관리자에게 이메일로 전송할 수 있습니다. 또는, 서비스는 외부 조건에 따라 데이터베이스를 쿼리하고, 알림을 보내거나 이메일을 전송하는 등의 작업을 수행할 수 있습니다.

MobileTogether 서버 서비스는 MobileTogether 디자이너에서 생성된 일련의 기능을 서버에 특화된 솔루션 파일 형태로 배포한 것입니다.

[![](/blog/images/ServicesMT_Server_Advanced_blog.jpg)](ServicesMT_Server_Advanced_blog.jpg)

<!--more-->

MobileTogether 서비스는 모바일 앱의 백엔드 서버에서 실행되며, 일부 기능은 모바일 앱과 공유하지만 사용자 인터페이스는 제공하지 않습니다. 예를 들어, 이러한 서비스는 모바일 앱과 동일한 데이터 소스를 사용할 수 있습니다. 즉, XML, HTML 또는 JSON 데이터 구조, HTTP/FTP 요청, 데이터베이스 또는 XQuery 트리 등을 활용할 수 있습니다.

크로스 플랫폼 개발에 익숙한 개발자라면, MobileTogether Designer의 개발 방식을 이미 잘 알고 있을 것입니다 [빠른 모바일 앱 개발](https://www.altova.com/ko/mobiletogether/app-development) (RMAD)는 축적된 경험을 바탕으로 서비스를 신속하게 개발할 수 있을 것입니다.

MobileTogether 서버 서비스를 생성하려면, MobileTogether 디자이너 파일 메뉴에서 "새 서비스"를 선택하면, 간소화된 버전의 디자이너가 열립니다. 이 서비스는 모바일 앱 인터페이스를 필요로 하지 않으므로, 페이지 및 사용자 컨트롤에 대한 보조 창은 비활성화됩니다.

다음과 같은 서비스를 만들어 보겠습니다. 이 서비스는 판매 데이터베이스를 검색하여 하루 동안 판매된 제품의 개수를 가져오고, 검색 결과를 구조화된 XML 데이터로 변환한 다음, XML 데이터를 파일로 첨부하여 판매 관리자에게 이메일을 보내고, 특정 회사 임원들에게 알림을 보냅니다. 이 서비스는 MobileTogether Designer와 함께 자동으로 설치되며 MobileTogether 데모 서버에 배포되는 MobileTogether CompanySales 데모 앱에 포함된 판매 데이터베이스를 사용합니다.

저희 서비스는 데이터베이스 쿼리와 XML 구조를 필요로 하며, 아래 "페이지 소스" 스크린샷에서 확인할 수 있듯이 다음과 같은 형태를 갖습니다

[![모바일투게더 서버 서비스에 사용되는 데이터 소스](/blog/images/MobileTogether-service-data-sources.png)](MobileTogether-service-data-sources.png)

이 서비스에는 "트리거(Trigger)"라는 구조가 포함되어 있으며, 이 구조는 MobileTogether 서버에 존재합니다. 서비스 배포 시점에 트리거에 대한 자세한 내용을 정의할 예정입니다.

페이지 소스 설정이 완료되면, 서비스가 실행될 때 수행될 MobileTogether 액션을 정의할 수 있습니다. 일반적으로 모바일 앱의 페이지 레이아웃을 만드는 데 사용되는 디자인 패널에는 이제 서비스에 대한 액션을 정의할 수 있는 서비스 액션 트리를 여는 큰 버튼이 있습니다. MobileTogether 서버 서비스에서 사용할 수 있는 모든 액션 목록은 다음 스크린샷에서 확인할 수 있습니다

[![MobileTogether 서버 서비스에서 사용할 수 있는 기능들](/blog/images/MobileTogether-service-actions.png)](MobileTogether-service-actions.png)

참고로, 모바일 앱의 백엔드 서버에서 제공되는 서비스의 경우, 페이지 이동, 사용자 인터페이스 또는 사용자 기능과 관련된 모든 MobileTogether 기능은 사용할 수 없음을 나타내기 위해 회색으로 표시되어 있습니다.

MobileTogether 서버 서비스는 일련의 작업을 실행하며, 이 작업들은 여러 단계로 구성될 수 있으며, 복잡한 조건문(if-then-else) 로직을 수행하거나, 별도의 액션 그룹에 정의된 서브루틴을 호출하는 등 다양한 기능을 포함할 수 있습니다.

저희 판매 보고서 서비스가 수행하는 작업은 다음과 같습니다. 이 서비스는 데이터베이스 쿼리를 실행하고, 쿼리 결과를 사용하여 XML 구조를 업데이트하는 루프를 실행하며, 이메일 발송 및 푸시 알림을 위해 관련 기능들을 호출합니다.

[![모바일 앱의 백엔드 서버를 위해 해당 서비스가 수행하는 작업들](/blog/images/actions-for-MobileTogether-service-running-1.png)](actions-for-MobileTogether-service-running-1.png)

다음은 지정된 수신자에게 이메일을 보내는 기능을 수행하는 액션 그룹입니다

[![해당 서비스에 대한 이메일 문의를 받을 수 있도록 설정해 주세요](/blog/images/send-email-for-MobileTogether-service.png)](send-email-for-MobileTogether-service.png)

이 기능은 XML 데이터를 임시 파일로 저장하지 않고, 바로 파일 첨부 형태로 전송할 수 있도록 해줍니다.

푸시 알림 기능을 위한 설정 그룹은 아래와 같습니다. 저희는 MobileTogether 사용자 이름으로 세 명의 사용자에게 푸시 알림을 보낼 수 있습니다.

[![](/blog/images/send-notification-for-MobileTogether-service.png)](send-notification-for-MobileTogether-service.png)

알림 기능은 또한 데이터를 MobileTogether 솔루션으로 전송할 수 있도록 해줍니다. "CompanySales" 앱은 자체적으로 판매 데이터베이스에 대한 일련의 쿼리를 실행하기 때문에, 이 알림 기능에는 데이터 전송이 필요하지 않습니다.

모바일 앱을 위한 백엔드 서버 서비스는 MobileTogether 디자이너 파일 메뉴의 "배포" 옵션을 통해 배포됩니다. 서비스 배포 대화 상자에는 특별한 옵션이 있는데, 이를 통해 MobileTogether 서버 웹 브라우저 인터페이스를 열고, 해당 서비스를 실행할 트리거를 정의할 수 있습니다

[![MobileTogether 서비스 옵션 중 트리거 편집 기능](/blog/images/MobileTogether-deploy-and-edit-triggers.png)](MobileTogether-deploy-and-edit-triggers.png)

세 가지 유형의 트리거를 사용하여 서비스를 실행할 수 있습니다. 여기에는 타이머, 모니터링 중인 폴더 또는 파일의 파일 시스템 변경 사항, 그리고 HTTP 트리거가 있습니다. 초기 테스트를 위해, 서비스를 한 번 실행하도록 타이머를 설정할 수 있습니다

[![MobileTogether 서비스 트리거 (테스트용)](/blog/images/MobileTogether-testing-trigger-1.png)](MobileTogether-testing-trigger-1.png)

타이머가 실행을 시작하면 서버 로그 뷰에서 성공 메시지가 표시됩니다. 상단에 있는 "완료" 항목은 성공을 나타내며, 바로 아래 항목은 데이터베이스 쿼리를 포함하여 실행 과정을 단계별로 자세하게 기록합니다.

[![MobileTogether를 사용하여 서비스 테스트를 실행한 결과를 기록한 로그입니다](/blog/images/MobileTogether-log-for-test-execution.png)](MobileTogether-log-for-test-execution.png)

공간을 절약하기 위해 스크린샷의 일부를 잘라냈지만, 실제로는 이메일 메시지 생성 및 알림 전송까지 전체 과정이 포함되어 있습니다.

다음은 Altova XMLSpy에서 열린 창에 표시되는 이메일 첨부 파일입니다 [XML 편집기](https://www.altova.com/ko/xmlspy-xml-editor):

[![MobileTogether 서비스에서 생성된 이메일 첨부 파일의 XML 형식 보기](/blog/images/xml-file-attachment-1.png)](xml-file-attachment-1.png)

다음은 안드로이드 기기와 아이폰으로 전송되는 알림 예시입니다

[![Android 기기 알림](/blog/images/MobileTogether-notification-android.png)](MobileTogether-notification-android.png)

[![아이폰 알림에 대한 안내](/blog/images/MobileTogether-notification-ios.png)](MobileTogether-notification-ios.png)

수신자가 알림을 터치하면, "CompanySales" 앱이 실행되어 해당 날짜의 판매 관련 상세 정보를 제공합니다.

[![모바일투게더(MobileTogether) 회사용 판매 시연 앱](/blog/images/CompanySales-app.png)](CompanySales-app.png)

테스트 결과가 우리가 원하는 대로 나왔으므로, 업무 마감 시간 이후 매일 서비스를 실행하도록 새로운 트리거를 설정할 수 있습니다

[![모바일 앱의 백엔드 서버를 위한 서비스 구축을 시작하는 조건](/blog/images/production-trigger.png)](production-trigger.png)

모바일 앱을 위한 백엔드 서버에서 서비스를 정의하는 것이 얼마나 쉬운지 직접 확인해 보세요. 그리고 이를 통해 다양한 플랫폼에서 작동하는 풍부한 기능을 갖춘 모바일 앱을 직접 만들어 보세요 [다양하고 고급스러운 기능들을 제공합니다](https://www.altova.com/ko/mobiletogether/features) 무료로 앱을 개발하여 [모바일 투게더 디자이너](https://www.altova.com/ko/mobiletogether/download).
