对普元EOS支持SCA/SDO规范的讨论
来源:互联网 发布:c语言输出hello world 编辑:程序博客网 时间:2024/04/29 23:33
首先声明,本人是一名严谨的IT领域的科研人员,是依据我看到的客观事实,就事论事来地写这篇评论的,尽力避免夹杂个人过于偏颇的观点。即使是基于同样的事实,很多人的观点都会不太一样,我想这可以大家共同讨论,我相信真理是越辩越明的。
本人长期从事软件工程方面的研究工作,对SOA架构及其编程模型规范SCA(Service Component Architecture)和SDO(Service Data Objects)非常感兴趣,并一直在跟踪这方面的技术发展。经过IBM、微软、BEA等大厂商大力推广和宣传SOA理念,以及相关的开发平台和工具的推出,使SOA架构已经成为面向业务编程的主流架构和业界的事实标准。
于是充满好奇地下载了一份普元EOS 5.2的试用版来看看,安装过程还比较顺利,根据安装提示很快就装完了,没有出现什么卡壳的事情,在Windows开始菜单的程序组中有EOS Server,EOS Studio,三个URL:工作流客户端,管理控制台和用户权限管理。
- 运算逻辑组件
- 业务逻辑组件
- 组件库
该组件的描述文件放在business.epp文件中:
其对应的BZA文件就是一个XML描述:
从该例子中可以看出,EOS构件库中的组件也不是符合SCA规范的。
SCA规范没遵守,现在剩下SDO规范了,基于没有遵守SCA规范的事实,怀着忐忑的心情来看看SDO规范的实施情况。
在自己建的项目中找了一圈,发觉似乎只有在pkg/data中才能建立数据模型。从右键菜单中可以看出可以建立“数据树”,
我想可能就是SDO规范中的DataGraph吧,于是试着建了一棵树:
结果令人失望,其对应的XML文件为:
这也是EOS所特有的描述方式,与SDO规范毫无关系。
另外,在编辑数据树时遇到一个问题,不知是否为EOS的BUG,里面出现了两个node1。
通过对EOS 5.2的简单试用,感受是复杂,从最初的令人心动到后来的令人失望,作为建立SCA/SDO规范
的主要厂商之一,竟然不按照规范做事。看到普元公司网站上轰轰烈烈的SOA、SCA宣传,虽然这些宣传工
作对在国内推广SOA、SCA是有益的,但是当看到其产品的内在东西之后,会令人更加觉得失望。
通过在网络上发表此文章,希望能够帮助广大的开发者能够从各种不同的角度来看问题,以理性的态度
来看待EOS产品。同时,我也希望普元公司能够尽早实实在在地把产品做好,希望国内唯一的SCA规范参与
制定者能够把事情做到实处,不要只搞一些务虚的东西,借用规范之名,套用概念,而行自己专有的一套。
我个人认为,按照EOS产品目前的现状,在EOS平台上进行构件积累对用户来说是危险的,因为这些所
谓的构件是不符合SCA和SDO规范的,只能绑定在EOS平台中使用,积累的构件无法在其它真正支持SCA/SDO
规范的开发平台中使用,对用户的长期价值何在?
另外,对于EOS平台中的XML总线,本人也有一些看法,XML数据总线的思想应该还是不错的,但是在多服务
器集群的环境中可能会存在一些问题,由于XML数据总线本质上是一块XML对象树的内存区,在集群环境中实现不
同服务器之间的XML数据总线状态同步是比较低效的,并且XML数据总线中是动态的数据,不是静态的,需要在全
局事务控制之下来维持不同服务器之间的XML数据总线状态同步,实现技术更为复杂,会进一步降低效率。作为底
层核心的XML数据总线在大规模、高并发的集群应用环境中是不合适的,就像在集群环境中不推荐使用Stateful
Session Bean一样。
期望本土领先的构件平台厂商能够走上正确的、符合行业规范的轨道。
附录1:SCA规范中的基本概念及范例
Services:组件对外部提供的功能。
References:该组件对其它组件的依赖性。
Properties:通过设置属性值来对组件进行配置。
Implementation:通过具体技术实现的软件实体,例如Java, Spring, BPEL, C++, PHP, XSLT。通过组装实现的复合组件也是一种组件的实现方式。
Wire:连接References和Services。
Binding:Services和References使用的交互机制,例如WSDL binding, JMS binding, EJB Session bean binding。
SCA组件打包的格式是ZIP,其它可用的打包格式是filesystem directory, OSGi bundle, JAR file。
下面是一个SCA组件的图形表示和XML描述:
附录2:SDO基本概念
SDO(Service Data Object)提供了一种描述数据的统一格式,SDO对SCA不是必要的,是可选规范。SDO作为一种数据交换标准格式可以用于很多场合。下面的UML图是SDO中的主要组成部分:
SDO的UML图
- 对普元EOS支持SCA/SDO规范的讨论
- SCA/SDO规范的来龙去脉
- SCA和SDO规范
- 普元EOS Platform产品支持环境
- 普元EOS Platform产品支持环境
- 普元EOS的项目部署
- 普元EOS中的datagrid的ComboBox
- 普元EOS平台
- 普元EOS学习
- 普元EOS
- 普元EOS介绍
- SCA规范的发展
- SCA/SDO,实现SOA的基础【转自程序员】
- 普元EOS开发流程
- 普元EOS简单运算逻辑的编写
- 普元eos开发的几个注意点
- 普元EOS Studio中找不到构件库的解决方案
- 疑惑SCA/SDO vs WCF
- Linux内核: 修改TCP/IP调优参数
- 使用Java解析网络数据流的三种特殊方法
- 数据结构课程设计--------文法分析中推导的建立(第一天进度)
- 终于通过测试搞明白operator delete了!
- LCC编译器的源程序分析(51) 分配一个寄存器
- 对普元EOS支持SCA/SDO规范的讨论
- 用Java的加密机制来保护你的数据
- 电脑英语--常见硬件篇
- 通过Java.net包建立双向通讯
- 电脑英语--著名软件篇
- 伏在锅沿往里看,我认识了粥
- 使用freetds库连接MS SQL SERVER
- Windows系统介绍
- Cygwin完全下载指南