見出し画像

外部データを取り込んでコンテンツ制作する時に考えること

アクアリングは大手企業の大規模Webサイトの構築・運用を多数行っています。特に大規模Webサイトでは、自社完結ですべてのコンテンツを制作・運用すると、年月が立つことでコンテンツ量が肥大化し、情報が古くなったり鮮度が悪くなったりします。

今回はそういった課題に対して、アクアリングが実施した外部データを取り込んでコンテンツ制作をする時に考えたことをシステム側視点で紹介したいと思います。

※API連携ができる場合はその外部データ提供元の仕様に基づいて開発を行いますが、本記事ではAPIが提供されていない場合に限定しています。

ネットワークのセキュリティを理解する

APIで提供されていないデータを連携させる場合、特にセキュリティは強く意識しなければなりません。そのためにはまずインフラ構成図を作成し、セキュリティ状況を確認します。

画像1

このインフラ構成図を作成するときに、外部データ連携視点で以下のポイントに注意が必要です。

1. 限定的なネットワークはどの部分か?
2. ファイアーウォールはどこに設定されているか?
3. 本番環境やステージング環境など別れていないか?

インフラ構成図を作成することで、外部データを連携するための制約がないかを確認することができます。

※インフラ構成図はWebサイト構築の前提条件になるため、大規模サイトでなくても作成することをオススメします。

受信するデータか取得するデータかを判断する

インフラ構成図を作成すると、コンテンツを作成するために取り込む外部データを受信するべきか、取得するべきかを判断することができます。

画像2

データを受信する
自社サーバ側と同じネットワーク内にある場合は、HTTP通信ではなくローカルネットワークを通じてFTPでデータを取得することができます。

データを取得する
完全に外部にあるデータの場合は、HTTP通信でデータを取得することが大半です。今回ご紹介する事例ではRSSを利用してコンテンツを配信していたため、RSSに記載されている内容を取得することにしました。

データの流れを設計する

データを受信するのか取得するのかを決めたら、一連のデータの流れを設計図として起こすことで、開発メンバー全員の認識合わせができ、さらにお客様に対しても見えない部分の仕組みを理解・承認しやすくなります。

画像3

設計図内には、データがどのくらいの頻度で更新されるかも記載しておくと、外部データを活用してコンテンツを制作した部分がどのくらいの頻度で更新されるかが分かるようになります。

バックエンドとフロントエンドの境界線と受け取るデータの型を決める

ここまできたら、あとはバックエンドで処理する部分とフロントエンドで処理をする部分の境界線とデータの形式を決めます。

境界線
一般的にはフロントエンド側は表示処理を行い、バックエンドはその表示をするための値を生成することになると思います。アクアリングでもこのような役割分担にすることが多いです。

データの形式
フロントエンドはJavascriptで処理することが多いため、扱いやすい形式にすることがよいでしょう。アクアリングではJSON形式でデータの受け渡しを行うことが多いです。

境界線とデータの形式を決めることで、バックエンドとフロントエンドでどういった開発をすればよいか、判断できるようになるはずです。

まとめ

今回は外部データを取り込んでコンテンツを作るために考える大まかなポイントを紹介しました。また別の機会でポイントごとの詳細を紹介できればと思います。

・インフラ構成図を作成し、ネットワークのセキュリティを理解する。
・受信するデータか取得するデータかを判断する。
・データの流れを設計する。
・バックエンドとフロントエンドの境界線と受け取るデータの形式を決める。
この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
11
AQUARING所属のプロジェクトマネージャー。 背番号は10に憧れています。