Evaluating REST architectures Telecom SudParis 2019-2020: CCN - - PowerPoint PPT Presentation

evaluating rest architectures
SMART_READER_LITE
LIVE PREVIEW

Evaluating REST architectures Telecom SudParis 2019-2020: CCN - - PowerPoint PPT Presentation

Evaluating REST architectures Telecom SudParis 2019-2020: CCN Presented by:KASHAMA Katanga Wa Muila , Yerik KASSYM Outlines: 1. Terminology 2. What gives us REST and When to use? 3. Difference between Traditional HTTP , SOAP and REST


slide-1
SLIDE 1

Evaluating REST architectures

Telecom SudParis 2019-2020: CCN

Presented by:KASHAMA Katanga Wa Muila , Yerik KASSYM

slide-2
SLIDE 2

Outlines:

1. Terminology 2. What gives us REST and When to use? 3. Difference between Traditional HTTP , SOAP and REST Style 4. Main REST architecture stype 5. Foundations(Constraints) of REST architectural Style 6. Client-Server constraint 7. Cacheable REST constraint 8. Types of cache 9. Difference between Stateful & Stateless 10. Uniform Interface constraint 11. Code on Demand constraint 12. Layered System constraint 13. REST Quality Attributes 14. Main REST Quality Attributes 15. Challenges of REST(Disadvantages) 16. Conclusion of challenges REST 17. Conclusion 18. References 2

slide-3
SLIDE 3
  • 1. Terminology

REpresentational: The resource (image, page, video, profile) is represented

by the web server to the client in any format like HTML, Image, JSON, XML etc.

State: The state of the application (web site) on a client's computer changes as

the client clicks from one link to the next. Ask the client clicks on the link, they request additional resources, and the application "state" changes.

Transfer: The transfer of resources from the web server to the client in a

"representational" state which can be read by the client or implemented in the application program by the programmer. The transfer may also refer to the application state transfer as the client browses a web site.

3 Client Web Server Transferring tunnel

slide-4
SLIDE 4
  • 2. What gives us REST and When to use?
  • Scalability of interaction of system components (applications)
  • Interface Commonness
  • Independent implementation of components

When to use

  • When there is a connection bandwidth limit
  • If you need to cache requests
  • If the system involves significant scaling
  • In services using AJAX

4

slide-5
SLIDE 5

Different styles to implement Web Services

5 Traditional HTTP REST SOAP Hypertext Transfer Protocol

  • is an application protocol which is used for distributed,

collaborative and hypermedia information systems.

  • widely regarded as the foundation of data communication

for the World Wide Web. Simple Object Access Protocol

  • It is a protocol based on messages that is used to

implement the messages layer of a Web Service

  • Strongly typed proxies – WSDL;
  • Supports HTTP/TCP/MSMQ/Named Pipes

Representational state transfer

  • Services act as Resources, such as images or HTML documents
  • Only works over HTTP

, and REST calls are restricted to HTTP verbs (GET, POST, PUT, DELETE, etc.).

  • 3. Difference between Traditional HTTP

, SOAP and REST Style

slide-6
SLIDE 6
  • 4. Main REST architecture stype

(Example of simple interaction between server and client) (Example of REST interaction between server and client)

6 Client

(web browser)

data(json) data(json...) REST Server Client

(web browser)

Request(HTTP) Response(html,css...) Web Server data(json) data(json..) App (iOS Adr)

slide-7
SLIDE 7
  • 5. Foundations(Constraints) of REST architectural Style

REST architectural style defines six constraints which make any web services a RESTful API which are:

7

RESTful API Uniform Interface Code on Demand Client-Server Stateless Layered System Cacheable

slide-8
SLIDE 8
  • 6. Client-Server constraint
  • Client is a machine that we use to make request through the web
  • A server is a program that listens to requests and responds to them
  • The client-server model is a centralized web architecture that classify

computers into two sections: requests and response provides

  • And finally we have an alternative which is peer-to-peer model: all computers

are functionally equal

8 Client

(web browser)

Request(HTTP) Response(html,css...) Web Server

slide-9
SLIDE 9
  • 7. Cacheable REST constraint

