2014-10-06 4 views
0

У меня есть служебная автобусная служба с набором услуг. Существует пользовательский интерфейс HTML5, который позволяет клиентам выполнять всевозможные действия по самообслуживанию. Пользовательский интерфейс использует JavaScripts, которые взаимодействуют с ESB в формате JSON через сервер API.Как обрабатывать файлы в архитектуре SOA

Теперь я хочу предложить клиенту возможность загрузить документы. Я могу загрузить документ64 и отправить его как поле JSON, но это кажется неправильным. Какой хороший образец я мог бы использовать?

+0

Отправка двоичных данных через REST потребует Base-64 кодированный документ я не вижу проблемы с этим подходом. Однако службы SOAP позволяют отправлять файл в виде двоичных вложений. См. Эту ссылку для получения дополнительной информации: http://stackoverflow.com/questions/1156429/how-do-i-write-a-restful-web-service-that-accepts-a-binary-file-pdf – Namphibian

+0

@Namphibian I см. большую проблему с этим подходом. Обычно архитектуры SOA используют очередь и обычно имеют ограничения на размер сообщения. Отправка файла как части вызова службы определенно не является правильным подходом. – Marco

+0

@ Марко, являющееся правильным или неправильным, будет определяться требованиями проекта. Отправка файлов через SOAP является интуитивно понятной. Я согласен, но это можно сделать, и метод технически обоснован. Будет ли это хорошая идея, можно обсуждать. – Namphibian

ответ

1

Звучит неправильно, потому что это неправильно.

В этом случае вы должны записать файл на открытый публичный FTP, указав ему имя GUID, а затем отправить сообщение в службу, в которой будут указаны данные о файлах. На стороне обслуживания, когда получено сообщение с данными о файле, сохраните метаданные на вашем уровне персистентности и скопируйте файлы на частный FTP.

Что-то вроде этого:

Claim Check Pattern

Смежные вопросы