#cmdevio2016 (レポート: A-3) 「マイクロWebアプリケーション」というテーマでお話しました

よく訓練されたアップル信者、都元です。本日、技術イベントDevelopers.IO 2016が開催されており、A-3枠において「マイクロWebアプリケーション」というテーマでお話させて頂きました。お足元の悪い中、多くの方にご来場いただきまして、あらためて御礼申し上げます。

概要

マイクロサービスとしてバックエンドをHTTPで疎結合に繋ぐアーキテクチャに注目が集まっています。そのようにバックエンドで実装した機能を直接ユーザに届けるコンポーネントである「Webアプリケーション」も、コントロールしやすい小さな単位でマイクロコンポーネントとして実装していく、そんな試みをご紹介します。

スライド

さらっと解説

約1年前のDevelopers.IO 2015では、クラスメソッドのAWSドッグフーディングと題しまして、弊社が自社開発をしている「クラスメソッド・メンバーズポータル」(略してCMP)というシステムを開発・運用するにあたって、どのようにAWSを活用しているのか、をご紹介しました。

今回はその続編、というわけではないのですが、「責任が大きくなってきた」システムであるCMPに対して、マイクロサービスという考え方を適用していく構想を現在立てています。

サービス(要するにAPIサーバ)を細かく作っていくアーキテクチャであるマイクロサービスがもたらすメリットや手法に関する話題は枚挙に暇が有りません。一方で、API群に対するWebユーザインターフェイスである「Webアプリケーション」についても分割統治が適用できれば、より大きな柔軟性を手に入れられるはずですが、この手の話はあまり聞いたことがありませんででした。

ただ、そのために超えなければならない壁があります。複数単位のアプリケーションで、1つのフロントエンドシステムを構成するわけなので、各単位が個別に認証を行うようでは成り立ちません。つまりID統合とSingle Sign-On(SSO)が必須です。

という流れで、認証と認可について、またそれぞれの委譲プロトコルである OpenID Connect 及び OAuth について理解を深めながら、アーキテクチャの構想をご紹介しました。

さいごに

OAuth や OpenID Connect についてはまだ当ブログであまりご紹介できていないネタです。今後はこの分野の情報も積極的に発信していこうと思っておりますので、ご期待頂ければと思います。