不可不知:企业级开源软件全面大盘点(7)

文章作者 100test 发表时间 2007:03:14 16:35:09
来源 100Test.Com百考试题网


Nhibernate

Nhibernate是.NET持久层框架,它从Java上的Hibernate移植而来。作为一种o/r mapping框架,它具有以下一些特点: 完善的数据映射及关联操作. 可扩展的持久机制. 强大的数据加载功能. 面向对象的数据查询语言HQL. 缓存机制. 多数据库支持。

Nhibernate的强大之处在于开发者几乎不用去了解任何数据存储和查询的细节问题,而能更专注地通过面向对象设计来构建系统。其HQL查询语言完全是针对对象及其属性来设计的,与SQL语法保持一致,降低了学习的曲线。

当然,Nhibernate还有一些不足之处,如报表数据。另外在性能上, Nhibernate通过反射来执行一些操作以及数据行到对象之间的转换, 都会造成性能上的一些损失。

iBatis.NET

作为另一种.Net持久层框架,iBatis.NET同样是从Java上的iBatis移植而来的o/r mapping框架,它包括DataMapping和DataAccess两部分:

DataMapping: ORM的实现部分, 对象映射通过映射文件来定义,支持one-to-one、one-to-many等对象关系映射。与Nhibernate显著不同的是,ibatis.net不会自动生成SQL语句,它通过预先定义好的SQL映射来执行数据操作,对于想自由操作SQL或使用复杂表达式的人来说,这是个不错的选择。

DataAccess: 数据存取框架实现,通过在配置文件中定义DAO接口及其实现,就可以方便使用DaoManager进行数据操作了,这也是一个在运行时决定具体实现的标准应用。

Java版 工作流

Shark

Shark是体系和功能最为复杂的代表。它是另一款遵循WfMC的XPDL标准开源工作流引擎,并且同时遵循OMG组织的Workflow Management Facility规范。在所有开源工作流引擎中,Shark的体系最为完备和复杂。其一直秉承着“模块化”的思想,所以比较容易扩展。但是自从被Together公司收购后,Shark的商业化色彩已经越来越浓,改称为Together Workflow Server,并仅以Community Edition的形式提供了部分开源代码供参考。

OSWorkflow

OSWorkflow是最轻量型的代表,也是一款非常灵活和低级别定位的工作流引擎的实现框架。低级别定位的意思是说,它不是定位在解决流程模型对象和运转场景,而是提供一套可维护调度的机制,供开发人员自主扩展。这个维护流程调度机制OSWorkflow选择的是基于行为(Action)的FSM理论,所以OSWorkflow更像是一个复杂而灵活的有限状态调度机。

OSWorkflow在国内项目应用得较多,很多国内的简易审批流程项目都是基于其引擎二次开发而来。这主要是由于OSWorkflow是基于Action驱动的,而国内的客户也很容易接受这样的操作习惯。但OSWorkflow所依赖的FSM模型对于分支、聚合、子流程的支持度很低,这一点在实施过程中需要注意。


相关文章


让Linux懂得为你开门—自动作业控制
Linux系统下C开发环境的构成和安装(1)
不可不知:企业级开源软件全面大盘点(6)
不可不知:企业级开源软件全面大盘点(7)
不可不知:企业级开源软件全面大盘点(4)
是什么原因让Linux难与游戏结缘呢?
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