技術情報
言語:C#
FW:ASP.Net Core2.0
動作環境:Azure WebApps(AzureによるSaaSの実現)
FW:ASP.Net Core2.0
動作環境:Azure WebApps(AzureによるSaaSの実現)
開発ストーリー
お客様が、PDSを活用した個人データを管理するシステムの構築にあたり、その管理するPF(プラットフォーム)の開発をすることとなりました。
外部からPFの情報にアクセスする手段としてAPIを利用することとなり、その開発に携わることとなりました。
ご提案
ユーザーの個人情報の預託具合や提供先への同意状況などは、お客様が情報提供先への施策を打つ上で重要な要素となります。
それらの情報を集計しやすくするために、元々仕様になかった部分に「このような情報を追加すると集計や分析がしやすいのでは」と仕様の提案していきました。
それらの情報を集計しやすくするために、元々仕様になかった部分に「このような情報を追加すると集計や分析がしやすいのでは」と仕様の提案していきました。
苦労した点
今回は、アジャイル開発という手法でプロダクトを作成していきました。
スケジュール上、スマホアプリ側とPF(API)側を同時に開発していきます。APIのリクエスト・レスポンスの定義や仕様なども柔軟に変更対応する必要があるため、本手法を採用しました。
アジャイル開発では、ドキュメントは最小限に留め、お客様の前でデモをしながら動作を確認していただくというタスクが発生します。そのため通常のウォーターフォール型の開発では味わえない苦労がありました。
動作確認時に仕様の齟齬を発生させないために、お客様とのやり取りを密にして開発を進めることで、お客様の要望通りのプロダクトに仕上げることが出来ました。
スケジュール上、スマホアプリ側とPF(API)側を同時に開発していきます。APIのリクエスト・レスポンスの定義や仕様なども柔軟に変更対応する必要があるため、本手法を採用しました。
アジャイル開発では、ドキュメントは最小限に留め、お客様の前でデモをしながら動作を確認していただくというタスクが発生します。そのため通常のウォーターフォール型の開発では味わえない苦労がありました。
動作確認時に仕様の齟齬を発生させないために、お客様とのやり取りを密にして開発を進めることで、お客様の要望通りのプロダクトに仕上げることが出来ました。
注意した点
個人情報を取り扱うため、情報漏洩が発生しないように細心の注意をはらいました。
ユーザーから預かった個人情報を安全に運用するために、暗号化が必須となりますが、暗号化をどのような方法で実施するか、また暗号化に必要なキー情報などをどこに保持しておくかということを考えることに苦労しました。
AzureのサービスにKeyVaultというものがありますが、それを有効に利用することで、安全にデータを保持することができ、なおかつ 暗号・復号化もセキュリティの担保された手法で実現することが出来ました。
ユーザーから預かった個人情報を安全に運用するために、暗号化が必須となりますが、暗号化をどのような方法で実施するか、また暗号化に必要なキー情報などをどこに保持しておくかということを考えることに苦労しました。
AzureのサービスにKeyVaultというものがありますが、それを有効に利用することで、安全にデータを保持することができ、なおかつ 暗号・復号化もセキュリティの担保された手法で実現することが出来ました。
開発にかける想い
ユーザーにとって、「自らの個人情報を不利益にならないように有効活用していく」 という考え方はそもそもあまり馴染みがなく、どちらかというと抵抗がある場合がほとんどだと思います。
ですが、今後の社会的な「個人情報管理の重要性」と「ビジネスモデルの変化」を鑑み、今回作成した製品がこれからのスタンダードになって欲しいという想いを持って開発に携わりました。
またAzure上にサービスを構築することやAPIを作成することが初めてであったため、技術的なノウハウの蓄積をしたり、新しい知識を収集することを意識して開発に臨みました。
ですが、今後の社会的な「個人情報管理の重要性」と「ビジネスモデルの変化」を鑑み、今回作成した製品がこれからのスタンダードになって欲しいという想いを持って開発に携わりました。
またAzure上にサービスを構築することやAPIを作成することが初めてであったため、技術的なノウハウの蓄積をしたり、新しい知識を収集することを意識して開発に臨みました。