用于传输对象数据的流式、异步、语言独立技术

发布于 2024-08-16 20:14:03 字数 1181 浏览 6 评论 0原文

满足以下要求的最佳实践/行业标准技术是什么

  1. 允许将业务对象从一个客户端/服务器传输到另一客户端/服务器
  2. 独立于语言和平台
  3. 支持流式传输以允许传递大数据(例如连接的全状态对话) )
  4. 本质上是异步的(不阻塞,允许监视进度)

SOAP 解决方法

1,2 点关于 SOAP Web 服务,但是 3 和 4 使其实现起来有点困难(不是吗? )

我正在考虑以下“黑客”,但我都不喜欢它,而且我确信有更好的解决方案。

为了支持 3 和 4,SOAP Web 服务可以具有以块的形式传递数据的方法,例如,

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

与问题相关:异步 Web 服务流

不确定这将如何工作,请解释一下


消息队列?

这可以用于此目的吗?

What are the best-practice / industry standard technologies for the folowing requirements

  1. Allow transfer of business objects from one client / server to another
  2. Language and platform independent
  3. Supports Streaming to alow passing large data (e.g. a connected statefull conversation)
  4. Is Asynchronous in nature (doesn't block, allows monitoring progress)

SOAP workaround

1,2 point on SOAP web services, but 3 and 4 make it a little hard to implement (don't they?)

I was thinking of the following "hack", but I both don't like it, and I'm sure there is a better solution.

To support 3 and 4 the SOAP web service can have methods that pass the data in chunks, e.g.

void startObjTransfer(String objectId);
void addObjChunk(String objectId, ObjData currentChunk);
void endObjTransfer(String objectId);

Where ObjData contains a partial graph of the data, and knowledge of its location in the graph.

to better support 4 a method like this can be used to ask how much progress was made

void getObjTransferProgress(String objectId);

What do you think about the above? isn't there (hopefully there is) a better one? (even non SOAP)


RMI / COM / .NET Remoting / DCOM

Not language independed


CORBA

Well, no.


REST

Not answering 3 and 4, (SOAP + Buzz?)


AJAX / COMETD

Related to question: Asynchronous web service streaming

Not sure how this will work, please explain


Message Queue?

Will that work for this purpose?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

落墨 2024-08-23 20:14:03

我认为 Coucho Hessian 应该满足您的需求(包括流媒体、平台独立性......)。您还可以看看 Facebook 人员的 Thrift

I think Coucho Hessian should fulfill your needs (including streaming, platform independence...). You might also take a look Thrift from the Facebook guys.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文