第4回 システム統合
AIMMearthは利用者から見ると、一つのWebサイトとして動いているように見えます。
しかし内部では複数のシステムに役割を分けています。
WordPressによる一般的なWebサイト部分はXServerスタンダード上で動いています。
衛星画像ビューアと大容量の画像ファイルはXServer VPS側に置いています。
そしてWordPress上から衛星画像ビューアを表示するときにはiframeを利用しています。
この構成に気づくまでにはかなり時間がかかりました。
制作初期には、WordPressから外部の衛星画像ビューアを利用するためには、PHPやWordPressスニペットを使って何らかの連携プログラムを書く必要があるのではないかと考えていました。
WordPress関連の記事や動画では、WordPress内部の編集方法については非常に多くの情報があります。
特にLightningについては無料の解説動画も多く、Webロードの動画などが、WordPressで何ができるのかを理解するうえで非常に参考になりました。
一方で、「WordPressと別サーバー上のWebアプリケーションをどのようにつなぐか」という情報は、個々のWordPress操作ほど多くはありませんでした。
そこでiframeを利用すれば、WordPress側へビューアのプログラムそのものを組み込まなくても、独立して動いているWebページをそのまま表示できると分かったとき、構成が一気に単純になりました。
AIMMearth制作では、最初はすべてを一つのサーバーや一つのアプリケーションへ押し込もうとしていました。
最終的には、それぞれの仕組みを得意な場所で独立して動かし、必要なところだけ接続する形になりました。
AIMMearth全体では、Sentinel-2、CDSE、MGRS、QGIS、PyQGIS、Python、HTML、CSS、JavaScript、Linux、Apache、XServer VPS、WordPress、XServerスタンダード、DNS、iframe、デジタルダウンロード管理など、多数の既存技術を組み合わせています。
私はこれら一つ一つの専門家というわけではありません。
しかし、それらを組み合わせ、一つの衛星画像サービスとして実際に動かすためのインテグレーションについては、AIMMearthを自分で作る過程でかなり習得することができました。
個々の技術を詳しく学ぶのであれば、専門書、Udemy、YouTube、各種技術記事など、より詳しい教材が多数あります。
この連載で紹介したかったのは、それらの技術をどのように組み合わせれば、実際に一つのWebサービスとして完成させられるのか、という部分です。
関連技術・キーワード:WordPress / Lightning / iframe / XServer Standard / XServer VPS / Apache / HTML / JavaScript / DNS / System Integration

