Slide 1

Slide 1 text

Awesome Web API Design ੒ޭ͢Δ8FC"1*σβΠϯͱ͸ Ϋϥ΢υɾϚΠΫϩαʔϏεษڧձ

Slide 2

Slide 2 text

ͱ͍͏࿩͸͠·ͤΜ

Slide 3

Slide 3 text

8FC"1*ઃܭͷ ྑॻΛಡΈ·͠ΐ͏ʂ ͋ͱͰ঺հ͠·͢

Slide 4

Slide 4 text

ຊ೔ͷλΠτϧ

Slide 5

Slide 5 text

΍͸ΓԶͷ Web API͸ ·͕͍ͪͬͯΔɻ ͱ͋Δ3&45ͷߟ࡯ه࿥ Ϋϥ΢υɾϚΠΫϩαʔϏεษڧձ

Slide 6

Slide 6 text

ࣗݾ঺հ 名前 ジョブ スキル こざけ しんいち システムアーキテクト Java 資格 アプリケーションエンジニア テクニカルエンジニア(DB) 安全確保支援士

Slide 7

Slide 7 text

"CPVU3&45

Slide 8

Slide 8 text

8IZ3&45 "+"9Λۦ࢖ͨ͠8FC։ൃ εϚʔτϑΥϯͷීٴ खܰʹࢼͤΔ༧ଌ͠΍͍͢

Slide 9

Slide 9 text

σʔλ࿈ܞ ෼ࢄΦϒδΣΫτ 8FCαʔϏε 8FC"1* +BWB3.*ɾ&+# $03#" 9.-31$ 40"1 3&45 3&45͸͓खܰʂ

Slide 10

Slide 10 text

8IBU3&45 3&QSFTFOUBUJPOBM4UBUF5SBOTGFS Ϧιʔεࢦ޲ΞʔΩςΫνϟͷ࣮૷ Ϧιʔεͷঢ়ଶΛදݱͨ͠΋ͷΛసૹ͢Δ͜ͱɻ 3&45ΞʔΩςΫνϟͱ͍͏΋ͷ͸ଘࡏ͠ͳ͍ɻ 3&45͸Ұ࿈ͷઃܭ৚݅ɻ

Slide 11

Slide 11 text

8IBU30" ͭͷ֓೦ ͭͷಛੑ Ϧιʔε ໊લ 63* දݱ ϦιʔεؒͷϦϯΫ ΞυϨεՄೳੑ εςʔτϨεੑ ઀ଓੑ ౷ҰΠϯλʔϑΣʔε

Slide 12

Slide 12 text

8IBU30" (&5VTFSTLP[BLF \ pSTU/BNF৴Ұ  MBTU/BNFখञ  BHF  CPEZ8FJHIU ^ )551ϝιου ʹΑΔ౷Ұ*' Ϧιʔεͷ63- Ϧιʔεͷදݱ ɾ+40/ܗࣜ ɾ೔ຊޠ

Slide 13

Slide 13 text

ͦͷઃܭख๏30"Ͱ͔͢ʁ IUUQTqJDLSQNT;"

Slide 14

Slide 14 text

Α͋͘Δઃܭख๏ Ϣʔεέʔεਤ

Slide 15

Slide 15 text

Α͋͘Δઃܭख๏ ΞΫςΟϏςΟਤ

Slide 16

Slide 16 text

Α͋͘Δઃܭख๏ ը໘ۦಈઃܭ

Slide 17

Slide 17 text

ͦͷઃܭख๏30"Ͱ͔͢ʁ γεςϜͱར༻ऀͷڥքΛ෼ੳ͠ɺ ιϑτ΢ΣΞͷػೳ୯ҐΛநग़͢Δઃܭख๏ αʔϏεࢦ޲

Slide 18

Slide 18 text