❖ Improve performance ❖ Reduces the number of requests from client: By expiration ❖ Reduces network bandwidth requirement: By validation Two models: 1. Expiration 2. Validation Three types of Cache:

  • Private or client cache
  • Gateway cache or server cache
  • Proxy cache

9

slide-10
SLIDE 10
  • 8. Types of cache

Private or client cache Gateway cache or server cache Proxy cache

10

CLIENT Web Server CACHE CLIENT CACHE Web Server CLIENT CACHE Web Server

slide-11
SLIDE 11
  • 9. Difference between Stateful & Stateless

Stateful: Session is retained

11

Web Server 1 Web Server 2 Client LoadBalancer Stateful Session: ON Stateless Session: OFF Protocol: TCP Protocol: IP , HTTP Resquest Response R e q u e s t Response

slide-12
SLIDE 12

9.1 Difference between Stateful & Stateless

Stateless: Session is not retained

All the required infos to understand a request are needed within that request

12

Web Server 1 Web Server 2 Client LoadBalancer Stateful Session: ON Stateless Session: OFF Protocol: TCP Protocol: IP, HTTP Resquest Response Request R e s p

  • n

s e

slide-13
SLIDE 13
  • 10. Uniform Interface constraint
  • RESTful architectures must have uniform interface between all clients and

servers

  • Server must not require different ways of accessing data
  • Gaining access to endpoints is the same for any machine trying to access to

the information

13

slide-14
SLIDE 14
  • 11. Layered System constraint

Layered System. In REST, it is allowed to divide the system into a hierarchy of layers, but with the condition that each component can see the components of

  • nly the next layer itself

14

Client Paypal Visa

slide-15
SLIDE 15
  • 12. Code on Demand constraint

Servers can temporarily extend or customize the functionality of a client by transferring executable code: for example, compiled components such as Java applets, or client-side scripts such as JavaScript.

15

REST Server

slide-16
SLIDE 16
  • 13. REST Quality Attributes

16

Functional QA

Key property of software system, it’s internal.

1. Maintainability 2. Extensibility 3. Testability 4. Reliability 5. Efficiency 6. Robustness

Non-Functional QA

It concerns the ability for the software to comp with external forces.

1. Interoperability 2. Easibility 3. On time 4. Readability 5. Usability 6. Within Budget General software quality attributes

slide-17
SLIDE 17
  • 14. Main REST Quality Attributes

17

slide-18
SLIDE 18
  • 15. Challenges of REST(Disadvantages)

1. Decentralized authorities 2. Distributed server(still remains a challenge to be solved) 3. Statelessness and Isolation 4. 4.REST calls are restricted to HTTP verbs (GET, POST, PUT, DELETE, etc.).

18

slide-19
SLIDE 19
  • 16. Conclusion of challenges REST

The main conclusion of the analysis of the existing RESTful transaction models is that one model does not fit all. RESTful transaction scenarios are diverse in many dimensions and no transaction model fulfills the requirements of every scenario. On the contrary, these models are designed to cover specific scenarios. However, there are still some scenarios that are not sufficiently supported by the current models.

19

slide-20
SLIDE 20
  • 17. Conclusion
  • REST architectural pattern is basically lightweight in nature. So, when

you have bandwidth constraints then prefer REST web service.

  • Easy and fast to develop.
  • Top sites like Twitter, Yahoo uses this pattern and most social

networking sites like facebook.com uses REST web services.

  • Mobile App development growing rapidly and for their server interaction,

it uses this REST pattern as it is faster in processing request/response data.

20

slide-21
SLIDE 21
  • 18. References

1. https://en.wikipedia.org/wiki/Representational_state_transfer

2. https://jegatech.wordpress.com/2012/10/18/soap-vs-rest/ 3. https://www.pyarb.com/developer/java/principles-rest-architecture.html 4. https://medium.com/@dheerajaggarwal/challenges-behind-automation-of-rest-api-testing-f12f2eb20687 5. https://www.educba.com/soap-vs-http/

21

slide-22
SLIDE 22

Questions

22

www.google.com/image/questioning

slide-23
SLIDE 23

23

www.google.com/image/thanking