Потоковая, асинхронная, независимая от языка технология для передачи данных объекта - PullRequest
3 голосов
/ 06 января 2010

Какие передовые / отраслевые стандартные технологии соответствуют следующим требованиям

  1. Разрешить перенос бизнес-объектов с одного клиента / сервера на другой
  2. Не зависит от языка и платформы
  3. Поддерживает потоковую передачу, позволяющую передавать большие данные (например, подключенный разговор о состоянии)
  4. Асинхронный характер (не блокирует, позволяет отслеживать прогресс)

Обходной путь 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

Относящийся к вопросу: Асинхронная потоковая передача веб-службы

Не уверен, как это будет работать, пожалуйста, объясните


Очередь сообщений?

Будет ли это работать для этой цели?

1 Ответ

1 голос
/ 19 февраля 2010

Я думаю, что Coucho Hessian должен удовлетворить ваши потребности (включая потоковую передачу, независимость от платформы ...). Вы также можете посмотреть Thrift от ребят из Facebook.

...