在 Ruby on Rails 中,我们有 Gems,您可以将其重用为您的软件的一部分。
我们在 Django 中也有相同的功能,他们称之为“应用程序”。Drupal 中也有“模块”。
例如,假设您正在开发 Web 软件来控制办公室中的进程,并且您想添加投票,以便用户可以交互。
在 Rails 中,我们可能有一个 gem 可以做到这一点,在 drupal 中的 django 应用程序和模块中也是如此。
因此,考虑到控制器、视图和模型,这些 gem/app/modules 具有包含在您的 Web 软件中的所有代码。
但是,如果我们想到 Java EE 6,我们就会有大量的 jars 和规范来帮助制作软件。但是 Java EE 没有这些 gem/app/modules 可以包含在您的软件中。
需要明确的是,问题不在于是否使用框架。
让我说我有一个使用 Java EE 6 的应用程序:
- EJB 3.1、JPA 2、js2 + 素数
- 还有一些罐子,比如漂亮的面孔和集成。
现在我需要开发一个论坛或投票功能,所以我必须编写所有代码(ejb+jpa+jsf)来制作那个论坛。如果我使用的是 Rails,我可以安装一个投票/论坛 gem,或者在 Django 中安装一个创建这个论坛的应用程序等等。
我在其他框架,ROR,Django 和 Drupal 方面有一些经验(它确实是一个 CMS,但它有很多模块,所以无论如何它可能是一个框架),这些“模块”是软件的一部分,使用编写所有层。在 Java EE 中,它应该有 EJB 3.1 代码、JPA2 代码和 js2 代码。
因此,我们可以与 Plone 和 Zope 进行类比。假设 Zope 是 Java EE 6,而 Plone 是我在 Java EE 中寻找的。
所以我的问题是:是否存在一个存储库,您可以在其中找到这些 Java EE 模块?
如果这真的不存在,是否可以在 Java EE 架构中创建类似的 gem/app/modules?