3

对于使用 java 堆栈的分布式计算,这些框架或库如何适合这些类别。

  • 文件
  • 采用
  • 易于使用并与广泛使用的技术(如 spring、orm 和 web 框架)集成
  • 容错
  • 安全。

EJB 可以取代所有这些新的分布式计算、可扩展和容错系统架构吗?

4

2 回答 2

1

EJB 3 被设计为易于使用和易于集成,有很多文档,它们是分布式计算的 Java 标准。

EJB 容器提供基于标准规范的事务管理和安全性。容器本身由许多公司提供企业支持或免费使用(IBM、JBoss、Oracle)

如果您遵循 EJB 规范,您的软件可以在不修改代码的情况下变得容错,您可以将服务器放在集群中(有许多集群策略),并且可以毫不费力地水平扩展如果您使用无状态会话 bean

您提到的其他框架/.technologies 非常有效,但没有一个可以提供所有这些功能

于 2012-10-03T14:35:27.493 回答
1

你问的问题太笼统了。
EJB 已经使用了很多年,并且被广泛记录,可能比您提到的所有技术都多,而且更加成熟。
您可以使用 JAAS 进行授权和身份验证(当涉及到安全性时)。
例如,我在oVirt开源项目中使用 Krb5LoginModule,我是它的维护者之一。您可以在访问应用程序服务器的 Web 容器时使用安全 HTTP。
在 oVirt,我们使用的是 JBoss 应用服务器,您可以使用 JBoss-cluster 来实现集群。您可以使用 infinispan 跨节点获取可扩展的共享数据结构(数据网格)。
我们在应用程序中使用 Spring 组件(对于注入,您可以使用CDI) - 用于 LDAP 查询,用于使用 DB(由于性能原因,我们目前更喜欢 Spring-JDBC 而不是 JPA)。
几年来,在我目前的工作地点之前,我一直在使用一堆 Web 应用程序来查找注入 EntityManager 的 bean 并使用 JPA(以及作为 JPA 提供者的休眠)执行 CRUD 操作,
我相信你可以实现所有这一切都使用spring - 例如 - 使用一堆spring-mvc + spring-orm。
我认为任何技术都不会以“神奇”的方式为您提供分布式系统,您仍然需要在开发、设计、可扩展性测试等方面投入时间。

于 2012-10-03T14:39:28.927 回答