Какие передовые / отраслевые стандартные технологии соответствуют следующим требованиям
- Разрешить перенос бизнес-объектов с одного клиента / сервера на другой
- Не зависит от языка и платформы
- Поддерживает потоковую передачу, позволяющую передавать большие данные (например, подключенный разговор о состоянии)
- Асинхронный характер (не блокирует, позволяет отслеживать прогресс)
Обходной путь SOAP
1,2 пункта на веб-сервисах SOAP, но 3 и 4 затрудняют реализацию (не так ли?)
Я думал о следующем "взломе", но мне обоим это не нравится, и я уверен, что есть лучшее решение.
Для поддержки 3 и 4 у веб-службы SOAP могут быть методы, которые передают данные порциями, например,
void startObjTransfer(String objectId);
void addObjChunk(String objectId, ObjData currentChunk);
void endObjTransfer(String objectId);
Где ObjData
содержит частичный график данных и знание его расположения на графике.
для лучшей поддержки 4 можно использовать такой метод, чтобы спросить, насколько достигнут прогресс
void getObjTransferProgress(String objectId);
Что вы думаете о вышесказанном? разве нет (надеюсь, есть) лучшего? (даже не SOAP)
RMI / COM / .NET Remoting / DCOM
Не зависит от языка
CORBA
Ну, нет.
REST
Не отвечает на 3 и 4, (SOAP + Buzz?)
AJAX / COMETD
Относящийся к вопросу: Асинхронная потоковая передача веб-службы
Не уверен, как это будет работать, пожалуйста, объясните
Очередь сообщений?
Будет ли это работать для этой цели?