企业核心物件

科技工作者之家 2020-11-17

企业核心物件(ECO,Enterprise Core Object),是一种软件框架,由Borland在IDE 计算机语言描述工具所发展的一套系统。其用意在于模型驱动架构(MDA,Model Driven Architecture),MDA是OMG所推展,令软件开发设计更自动化,从而提升管理性与便利性。ECO的目标是提供了实务快速化,灭少复杂的实作过程。为设计更人性化,本质上ECO实务理论的实作,例如持久性、事务、版本、整合管理。ECO提供了强大的导引精灵(wizards)及软件视觉与非视觉元件来达成模型驱动开发的框架;ECO支援XMI的表示与输出入存取。ECO是UML的理论与实作延伸,在ECOIII支援了UML2.0的规格,包括了九种图的实作与连结与设计,其中循序图与合作图,在ECO的TOGETHER中可以被自动转换,此概念是交互图的体现。而ECO中的(ORM,Object Relation Mapping)更可以在其IDE中直接对资料的结构以图形来达成设计与驱动建构。

简介企业核心物件,也称企业核心对象,是一个适用于域驱动设计(DDD)的软件框架,旨在通过利用对象关系映射(ORM)等设施来保持域对象,UML模型,从而提高生产力。用于以UML表示法定义的行为控制的域类和可执行状态机。ECO框架旨在成为企业开发的一体化解决方案,包括内存中事务和撤销 / 重做功能以及与UI层的轻松绑定。ECO联合ORM具有即时代码生成的框架和UML建模工具以及用于简化内存和数据库查询,业务规则和其他有用工具的OCL表达式评估程序。企业核心物件用于快速应用开发的崭新的模型驱动的运行时平台,它被包含在delphi8--bds2006中。ECO框架提供了多数应用程序需要的服务功能,比如:延续、缓存、对象间关系管理,签署和事务等,同时还更多高级服务功能,比如:撤消/重做和对象复制。所有这些功能只要在模型被配置了就可以被使用,从而使系统更加容易维护。选择ECO做应用开发可以极大提高开发速度。开发者不再需要花费时间去创建和维关系数据库结构,管理类和对象关系和转换架构图为可执行的源代码。ECO甚至能使数据库结构随模型同步发展,从而大大节省了开发时间。

模型驱动架构统一建模语言 (UML)标准在建模方面的实际价值已经得到了业界的认可,常常作为元模型语言来设计模型。本世纪初的时候,在 UML 建模语言正在被广大应用者所接受的同时,对象管理组织(OMG)也发布了一种全新的软件开发框架—模型驱动架构(Model Driven Architecture,MDA)。它的优越之处在于,在整个软件系统开发的过程中一切行为由模型来驱动,将系统中的功能和实现更细化的分开,在这里 UML 不仅仅像以前在设计需求中作为设计语言而出现,更多的是以开发编程语言来进行工作,更加严格的区分系统的功能规约与实现细节。

平台无关模型(PIM)与具体的实现技术没有关系,只是针对系统业务模型架构的进一步抽象;它将关注点放在业务问题上,抽象且精确,更容易理解和验证;而平台相关模型(PSM)则是要看使用什么具体的技术来实现的,是跟平台相关。对于 MDA 的实现,先是根据业务确定到底要抽象出什么样的平台模型,然后按照一定的模型转换进行定制相应的规则。

由于大型企业进行软件开发的时候逐渐的应用 MDA 架构模式,因为对于一个大型软件实施的是否成功,很大程度上不是决定的看程序员编写的代码质量如何,而是更多的看需求设计人员在业务逻辑的抽取上建模的档次如何。这样将平台抽取到更到的高度,至于使用什么技术来实现,就显得不是那么重要了,这样我们要做的更多功能是对整个系统业务的逻辑功能性。 在对软件具体的进行实现前更多的要做系统功能的需求分析于设计。随着计算机软件和硬件技术的高速发展给软件产品的开发也带来了强有力的拉动。基于 MDA 模型开发的软件产品比以往的软件有着更强的可移值性和用户、程序员等与计算机之间的互操作性,在日后的维护和管理方面都让人们期盼下一个美好前景的出现。

ECO 是 Borland/Code Gear 第一个在业界中流行的开放性开发平台,是一门合格的软件开发过程方法。结合 BDS 的 Together(用于建模的工具)进行各种.Net 应用系统的开发,不仅可以减少学习成本,降低学习曲线,而且使开发人员避免在琐碎的细节中浪费时间,能集中精力于业务逻辑的设计1。

基础同以往传统的开发模式来比,面向对象的开发模式更能适应复杂的业务特别是在大型企业系统中,但由于数据量大、业务逻辑墨迹复杂等问题的存在,紧随诞生的新的开发框架 MDA 则更能有效的解决这些问题,提供较好的系统性能。而开发的软件产品已经基本和采用什么样的技术没有太大的关联,包括对数据源,各大型数据库都已提供统一的数据源进行交互,所以在移植性上的性能没的说。要实现的功能,同具体技术,跟数据库平台都已解耦,对于日后的兼容、维护管理都方便的多,相对应的缺点是对开发人员要求的知识面比较广。

在对于一个成熟面向对象数据库开发框架有以下的要求:

对象持续性:在整个系统中,对于数据的操作,一切数据库中的表都对应现实中的实体,支持复杂对象、包括多对象之间复杂的联系如:母子表、单表等;

支持对象查询:有着标准的语言对所需要查询的数据,满足的数据全部查询出来;

支持对象主键:对应大型数据库中的主键,在框架中也要有业务主键,对应的每一条数据都有个对应标识来标识证明这个对象的确定性;

支持事务:在大型系统中很有可能一个操作要进行很长的时间,那就需要必须保证业务的原子性,就是一件事要么做成功,如果中途有失败的地方,就完全回滚到当初要做的那个点,相当什么都不做。保证最后的结果一致性;

支持 XML:平台支持元素据和模板的使用,更方便对日后的维护和移值性,常用的对象模型都用 XML 模板来表达;

性能优化:一个平台系统是否能成功上线一个关键的因素就是它的性能执行效率,如果想让大众所接受,性能的保证是首要话题;

支持多种应用:在保证正常单轨运行的前提下,也应该留下接口为程序的可扩容性打下基础,这里包括 C/S 的开发、桌面程序的开发等等; 数据库及数据存取 API 无关性:在底层换数据库平台的时候,用户和应用开发人员是感觉不到的,直接在结构底层做平滑的转化,保证平滑的移植;

ECO 就是基于 MDA 的一项技术,由 Borland 公司用来开发企业级的软件。其中包含了当前很多高端的技术在内,针对上述的特点,它都包括了,并且留下了大量接口可以让人在接着开发新应用程序来对其进行扩展。在数据库的移值方面,也结合着效率问题而行动的,在 WEB、中间层都很有很高的效率,让开发者不必担心复杂的多线程和对象池等问题。

本词条内容贡献者为:

王慧维 - 副研究员 - 西南大学

科技工作者之家

科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。