Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ϚΠΫϩαʔϏεͱ ΫϥΠΞϯτͱ ίϯςΩετڥք For Microservices Meetup vol.9 2018/10/30 FiNC Technologies Inc. / iOS Development Team ؔ ོٛ(takasek)
Slide 2
Slide 2 text
!2 ● ོؔٛ ● !UBLBTFL ● 'J/$5FDIOPMPHJFT ● $MJFOU&OHJOFFS J045FBN ࣗݾհ
Slide 3
Slide 3 text
!3 ● ʮJ04ΞϓϦઃܭύλʔϯೖʯ ڞஶ ● 1&",4ΑΓ݄ϦϦʔε༧ఆʂ IUUQTQFBLTDDJ04@BSDIJUFDUVSF .7$ .71 .77. 'MVY 3FEVY $MFBO"SDIJUFDUVSF ϞόΠϧಛ༗ͷىಈܦ࿏ɾը໘ભҠͷཧ·Ͱཏʂ ؔɺʮઃܭͱԿ͔ʯͱ͍͏େ͖ͳओޠͰষ΄Ͳʂ .7$ ʙ͔Β࿈໖ͱଓ͘ ΞʔΩςΫνϟύλʔϯͷྺ࢙ͷཧʂ ϚαΧϦඞࢸͷϏοάΠγϡʔʹՌʹΈ·ͨ͠ʂ એ
Slide 4
Slide 4 text
!4 ຊͷ͓ ʮΫϥΠΞϯτɾαʔόؒͷ ίϯςΩετڥքΛͲ͜ʹஔ͔͘ʯ
Slide 5
Slide 5 text
!5 ίϯςΩετڥքʁ ● ڥքͰɺϞσϧΛཧతʹ౷Ұ͞Εͨঢ়ଶʹอͭ͜ͱ ● ͨͩ͠ɺڥքͷ֎ʹద༻Ͱ͖Δ͔Ͳ͏͔ؾʹ͢Δඞཁ͕ͳ͍ ʮ͋ΔϞσϧΛͲͷίϯςΩετͰ ɹద༻͖͢Ͱͳ͍ͷ͔ʯΛࣔ͢ - ΤϦοΫɾΤϰΝϯεͷυϝΠϯۦಈઃܭ ΑΓ
Slide 6
Slide 6 text
!6 ίϯςΩετڥքʁ ˞ڥք͚ͮΒΕͨίϯςΩετΛఆٛͨ͠ΒɺͦΕΛ҆ఆͤ͞ͳ͚ΕͳΒͳ͍ ● ಉ͡νʔϜͰɺίϛϡχέʔγϣϯ్͕Εͯ͠·͏ͱղऍ͕িಥ͠͏Δ ● ಉ͡νʔϜͰɺݹ͍ઃܭ৽͍͠ઃܭͰίϯςΩετڥքʹͳΔ ʮڥքνʔϜฤͷྠֲʹै͏ʯ - ΤϦοΫɾΤϰΝϯεͷυϝΠϯۦಈઃܭ ΑΓ
Slide 7
Slide 7 text
!7 BFF BFF (Backends For Frontends) micro- services Repository UseCase Domain ViewModel View Server side Client side
Slide 8
Slide 8 text
!8 BFFʁ ΫϥΠΞϯτϩδοΫͷͨΊͷαʔό ● ௨৴ͷू ● ूϩδοΫͷڞ༗ Backends For Frontends
Slide 9
Slide 9 text
!9 Repository BFF (Backends For Frontends) micro- services Repository UseCase Domain ViewModel View Server side Client side
Slide 10
Slide 10 text
!10 Repositoryʁ σʔλΛͲ͔͜Βऔಘ͢ΔͲ͜ʹӬଓԽ͢Δ͔Λߟ͑ͳ͍ ● ϝϞϦ ● ετϨʔδ ● ωοτϫʔΫ ● FUDʜ σʔλऔಘɾӬଓԽͷৄࡉΛӅṭ͢Δઃܭύλʔϯ
Slide 11
Slide 11 text
!11 Repositoryʁ ෳࡶͳϩδοΫΛυϝΠϯ͔ΒΓͨ͢ΊʹϦϙδτϦΛઃ͚Δ ʮΫϥΠΞϯτ͕ඞཁͱ͢Δͷɺ ɹ͢Ͱʹଘࡏ͢ΔυϝΠϯΦϒδΣΫτͷࢀরΛखʹೖΕΔɺ ɹ࣮༻తͳखஈͰ͋Δʯ - ΤϦοΫɾΤϰΝϯεͷυϝΠϯۦಈઃܭ ΑΓ
Slide 12
Slide 12 text
ʮ࣮ࡍʹతͳΞΫηεΛඞཁͱ͢Δ ूϧʔτʹରͯ͠ͷΈɺϦϙδτϦΛఏڙ͢Δ͜ͱʯ - ΤϦοΫɾΤϰΝϯεͷυϝΠϯۦಈઃܭ ΑΓ
Slide 13
Slide 13 text
!13 ूʁ ● ෆม݅ʢৗʹ߹ੑΛอ͍ͬͯΔඞཁͷ͋ΔϏδωεϧʔϧʣΛ อূ͢Δ୯Ґ ● ूͰ߹ੑΛҡ࣋͢Δ
Slide 14
Slide 14 text
!14 UseCase BFF (Backends For Frontends) micro- services Repository UseCase Domain ViewModel View Server side Client side
Slide 15
Slide 15 text
!15 UseCaseʁ ʮ%PNBJOʢࣝͷදݱʣΛͲͷΑ͏ʹ͏͔ʯΛࣔ͢ 4ϨΠϠԽΞʔΩςΫνϟͰݴ͏ͱ͜ΖͷApplication
Slide 16
Slide 16 text
!16 ViewModel, View BFF (Backends For Frontends) micro- services Repository UseCase Domain ViewModel View Server side Client side
Slide 17
Slide 17 text
!17 ViewModelʁ .77. .PEFM7JFX7JFX.PEFM ύλʔϯͷίϯϙʔωϯτ ͨͩɺΞʔΩςΫνϟͷࡉࠓճओͰͳ͍ ʮ.PEFM7JFXؒͷมʯͱ͚ͩଊ͍͑ͯͩ͘͞ υϝΠϯϞσϧͷσʔλΛɺView༻ͷσʔλʹม͢Δ
Slide 18
Slide 18 text
!18 Viewʁ આ໌ෆཁ ը໘දࣔΛ࢘Δ
Slide 19
Slide 19 text
!19 ϚΠΫϩαʔϏεͱίϯςΩετϚοϓ BFF (Backends For Frontends) micro- services Repository UseCase Domain ViewModel View Server side Client side
Slide 20
Slide 20 text
!20 ຊͷ͓ (reprise) ʮΫϥΠΞϯτɾαʔόؒͷ ίϯςΩετڥքΛͲ͜ʹஔ͔͘ʯ
Slide 21
Slide 21 text
!21 ίϯςΩετڥքΛͲ͜ʹஔ͔͘ɿBFF BFF (Backends For Frontends) micro- services Repository UseCase Domain ViewModel View Server side Client side
Slide 22
Slide 22 text
!22 BFFΛมͱͯ͠ݟͳ͢ ● ϝϦοτ ● ߹ੑʹ͍ͭͯͷ৺ࣄΛυϝΠϯ͔Βഉআ ● ϓϥοτϑΥʔϜ J04"OESPJE ͷॏෳ࣮Λഉআ ● σϝϦοτ ● #''ʹཔΓ͗͢ΔʹࢄίϯϐϡʔςΟϯάͷݪଇͷઓ
Slide 23
Slide 23 text
!23 ࢄίϯϐϡʔςΟϯάͷݪଇ ● ωοτϫʔΫ৴པͰ͖ͳ͍ ● ʢ࣌ʹ͔ͳΓͷʣԆ͕ৗʹൃੜ͢Δ ● ଳҬ෯ʹݶΓ͕͋Δ ● ωοτϫʔΫηΩϡΞͰͳ͍ ● ཧऀෳͰ͋Δ ● సૹίετθϩͰͳ͍ ● ωοτϫʔΫҰ༷Ͱͳ͍ - ࣮ફυϝΠϯۦಈઃܭ ΑΓ
Slide 24
Slide 24 text
!24 ίϯςΩετڥքΛͲ͜ʹஔ͔͘ɿRepository micro- services Repository UseCase Domain ViewModel View Server side Client side
Slide 25
Slide 25 text
!25 RepositoryΛมͱͯ͠ݟͳ͢ ● ϝϦοτ ● ߹ੑʹ͍ͭͯͷ৺ࣄΛυϝΠϯ͔ΒഉআͰ͖Δ ● σϝϦοτ ● ͜ΕϏδωεϩδοΫͳͷͰʜʁ ● ϓϥοτϑΥʔϜ J04"OESPJE ͷॏෳ࣮
Slide 26
Slide 26 text
!26 ίϯςΩετڥքΛͲ͜ʹஔ͔͘ɿUseCase micro- services Repository Domain ViewModel View Server side Client side UseCase
Slide 27
Slide 27 text
!27 UseCaseΛมͱͯ͠ݟͳ͢ ● ϝϦοτ ● ʮαʔόͷίϯςΩετΛΫϥΠΞϯτͰͲͷΑ͏ʹѻ͏͔ʯ ʹϏδωεϩδοΫͰ͋Δɺͱ͍͏ೝࣝ ● ΫϥΠΞϯτ։ൃͰɺࣗવʹ͜͜ʹམͪண͘͜ͱ͕ଟͦ͏ ● σϝϦοτ ● ϓϥοτϑΥʔϜ J04"OESPJE ͷॏෳ࣮
Slide 28
Slide 28 text
!28 ίϯςΩετڥքΛͲ͜ʹஔ͔͘ɿViewModel micro- services Repository View Server side Client side UseCase ViewModel Domain
Slide 29
Slide 29 text
!29 ίϯςΩετڥքΛͲ͜ʹஔ͔͘ɿViewModel micro- services Server side Client side ViewModel View
Slide 30
Slide 30 text
!30 ViewModelͷ ● ૢ࡞ͷୡ ● ϓϨθϯςʔγϣϯঢ়ଶͷอ࣋ ● 7JFX༻ͷσʔλͷม ● ը໘ؒͷ߹ੑ୲อ ● αʔϏεؒͷ߹ੑ୲อ
Slide 31
Slide 31 text
!31 ViewModelΛมͱͯ͠ݟͳ͢ ● ΞϯνύλʔϯͰʁ
Slide 32
Slide 32 text
!32 ίϯςΩετڥքΛͲ͜ʹஔ͔͘ɿView micro- services Server side Client side View Micro Frontends
Slide 33
Slide 33 text
!33 ViewΛมͱͯ͠ݟͳ͢ ● ϝϦοτ ● 7JFXϚΠΫϩαʔϏεͷ୯Ґͱݟͳ͢ ● σϝϦοτ ● ΞϓϦͷ߹ʹɺ 7JFXϚΠΫϩαʔϏεʢಠཱͯ͠ϏϧυՄೳͳ୯ҐʣͰͳ͍ ● Γը໘ίϯϙʔωϯτؒͷ߹ੑΛؾʹ͠ͳ͚ΕͳΒͳ͍ ● ͦΕ7JFXͷͩΖ͏͔ʁ
Slide 34
Slide 34 text
!34 ΫϥΠΞϯτ͕୲อ͖͢߹ੑ ● .PEFMͱ7JFXͷؒͷ߹ੑ ● 6*ૢ࡞Λ.PEFMʹୡ ● .PEFMͷঢ়ଶมߋΛ7JFXʹө ● ڞ௨͢Δ.PEFMʹؔ৺ͷ͋Δͯ͢ͷ7JFXʹมߋ͕ಉظ͞ΕΔ ● .PEFMͱ.PEFMͷ߹ੑ ● αʔϏε"͔ΒͷϨεϙϯεͱ αʔϏε#͔ΒͷϨεϙϯεΛͻͱͭͷ.PEFMʹ݁߹͢Δ ● αʔϏε"Λߋ৽ͨ͠ΒɺαʔϏε#ʹมԽ͕ੜ͍ͯ͡Δ͔͠Εͳ͍
Slide 35
Slide 35 text
!35 Q.ʮModelͱModelͷ߹ੑʯΫϥΠΞϯτ͕୲อ͖͢ͷʁ ʮαʔϏε"͕มΘͬͨΒαʔϏε#ʹมߋ͕͋ΔʯαʔόͰ୲อ͖͢Ͱʁ " ʢΫϥΠΞϯτ͕"1*Λೳಈతʹୟ͍ͯߋ৽Λऔಘ͢Δੈք؍ͰʣͦΕݪཧతʹແཧ ● ʮαʔϏε"ͷߋ৽͕ɺαʔϏε#ʹө͞ΕΔʯͱͯ͠ʜ ● ΫϥΠΞϯτɺαʔϏε"ͷߋ৽"1*Λୟ͍ͨ͋ͱɺ ໌ࣔతʹαʔϏε#ͷऔಘ"1*Λୟ͘ඞཁ͕͋Δ ● αʔϏε͕ؒ݁Ռ߹ੑΛલఏʹ͍ͯ͠Δ߹ɺ ͞ΒʹʮͲͷ͘Β͍Ͱө͞Ε͏Δ͔ʯʮϦτϥΠΛͲ͏͢Δ͔ʯߟྀ ● ΫϥΠΞϯτ͕࣋ͭαʔϏε#ͷঢ়ଶεφοϓγϣοτͰ͔͠ͳ͍ ● ΫϥΠΞϯτϚΠΫϩαʔϏεؒͷؔੑʹ͍ͭͯͷࣝΛ࣋ͨ͟ΔΛಘͳ͍
Slide 36
Slide 36 text
!36 ͷয ● αʔόϨεϙϯεͷܗ6*ૢ࡞ͷαʔόͷୡʁ ● αʔϏεؒͷϋϒͱͯ͠ɺදࣔ༰ͷ߹ੑΛҡ࣋͢Δʁ ● ࢄίϯϐϡʔςΟϯάΛආ͚ΔͨΊͷϩʔΧϧͳΠϯλϑΣʔεʁ ● ෳͷը໘ؒͰͷ߹ੑͷҡ࣋ʁ ● ΫϥΠΞϯτͱαʔόͷίϯςΩετ͕Ͳ͜·Ͱ౷߹Մೳ͔ɺ ʮϏδωεϩδοΫʯͷް͞ͰมΘΓ͏Δ ΫϥΠΞϯτʹ͓͚ΔʮϏδωεϩδοΫʯͱԿ͔
Slide 37
Slide 37 text
ʮϏδωεϩδοΫʯͷఆٛ ΞϓϦʹΑͬͯɺ αʔϏεʹΑͬͯҧ͏ͣ
Slide 38
Slide 38 text
͋ͳͨͷαʔϏεʹ͓͍ͯ ΫϥΠΞϯτͷίϯςΩετ ͱԿͰ͔͢ʁ