SlideShare a Scribd company logo
1 of 88
Download to read offline
MSA #3
@tenten0213
#MSA
• @tenten0213
• SIer ( )
• Qiita: http://qiita.com/tenten0213
• Blog: http://tenten0213.hatenablog.com/
• Java
• React / Redux
• (1)
4
4.16
•
•
• REST RPC REST
/
4.1
• REST
• SOAP
• RPC
• Protocol Buffers
• Thrift
4.1.1
•
• I/F
objectMapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
ObjectMapper
Form
(
4.13.2
4.1.2 API
• API
•
•
•
API
4.1.3
•
•
→
mailSenderClient.send(mailContext);
4.1.4
•
→
API
API
API
API
switch(customer.getNotifyOption()) {
case Mail:
…
case SMS:
…
case Hoge:
…
}
4.2
CRUD
4.3
DB
API
DB
KVS …
DB
DB
4.4
•
•
•
•
•
/
•
•
•
•
•
→
pub/sub
4.5
2
/
CRUD
publish
subscribe
publish
subscribe
Zabbix
http://www.zabbix.com/jp/
Zipkin
http://zipkin.io/
コレオグラフィ?
オーケストレーション?
:
http://qiita.com/kawasima/items/17475a993e03f249a077
/
RPC
REST
4.6 RPC
•
•
( )
•
• : TCP
• : UDP
RPC
• SOAP
• Thrift
• Facebook
• Apache Software Foundation
• Protocol Buffers
• Google
• RPC
4.6.1
•
→ Java RMI( JVM )
• Thrift, Protocol Buffers
•
4.6.2
•
• API
•
•
•
4.6.2
•
•
•
•
•
• 1
•
•
http://www.rgoarchitects.com/Files/fallacies.pdf
https://ja.wikipedia.org/wiki/
4.6.3
• Java RMI /
•
•
•
4.6.4 RPC
• Protocol Buffers Thrift
•
RPC
• Finagle
• Twitter RPC ( ) for JVM
• Netty
•
• gRPC
• 2015 Google RPC
• HTTP/2
4.7 REST
• Representational State Transfer
•
•
(JSON,XML,TEXT…)
• HTTP (
)
Serial, WiFi, Ethernet
REST
https://arest.io/
REST
• /
• ( )
•
•
https://ja.wikipedia.org/wiki/REST
4.7.1 REST HTTP
• HTTP REST
• GET :
• POST :
• PUT :
• DELETE :
HTTP
• HTTP
•
• LB
•
•
はておあす?
4.7.2
HATEOAS
HATEOAS
• Hypermedia as the Engine of Application State
•
•
• Level3
Amazon
HATEOAS
• Hypermedia as the Engine of Application State
•
•
• Level3
http://martinfowler.com/articles/richardsonMaturityModel.html
Level 0: The Swamp of POX
• XML-RPC / XML(POX) / SOAP
• URI HTTP 1:1
http://martinfowler.com/articles/richardsonMaturityModel.html
Level 0: The Swamp of POX
Level 0: The Swamp of POX
Level 1: Resources
•
• URI
• HTTP
http://martinfowler.com/articles/richardsonMaturityModel.html
Level 1: Resources
Level 2: HTTP Verbs
• URI
• HTTP
• HTTP Status Code
•
http://martinfowler.com/articles/richardsonMaturityModel.html
Level 2: HTTP Verbs
Level 2: HTTP Verbs
Level 3: Hypermedia Controls
• RESTful
• HATEOAS
•
http://martinfowler.com/articles/richardsonMaturityModel.html
Level 3: Hypermedia Controls
Level 3: Hypermedia Controls
HATEOAS
• Richardson Maturity Model http://martinfowler.com/articles/
richardsonMaturityModel.html
• HATEOAS ? - uehaj's blog http://
uehaj.hatenablog.com/entry/hateoas
• REST: From GET to HATEOAS http://www.slideshare.net/
josdirksen/rest-from-get-to-hateoas
• HATEOAS 101 - Opinionated Introduction to a REST API Style
http://www.slideshare.net/apigee/hateoas-101-opinionated-
introduction-to-a-rest-api-style
4.7.3 JSON XML
• JSON
• JSON link
→ HAL(Hypertext Application Language)
• XML link
• XML HAL
Hypertext Application Language
•
• plain XML JSON
• HTML
• Web API
HAL
http://stateless.co/hal_specification.html
https://spring.io/guides/gs/rest-hateoas/
• SIREN
•
• API (HAL )
• JSON API
• JSON
• JSON-LD
• Linked Data RDF
4.7.4
• CRUD
•
→ 4.1.4
Zipkin
•
•
LINE « LINE Engineers' Blog
http://developers.linecorp.com/blog/ja/?p=3392
4.7.5 HTTP REST
•
•
→ HAL
• PUT / DELETE
•
• Thrift Protocol Buffers
• HTTP
• UDP / WebSocket
HAL : https://github.com/mikekelly/hal_specification/wiki/Libraries
4.8
4.8.1
• MQ Pub/Sub( / )
👍 /
👎 / /
4.8.1
• Atom HTTP
•
•
👍 /
👎 /
Payara Micro clustered CDI Event Bus
• CDI Event API
http://blog.payara.fish/microservice-choreography-with-the-payara-micro-clustered-cdi-event-bus
Payara Micro Clustered CDI Event Bus Hazelcast Topic - CLOVER
http://d.hatena.ne.jp/Kazuhira/20160709/1468073888
4.8.2
•
•
•
• ( ID)
•
http://bliki-ja.github.io/CatastrophicFailover/
4.9
•
•
•
/
4.10 Rx Reactive Extentions
•
• /
•
http://reactivex.io/
Reactive Streams
• ReactiveX
• Vert.x
• Reactor
• Akka Streams
4.16
•
• REST RPC REST
/
•

More Related Content

Viewers also liked

マイクロサービスアーキテクチャ とは何か
マイクロサービスアーキテクチャとは何かマイクロサービスアーキテクチャとは何か
マイクロサービスアーキテクチャ とは何か
Yusuke Suzuki
 

Viewers also liked (20)

第三回マイクロサービスアーキテクチャ読書会(後半)
第三回マイクロサービスアーキテクチャ読書会(後半)第三回マイクロサービスアーキテクチャ読書会(後半)
第三回マイクロサービスアーキテクチャ読書会(後半)
 
Build an iOS app with ConcourseCI
Build an iOS app with ConcourseCIBuild an iOS app with ConcourseCI
Build an iOS app with ConcourseCI
 
Msa reading chap3
Msa reading chap3Msa reading chap3
Msa reading chap3
 
SIerもはじめる わたしたちのDevOps #jjug_ccc
SIerもはじめる わたしたちのDevOps #jjug_cccSIerもはじめる わたしたちのDevOps #jjug_ccc
SIerもはじめる わたしたちのDevOps #jjug_ccc
 
たとえ日本人同士でも必要な異文化理解力
たとえ日本人同士でも必要な異文化理解力たとえ日本人同士でも必要な異文化理解力
たとえ日本人同士でも必要な異文化理解力
 
マイクロサービスアーキテクチャ とは何か
マイクロサービスアーキテクチャとは何かマイクロサービスアーキテクチャとは何か
マイクロサービスアーキテクチャ とは何か
 
Api gatewayの話
Api gatewayの話Api gatewayの話
Api gatewayの話
 
Typesafe Reactive Platformで作るReactive System
Typesafe Reactive Platformで作るReactive SystemTypesafe Reactive Platformで作るReactive System
Typesafe Reactive Platformで作るReactive System
 
Amazon API Gateway を活用したゲームサーバー構築
Amazon API Gateway を活用したゲームサーバー構築Amazon API Gateway を活用したゲームサーバー構築
Amazon API Gateway を活用したゲームサーバー構築
 
AWS Black Belt Tech シリーズ 2015 - Amazon API Gateway
AWS Black Belt Tech シリーズ 2015 - Amazon API GatewayAWS Black Belt Tech シリーズ 2015 - Amazon API Gateway
AWS Black Belt Tech シリーズ 2015 - Amazon API Gateway
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
 
Agile meets BABOK
Agile meets BABOKAgile meets BABOK
Agile meets BABOK
 
排队排队--kafka
排队排队--kafka排队排队--kafka
排队排队--kafka
 
Avro
AvroAvro
Avro
 
맛만 보자 Finagle이란
맛만 보자 Finagle이란 맛만 보자 Finagle이란
맛만 보자 Finagle이란
 
java thrift
java thriftjava thrift
java thrift
 
Microservices in the Enterprise
Microservices in the Enterprise Microservices in the Enterprise
Microservices in the Enterprise
 
RPC protocols
RPC protocolsRPC protocols
RPC protocols
 
Avro - More Than Just a Serialization Framework - CHUG - 20120416
Avro - More Than Just a Serialization Framework - CHUG - 20120416Avro - More Than Just a Serialization Framework - CHUG - 20120416
Avro - More Than Just a Serialization Framework - CHUG - 20120416
 
Protobuf & Code Generation + Go-Kit
Protobuf & Code Generation + Go-KitProtobuf & Code Generation + Go-Kit
Protobuf & Code Generation + Go-Kit
 

Similar to Msa読書会#3前半

Similar to Msa読書会#3前半 (20)

Resting on your laurels will get you powned
Resting on your laurels will get you pownedResting on your laurels will get you powned
Resting on your laurels will get you powned
 
Rest web services
Rest web servicesRest web services
Rest web services
 
Restful风格ž„web服务架构
Restful风格ž„web服务架构Restful风格ž„web服务架构
Restful风格ž„web服务架构
 
The Spring Update
The Spring UpdateThe Spring Update
The Spring Update
 
Ajug - The Spring Update
Ajug - The Spring UpdateAjug - The Spring Update
Ajug - The Spring Update
 
Webservices Overview : XML RPC, SOAP and REST
Webservices Overview : XML RPC, SOAP and RESTWebservices Overview : XML RPC, SOAP and REST
Webservices Overview : XML RPC, SOAP and REST
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
 
Rest Essentials
Rest EssentialsRest Essentials
Rest Essentials
 
Together Cheerfully to Walk with Hypermedia
Together Cheerfully to Walk with HypermediaTogether Cheerfully to Walk with Hypermedia
Together Cheerfully to Walk with Hypermedia
 
3taps Apis
3taps Apis3taps Apis
3taps Apis
 
BeJUG JAX-RS Event
BeJUG JAX-RS EventBeJUG JAX-RS Event
BeJUG JAX-RS Event
 
Andrei shakirin rest_cxf
Andrei shakirin rest_cxfAndrei shakirin rest_cxf
Andrei shakirin rest_cxf
 
SharePoint 2013 REST APIs
SharePoint 2013 REST APIsSharePoint 2013 REST APIs
SharePoint 2013 REST APIs
 
Web services
Web servicesWeb services
Web services
 
Why should I care about REST?
Why should I care about REST?Why should I care about REST?
Why should I care about REST?
 
Excellent rest using asp.net web api
Excellent rest using asp.net web apiExcellent rest using asp.net web api
Excellent rest using asp.net web api
 
Pragmatic REST APIs
Pragmatic REST APIsPragmatic REST APIs
Pragmatic REST APIs
 
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & MobileIVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
 
WebApp #3 : API
WebApp #3 : APIWebApp #3 : API
WebApp #3 : API
 
Web api
Web apiWeb api
Web api
 

Recently uploaded

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Recently uploaded (20)

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 

Msa読書会#3前半