我正在寻找具有以下功能(请参阅列表)的“实体管理器”。实体管理器 - “云准备好”,“图形”,“自我验证”
在我看来,有这么多的软件项目,在他们的核心,是一个聪明的实体管理的UI和业务规则,但我还没有看到一个单一的实体管理系统是“标准” 。
哦,我已经看到了一些,但他们都没有接近下面的功能列表。最值得注意的是,级联和验证通常在核心中缺失,水平缩放和缓存失效通常被留作“对学生的练习”,而图形性质通常受限于父母/孩子,或者如果幸运的话,会被DAGs (定向无图)。
有什么聪明的,我失踪了?或者我注定要自己写这个东西 - 就像其他人一样(并且可能因时间限制而不太理想)?
这里的,至少在我的感觉,必须要真正运作良好烘焙到实体管理的“核心”的功能列表:基于
- 图:关系是第一级公民,两个节点之间的多重关系(标记为图)可以计算生成树和关闭。
- 数据库绑定 - 或者说,而不是内存绑定。可以在内存中保存缓存,但必须能够轻松包含1亿个实体和关系。
- 水平缩放 - 这意味着它知道如何从多个应用程序服务器访问数据库,使用锁定(乐观或悲观)并使其他应用程序服务器的更新上的缓存无效。
- 支持事务性工作 - 通过收集内存或数据库中的事务。
- 支持插件能够业务规则级联在单个事务的范围内(例如,如果A被改变,则B必须被改变为好)
- 支持插件能够验证(例如A不能如果乙存在已删除) 。
- 支持可插拔授权(例如,用户U1不能更改A /用户U1不能更改A,因为这将导致B更改[级联]并且用户U1不能更改B)。
- 发送更改事件/保持更改日志(例如,可以在更改后启动工作流程)。
- 元数据(如果存在)应该由“数据”而不是代码来配置。
- 没有停机升级(“云就绪”,对不对?)
- 纯Java。
是你找到一个合适的框架?我也需要相同的,但没有发现。我制作了一个简单的JavaEE CRUD应用程序来管理现成的JPA树,并且仍然考虑动态实体类的生成。 – 2013-01-28 20:55:20
@ArchiMage - 我无法找到框架。相反,我们选择了自己开发一些东西。另一方面,一些要求已经发生了很大的变化,所以它可能不再是一个真正的测试用例。 – 2013-01-29 18:00:27