我对 Web 服务、JAX-WS 等还是很陌生,所以可能是菜鸟问题......
因此,我想实现一个 Web 服务来使两个系统进行通信。“客户端”系统对“服务器”系统上生成的事件感兴趣。但是“客户端系统”本身就是不同应用程序的服务器。服务器是 Java(tomcat 中的 WAR)。客户端是.Net。
应该只有一个客户端系统,但客户端系统内有多个客户端进程,每个进程都对不同类别的事件感兴趣。
我将实现服务器端和测试客户端。其他人将实现 .Net 代码。
运行顺序应该沿着这条线:
- 服务器正在运行...
- 客户端发起对话,向服务器“注册”,并请求一些初始数据。
- 服务器保留已注册客户端的端点列表
- 在服务器中有一个监听器,当某些事件发生时会收到通知。然后它将遍历注册客户列表并将事件转发给每个客户
- 在某些时候,客户端可以“取消注册”而不通知服务器它不想再接收事件。
首先,这听起来像是合理可行的吗?
并且是否有一个标准的内置机制,使用 SOAP(服务器上的 JAX-WS,无论客户端上的 .Net 是否可用)——服务器可以使用它从客户端获取回调端点?
例如,我使用 RMI 做了一些非常类似的事情,在这种情况下,客户端可以只发送一个远程引用给自己,服务器可以稍后存储 ant 引用。
最后,是否有一个标准库来存储端点引用,进行(集体)回调,并可能使列表保持最新,删除不响应的客户端所以一些“ping”调用?
为清楚起见:我需要的不仅仅是带有回调的异步方法:来自客户端的一条消息将生成从服务器到客户端的许多回调消息。