クロスプラットフォーム対応の開発言語とモバイルDBがIoTの開発効率を向上させる、エンバカデロのRAD Studio [PR]
これまで私たちが親しんできたPCやモバイル機器よりもさらに小型のコンピュータが、新しいITの主役になろうとしています。
例えば、話題をさらっているアップルのApple Watchを筆頭とするスマートウォッチやAndroid Wearなどのウェアラブル端末、あるいは家電や工作機械や建物などに組み込まれたさまざまなセンサー類など。
これらはいわゆる「モノのインターネット」、Internet of Things(IoT)として、新しいビジネスやサービスを作り上げていくことになると見られています。
直接ネットにつながらないデバイスも
IoTに登場するデバイスは何らかの形でネットにつながることが想定されますが、直接ネットに接続するケースと、何らかのデバイスを経由してネットにつながる2つのケースが考えられます。
安定した電源や回線を提供しやすい、建物内のセンサーやカメラなどは直接ネットにつながる能力を持つケースが多いでしょう。
一方で、例えばApple WatchやAndroid WearなどのウェアラブルデバイスはiPhoneやAndroid端末などとペアリングが必要とされていますし、コストやネットワーク環境、電源まわりなどに制限がある電子タグや一センサーなども、近接するモバイルデバイスやWindowsやLinuxマシンがハブとなってデータを収集し、その後にネットへ接続することになるでしょう。
調査会社の米Dimensional Researchによると、IoTの末端から接続されるデバイスOSの1位がAndroid、2位はWindows、3位がiOSだとされています。
となると、IoTを活用するためのアプリケーションには新しい発想が求められる一方で、そのアプリケーションプラットフォームはこれまで親しんできたiPhoneやAndroidやWindows、LinuxなどがIoTでも引き続き重要な位置を占めそうです。と同時に、IoTでは末端のデバイスが決まれば、ほぼ自動的にそのインターフェイスや特性に合わせてペアリング先のデバイスやハブデバイスも決まるでしょう。開発者に対してクロスプラットフォームへの要請が一層高くなりそうです。
単一のコードでクロスプラットフォーム対応がカギに
こうした要請に対して対応できる開発ツールが、エンバカデロ・テクノロジーズの「RAD Studio」です。
RAD Studioでは、C++もしくはObject Pascalによる単一のコードでWindows、Mac、iOS、Androidのマルチプラットフォームに対応し、Wi-FiやBluetoothを使ってウェアラブルデバイスやIoTデバイスなどとの通信を行える「アップテザリングコンポーネント」も用意されているため、デバイス間の通信も容易にプログラミング可能。
ウェアラブルデバイスやIoTは新しいデバイスが次々に登場し、またデバイスや周辺ソフトウェアのバージョンアップも速い、非常に変化の大きい領域です。プラットフォームごとにC#やJavaやSwiftやObjective-Cなどの言語とそれぞれのライブラリを把握して開発することは正攻法ではあっても、その人材を揃え、あるいは既存のエンジニアが新しい言語を学習し、しかもそれをビジネスの現場でメンテナンスし続けることは容易ではありません。
C++もしくはObject Pascalという単一の言語とライブラリですべてのプラットフォーム対応のアプリケーションを記述でき、しかもネイティブな機能を利用可能、ネイティブアプリケーションが生成されるRAD Studioは、IoTの開発環境として優れた選択肢を提供するといえるでしょう。
IoTだからこそローカルデータベースの重要性が高まる
ウェアラブルデバイスとペアリングされるデバイス、IoTのハブとなるデバイスでは、収集したデータを一時的に収集し、場合によってはフィルタリングなどの前処理をしたうえで中央のサーバやクラウドへ確実に送信することが、多くのアプリケーションで実装される機能となるはずです。
データを失うことなく安全に前処理や転送を行うには、データの永続化、すなわちローカルデータベースの機能がアプリケーションに求められるでしょう。
RAD Studioでは、マルチプラットフォーム対応のInterBaseを備えており、Windows、MacOS、iOS、Android、Linuxをサポート。モバイルアプリケーション、業務アプリケーションに組み込むことができます。
InterBaseはわずかなメモリとディスクスペースで実行可能で、定期的な管理タスクなどは不要。障害にも強い構造で、IoTデバイスから送られてくるデータの保管場所として適切なデータベースです。
データスキーマの視覚化も迅速な開発に欠かせない
そしてIoTのアプリケーションで最大のポイントは、集まったデータをどう解析しビジネスに生かすかでしょう。しかし、さまざまなモノやデバイスからさまざまな種類のデータが集まるIoTの環境では、最初から完成されたスキーマ設計ができるとはかぎりませんし、さまざまな種類のデータベースが、さまざまな用途ごとに作られることも起こるでしょう。
アプリケーションもデータベースのスキーマも、新しいIoTのアプリケーションの開発に取り組む過程でさまざまな試行錯誤を繰り返すことになることが考えられます。
こうした柔軟なデータベースの管理に対応したデータベース活用ツールに「ER/Studio」があります。
ER/Studioは、既存のデータベースを容易にリバースエンジニアリングし、全体を可視化するだけでなく、横断的にモデルやメタデータの共有ができます。つまり、どこにどのようなデータベースがあり、そのスキーマがどうなっているのかを可視化し、必要ならばそれをもとに最適化もできます。
アプリケーションの開発過程では、データベースのスキーマが変更されたり、あるいはアプリケーションで処理すべきデータがどこにどのような形式で格納されているのかといった情報が十分に共有されていないことが起こりがちです。
ER/Studioは主要なリレーショナルデータベースはもちろん、Hadoop、Teradata、Netezza、Greenplumといったビッグデータ向けのデータベースもサポートしています。既存のデータベースとIoTで集めたデータの連係や活用を試行錯誤し、新しい見方を発見するツールとしても使えるでしょう。
IoT時代のマルチデバイス開発ソリューション
エンバカデロでは、こうした「IoT時代のマルチデバイス開発ソリューション」を紹介する特設ページを公開。同社の開発ツール、データベースツール、組み込みデータベースソリューションについて紹介しています。
(本記事はエンバカデロ・テクノロジーズ提供のタイアップ記事です)
あわせて読みたい
JoyentがDockerに最適化したクラウド「Triton」を発表。最小で1分毎に課金
≪前の記事
マイクロソフトの新ブラウザ「Project Spartan」の開発にアドビが参加。CSSの強化などに貢献