Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SOA
Search
yosi
February 18, 2021
Programming
0
160
SOA
SOA
yosi
February 18, 2021
Tweet
Share
More Decks by yosi
See All by yosi
自社開発のエンジニアの私が 大事にしてること(n=1)
yoshisan
1
47
なるほどGit講座 (追跡ブランチが理解できます!)
yoshisan
0
170
「自分の時間を生きる」キャリア論
yoshisan
1
95
小学生でもわかる SlackAPI×GAS
yoshisan
0
100
達人プログラマーになろう!
yoshisan
0
110
認証認可
yoshisan
1
120
オブジェクト指向が"チョットワカル"スライド
yoshisan
0
110
Linuxについて"ほんのチョットワカル"スライド
yoshisan
1
97
Let's React!! "チョットワカル"の第一歩
yoshisan
1
170
Other Decks in Programming
See All in Programming
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
14
4.6k
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
170
Unity Android XR入門
sakutama_11
0
180
推しメソッドsource_locationのしくみを探る - はじめてRubyのコードを読んでみた
nobu09
2
300
kintone開発を効率化するためにチームで試した施策とその結果を大放出!
oguemon
0
150
5分で理解する SOLID 原則 #phpcon_nagoya
shogogg
1
310
GoとPHPのインターフェイスの違い
shimabox
2
210
楽しく向き合う例外対応
okutsu
0
670
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
260
機能が複雑化しても 頼りになる FactoryBotの話
tamikof
0
150
Honoとフロントエンドの 型安全性について
yodaka
7
1.5k
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.3k
Featured
See All Featured
Optimizing for Happiness
mojombo
376
70k
The Cult of Friendly URLs
andyhume
78
6.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
RailsConf 2023
tenderlove
29
1k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
Speed Design
sergeychernyshev
27
810
A Philosophy of Restraint
colly
203
16k
Transcript
SOAˍMSA ServiceOrientedArchitecture
ϞϊϦγοΫΞʔΩςΫνϟʔ
Ұຕͷେ͖ͳؠ
ϞϊϦγοΫΞʔΩςΫνϟʔ͔Βͷ٫ ϞϊϦγοΫʢҰຕؠʣ ՝ ΞϓϦέʔγϣϯʹ࠷খݶͷมߋΛՃ͑Δ͚ͩͰɺมߋ͢ΔՕॴ͕ଟ͋͘ Δɻ →मਖ਼Օॴଟ͕͔͔͘Δɻ →γεςϜͷෳࡶԽ →Ξοϓσʔτ͢Δͨͼ·ͨमਖ਼Օॴ͕ଟذʹΘͨΓѱ॥
ϞϊϦγοΫͷ՝͔Β٫͢ΔͨΊʹߟ͑ΒΕ͍ͯͨͷ͕ SOA(αʔϏεࢦΞʔΩςΫνϟʔ)
SOAͱ • SOA ɹˠServiceOrientedArchitecture ɹ(αʔϏεࢦΞʔΩςΫνϟʔ) • ͜͜Ͱ͍͏αʔϏεʮಠཱͨ͠ΞϓϦέʔγϣϯɺ·ͨͦͷػೳͷҰ ෦ʯͦΕΛҰͭͷαʔϏεͱͯ͠ɺίϯϙʔωϯτԽ(෦Խ)͠ɺඞཁʹԠ͡ ͯΈ߹Θͤͯ৽͍͠γεςϜͱͯ͠͏ɺઃܭख๏ͷҰͭͰ͋Δ
ҰͭྫΛ͓ݟͤ͠·͢
ESB(ΤϯλʔϓϥΠζɾαʔϏεɾόε) ݸผͷ࠶ར༻ՄೳͳαʔϏεͷू߹ͱͯ͠ΞϓϦέʔγϣ ϯΛߏங͢Δख๏ɻ ͜ͷΞʔΩςΫνϟͰɺಛఆͷϏδωεϓϩηεΛத৺ ʹฤ͞ΕͨݸʑͷαʔϏε͕ɺSOAPɺActiveMQɺ Apache Thrift ͳͲͷ௨৴ϓϩτίϧʹ४ڌ͠ɺESB Λհ͠ ͯڞ༗͞Ε·͢ɻͭ·ΓɺESB
Λհͯ͠౷߹͞ΕΔ͜ͷҰ ࿈ͷαʔϏε͕ɺΞϓϦέʔγϣϯΛߏ͢ΔͷͰ͢ɻ
None
͜ΕͰϞϊϦγοΫ ͔Β٫!
Ͱɺ՝͋ͬͨ
՝ ESB γεςϜશମͷ୯ҰোͱͳΔͨΊɺϞ ϊϦεΛഉআ͢Δྗ͕৽ͨͳϞϊϦεΛੜΈग़ ͚ͨͩ͠ͱ͍͏ݟํ͋Γ·͢ɻ ESB ɺ৫શମͷϘτϧωοΫͱͳΔՄೳੑ͕ ͋Γ·͢ɻ
ߴՁͳESB ESBෳࡶͳʢͭ·ΓߴՁͳʣϛυϧΣΞ ඇಉظϝοηʔδͷରԠɺߴෛՙͷରԠɺোൃੜͷର ԠɺαʔϏεϨϕϧͷอূɺηΩϡϦςΟͳͲɺར༻݅ΛΤ ϯλʔϓϥΠζγεςϜͷ౷తͳج४ʹ߹Θͤͯݫ͘͠ઃఆ ͢Δͱɺ͜͏ͨ͠ϛυϧΣΞͷඞཁੑͬͱͳΑ͏ʹࢥ ΘΕ·ͨ͠ɻ →ෳࡶա͗ͯେاۀͰͳ͚Ε࣮Ͱ͖ͳ͍Α͏ʹͳΔ
ͦ͜Ͱੜ·Εͨͷ͕ ϚΠΫϩαʔϏεΞʔΩςΫνϟʔ
MSA(ϚΠΫϩαʔϏε)ͱ ϚΠΫϩαʔϏεݴޠʹґଘ͠ͳ͍ API Λհͯ͠εςʔτϨεʹ૬ޓʹ௨৴Ͱ͖ ·͢ɻ γεςϜΛෳͷαʔϏεͷू߹ମͱͯ͠ߏ͠ɺαʔϏε૬ޓΛRESTful Web APIͷΑ͏ͳ γϯϓϧͰܰྔͳखஈͰ࿈ܞ͢Δख๏Ͱ͢ɻ ͦͷ࠷େͷϝϦοτɺখنͳαʔϏε܈Λૄ݁߹͢Δ࡞Γʹ͢Δ͜ͱʹΑΓɺʮҰຕ
ؠʯʢϞϊϦγοΫʣͷγεςϜͷෳࡶ͔͞Βࣗ༝ʹͳΔ͜ͱͰ͢ɻͭ·ΓɺϚΠΫϩαʔ Ϗεͷߟ͑ํΛಋೖ͢Δ͜ͱͰɺมԽʹڧ͍γεςϜΛ࡞Δ͜ͱ͕Ͱ͖ΔͷͰ͢ɻ ϚΠΫϩαʔϏεʯͰɺWebͷจԽ͔Βੜ·ΕͨγϯϓϧͳRESTful Web APIΛαʔϏεͷ Γޱʹ͢Ε͍͍͡Όͳ͍͔ɺͱ͍͏ߟ͑ํͰ͢ɻESBͷΑ͏ͳॏྔڃͷϝοηʔδϯά ϛυϧΣΞ͍·ͤΜɻ
None
None
ʮͲͪΒڊେԽͨ͠γεςϜΛޮΑ͘อक͢Δ ͨΊɺγεςϜΛׂ͢Δߟ͑ํʯ ʮಋೖͷతඞཁͳٕज़͕ҟͳΔɻʯ
4P& 4ZTUFNPG&OHBHFNFOU 4P3 4ZTUFNPG3FDPSE ͱͱ͍͏֓೦ ܨ͕Γ͔ਖ਼͔֬͞
None
SOAͱMSA SOA ੈؒʹग़࢝Ίͨࠒ 2000ॳ಄ 2014~ ֓೦ SOA ৫نͷΞʔΩςΫνϟͷख๏ ΞϓϦέʔγϣϯ։ൃνʔϜͷ࣮ઓུ ίϯϙʔωϯτ
ͷଓํࣜ ESB Λհͯ͠ͷଓ API ࣮ ͍͠ ൺֱత༰қ ΰʔϧ ࠶ར༻ͱ ஈ֊తʹՃ࣮ ཧͷ༰қ MSA
ϚΠΫϩαʔϏεԽΛ͢͢Ίͨاۀ •ΫοΫύου •Amazon •LINE •Netflix
None
ௐ͍ͯ͘͏ͪʹग़͖ͯͨ୯ޠ • DevOps • ίϯςφʢίϯςφٕज़ͷൃల͔Βɺɺɺʣ • ௨৴ϓϩτίϧ • αʔόʔϨε •
ΞδϟΠϧ։ൃ