When I read about the 3 Tier Architecture I can not understand where communication over eg FTP and Telnet fits the model.
Should I place the communication layer beside the Data Access Layer?
It seems logical when I use FTP and Telnet to retrieve and update information in an external system, just as you do with a database. Moreover, one can hide the complexity of the telnet commands behind the Business Layer.
Or is there any best practice within the model that I can use?
Edit
FTP
Ftp is used to read and update files located on an legacy system. It can therefore be seen as a form of data access component.
The files to be retrieved from the system can be both source code and configuration files. I will map the configuration files with DTO objects to make it more easily to work with them.
In the future, we plan to expose the legacy file system as a normal Windows File System so that we can access it as a normal file system.
Telnet
Telnet is used to:
- Give commands to the system
This do not belong to DAL, maybe it can lie alongside the DAL in a separate layer - Get the information from the system
I'm not sure where this belongs. I can, for example, be interested in the status of the system, which feels as DAL. But to get this information, I have to run Telnet, and then it feel like as same as the point above. - Communicate with the real-time database
In the legacy system, there is a real-time database which we have to access. We plan to expose it with a modern database interface (eg ODBC) in the future, but today it is only possible to access it via telnet. Maybe I can create a LegacyDbBlock in DAL which internally uses Telnet functionality?
Here's a suggestion on how I might be able to design it . Is it a good idea?