系统A导出XML文档,现在要让系统B来从该XML文档中获取数据信息。
问:
1.系统B是如何知道XML中每一项数据的具体含义?
2.系统A与系统B是否应该共同遵守一个数据标准,比如系统A中定义学生的属性有:姓名、年龄、身高、学号、住址。那么系统B中学生的属性也应该是:姓名、年龄、身高、学号、住址? 次序不能变,内容也不能变,参与数据交换的系统必须遵守同样的标准,这样的思想对吗?
3.如果第2说的对的话,那么XML用于数据交换的可扩展性又体现在哪里?我们有到哪里去找这个行业的统一标准?
4.如果第2说的错的话,那么XML的这种数据交换机制有谁能给我讲讲?
5.其实说直接点就是,XML是如何实现跨平台\跨操作系统的数据交换的.
谢谢
问:
1.系统B是如何知道XML中每一项数据的具体含义?
2.系统A与系统B是否应该共同遵守一个数据标准,比如系统A中定义学生的属性有:姓名、年龄、身高、学号、住址。那么系统B中学生的属性也应该是:姓名、年龄、身高、学号、住址? 次序不能变,内容也不能变,参与数据交换的系统必须遵守同样的标准,这样的思想对吗?
3.如果第2说的对的话,那么XML用于数据交换的可扩展性又体现在哪里?我们有到哪里去找这个行业的统一标准?
4.如果第2说的错的话,那么XML的这种数据交换机制有谁能给我讲讲?
5.其实说直接点就是,XML是如何实现跨平台\跨操作系统的数据交换的.
谢谢
解决方案 »
- 绑定变量使用dbms_sql的一些问题
- 备份弹出ora-01031:insufficient privileges 错怎么解决?
- 求一句sql,我想看到a114用户下的所有数据量>100万的表的信息,如何搞呢?
- vmware infrastructure client出现failed to power on:A general system error occurred
- 求oracle一个视图的解释
- 修改DBLINK问题请教
- 如何让数据库自动启动
- 江湖救急
- 12560问题
- 我回答的哪里不对了?说我误人子弟?大家的解释一样啊。
- 斑竹:pro*c算oracle的高级技术吗?oracle的高级技术有哪些,最好分类一下
- 急!Oracle OLAP 技术难题和询问 (入者给分)
系统B是如何知道XML中每一项数据的具体含义?
--------------------------------两个系统之间传输数据数据,一般来说首先要定义格式,如果是不同企业的,首先要通过两个企业业务部门的协商,然后才是技术人员的格式定义。光靠XML判断那一个元素是干什么的,现在不太显示。但是有了行业标准就不一样了,在标准中可以定义行业的数据字典,现实世界的对象,比如说订单可以用XML来描述,甚至包括其处理流程也可以包括在XML中,只要有了行业数据字典就可以互通语义信息了。国际上有不少组织定义了标准,比较流行的包括RosettaNet, ebXML。国内有个cnXML,不少大的IT厂商开始支持cnXML,我对它不乐观,它的推广工作进展太慢。
你可以去www.cnxml.org.cn看看,干什么把域名都是中文的句号?做秀!
--------------------------------
2.系统A与系统B是否应该共同遵守一个数据标准,比如系统A中定义学生的属性有:姓名、年龄、身高、学号、住址。那么系统B中学生的属性也应该是:姓名、年龄、身高、学号、住址? 次序不能变,内容也不能变,参与数据交换的系统必须遵守同样的标准,这样的思想对吗?
--------------------------------
如果两个(分布式的)企业应用(系统)需要数据交换,格式应该有双方开发人员共同协商。如果你一个人写两个应用的数据接口,又不考虑扩展性和兼容性的话,可以采用固定格式,比如说就传文本块就可以了。
如果考虑扩展性和兼容性,就比较麻烦了。虽然传输的方法很多,使用XML没有什么特别好的方法,解析,格式翻译,内容翻译是必须的。
我看过一些文章,他们的理论是模拟数据库对数据表的定义,定义(文本)数据块的结构和块与块之间的关系,然后处理这些文本块(把数据块直接导入数据库之后再处理,是最简单快捷的)。
还有就是你的方法,用“纯”XML表述,效率很低,元素需要大量标识,占用存储空间。但是比上一种语义清楚(对于人而言)。有些跑题了?哈!---次序不能变,内容也不能变,参与数据交换的系统必须遵守同样的标准,这样的思想对吗?---
显然是错误的,你自己定义的标准,可以自己固定死,可是强求别人就不可以了吧。而且程序应用又能力来用一个视图屏蔽元素顺序的差异---------------------------------
3.如果第2说的对的话,那么XML用于数据交换的可扩展性又体现在哪里?我们有到哪里去找这个行业的统一标准?
---------------------------------
XML用于数据交换的可扩展性,是指语义上的,没有行业数据字典无从扩展
去看看cnXML,不过你会失望的。
------------------------------
4.如果第2说的错的话,那么XML的这种数据交换机制有谁能给我讲讲?
------------------------------
我建议你如果是以数据为中心之间的数据交换,建议你传输文本数据块,然受把数据块加到XML中去,而不是把字段细化到元素------------------------------
5.其实说直接点就是,XML是如何实现跨平台\跨操作系统的数据交换的.
------------------------------
我总结一些,XML没有什么了不起的,没有行业标准,it's nothing!!!
目光长远,还是应用使用它,毕竟它有大量的工具支持和免费源码。
两个系统之间数据交换,在目前没有行业数据字典的情况下,必须进行语义的沟通。而且最好首先有双方的业务人员进行,把流程理清楚,然后传输数据。
--------
跨平台\跨操作系统
--------
可以使用RDBMS的通用性,屏蔽跨异构系统
以上为个人意见,欢迎批评
*****************************************
问题1:这两个系统之间进行数据交换是毫无疑问的。对吗?
*****************************************
系统A中学生结构:
<学生>
<姓名>jack</姓名>
<年龄>25</年龄>
<性别>male</性别>
<系别>computer</系别>
<籍贯>beijing</籍贯>
</学生>
系统B中中学生结构:
<学生>
<姓名>marry</姓名>
<年龄>24</年龄>
<性别>female</性别>
<系别>computer</系别>
<籍贯>shanghai</籍贯>
</学生>
*****************************************
问题2:这两个系统之间进行数据交换,按你的意思也可以实现,但是系统B如何识别中顺序不一致,我认为顺序不一致,那么也就是结构不一致,故不可以进行数据交换。对吗?
*****************************************
系统A中学生结构:
<学生>
<姓名>jack</姓名>
<年龄>25</年龄>
<性别>male</性别>
<籍贯>beijing</籍贯>
<系别>computer</系别>
</学生>
系统B中中学生结构:
<学生>
<姓名>marry</姓名>
<年龄>24</年龄>
<性别>female</性别>
<系别>computer</系别>
<籍贯>shanghai</籍贯>
</学生>
*****************************************
问题3:这两个系统不能够实现基于XML的数据交换,对吗??
*****************************************
系统A中学生结构:
<学生>
<姓名>jack</姓名>
<年龄>25</年龄>
<性别>male</性别>
<系别>computer</系别>
<籍贯>beijing</籍贯>
<总成绩>222</总成绩>
</学生>
系统B中中学生结构:
<学生>
<姓名>marry</姓名>
<年龄>24</年龄>
<性别>female</性别>
<系别>computer</系别>
<籍贯>shanghai</籍贯>
</学生>
*******************
问题4:次序不一致,如何解决?
****************
我认为顺序不一致,那么也就是结构不一致,故不可以进行数据交换。对吗?
这两个系统不能够实现基于XML的数据交换,对吗??
次序不一致,如何解决?
---------------------------------
数据交换和数据格式/顺序没有什么关系。
顺序不一致,可以使用标签--<系别>等区分语义,数据交换的双方对自己需要什么的是了解的,顺序不一致可以自己调整。标签代表数据语义,程序处理时可以获得标签,就可以获得语义,知道语义就可以知道该数据应该放到自己系统的位置。