Ϧιʔεࢦ޲ͱαʔϏεࢦ޲ Ϧιʔεࢦ޲ αʔϏεࢦ޲ ɾϦιʔεΛத৺ʹߟ͑Δ ɾ࣮ߦ͞ΕΔϝιουʢػೳʣ ɹΑΓ΋ϦιʔεʢσʔλϞσϧʣ ɹΛॏࢹ͢Δ ɾϦιʔε͸໊ࢺͰఆٛͰ͖Δ ɹʢྫ͑͹ɺlϏσΦͷϨϯλϧzʣ ɾػೳΛத৺ʹߟ͑Δ ɾར༻ऀଆ͔Βݟͨιϑτ΢ΣΞͷ ɹαʔϏεʢػೳʣͷ૊Έ߹Θͤ ɹͰγεςϜߏஙΛ͢Δ ɾαʔϏε͸ಈࢺͰఆٛͰ͖Δ ɹʢྫ͑͹ɺlϏσΦΛϨϯλϧ͢Δzʣ ɾ໊ࢺɺΦϒδΣΫτ໊ɺର৅୯Ґ ɹͰ"1*Λ੔ཧ͢Δ ɾಈࢺɺίϚϯυ໊ɺϝιου໊୯Ґ ɹͰ"1*Λ੔ཧ͢Δ

Slide 19

Slide 19 text

