Previous BFF pattern
• since 2010: Single Page Application
https://speakerdeck.com/koichik/isomorphic-survival-guide
Slide 18
Slide 18 text
Previous BFF pattern
• since 2013-?: Single Page Application with
MicroServices
https://speakerdeck.com/yosuke_furukawa/25
Slide 19
Slide 19 text
Client
Server
micro services
Rich Single Page Web Apps with MicroServices
'SPOUFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
Slide 20
Slide 20 text
Client
Server
micro services
Rich Single Page Web Apps with MicroServices
'SPOUFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
Backend
For Frontend
#BDLFOE
-PHJDT
Slide 21
Slide 21 text
Client
Server
micro services
Rich Single Page Web Apps with MicroServices
'SPOUFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
Backend
For Frontend
#BDLFOE
-PHJDT
ΫϥΠΞϯτຊདྷͷ6*ͷ
ॲཧʹྗͰ͖Δ
Slide 22
Slide 22 text
Client
Server
micro services
Rich Single Page Web Apps with MicroServices
'SPOUFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
Backend
For Frontend
#BDLFOE
-PHJDT
ը໘Λߏங͢Δखॿ͚Λ͢Δ
"1*ฒྻݺͼग़͠
$BDIFͨ͘͞Μ࣋ͯΔ
'JMF6QMPBE8FC4PDLFUFUD
Slide 23
Slide 23 text
Client
Server
micro services
Rich Single Page Web Apps with MicroServices
'SPOUFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
Backend
For Frontend using Node.js
#BDLFOE
-PHJDT
͜͜Λ/PEFKT
ʹ͢Δͱͬͱ৭ΜͳϝϦοτ͕
Slide 24
Slide 24 text
Client
Server
micro services
Rich Single Page Web Apps with MicroServices
'SPOUFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
Ұ෦ͷ'SPOUFOE-PHJDΛڞ
௨ԽͰ͖Δ
'SPOUFOE
-PHJDT
Backend
For Frontend using Node.js
Slide 25
Slide 25 text
Client
Server
micro services
Rich Single Page Web Apps with MicroServices
'SPOUFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
#BDLFOE
-PHJDT
ը໘ͷWBMJEBUJPO
)5.-ੜFUD
'SPOUFOE
-PHJDT
Backend
For Frontend using Node.js
Slide 26
Slide 26 text
Backend For Frontend
• υϝΠϯಛԽͨ͠αʔϏεͱϦονͳΫϥΠΞϯτΛ
ܨ͙ௐఀ
• ը໘Λ࡞ΔͨΊͷิࠤΛ͢Δ
• APIͷ·ͱΊ
• Cache͜͜ͷͰΔͱBackend Friendly
• BFF Λ Node.js ʹ͢Δͱ͞Βʹ
• ϑϩϯτͷ࡞ۀΛڞ௨ԽͰ͖Δ
• Server Side Rendering / validation logic etc