テストしやすさを維持するつくりに向けて
ドメイン駆動設計により、モノリスでくたびれたシステムをIoT対応の改修
改修時のアダプター層と最外層の区分け
システム構成
関連システムのコード名
はじめに、ドメイン駆動設計のアプローチを試験的に取り入れる、今回のシステム改修(とある商品のIoT化対応改修)の関連システムにコード名をつけておこう。
MO=総合顧客管理システム(お疲れ気味のモノリス。15年もの。)
IS = IoTサービス提供システム(クラウド+IoT端末+スマフォアプリのシステム)
PR = IoT化工事支援システム
ES = IoT化事業総合検索システム
概要と方針
このうち、MOでは、15人程度の規模のチームを投入してのシステム刷新が行われている。IS は、10人規模のチームによるスクラッチ開発が行われており、リリース後も改修が続けられる予定。
PRとESは、この両システムを下支えするシステム。IoT化顧客対応チームと外注先の工事業者・保守・運用業者等との情報共有を行うPRでは、オープンソースパッケージ「プリザンター」を一部フロントエンドのこーとをカスタマイズして利用する。
また、ESでは、ISとPR、それぞれの全情報のインデックスを作成し、ログ検索と全文検索を行うためにElasticSearchを利用する。
このうち我々のチームがシステム改修を担当するのは、PRとES。開発予算を削減するため、 当初から特定のサービスを用いるが、コアなロジックの実装は、用いるサービスとは独立に行っていく。