System Design

Some terms:

  • Uniform Resource Identifier (URI): Most common is URL, but also Uniform Resource Name (URN).
  • Representational State Transfer (REST)ful API: Access and manipulate textual representations of web resources by using a uniform and predefined set of stateless operations. Payload will be formatted in HTML, Extensible Markup Language (XML) or JSON.
  • Single Object Access Protocol (SOAP): Uses XML. Message negotiation and transmission by Hypertext Transfer Protocol (HTTP) and Simple Mail Transfer Protocol (SMTP)

When approaching system design, we bare in mind the goals and constraints of the service we are providing. What use cases does the system need to satisfy?