Ϧιʔεࢦ޲ͱαʔϏεࢦ޲ Ϧιʔεࢦ޲ αʔϏεࢦ޲ $MJFOU 3FTPVSDF $MJFOU 4FSWJDF (&5 1045 165 %&-&5& */70,& */70,& */70,& */70,& 4FSWJDF 4FSWJDF 4FSWJDF αʔϏε͕8FCʹ͓͚Δ31$ͳΒɺ 3&45͸8FCʹ͓͚Δ%#.4

Slide 20

Slide 20 text

ͦͷΞϓϦέʔγϣϯ 3&45ʹै͏ඞཁ͋Γ·͔͢ʁ IUUQTqJDLSQNT;"

Slide 21

Slide 21 text

-46%TʢMBSHFTFUPGVOLOPXOEFWFMPQFSTʣͱ 44,%TʢTNBMMTFUPGLOPXOEFWFMPQFSTʣͱ͍͏֓೦ ͱ͋Δ3&45ͷߟ࡯ ୭͕࢖͏͔Θ͔Βͳ͍-46%T޲͚ͷ"1*͸ɺ͞·͟·ͳϢʔεέʔεΛ૝ఆͯ͠ͳΔ΂͘ ൚༻తʹ͠ͳ͚Ε͹ͳΒͳ͍ 44,%T޲͚ͷ"1*͸ಛఆͷ։ൃऀ΍ͦͷઌʹଘࡏ͢ΔΤϯυϢʔβʹͱͬͯศརͰ࢖͍΍ ͍͢΋ͷʹͳΔ͸ͣ ʮඒ͠͞ʯͷఆٛ͸େ͖͘ҧ͏͸ͣ ʙॻ੶ʮ8FC"1*5IF(PPE1BSUTʯQΑΓҾ༻ʙ

Slide 22

Slide 22 text

Αʔ͘ߟ͑Αʙࢦ޲͸େࣄͩΑʙ σʔλ࿈ܞํࣜ͸ΞϓϦέʔγϣϯͷछྨʹґଘ͢Δɻ ɾͻͱͭͷΞʔΩςΫνϟʔʹݻࣥ͢Δඞཁੑ͸͋Δ͔ʁ ɾΞϓϦέʔγϣϯಛੑΛجʹΞʔΩςΫνϟͷબ୒Λߦͳ͏΂͖Ͱ͸ʁ ۀ຿ܥΞϓϦέʔγϣϯʹ͓͍ͯ͸ɺ ϦιʔεΑΓ΋αʔϏεʹয఺͕͋ͨΓ΍͍͢ɻ ͱ͋Δ3&45ͷߟ࡯ ͦ΋ͦ΋Ϧιʔεࢦ޲ʹԠͨ͡ઃܭख๏͕࠾ΒΕ͍ͯΔ͔ʁ

Slide 23

Slide 23 text

ͱ͋Δ3&45ͷߟ࡯ ڞ௨ͷαʔό"1* ΞϓϦέʔγϣ" ޲͚ʹΠϯλʔ ϑΣΠεΛม׵ ΞϓϦέʔγϣ# ޲͚ʹΠϯλʔ ϑΣΠεΛม׵ ΞϓϦέʔγϣ$ ޲͚ʹΠϯλʔ ϑΣΠεΛม׵ ΞϓϦέʔγϣ% ޲͚ʹΠϯλʔ ϑΣΠεΛม׵ ΞϓϦέʔγϣ" ΞϓϦέʔγϣ# ΞϓϦέʔγϣ$ ΞϓϦέʔγϣ% αʔό ΫϥΠΞϯτ Φʔέετ Ϩʔγϣϯ૚ ʙॻ੶ʮ8FC"1*5IF(PPE1BSUTʯQΑΓҾ༻ʙ ʰ/FUqJYࣾͰ͸04'"ʢPOFTJ[FpUTBMMʣͷΞϓϩʔνΛ΍Ίɺαʔόʔଆͷ൚༻తͳ "1*ͱΫϥΠΞϯτͷؒʹz$MJFOU"EBQUFS$PEFzΛ࣮ߦ͢Δ૚ΛڬΈɺ͞·͟·ͳͰσό ΠεʹରԠͰ͖ΔΑ͏ʹ͍ͯ͠·͢ɻʱ

Slide 24

Slide 24 text

ͱ͋Δ3&45ͷߟ࡯ ϏσΦϨϯλϧγεςϜͰߟ͑ͯΈΔ

Slide 25

Slide 25 text

·ͱΊ

Slide 26

Slide 26 text

3&45ʹै͏͔ͷબ୒͸ɺ ։ൃ͢ΔΞϓϦέʔγϣϯʹͱͬͯ Կ͕࠷ॏཁͰ͋Δ͔ʹΏͩͶΒΕΔɻ ·ͱΊ ৔߹ʹΑͬͯ͸ɺ୯ͳΔٕज़ํࣜͱͯ͠3&45Λ࠾༻͢Δ͚ͩͰ΋͍͍͔΋͠Εͳ͍ɻ ͜Ε͸࠶ར༻ͷߟ͑ํʹ΋ࣅ͍ͯΔؾ͕͢Δɻ ຊ౰ʹͦΕ͸ίετΛ෷ͬͯ࠶ར༻͢Δͷ͔ʁΛߟ͑Δඞཁ͕͋Δɻ

Slide 27

Slide 27 text

4JNQMFJTOPU&BTZ ·ͱΊ &BTZ͸ɺ݁ՌΛੜ੒͢ΔͨΊͷ࠷খݶͷ࿑ྗɻ γϯϓϧ͸ɺॏཁͳ΋ͷҎ֎ͷ͢΂ͯΛ࡟আ͢Δ͜ͱɻ

Slide 28

Slide 28 text

ॻ੶঺հ

Slide 29

Slide 29 text

αΠτ঺հ $MPVE"1* "1*ઃܭΨΠυ IUUQTDMPVEHPPHMFDPNBQJTEFTJHO IMKB ೥Ҏདྷ(PPHMF಺෦Ͱ࢖༻͞Εɺ$MPVE"1*΍ͦͷଞͷ (PPHMF"1*Λઃܭ͢Δͱ͖ʹ(PPHMF͕ै͏ΨΠυ

Slide 30

Slide 30 text

αΠτ঺հ 8FC"1*%FTJHO $SBGUJOH*OUFSGBDFTUIBU%FWFMPQFST-PWF IUUQTQBHFTBQJHFFDPNSTBQJHFFJNBHFT BQJEFTJHOFCPPLQEG

Slide 31

Slide 31 text

ࢀߟʹͨ͠αΠτ ѹ౗తײँ 8FC"1*ͱ͸Կͳͷ͔ Ϧιʔεࢦ޲ΞʔΩςΫνϟ 30" ͱ͸Կͳͷ͔ Ϧιʔεࢦ޲8FCαʔϏεͱΞΫςΟϏςΟʔࢦ޲8FCαʔϏεΛൺֱ͢Δ 40"ͷະདྷ͸3&45͔ 40"1ͱ3&45ͷҧ͍ʹ͍ͭͯΘ͔Γ΍͘͢ڭ͍͚͑ͯͨͩ·ͤΜͰ͠ΐ͏͔ʁ https://qiita.com/NagaokaKenichi/items/df4c8455ab527aeacf02 https://qiita.com/NagaokaKenichi/items/0f3a55e422d5cc9f1b9c https://www.ibm.com/developerworks/jp/webservices/library/ws-restvsoap/index.html https://teratail.com/questions/34703 https://www.infoq.com/jp/articles/RESTSOAFuture/

Slide 32

Slide 32 text

͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ ͓ΘΓ