Catalog
concept#Delivery#Governance#REST Architecture#Scalability

Representational State Transfer (REST)

REST is an architectural style that defines the communication between client and server via the HTTP protocol.

REST is a widely used architectural style based on the principle of resource orientation.
Established
Medium

Classification

  • Medium
  • Technical
  • Design
  • Intermediate

Technical context

DatabasesFrontend ApplicationsThird-Party Services

Principles & goals

StatelessnessClient-Server ArchitectureAccessing resources via URIs
Build
Enterprise

Use cases & scenarios

Compromises

  • Sicherheitsanfälligkeiten
  • Data loss on faulty calls
  • Insufficient error handling
  • Use standard HTTP methods
  • Document the API for users
  • Follow security practices

I/O & resources

  • API Specifications
  • Server Resources
  • Security Certificates
  • API Documentation
  • Accessible Endpoints
  • API Statistics

Description

REST is a widely used architectural style based on the principle of resource orientation. It allows interaction between client and server through standardized HTTP methods. Applications that follow RESTful principles often exhibit high scalability and flexibility.

  • High scalability
  • Easy to use
  • Separation of concerns

  • Can complicate complex data operations
  • Firewall and security issues
  • Dependency on HTTP

  • Access Times

    Measurement of the time taken to access resources.

  • Error Rates

    Measurement of the frequency of errors in API calls.

  • User Requests per Second

    Number of requests processed per unit of time.

GitHub API

The GitHub API allows developers to access GitHub resources.

Twitter API

The Twitter API allows access to tweets and user information.

OpenWeatherMap API

The OpenWeatherMap API provides weather data for various locations.

1

Define API goals

2

Select technology stack

3

Carry out implementation and testing

⚠️ Technical debt & bottlenecks

  • Outdated API endpoints
  • Insufficient testing
  • Lack of API modularity
Delays in network callsResource limitations on serverDependency on external services
  • Overusing resource services
  • Misusing authentication methods
  • Bypassing security policies
  • Insufficient documentation and examples
  • Neglecting error handling
  • Introducing unnecessary complexity
Knowledge of HTTP protocolsAPI design experienceProgramming skills
InteroperabilityFlexibilityFuture-proofing
  • Compliance with REST guidelines
  • Organization security policies
  • Network bandwidth and stability