Windowsアプリを初めて開発するのですが、アプリケーションの構成に悩んでいます。
大きく分けて、以下の機能がある場合に、プロセス(*.exe?)はどのように分散すべきでしょうか。
最適な案があれば、ご教示頂ければと思います。

また、その際に Visual Studio で選ぶべき適切なテンプレートはどれになると思われますでしょうか。
以下には当方の想定を合わせて記載します。

  1. WebAPIを提供するHTTPサーバ
    当方の想定は、ASP.NET WebAPIのテンプレートを使用して作成。
      
  2. 定期的にあるサーバから情報を取得するデーモン(Winではサービスという?)
    当方の想定は、サービス用のテンプレートを使用したかった。
    しかし、Visual Studio 2015では「Windows サービス」というテンプレートはなかった。WCFサービスアプリケーションがそれ?
      
  3. シリアル通信を制御するデーモン
    当方の想定は、上記2と同様と考える。シリアル通信が発生した場合に動き出すようなハンドラとして動作させるアプリケーションの作成が可能ならばそうしてもよい。
      
  4. 汎用機能を集めたライブラリ
    当方の想定は、上記1, 2, 3のいずれのアプリからも使用されるクラスについては「共有プロジェクト」に集約しようと考えた。

環境

  • IDE : Visual Studio Professional 2015
  • 言語 : C#
  • デプロイ環境 : Windows 10 Professional