プレゼンタイプ / Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: BeginnerSpeaker
レベル / Level [Choose either from Beginner / Intermediate / Advanced]: Beginner
カテゴリー / Categories [Choose at least one from Java SE / Jakarta EE / Cloud / JVM / DevOps / Tools / Community / Others]: Others
後日セッション動画の公開を希望する / Agree to publish your session video [Yes or No]: Yes
Abstract:
私が担当しているプロダクトでは、他のサービスと API 連携を行なっています。
既存のサービスの API を利用することで、開発コスト、期間を圧縮でき、大きなメリットが得られます。
しかし、当然メリットばかりを得られるわけではありません。次のようなデメリットもあります。
・API公開側にも止むを得ない事情があり、 API に破壊的な変更が加えられることがあると、追従するための開発が突発的に発生する
・別の組織が運用しているため、結合テストが難しく、保守コストが高い
・プロダクトで使用しているドメイン用語が、 API では別の意味で使われている場合があり、混乱を招く
このトークでは、このようなデメリットを軽減するための以下のようなアーキテクチャ、工夫、また苦悩についてお話します。
・DDD を取り入れた開発
・Interface を用いた設計