用于运送Web应用程序的EAR与RPM?

n0r*_*m1e 5 java linux java-ee

将Web应用程序发布到生产环境时,您会考虑企业应用程序存档还是RPM?

每个人的缺点和优点是什么?

使用RPM,您可以跟踪版本控制并正确处理配置文件.

假设您的应用程序不会安装在Windows机器上,因此操作系统依赖性不是我们担心的问题.

Vin*_*lds 4

我使用过或研究过的大多数 Java Web 应用程序通常都是作为企业或 Web 档案发布的。除了非常特殊的场景外,RPM 的应用非常薄弱。

有几点支持 EAR/WAR 文件:

  • 安装通常很容易,即使涉及将 EAR/WAR 文件复制/上传到指定目录的手动过程。但是,您需要了解您的目标受众。如果您期望 Linux 系统管理员(对 Java 应用程序服务器知之甚少或根本不了解)来执行应用程序的安装和维护,那么您选择 RPM 可能是正确的。然而,对于企业来说,这种情况很少见,因为从支持的角度来看,它的意义不大;当在生产中遇到安装/配置问题时,您只是不想受到第三方应用程序开发人员的摆布。

  • EAR/WAR 文件可以以允许便携式安装的方式发布。理论上可以通过单个构建支持多个容器。与要求每个容器发布 RPM 相比,这是一个更好的选择;每个 RPM 都必须安装特定于应用程序的容器并将 EAR/WAR 文件发布到此嵌入式容器。如果您希望让客户保留部署到自己的容器上的选择,仅 RPM 部署模型将要求他们从 RPM 中提取 EAR/WAR 文件,然后自行执行部署。

  • RPM 不能用于以标准方式跨 WebLogic、WebSphere 等商业容器部署应用程序。除非您希望客户采用涉及目录布局、集群模式等的标准安装模型,否则这是不可能的。针对单个客户的内部可能不会有这个问题,因为可以就如何安装和配置容器建立内部标准。

从上述陈述推断,EAR/WAR 文件应该始终可用,以满足客户的需求,并增加了使用 RPM 进行无麻烦安装的可能性。