Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
1
●
●
●
○
■
○
●
○
○
■
○
●
○
●
○
○
○
■
○
■
Knowledge
Experiences
Design Decisions
Products
24/7 Services
Business Values
Programming OSS Outcome
●
○
Program Function
Call
Response
Local Function Call:
Program Function
Serialize
Deserialize
Request Data
Deserialize
Re...
●
○
○
●
○
■
○
●
○
○
Program Function
Serialize
Deserialize
Request Data
Deserialize
Response Data
Serialize
Client
Call
Re...
https://cloud.google.com/blog/products/api-management/
understanding-grpc-openapi-and-rest-and-when-to-use-th
em
●
○
●
○
●...
RPC Interface
Router
Scala.js Client
RPC Web Server
Generate
HTTP/gRPC Client
Open API Spec
RPC Impl
Start
RPC CallsJSON
C...
●
●
○
■
○
■
●
○
■
●
○
○
■
○
Scala.js
Web Browsers
Interactive Applications
Using RPC
●
○
●
○
●
○
●
●
Program Function
Serialize
Deserialize
Request Data
Deserialize
Response Data
Serialize
Client
Call
Respon...
●
○
Object Object
Pack Unpack
PackUnpack
Server SideClient Side
Scala.js
JSON
●
○
●
○
●
Input Output
Pack Unpack
PackUnpack
MessageCodec MessageCodec
●
○
○
○
○
○
●
○
○
●
●
○
○
●
Pack
Unpack
Serialize
Deserialize
JSON
●
○
●
○
■
○
●
○
●
●
●
○
Scala.js
airframe-rx-html
●
○
●
○
○
●
○
●
●
●
○
●
○
●
○
○
○
■
sbt-airframe
Code
Generation
RPC Client
Scala.jsScala.js Client
HTTP/gRPC Client
Open API Spec
Cross-Language
RP...
Program Function
Serialize
Deserialize
Request Data
Deserialize
Response Data
Serialize
Client
Call
Response
Server
Call
R...
https://github.com/wvlet/airframe/tree/master/examples/rpc-examples
●
●
○
■
RPC Interface
Router
Scala.js Client
RPC Web Server
Generate
HTTP/gRPC Client
Open API Spec
RPC Impl
Start
RPC CallsJSON
C...
●
○
●
○
●
○
○
○
●
●
○
○
●
Object
Unpack
Pack
JDBC
ResultSet
Pack/Unpack
YAML
JSON
MessagePack
●
●
Int
Float
Boolean
String
Array
Map
Binary
SQL BigInt
parseInt
toInt
0 or 1
IntCodec
Pack Unpack
Error or null
“100”
(s...
Airframe RPC
Airframe RPC
Airframe RPC
Airframe RPC
Prochain SlideShare
Chargement dans…5
×

1

Partager

Télécharger pour lire hors ligne

Airframe RPC

Télécharger pour lire hors ligne

Airframe RPC is a framework for building RPC services by using Scala as a unified RPC interface between servers and clients. It supports Finagle (HTTP/1) and gRPC (HTTP/2) backend, and even Scala.js for web application development.

Talk video: https://www.youtube.com/watch?v=qf8wOc2YHmQ&feature=youtu.be
Documentation: https://wvlet.org/airframe/docs/airframe-rpc
Demo source code: https://github.com/wvlet/airframe/tree/master/examples/rpc-examples

Airframe RPC

  1. 1. 1
  2. 2. ● ● ● ○ ■ ○ ● ○ ○ ■ ○
  3. 3. ● ○ ● ○ ○ ○ ■ ○ ■ Knowledge Experiences Design Decisions Products 24/7 Services Business Values Programming OSS Outcome
  4. 4. ● ○ Program Function Call Response Local Function Call: Program Function Serialize Deserialize Request Data Deserialize Response Data Serialize Remote Function Call: Network Client Call Response Server Call Response
  5. 5. ● ○ ○ ● ○ ■ ○ ● ○ ○ Program Function Serialize Deserialize Request Data Deserialize Response Data Serialize Client Call Response Server Call Response
  6. 6. https://cloud.google.com/blog/products/api-management/ understanding-grpc-openapi-and-rest-and-when-to-use-th em ● ○ ● ○ ● ○ ● ●
  7. 7. RPC Interface Router Scala.js Client RPC Web Server Generate HTTP/gRPC Client Open API Spec RPC Impl Start RPC CallsJSON Cross-Language RPC Client Scala.js Web Application Micro Servicesbt-airframeairframe-http airframe-http-finagle airframe-rx-html airframe-codec API Documentation airframe-gRPC ● ○ ● ○
  8. 8. ● ● ○ ■ ○ ■
  9. 9. ● ○ ■ ● ○ ○ ■ ○ Scala.js Web Browsers Interactive Applications Using RPC
  10. 10. ● ○ ● ○ ● ○ ● ● Program Function Serialize Deserialize Request Data Deserialize Response Data Serialize Client Call Response Server Call Response
  11. 11. ● ○ Object Object Pack Unpack PackUnpack Server SideClient Side Scala.js JSON
  12. 12. ● ○ ● ○ ● Input Output Pack Unpack PackUnpack MessageCodec MessageCodec
  13. 13. ● ○ ○ ○ ○ ○ ● ○ ○ ● ● ○ ○ ●
  14. 14. Pack Unpack Serialize Deserialize JSON
  15. 15. ● ○ ● ○ ■ ○ ● ○
  16. 16.
  17. 17. ● ● ○ Scala.js airframe-rx-html
  18. 18. ● ○ ● ○ ○ ● ○
  19. 19. ● ● ● ○ ● ○
  20. 20. ● ○ ○ ○ ■ sbt-airframe Code Generation RPC Client Scala.jsScala.js Client HTTP/gRPC Client Open API Spec Cross-Language RPC Client
  21. 21. Program Function Serialize Deserialize Request Data Deserialize Response Data Serialize Client Call Response Server Call Response Scala.js
  22. 22. https://github.com/wvlet/airframe/tree/master/examples/rpc-examples
  23. 23. ● ● ○ ■
  24. 24. RPC Interface Router Scala.js Client RPC Web Server Generate HTTP/gRPC Client Open API Spec RPC Impl Start RPC CallsJSON Cross-Language RPC Client Scala.js Web Application Micro Servicesbt-airframeairframe-http airframe-http-finagle airframe-http-rx airframe-codec API Documentation airframe-gRPC ● ● ● https://wvlet.org/airframe/
  25. 25. ● ○ ● ○ ● ○ ○ ○
  26. 26.
  27. 27. ● ○ ○ ● Object Unpack Pack JDBC ResultSet Pack/Unpack YAML JSON MessagePack
  28. 28. ● ● Int Float Boolean String Array Map Binary SQL BigInt parseInt toInt 0 or 1 IntCodec Pack Unpack Error or null “100” (string) 100 (int) 100 (int) Logs CSV command-line arguments
  • tatsuyasuzuki963

    Aug. 24, 2020

Airframe RPC is a framework for building RPC services by using Scala as a unified RPC interface between servers and clients. It supports Finagle (HTTP/1) and gRPC (HTTP/2) backend, and even Scala.js for web application development. Talk video: https://www.youtube.com/watch?v=qf8wOc2YHmQ&feature=youtu.be Documentation: https://wvlet.org/airframe/docs/airframe-rpc Demo source code: https://github.com/wvlet/airframe/tree/master/examples/rpc-examples

Vues

Nombre de vues

615

Sur Slideshare

0

À partir des intégrations

0

Nombre d'intégrations

12

Actions

Téléchargements

4

Partages

0

Commentaires

0

Mentions J'aime

1

×