SOAP vs REST, what about other options? what about internal communication?

In many design tasks in this course we can read:

We can have SOAP or REST APIs to expose the functionality of our service.

IMO this sentence is misleading as SOAP is a protocol and REST is not. Also, what about GraphQL? What about internal communication? Do we need to serialize and deserialize each request? Do we really need to rely on synchronous communication? At which layer we want our load-balancing to work? And so on… I think the topic of inter-service communication is underdeveloped in this course.


Hi, The case of generating varying short URLs using one long URL involves appending the userID to the long URL; it will make sure a unique MD5 output and hence we can encode it. One clarification: repeated short URL generation attempts by a single user will generate the same short URL over and over again. If you were considering the case without the involvement of userID in each iteration, then yes generating a new UUID and encoding it is the most suitable solution.