Swing和Java EE服务器

时间:2010-07-31 01:08:51

标签: java swing java-ee

我有一个独立的Swing应用程序,它将Hibernate用于其持久层。我需要将它扩展到一个三层系统,以便有多个Swing应用程序实例和一个中央服务器。客户是股票交易平台,因此它将包含许多业务逻辑。服务器将主要负责持久性操作和一些业务逻辑。

根据我的需求实施服务器的最佳方法是什么? EJB3还是Spring? Swing应用程序与服务器交互的最佳实践是什么?我不想使用RMI,因为它不仅已经过时,而且无法保证客户端和服务器将位于同一网络上。

4 个答案:

答案 0 :(得分:1)

  

我不想与RMI一起使用   只是它变得过时了

这根本不是真的。只要Java存在,你就会拥有RMI。

您认为EJB用于沟通的是什么?这是RMI。

  

但也无法保证   客户端和服务器将打开   同一个网络。

就个人而言,我更喜欢春天。您可以使用Web服务或HTTP远程处理来公开服务层。

答案 1 :(得分:1)

如果客户端是Java客户端,我没有看到使用Web服务的意义(因此具有XML序列化对象的开销),我会选择EJB 3.x.

对我来说,使用一个好容器获得的主要好处(超出性能和可扩展性)是容错和故障转移(在服务器端和客户端,尤其是无状态容器)会话Bean,如果它们是幂等的)。对于股票交易平台而言,这很重要。

另请注意,使用EJB3并不一定排除使用Spring作为粘合剂(在客户端和/或服务器端)。

如果需要将您的服务公开为Web服务(例如,对于另一个非Java客户端),则只需使用JAX-WS注释对其进行注释。

答案 2 :(得分:0)

使用Spring和RMI。如果您的客户端和服务器都是Java,那么它是具有最佳性能和生产力的最佳解决方案。

答案 3 :(得分:0)

请注意,EJB不一定使用RMI作为传输协议。例如,OpenEJB使用自己的自定义协议。我们通过电线获得了大约7300 TPS,这是相当不错的。还有一个Spring集成,所以如果你想,你可以用Spring构建服务器并将Spring bean注入EJB,反之亦然:

http://openejb.apache.org/3.0/spring.html