前两天一位普元的朋友衣风
http://blog.sina.com.cn/u/1495516693在我的blog上留言,谈到对数据总线的不同看法. 我本人并未使用过普元EOS,所做的判断只是基于我个人肤浅的第一印象, 很有可能是不准确的. 不过, 目前我仍然坚持自己对于普元EOS的看法,呵呵.
1. EOS产生的xml描述文件中的大量条目都是EOS自身的结构要求,而与实际业务无关,即EOS描述文件中的有效信息量密度很低.
衣风认为条目并不是EOS自身的结构要求,而是业务对象的结构描述.
这里我的看法是业务对象应该尽量通过领域(Domain)语言来描述, 领域信息的外在表象应该尽量是卷缩的,而不是展开的,
应该尽量是抽象的而不是实现细节层面上的.例如:
<function class="test.MyFunctionProvider">
<args>
<arg>
<name>argA</name>
<value>3</value>
</arg>
</args>
</function>
以上信息可以描述一个方法调用, 这里的function, args, arg, name,
value等标签的设置都是解析器为了理解该调用的语义而规定的结构元素,这些元素并不属于函数本身.
例如我们可以规定如下的调用格式来简化描述文件而不损失信息,
<function class="test.MyFunctionProvider">
<arg name="argA">3</arg>
</function>
而在我们的工作流引擎中, 业务操作的调用以封装后的形式出现
<BusinessA:DoWorkA argA="3"/>
通过标签封装之后, 我们在调用的时候所需要提供的信息是最小化的, 每一个涉及到的元素都是有着业务含义的,
而将解析器本身的结构要求隐蔽在封装的标签定义中.此后我们如果更换了实现,而业务需求不变, 则我们的调用处是不会受到影响的.
现在基于xml语法的文件格式很多, 我们的工作流引擎也采用了xml描述. 但是我们的一个基本观点是,
xml配置文件解析器不应该直接理解文件中所有的标签, 即它只需要理解自身的结构元素, 而为引入Domain知识保留余地.
2. 普元EOS中的结构似乎很难进行有效的扩展。而所谓的xml总线技术更加剧了这一点
衣风认为"正是将XML作为数据传递的总线,才使应用在数据层次上具有了较强的扩展能力"。从面向对象的观点看,
程序中普适性的基本基元是数据与行为的集合体, 而程序模块之间的交互也绝不仅仅是通过数据来进行, 而是往往呈现出一种数据与行为的交织状况.
普元的模型应该包含了大量发生紧密关联的局部元素, 它们应该处在同一进程(状态)空间中, 直接访问对象应该是最简单,最经济,
最完备的信息传递方式,
而"xml节点的表达能力远远超越了普通的数据类型,但充其量也不过是对现有数据的规整的树形表示,并不具有动态计算能力(甚至是最简单的lazy
evaluation)". 实际上对于所谓的总线, 最简单的模型是一个可以动态管理的变量集合, 那么一个Map就足够了.
在集合中我们可以保存各种对象, 比如xml节点, 但是又不限于xml节点. 从建模的角度上说,
把xml节点定义为一级集合元素我认为是不合适的. 通过对象的成员函数, 我们在对象图中可以包含大量的动态计算信息, 例如
obj.getSomeCalculatedAttribute().getLazyLoadValue()
这些动态语义在纯数据含义的xml总线技术中不知道如何表达.
对象图表达数据关联的能力也强于树形结构的xml节点, 例如 obj.getRefObj().getRefObj() == obj, 不知道这样的关联在普元EOS的数据总线中如何表达.
在并发访问中如果需要同步, 对于对象, 我们可以使用synchronized机制, 但是对于xml节点不知道如何才能有通用的处理方式.
分享到:
相关推荐
**EOS - 普元企业服务总线** EOS(Enterprise Service Bus),由普元公司...通过学习"EOS概览",开发者不仅能深入了解普元EOS的功能特性,还能掌握实际开发中的技巧和最佳实践,为构建高效、稳定的SOA体系奠定基础。
### 普元EOS Platform 7.5 开发手册知识点概览 #### 一、NUIDemo使用与实践 **1.1 执行SQL脚本** - **知识点概述:** - 在开始学习NUI控件之前,首先需要了解如何执行SQL脚本,这是进行后续开发的基础。 - SQL...
普元EOS开发帮助手册,普元EOS开发帮助手册,普元EOS开发帮助手册,普元EOS开发帮助手册
**普元EOS nuiDemo示例详解** 普元EOS是一款基于Java的企业级应用开发平台,它为开发者提供了丰富的组件和工具,便于快速构建企业信息系统。nui是EOS的一个重要组成部分,专注于用户界面的设计与实现,提供了强大的...
普元EOS是一款国内知名的中间件平台,专注于企业级服务总线(Enterprise Service Bus, ESB)和应用服务器领域。EOS7.5版本是其一个重要的迭代,提供了更强大的功能和优化的性能。本教程将深入介绍如何使用普元EOS7.5...
普元导入导出功能能够无缝对接Excel,支持用户直接在Excel环境中设计模板,定义字段映射,实现数据的导入和导出。 3. **数据格式转换**: 在导入导出过程中,系统需要处理各种数据类型(如字符串、数字、日期等)...
### 普元EOS-Platform-7.0基础开发教程知识点详析 #### 一、产品概述 **1.1 产品简介** 普元EOS Platform 7.0是一款基于J2EE、Eclipse等开放技术和平台的产品,它通过配置化、组件化、图形化和一体化的方式,为...
普元eos是一款由普元信息技术有限公司开发的软件产品,...以上内容是对普元eos帮助文档中介绍的主要知识点的提炼和总结。通过这些知识,开发者可以更快速地掌握NUI框架的使用,从而提高开发效率,缩短项目上市的时间。
本教程专注于介绍普元EOS平台,这是一款强大的企业级服务总线(ESB)和应用程序服务器,专为Java开发者设计,用于构建、部署和管理企业级应用程序。普元EOS提供了丰富的功能,包括服务化、工作流、数据集成、消息...
综上所述,《EOS5.0 EOSV5.0 上海 普元 EOS5.0应用指南》详细介绍了普元EOS5.0的PetStore示例和tag应用示例的具体使用方法。通过这些示例,用户不仅能够了解EOS的基本功能,还能学习如何有效地使用该平台来开发高...
标题“普元EOS简单运算逻辑的编写”涉及的是在普元EOS平台中如何构建和实现基础的业务逻辑。普元EOS是一款企业级的应用服务器软件,它提供了开发、部署和管理企业应用的服务,支持多种编程语言,包括Java。在这个...
Primeton NUI(New User Interface)是普元EOS中的一个重要组成部分,主要负责提供用户界面和交互设计。这个Demo包含了一系列实例,让用户了解如何在普元EOS平台上使用NUI控件和新版本功能。通过实践这些示例,...
【普元EOS培训资料】是一套专为初学者设计的学习资源,它包含了全面且深入的EOS相关知识,确保用户在完成学习后能够熟练掌握并应用普元EOS平台。这套资料来源于普元公司内部,因此其专业性和实用性得到了充分保证。 ...
5. **system.sdvx**:这可能是普元EOS中的一个数据库脚本文件,用于创建或更新EOS系统的数据模型和表结构。SDVX可能是普元的一种专有格式,用于存储和管理数据库脚本。 6. **com.primeton.train.expenseauto**、**...
【上海普元EOS6.0程序员教程】是针对软件开发者设计的一份详尽教程,旨在帮助读者理解并掌握面向服务架构(SOA)的核心理念,以及如何利用普元EOS这一全球领先的SOA应用平台进行实际开发。教程不仅理论与实践相结合...
在进行普元EOS7.6的安装过程中,需要仔细阅读安装指南中的每一步,确保理解每项配置的含义,并根据实际情况进行调整。安装过程可能会遇到各种问题,比如端口冲突、文件权限设置、数据库配置错误等,都可以通过查阅...
**普元EOS学习PPT详解** 普元EOS是一款企业级的中间件平台,它提供了全面的服务治理、服务集成以及业务流程管理...对于想要在IT行业中从事企业级服务开发和管理的人员,这份“普元EOS学习PPT”无疑是一份宝贵的资源。
普元EOS是一款国内知名的中间件平台,主要用于构建企业级服务总线(Enterprise Service Bus, ESB)和业务流程管理(Business Process Management, BPM)系统。它提供了服务注册、服务治理、服务安全、服务监控等一...
普元EOS Platform7.5培训视频,入门讲解,入门实例,让你更快,更全面的掌握普元EOS Platform
【普元EOS开发向导】是一份针对普元EOS平台的开发指南,旨在帮助开发者快速理解和实践基于EOS的系统开发。EOS是一个企业级的应用开发框架,它提供了丰富的功能和工具来简化企业应用的构建过程。这份向导包含了两个...