嗨,你能分享一下 Moqui 框架与其他框架之间的区别吗?我是 Moqui 框架的新成员。
1 回答
正如所指出的,这是一个非常普遍的问题。在其中一个回复中,它缩小了与 Struts 比较的范围,因此我将对 Moqui 与其他 Java 企业应用程序框架(以及其他语言上的类似框架)的不同之处进行一些一般性评论,然后将 Moqui 与支柱。
Moqui 的一些一般设计指南包括:
- 无对象映射:各种工具使用动态 API,其行为取决于实体、服务和屏幕等工件。这意味着对象-关系映射、对象-服务映射以及通常与定义 Web 用户界面有关的各种对象都没有冗余代码。
- 没有代码生成:Moqui 没有使用需要冗长代码的低级工具,然后基于某种定义更高级别构造的工件生成该代码,而是使用具有灵活定义和相关 API 对象/方法的那些高级工件来保存代码尺寸紧凑,降低代码复杂度。
- 完整的 3 层架构,除了在大多数框架(或框架堆栈)中常见的 UI 和数据层外,还具有强大的逻辑层。
- 基于 UI、服务和数据元素的工件的各种高级工具,包括工件感知授权(除了更通用的 authc 和 authz)、企业集成连接器、规则和工作流引擎(使用 Drools/jBPM)、基于 ElasticSearch 的搜索将关系数据组合到文档中并仅通过配置馈送到索引,等等。
- 配置在文件中,而不是在数据库中,就像许多 ERP 系统的框架一样。这使得它更灵活、更容易扩展功能(通过额外的宏来解释 XML 元素),并允许在工件中的任何位置注入模板和代码点(并且无需生成然后修改代码)。
在 Thrash Bean 的答案中引用的页面上,有一个部分将 Moqui 与 Apache OFBiz 进行了比较,这是 Moqui 中许多概念的来源。我是 Moqui 框架的作者,并于 2001 年开始了 OFBiz 项目,并推动了 OFBiz 框架的大部分设计。
http://www.moqui.org/framework/index.html
将 Moqui 与 Struts 之类的东西进行比较会产生更显着的差异,尽管它们是如此不同以至于列表不是那么长,因为它必须保持在较高的水平才能比较两个工具中的相似概念。
首先,Apache Struts 是一个 Web UI 框架,用于协调 Web 请求、输入处理以及与 HTML 和其他(JSON 等)响应的其他工具相关联。它只是 Moqui 提供的整体功能的一小部分,因为 Moqui 的目的是包含企业自动化应用程序(即 ERP、CRM、电子商务等)中通常需要的一切。
Struts 通常与 Hibernate 或某种 JPA 实现一起用于持久性,而 Moqui 使用一种非常不同的方法,没有对象关系映射来实现持久性(实体外观)。
Moqui 对应于 Struts 的部分是 XML 屏幕和这些屏幕中的“转换”,它们处理来自请求的输入并将浏览器重定向到配置的屏幕以进行响应。
有关屏幕和转换的示例,请参见 moqui.org 网站上的教程:
http://www.moqui.org/framework/docs/Tutorial.html
与屏幕和过渡定义相关的各种概念从“添加屏幕”部分开始,并在“自动查找表单”、“添加创建表单”和“自定义创建服务”部分进行了扩展。
为冗长的答案道歉......关闭这个问题并要求更具体的问题可能会更好。无论如何,请随时提出更具体的问题......