本節では、(Java) APSをDocker化する際の考え方について説明する。
具体的には、以下について示す。
APSを利用したシステムアーキテクチャを考えるため、以下を想定する。
この場合、最も古典的なシステムのアーキテクチャは下図のようになる。
(NetBeans公式サイトより)
上記の通り、Java EE の APS では個々のコンポーネントが独立した役割を持ち、相互に協調動作する。
MVCモデル以外のアーキテクチャにおいても、
コンポーネント追加/変更による機能拡張/置き換えが起きるのみであり、
個々の使い道は基本的に変化しない。
アプリケーションをDocker化する際の一般的な要件として、
「アプリが内部状態を持たない or 外部管理できること」が挙げられる。
前述のAPSのシステムアーキテクチャにおいては、
DBがアプリの内部状態を持ちうることを除けば、
基本的には上記要件を満たすことがわかる。
具体的には、以下の前提条件を満たすアプリケーションであれば、
APSごとDocker化することが可能である。
DB利用
ローカルのファイル操作