我想问一些关于这样一个场景的想法:
1) 我们需要建立一个在客户机上运行的实时应用程序。某种股票交易功能,每25秒向不同地理位置的少数客户推送一次更新。2) 数据在服务器端收集和预处理(glassfish/java)
我们一直在讨论选项,并缩小了2个选项:1)客户机上的wpf 2)swing(我们以前评估过javafx)
你的想法是什么:
1) 在swing和wpf中开发“中等”复杂客户机应用程序的方便性/速度2)wpf和app服务器之间的通信。如果我们有一个单片解决方案(java),那么就有更多的高吞吐量数据交换选项,比如java消息传递,而不需要通过一些.net到java的桥梁,也不需要通过xml、webservices等发送数据。
欢迎有任何想法。
谢谢您
2条答案
按热度按时间cx6n0qe31#
swing与wpf
我用swing和wpf做了大量的工作。swing至少落后wpf整整一代人。真的没有可比性。wpf的数据绑定和模板带来了所有的不同。如果使用wpf,您将节省大量的时间和金钱,并最终获得更好的用户体验。
net framework与java后端的连接
关于在前端使用netframework与java后端的比较:这非常容易做到,而且通常表现得和纯java解决方案一样好。例外情况是,如果您的主要瓶颈是网络带宽,并且您正在序列化复杂的对象树。
正如itowlson所指出的,wcf并不谈论java专有的二进制协议,但是仍然有很多选择可以用来与java交谈:xml、json、文本(rest)。我通常推荐好的老式xmlweb服务。设置wcf与一个简单的javaweb服务对话大约需要两分钟。
xml序列化通常只会在二进制文件上增加5-10%的网络带宽,因此除非您有大量复杂的数据,并且管道非常紧凑,否则我只会在后端使用wpf/wcf直接与java通信。如果您确实有大量数据和一个小管道,那么您仍然需要wpf前端,因为它比swing好得多,但是您可以考虑通过有线使用wcf二进制格式器,并在服务器上进行转换。
jbose2ul2#
关于WPF和应用服务器之间的通信,您可以使用所有.NET的消息传递设施,具体地包括Windows通信基础。但是,wcf对java的二进制消息传递没有现成的支持(请参阅wcf与java配合得好吗?因此您需要使用xml,一种两端都支持的自定义传输(如mq)或网桥。
(无法帮助比较wpf和swing,因为我没有swing的经验。)