What kind of system modeling is that?

Asked

Viewed 130 times

3

I have seen in several places companies that develop commercial systems (usually in DELPHI) and these respective systems are modeled so that they stay with an application "server" in which I believe you get the entire model layer and data access (components such as dataset, Connections etc) and other applications (usually pdv, manager, etc.) communicate with it as if it were clients when they need to do some operation in the database, would anyone know tell me what kind of architecture/ modeling/ design standard is this? This is MVC too?

Ps: I don’t know DELPHI very well

  • 2

    If it is MVC we have no way of knowing, only seeing the sources of each case. This seems to be what is generically called client-server architecture. Each case can work in a specific way. Or it can be something else, after all the question does not have a concrete case, nor details. I don’t know what that’s relevant to. Has it helped to know any of this? Is there anything you can change to make the question interesting? Or can we close it?

  • bigown the question is vague even precisely because I searched everywhere what could possibly be this type of design pattern, at first I thought it was something related to distributed applications or MVC and at the end of the day I expected some answer as to why the use of this modeling, name, benefits, articles or anything like that, so I will wait for the speech of someone else who has come across the same occasion, otherwise I will close the topic, thank you.

  • This is the old client/server model...

1 answer

4


Friend this type of application is called 3 layer application.

Being them:

1st Data Tier (Database Layer) (SQL, Sqllite, etc)

2nd Business Logic Tier (Business rule layer), called the application server, because it provides the methods to be consumed by the client application, which in turn do not know the first layer.

3rd Presentation Tier (Client layer), which is the application that consumes the methods of the second layer.

In the past it was very common for software companies to adopt this methodology because it allows using the methods made available by the server application by several client applications relatively quickly.

Otherwise there was at the time in some cases the need to reduce costs with additional licenses charged by users for using the SGDB application (SQL Server, Oracle) and with this type of architecture it is possible that the server application is configured so that it uses only one connection to carry out the queries, thus avoiding the expense of additional licenses. It is worth remembering that with this approach over time the performance is affected.

Although it has the separation of the business rule from the graphical interface, this model is not considered a MVC because the server application does not necessarily traffic an object directly to update the view as in the MVC standard and does not even necessarily have a controller (although it may come to have depending on the modeling used), note that in this case the server application in general are available only methods that return datasets or results of a specific calculation, Stringlists, boolean values for access validations for example, etc..

This approach is currently still used due to the convenience of reusing code in several applications this is also due to the emergence of firemonkey enabling development for mobile devices, which can consume the application server methods.

Datasnap uses this concept and currently has extra resources to make it easier to move objects between applications using json or xml for example.

Besides the datasnap there are other frameworks like the Synapse and the data Abstract of the rem Bjects that also assist in the development of this type of application.

  • 1

    I guess that takes away my doubt, thank you!

Browser other questions tagged

You are not signed in. Login or sign up in order to post.