Поскольку у вас уже есть C ++ API, который подключается к нашему SQL Server и выполняет операции непосредственно над ним, это, кажется, уже подходящий кандидат для рефакторинга на средний уровень вашего проекта.Этот код уже манипулирует базой данных в соответствии с некоторыми правилами, что и должен делать ваш средний уровень.
Остальная часть работы, которую еще предстоит сделать, - отделить логику представления от этого API и позволить емунаходятся в своих собственных приложениях, которые подключаются к C ++ API среднего уровня, чтобы их данные обрабатывались ими, сохранялись в базе данных и возвращались результаты для отображения пользователю.
Что касается соединениямежду уровнем представления и C ++ API, в зависимости от ваших требований, вы можете использовать собственный протокол связи (реализованный, например, через TCP / IP или RPC), или HTTP, имея посредническую «ретрансляционную» веб-сеть.сервис, который вызывает ваш C ++ API с сервера и возвращает результаты вызывающей стороне.Выбор HTTP, хотя и более быстрый для первоначальной реализации, имеет некоторые аспекты, такие как тот факт, что по умолчанию он не имеет состояния (вам нужно будет реализовывать пользовательские сеансы самостоятельно) и что его нужно будет синхронизировать с кодомкогда публичные методы меняются в процессе разработки.