Contents


Name of Skill Classification of Skill Prerequisites for Skill Related Software Engineering Areas(s) Rationale for Skill Roles for Skill Work Related To Skill Real World Example Role of Academia/Industry Tools supporting the skill Skill Self Assessment References



Name of Skill

API Programming



Classification of Skill

Software Construction



Prerequisites for Skill

A person should have these skills to be a good API Programmer:

  1. First of All, Knowledge of "What is an API"?
  2. Knowledge of at-least one server-side programming language and beginner level proficiency in coding
  3. Knowledge of frameworks and libraries supported by that programming language for writing API's
  4. What are HTTP Request, Response?
  5. What is the format of Request and Response?
    • JSON
    • XML
  6. Types of Request with Example
  7. Types of Response Status Code
    • 100-199: Informational Responses
    • 200-299: Successful Responses
    • 300-399: Redirects
    • 400-499: Client Errors
    • 500-599: Server Errors
  8. Types of API
    • REST: Representational State Transfer Complete Example
      REST provides a set of Rules that developers follow to create an API. Characteristics of REST:
      • It is like a Post-Card; lightweight and fast
      • Stateless Communications Protocol
      • Structures data in XML, YAML, JSON format
      • Data Driven
      • Uses WADL: Web Application Description Language
    • SOAP: Simple Object Access Protocol Complete Example
      Characteristics of SOAP:
      • It is like an Envelope; the request is wrapped by an XML root element
      • Can be sent over any protocol, for example: HTTP, TCP, SMTP
      • SOAP message must be XML-formatted and contains Header and Body
      • Strongly Function Driven
      • Uses WSDL: Web Service Description Language; a contract between the provider and consumer. A signature of web service.
    • Difference SOAP vs REST API Explained
  9. Knowledge of Multi-Threading: To be able to perform asynchronous operations, for example: API's causing side-effects i.e. Database Operations, an API call to another service.


Related Software Engineering Area(s)

  1. Software Testing: Testing API's through Integration Tests, End-to-End Testing, writing Unit Tests for functions used by API's
  2. Software Construction: Database Designing, Documentation
  3. Software Maintenance: Versioning of API's, Database Design Changes