What kind of system modeling is this?

3

I have seen in several places companies that develop commercial systems (usually DELPHI), and these systems are modeled so that they have a "server" I believe you get all the model layer and data access (components such as dataset, connections and 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, could someone tell me what type of architecture / modeling / design pattern is this? is this MVC too?

Ps: I do not know DELPHI very well

    
asked by anonymous 01.10.2016 / 23:01

1 answer

4

Friend this type of application is called 3 layer application.

They are:

1st Data Tier (Database Layer) (SQL, SQLLite, etc.)

2nd Business Logic Tier , called the application server, because it provides the methods to be consumed by the client application, which in turn are unaware of the first layer.

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

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

Otherwise, in some cases the need to reduce costs with additional licenses charged by users to use the SGDB application (SQL Server, Oracle) and with this type of architecture, it is possible that the server application is configured to use only a connection for conducting 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 an 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 depending on the modeling used), note that in this case the server application is generally only available methods that return datasets or results of a specific calculation, stringlists, boolean values for access validations for example, etc.

This approach is still used because of the practicality of reusing code in several applications. This is also due to the fact that firemonkey is being developed, allowing the development of mobile devices that can consume the application server methods.

Datesnap uses this concept and currently has more features to make it easier to traffic objects between applications using json or xml for example.

In addition to the datasnap there are other frameworks such as synapse and data abstract of rem objects that also help in the development of this type of application.

    
03.10.2016 / 03:07