Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

アルバムアプリをモバイル対応するためにDelphiサーバーアプリを作成してみる

コンポーネントを使ってスマホから閲覧できる写真アプリのサーバー機能をすばやく実装

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2015/12/24 14:00

 前回作成したアルバムアプリをスマートフォンなどで使おうとすると、ローカル環境に写真を保存するだけでなく、クラウドなどのサーバー環境に保存したくなります。今回は、そんなサーバー側のアプリを、コンポーネントを使って簡単に実装してみます。

目次

 前回Delphiで作成したアルバムアプリをWindows 10に対応させ、ついでにマルチデバイス対応させてみましたが、実際にスマートフォンなどのモバイルデバイスでアルバム機能を使おうとすると、ローカル環境に写真を保存するだけでなく、クラウドなどのサーバー環境に保存するように作りこみたくなります。

図1 作成したWindows 10対応のアルバムアプリ

 Delphiおよびそのスイート製品RAD Studioでは、単一コードからWindows、Mac、iOS、Androidのマルチデバイスアプリを構築できることが目を引いていますが、その背後で重要となるサーバーへの接続や、モバイルクライアントに対応したサーバーアプリそのものを構築することもできることは忘れられがちです。

 今回は、アルバムアプリを拡張してサーバー環境に写真を保存できるように、RAD Studioサーバーアプリ構築に挑戦してみます。

方法は2つ ― DataSnapとEMS

 最近のサーバーアプリ(クラウドサービスなどを含む)は、REST/JSONなどのオープンなプロトコルを使って、特定のプラットフォームに限定されない接続性を用意する傾向にあります。RAD Studioでも、これに倣って、REST/JSONを標準とし、HTTP/HTTPSで接続可能なサーバーアプリを構築することができます。

DataSnap

 RAD Studioには、2つの方法が用意されています。ひとつは、DataSnap。この機能は、元々はCOMをベースにした多層アプリケーション構築技術でしたが、COMを分離し、REST/JSONを使ったオープンな接続性を提供するようにリニューアルされたものです。

 DataSnapは、多層アプリケーション構築のためのSDKと言っていいでしょう。DataSnapを用いれば、基本的なサーバーサービス機能をコンポーネントによって構築し、用意されたライブラリを使って、比較的簡単に多層アプリケーションを構築することができます。クライアントは、Delphi、C++によって構築されたものだけでなく、Javaや.NET、スクリプト言語などからも利用可能です。

EMS

 モバイルアプリに対応するために、すぐに使える中間サーバー機能として用意されたのが、EMS(Enterprise Mobility Services)です。EMSは、カスタムREST APIをパッケージとして登録するアプリケーションサーバーの機能を提供します。

図2 EMS

 DataSnapのようにサーバー機能を、SDKを使って一から構築するのではなく、元々用意されたサーバーソフトウェアに作成したモジュールを載せていくスタイルなので、ログインなどのコネクション管理、データアクセスプール、セキュリティ、ログ分析など、あらかじめ用意された機能を活用してすばやくサーバーアプリを構築できます。

 また、モバイルデバイスの識別や、それを活用した通知サービスの利用(Android端末の場合Googleのサービスを使うように自動的に振り分けるなど)もサポートしていて便利です。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • EDN編集部(イーディーエヌ編集部)

    エンバカデロ・デベロッパーネットワーク(EDN)は、ソフトウェア開発者とデータベース技術者のための技術情報サイトです。Delphi、C++Builderをはじめとする開発ツールやER/Studioなどのデータベースツールに関連する技術記事、ビデオなどを提供しています。EDN編集部は、EDN記事と連携...

バックナンバー

連載:EDN CodeZine出張所

おすすめ記事

All contents copyright © 2006-2016 Shoeisha Co., Ltd. All rights reserved. ver.1.5