I am still at an early level, designing software that will integrate with an ERP.
I am familiar with Borland Pascal Object, but I worked with it a lifetime ago.
I am pointing to FPC with Lazarus because it is multi-platform.
Development will be done with others.
In general, these are the characteristics.
Server A: It will be a Windows server and ERP development is being carried out by another team. At the moment we do not know how it will be implemented. Probably with DB in SQLServer or DB2.
Our software will only go to use Databases.
Server B: This is our server that will manage its DBs. We are deciding whether it will be on Windows or on Debian/Ubuntu and whether the DBs will therefore be SQLServer or MariaDB. It is this Server B that accesses the DBs on Server A.
Clients: Realistically it will be about 20 Windows 11 clients, but we are not setting ourselves numerical limits, nor on Linux platforms. There will then be a “mobile” version.
At this embryonic stage we are wondering:
- what types of DBs we can access;
- how clients will need to access Server B;
- where to find documentation on how to develop the interface to DB.
- where to find documentation on how to develop the network section.
Finally, mostly we are still discussing what kind of architecture to provide.
Hypothesis AClients to DB: Clients will directly access the DB engine (SQLServer or MariaDB) on Server B. Therefore, the functionality for blocking records during a single client process will have to be provided.
Clients do not interact with the software on Server B, which therefore only synchronizes DBs with those on Server A.
Hypothesis BClients to Server B: Clients access Server B, which therefore will have to both synchronize DBs with those on Server A and handle requests from clients to their own DBs.
Hypothesis CWeb access: clients access Server B via the Web using a browser. Server B therefore will have to both synchronize DBs with those on Server A and handle requests from clients to its DBs via the Web.
Hypothesis DA mix of solutions B and C.
Our major concerns are for software updates and security.
When I was developing with Borland I used to get reports of new versions and just had to recompile the sources. Also there were not the security problems that there are today.
I give an example with an application software that I now run on Joomla (I am aware that it is another very different thing).
I have one protection on the network firewall, a second on the server, and a third (Web Application Firewall) in Joomla.
I get updates directly from Debian and from Joomla. I rarely have to download them from the vendor and even then I just have to install them.
With an application developed with FPC how are updates handled?
Can I send patches or the whole application compiled again?
And how do I handle security?
Both in terms of access to the application (e.g., with 2FA) and security issues at the source level or third-party libraries.
Many thanks in advance for the suggestions.
== Additional note.
I initially wrote FPL instead of FPC. I'm sorry.