Я создаю нечто вроде системы архивирования, которая будет использоваться для аннотирования и каталогизации уже отсканированных документов. Это система клиент/сервер с несколькими клиентами.Каков наилучший способ обработки передачи файлов между клиентом и сервером?
Основной рабочий процесс будет чем-то вроде этого:
Клиент отправляет файл на сервер вместе с аннотациями. Сервер должен сохранить файл в своей файловой системе и аннотации вместе с файлом в базе данных SQL Server.
Когда клиент запрашивает запись определенного файла, сервер должен обслуживать этот файл вместе с сохраненными аннотациями обратно клиенту. Кроме того, будут выполняться операции поиска и редактирования.
Это первый раз, когда я обрабатываю что-то подобное, и мне сложно его разрабатывать! Параметры, которые у меня есть до сих пор:
1- Подключить клиента непосредственно к SQL Server для данных и использовать Сокеты для передачи файлов между клиентом и сервером (я имею в виду фактическую серверную машину) напрямую.
2- Использовать WCF для передачи данных и файлов.
3- Создайте собственное собственное промежуточное ПО (серверное приложение), которое будет обрабатывать передачу данных между клиентом и SQL Server и обрабатывать передачу файлов. Честно говоря, я предпочел бы избежать этого варианта, так как у меня не так много времени для его реализации.
Какой был бы лучший дизайн для такого решения?