In my application, I chose this architecture: WinForms-client-> WCF-Service-> ORM-> DB <-WinService (WCF is hosted on it, and the service itself in the background solves some database synchronization tasks.)

The client sends the WCF request to the service, and the WCF service through the ORM interacts with the database and processes the client's requests. In turn, the Win service on which WCF is hosted is spinning in the background, and the background service itself performs data manipulations with the database.

How can I classify this architecture?

What are alternative architectures, their + and -?

  • The architecture is chosen in relation to the task. Without a description of the task it is not clear whether your choice is successful. I have a question here - why is WinForms? Now for a new application it is usually better to do a front-end in the browser. - nzeemin

1 answer 1

This approach is commonly referred to as "three-tier architecture".

It is usually considered in comparison with file-server and client-server architectures.

  • In the file-server architecture, the client application works directly with files on a network resource.

  • In the client-server architecture, the client interacts with the DBMS (database server).

  • Ie in fact, there are 3 architectures of interaction with the database? - iluxa1810
  • Can you still write about + and -? - iluxa1810