Skip to content

Latest commit

 

History

History
22 lines (17 loc) · 3.16 KB

APIvsService.md

File metadata and controls

22 lines (17 loc) · 3.16 KB

Difference between API and Service

Feature API (Application Programming Interface) Service
Definition A specific set of rules and protocols for interacting with software components, enabling data exchange. A functional entity or application that performs tasks, often encapsulating business logic and processes.
Purpose Acts as a bridge for applications to access and use functionalities of other systems or services. Provides operational capabilities, often implementing complex business processes.
Nature Typically stateless and designed for requests and responses; focused on data access and manipulation. Can be stateful, maintaining context between interactions; focuses on performing actions and managing data lifecycle.
Granularity More granular, exposing specific functionalities as discrete endpoints (e.g., CRUD operations). Coarser granularity; encapsulates multiple related functionalities and may handle complex workflows.
Communication Typically communicates using HTTP/HTTPS protocols, gRPC; often used for remote procedure calls. Can communicate via various methods (HTTP/HTTPS, RMI, messaging queues, gRPC etc.) and can be part of a microservices architecture.
Dependency May rely on underlying services for execution but is primarily an interface for interaction. Operates independently or as part of a larger system; can be accessed via APIs.
Use Case A payment gateway API that allows an e-commerce site to process payments securely (e.g., Stripe API). A payment processing service that handles transactions, fraud detection, and reconciliation, offering an API for external access.

Business Use Cases:

  1. API Use Case:

    • Scenario: A mobile app needs to display weather data.
    • Implementation: The app calls a weather API (e.g., OpenWeatherMap API) to fetch current weather information using specific endpoints. The API allows developers to access specific data without dealing with the underlying weather data processing.
  2. Service Use Case:

    • Scenario: An online food delivery platform manages orders, payments, and delivery.
    • Implementation: The platform has a "Order Management Service" that processes incoming orders, manages the kitchen workflow, calculates delivery times, and interacts with a payment processing service. This service may expose an API for the mobile app to place orders but also handles complex business logic related to order fulfillment and delivery.