---
title: "モバイルアプリケーション向けの、バックエンドサーバー上で効率的に動作するMobileTogetherサービス"
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/ja/category/mobile-development.md) | [mobile-development](/blog/ja/category/mobile-development.md) | [mobile-development](/blog/ja/category/mobile-development.md)
# モバイルアプリケーション向けの、バックエンドサーバー上で効率的に動作するMobileTogetherサービス

MobileTogether Server Advanced Editionのサービスは、モバイルアプリのバックエンドサーバー上で実行され、モバイルデバイス上で動作しているアプリとは独立して、様々なトリガーに基づいて動作します。MobileTogetherのサービスは、モバイルアプリにバックグラウンド機能を提供したり、エンドユーザーがモバイルアプリを操作することなく、自動的に単独で動作を実行したりすることができます。例えば、MobileTogetherのサービスは、特定の時間にレポートを生成し、サーバー管理者にメールで送信することができます。あるいは、サービスは、外部の条件に基づいてデータベースを検索し、通知を送信したり、メールを送信したりといった処理を実行することができます。

MobileTogether Serverサービスとは、MobileTogether Designerで作成された一連の機能を、特定のソリューションファイルとしてサーバーに展開したものです。

[![](/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/ja/mobiletogether/app-development) (RMAD)は、これまでの経験を活かして、迅速にサービスを開発・提供できるようになります。

MobileTogether Serverのサービスは、MobileTogether Designerのファイルメニューから「新規サービス」を選択することで作成されます。これにより、簡略化されたDesignerが表示されます。サービスはモバイルアプリのインターフェースを必要としないため、ページやユーザーコントロールのヘルパーウィンドウは非アクティブになります。

以下のようなサービスを構築しましょう。このサービスは、販売データベースにアクセスし、1日に販売された製品の数を取得します。次に、取得したデータを構造化されたXML形式に変換し、そのXMLデータをファイルとして添付したメールを販売担当者に送信します。さらに、選択された企業の幹部に対して通知を送信します。

このサービスでは、MobileTogether Designerに自動的にインストールされ、MobileTogetherデモサーバーに展開されるMobileTogether CompanySalesデモアプリに含まれる販売データベースを使用します。

弊社のサービスでは、データベースへのクエリと、以下に示す「ページソース」のスクリーンショットに示されているようなXML構造が必要となります

[![MobileTogetherサーバーサービスのデータソースについて](/blog/images/MobileTogether-service-data-sources.png)](MobileTogether-service-data-sources.png)

このサービスには、MobileTogetherサーバー上に存在する「トリガー」と呼ばれる機能が含まれています。このトリガーについては、サービスを導入する際に詳細を定義します。

Pages Sourcesの設定が完了すると、サービスが実行される際に実行されるMobileTogether Actionsを定義できます。通常、モバイルアプリのページレイアウトを作成するために使用されるデザインパネルには、現在、サービスのアクションを定義するためのサービスアクションツリーを開く大きなボタンが配置されています。以下は、MobileTogether Serverサービスで利用可能なすべての操作の一覧を示すスクリーンショットです

[![MobileTogether Serverサービスで利用可能な機能](/blog/images/MobileTogether-service-actions.png)](MobileTogether-service-actions.png)

モバイルアプリのバックエンドサーバー上では、ページ遷移、ユーザーインターフェース、またはユーザー機能に関連するすべてのMobileTogetherの操作がグレー表示されており、これらは利用できないことを示しています。

MobileTogether Serverサービスは、一連の処理を実行します。この処理には、複数のステップが含まれる可能性があり、複雑な条件分岐処理や、別のアクショングループで定義されたサブルーチンの呼び出しなどを行うことができます。

弊社の販売レポートサービスが実行する機能は以下の通りです。このサービスは、データベースへのクエリを実行し、クエリ結果に基づいて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のユーザー名を使って、3人のユーザーに対してプッシュ通知を送信できます。

[![](/blog/images/send-notification-for-MobileTogether-service.png)](send-notification-for-MobileTogether-service.png)

この通知機能を使用すると、MobileTogetherソリューションにデータを含む情報を送信することも可能です。しかし、弊社の「CompanySales」アプリは、独自のクエリを使用して販売データベースにアクセスするため、この通知機能でデータを送信する必要はありません。

モバイルアプリのバックエンドサーバー向けのサービスは、MobileTogether Designerのファイルメニューにある「デプロイ」オプションを通じて展開されます。サービスの展開ダイアログには、MobileTogetherサーバーのWebブラウザインターフェースを開き、サービスを実行するためのトリガーを定義できる特別なオプションが含まれています

[![MobileTogetherサービスにおける、トリガーの編集機能](/blog/images/MobileTogether-deploy-and-edit-triggers.png)](MobileTogether-deploy-and-edit-triggers.png)

このサービスを実行するには、主に3つのトリガーを使用できます。それは、タイマー、監視対象のフォルダやファイルへのファイルシステム変更、そして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/ja/xmlspy-xml-editor):

[![MobileTogetherサービスによって生成された、メール添付ファイルのXML形式での表示](/blog/images/xml-file-attachment-1.png)](xml-file-attachment-1.png)

以下に、AndroidデバイスとiPhoneに配信される通知の例を示します

[![Androidデバイスでの通知について](/blog/images/MobileTogether-notification-android.png)](MobileTogether-notification-android.png)

[![iPhoneの通知について](/blog/images/MobileTogether-notification-ios.png)](MobileTogether-notification-ios.png)

受信者が通知をタップすると、同社の販売アプリが起動し、その日の販売に関する詳細な情報が表示されます。

[![MobileTogether社の販売デモアプリ](/blog/images/CompanySales-app.png)](CompanySales-app.png)

テストの結果は期待通りであり、したがって、業務終了後、毎日サービスを実行するための新しいトリガーを定義することができます

[![モバイルアプリケーションのバックエンドサーバー向けのサービスを提供する際の、開発開始のきっかけとなる要因](/blog/images/production-trigger.png)](production-trigger.png)

モバイルアプリのバックエンドサーバーでサービスを定義することがいかに容易であるか、ぜひご自身で体験してみてください。そして、弊社の製品を使って、クロスプラットフォーム対応の高性能なモバイルアプリを開発することができます [多くの高度な機能が搭載されています](https://www.altova.com/ja/mobiletogether/features) 無料でアプリケーションを開発することで [MobileTogether デザイナー](https://www.altova.com/ja/mobiletogether/download).
