为瘦客户端设计客户端(胖)/服务器 + 额外的 REST API

Designing client (thick) / server + extra REST API for the thin client

我正在重新设计旧应用程序——更确切地说是设计新应用程序,我想利用旧应用程序的某些部分在将来变得更有用和可扩展。

旧应用程序是一个厚桌面应用程序,用于处理在文件服务器上共享的数据。 (它使用 DBF 数据库自由表,但设计不是客户端-服务器——只是一个胖应用程序。)

新应用程序计划使用 客户端-服务器 架构和 胖客户端 ,但服务器应该 通过 REST API 接口提供功能。

应如何设计特定的应用程序服务器以同时连接到胖客户端和 Web 服务?

实现应该是可移植的(Windows,Linux),Web 服务器也应该是 IIS (Microsoft) 或可移植的 Web 服务器(如 nginx 等)。实现语言是C++11 plus(至少应用服务器,胖客户端)。

我是白手起家,还需要学习技术。 (我确实有C++经验,也有一些client-server的理论知识,RESTful;但是,我需要学习实际的东西。)

按要求评论为答案:

考虑 google 用于消息编码和解码的协议缓冲区。版本 3 支持 json 和二进制编码。它还具有用于 RPC 的存根,您会发现它们很有用。