I want to split a C++/CLI application on two parts :
1. Communication Part, with I/O + logging on text file :
3 COM Ports, 2 sockets and 1 log file
2. UI Part, to handle the data received from COM Ports, sockets etc...
For the moment, my application is constantly reading from all COM Ports (with some writing when needed), communicating with 2 servers (sending and receiving) and logging all data received from these modules. The UI is also pretty complex, but it's not relevant for my problem.
Now, I want to separate the communication parts of the program, mostly because of the limitations of the COM ports (1 connection at the same time), to be able to use them on multiple programs. The communication part must be multithreaded so it can communicate with all the modules, and run all the time (as a service ?).
I read about WCF (because this application was made with .NET Framework), but I'm not sure about this solution : It should run on a low configuration (Intel Atom @1.66GHz, 2GB RAM, Windows XP Embedded, .NET Framework 4.0).
Can I try to learn WCF to work something out, or should I find another solution because of the low configuration ? Ideally, I want to build a program that will be able to trigger some events to the UI part.