backend services と通 信する ➔ 課題 ◆ backend services が UI と密結合し やすい ◆ 通信回数が多い ◆ 認証などの横断の関心事をどうする か ◆ client で通信の管理やデータのマー ジをする必要がある 10 web iOS Android backend service A backend service B backend service C
◆ Gateway パターンの課題 「client 毎の差分の扱い」を 解決 ◆ BFF パターンの課題「実装コ スト」を解決 GraphQL Gateway パターン 18 web iOS Android backend service A backend service B backend service C GraphQL Gateway
User Service Post Service GraphQL Gateway query { userById(id: "foo") { name } postById(id: "bar") { body } } query { userById(id: "foo") { name } } query { postById(id: "bar") { body } }