Save 37% off PRO during our Black Friday Sale! »

バックエンドが異なるサービスの差分を
APIで吸収してみた話

106e9af235dcfbc6251b38def24a0f8b?s=47 noripi
September 01, 2017

 バックエンドが異なるサービスの差分を
APIで吸収してみた話

2017.09.01 retty tech nightのスライドです。

106e9af235dcfbc6251b38def24a0f8b?s=128

noripi

September 01, 2017
Tweet

Transcript

  1. όοΫΤϯυ͕ҟͳΔαʔϏεͷࠩ෼Λ
 "1*Ͱٵऩͯ͠Έͨ࿩ 3FUUZ5FDI/JHIU /PSJZVLJ*TIJEB 

  2. ͍͋ͭ͝͞"CPVUNF  ɾੴాݑ޾/PSJZVLJ*TIJEB ɾ3FUUZ *OD ɾΞϓϦ༻"1* ,PUMJO+BWB ɾJ04 4XJGU0CKFDUJWF$ ɾւ֎޲͚αʔϏε

    8FC%#ઃܭΠϯϑϥӡ༻ ɾલ৬͸ָఱ ɾഅ݊Λൢച͢ΔαʔϏεͰ8FCͷ։ൃɾӡ༻Λ୲౰ ɾࠃ಺޲͚
  3. ຊ೔ͷ͓࿩  ɾ3FUUZͷւ֎޲͚αʔϏε ɾݟ্͔͚͸೔ຊͱಉ͡αʔϏεͰΞϓϦ΋ಉҰ ɾͰ΋όοΫΤϯυ͸ҟͳ͍ͬͯΔ ɾ"1*Ͱࠩ෼Λٵऩ͢ΔͨΊʹ΍͍ͬͯΔ͜ͱ ɾ·ͱΊ ɾࠩ෼͸"1*Ͱٵऩ͍ͯ͠Δ

  4. 3FUUZͷւ֎޲͚αʔϏε

  5. 3FUUZ͸ݱࡏ೔ຊΛؚΉΧࠃͰ
 αʔϏεల։த 

  6. 3FUUZͷւ֎ల։ঢ়گ    

  7. 3FUUZͷ೔ຊ޲͚αʔϏεͱւ֎޲͚αʔϏε   ɾ೔ຊ޲͚αʔϏεͱւ֎޲͚αʔϏε ɾ೔ຊ޲͚ɿ8FC͓ΑͼΞϓϦͰαʔϏεల։த ɾւ֎޲͚ɿΞϓϦͰαʔϏεల։தʢҰ෦ػೳ੍ݶ͋Γʣ

  8. 3FUUZͷ೔ຊ޲͚αʔϏεͱւ֎޲͚αʔϏε   ɾಉҰΞϓϦ͕ͩόοΫΤϯυ͸ҟͳΔ ೔ຊ޲͚αʔϏε ւ֎޲͚αʔϏε ೔ຊ༻%# ւ֎༻%# ೔ຊ༻"1*αʔό ւ֎༻"1*αʔό

  9. ೔ຊ޲͚ͱւ֎޲͚ͰผʑʹόοΫΤϯυΛ༻ҙͨ͠ཧ༝  ɾ೔ຊʹ࠷దԽ͞Ε͍͗ͯ͢Δ ɾւ֎޲͚ʹαʔϏεΛ͢Δ࣌ͷ͜ͱ͸ͦ͜·Ͱ૝ఆ͞Ε͍ͯͳ͍ ɾ%#Λ࠶ઃܭ͢Δ͍͍ػձ ɾӡ༻ن໛͕େ͖͘ͳ͖ͬͯͨͷͰؾܰʹεΩʔϚมߋͰ͖ͳ͍ ɾҰํͰઃܭΛݟ௚͍ͨ͠Օॴ͸ঃʑʹ૿͖͍͑ͯͯΔ ɾ೔ຊʹͳΔ΂͘ӨڹΛग़ͨ͘͠ͳ͍ ɾ೔ຊͱւ֎Λൺֱͨ͠ͱ͖ͷαʔϏεن໛ͷ؍఺͔Β ɾ࣌ࠁʹ࣌ؒՃࢉ͢ΔϩδοΫ͕ਵॴʹຒΊࠐ·Ε͍ͯΔ

  10.  ͱ͸͍͑
 ͦΜͳ͜ͱΛߟ͑ͳ͕ΒΞϓϦΛ࡞Δͱ

  11. 

  12.  ͭΒͦ͏ʜ

  13.  ͦ͏ͳΒͳ͍Α͏ʹ
 ͳΔ΂͘"1*Ͱࠩ෼Λٵऩ͍ͯ͠·͢

  14. "1*Ͱࠩ෼Λٵऩ͢ΔͨΊʹ΍͍ͬͯΔ͜ͱ

  15. ΍͍ͬͯΔ͜ͱ  ɾ"1*ͷܗࣜΛ౷Ұ͢Δ ɾΤϯυϙΠϯτΛ౷Ұ͢Δ ɾ)551ϝιου ɾύϥϝʔλ ɾฦΓ஋ܗࣜ ɾίϯςϯπλΠϓ

  16. "1*ͷશମઃܭ   ɾ+"934ʹଇΓɺ+BWBͷΫϥε΍ϝιουͰ
 ɹΤϯυϙΠϯτΛఆٛ ɾύεɺ)551ϝιουɺฦΓ஋ͷܗࣜɺίϯςϯπλΠϓ

  17. "1*ͷશମઃܭ   ɾσʔλΛ΍ΓऔΓ͢ΔྲྀΕ %"0 Ϟσϧ Ϧιʔε ΞϓϦ (&5SFTUBVSBOUT\JE^ σʔλετϨʔδ

    "1*
  18. ڞ௨Խ͍ͨ͠෦෼ͱͦ͏Ͱͳ͍෦෼   ɾϦιʔε૚͸ڞ௨Խ͍ͨ͠ %"0 Ϟσϧ Ϧιʔε ΞϓϦ (&5SFTUBVSBOUT\JE^ ɾ֎޲͖ͷΠϯλϑΣʔε͕ఆٛ͞Ε͍ͯΔ૚

    σʔλετϨʔδ "1*
  19. ڞ௨Խ͍ͨ͠෦෼ͱͦ͏Ͱͳ͍෦෼   ɾͦΕҎ֎ͷ෦෼͸ڞ௨Խ͕೉͍͠ %"0 Ϟσϧ Ϧιʔε ΞϓϦ (&5SFTUBVSBOUT\JE^ "1*

    ɾσʔλετϨʔδʹ͍ۙ૚ͳͷͰڞ௨Խͯ͠΋͋·Γҙຯ͕ͳ͍
  20. ڞ௨Խ͍ͨ͠෦෼ͱͦ͏Ͱͳ͍෦෼   ɾ%"0ͷ෦෼ΛΠϯλϑΣʔεԽͯ͠ந৅Խ Ϟσϧ Ϧιʔε ΞϓϦ (&5SFTUBVSBOUT\JE^ %"0 %"0

    Ϟσϧ "1*
  21. ڞ௨Խ͍ͨ͠෦෼ͱͦ͏Ͱͳ͍෦෼   ɾ%"0ͷ෦෼ΛΠϯλϑΣʔεԽͯ͠ந৅Խ

  22.  "1*ͷܗࣜΛ౷Ұ͢Δ ɾϦιʔεΫϥε͸ܧঝͰϩδοΫΛڞ௨Խ

  23. ΤϯυϙΠϯτΛ౷Ұ͢Δ   ೔ຊ༻%# ւ֎༻%# ೔ຊ༻"1*αʔό ւ֎༻"1*αʔό ɾΤϯυϙΠϯτΛ౷Ұ͠ͳ͍ͱɺΞϓϦଆͰ
 ɹͲͬͪʹߦ͔͘൑அ͠ͳ͍ͱ͍͚ͳ͘ͳΔ ೔ຊ޲͚αʔϏε

    ւ֎޲͚αʔϏε ?
  24. ΤϯυϙΠϯτΛ౷Ұ͢Δ   ೔ຊ༻%# ւ֎༻%# ೔ຊ༻"1*αʔό ւ֎༻"1*αʔό ɾήʔτ΢ΣΠΛ࢖͏͜ͱʹΑͬͯ೔ຊ༻ͱւ֎༻
 ɹͷΤϯυϙΠϯτΛ౷Ұ ೔ຊ޲͚αʔϏε

    ւ֎޲͚αʔϏε
  25. ΤϯυϙΠϯτΛ౷Ұ͢Δ   ೔ຊ༻%# ւ֎༻%# ೔ຊ༻"1*αʔό ւ֎༻"1*αʔό ɾήʔτ΢ΣΠ͕શ؀ڥͷηογϣϯΛ؅ཧͯ͠
 ɹద੾ͳํʹৼΓ෼͚ ೔ຊ޲͚αʔϏε

    ւ֎޲͚αʔϏε ೔ຊ༻"1*αʔό ηογϣϯ
 ۭؒ
  26. ౷Ұ͞Εͨ݁Ռ  ɾݟ্͔͚ͭͷ"1*Ͱ೔ຊւ֎ͷαʔϏεΛ
 ɹ࢖͏͜ͱ͕Ͱ͖ΔΑ͏ʹͳΔ ೔ຊ޲͚αʔϏε ւ֎޲͚αʔϏε "1*

  27. ·ͱΊ

  28. ·ͱΊ  ɾ೔ຊΛؚΊΧࠃʹαʔϏεల։த ɾΞϓϦ͸͕ͭͩόοΫΤϯυ͸ҟͳΔ ɾΞϓϦͷϩδοΫ͕ͭΒ͘ͳΒͳ͍Α͏ʹ"1*͕ؤு͍ͬͯ·͢ ɾ"1*͕΍͍ͬͯΔ͜ͱ ɾ೔ຊ޲͚ͷΤϯυϙΠϯτͱւ֎޲͚ͷΤϯυϙΠϯτʹܧঝؔ܎
 ɹΛ࣋ͨͤͯ֎޲͖ͷΠϯλϑΣʔεΛἧ͍͑ͯΔ ɾखલʹήʔτ΢ΣΠΛஔ͍ͯɺҧ͍Λҙࣝͤͣʹ೔ຊ޲͚ͱւ֎޲͚
 ɹΛ࢖͍෼͚Ͱ͖ΔΑ͏ʹ͍ͯ͠Δ

    ɾࠓޙ΍͍͖͍ͬͯͨ͜ͱ ɾݱࡏ͸ւ֎޲͚ͷαʔϏε΋౦ژϦʔδϣϯ͔Βఏڙ ɾࠓޙԤถݍʹαʔϏεఏڙ͍ͯ͘͠ՄೳੑΛ౿·͑ͯϚϧνϦʔδϣϯ
 ɹରԠ΍Γ͍ͨ
  29. ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