I am a software developer and I have developed a "software" with the following architecture: the front-end is developed in javascript using VueJs and NodeJS connecting to the back-end in python (framework Flask) via REST Api and as DB MongoDB.

If it matters NodeJS and Flask are running on the same machine instaed of Mongo wich is on cloud.

Now I am about to make an academic publication on this and the question is:

What kind of system is this?

My teacher suggested "Distributed System" but I am not totally sure on this. Is it?

I found online that this type of application should be a Three-Tier application but I always found something wich tells me not.

Can someone explain this to me?

Thank you.

  • 4
    Every web application is distributed because the server is typically separated by a network from a browser. You could also argue that your use of multiple server processes (node, flask) makes your software system distributed. But this distributed-ness is not a particularly interesting property of your system, so using that label might be misleading. Why do you need a label for your architecture? If this is for the keyword-section in a journal article, what keywords do similar articles use? If this is for a thesis, consider following your advisor's advice. – amon Oct 2 '18 at 18:40

Your system has a 3 tier architecture, since it has the following components:

  • a front-end (presentation tier)
  • a back-end (application tier)
  • a database engine (data tier)

and each component could run on a different computer.

If you'd have more than 3 layers, you'd have an N-tier or multitier architecture, provided that each layer communicates only with the previous and the next layers.

You could also say that it's a distributed system, since it is one system made of components that are distributed on several computing nodes and communicate between them. The distributed system is a more general architecture than the multitier, since it doesn't have constraints on how the components communicate between them (e.g. each component could discuss with each other). However, if your paper is academic in the field of computing, be aware that some use a stricter definition of distributed systems.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.