新电子商务平台中Java XML的应用
近几年,电子商务的发展速度比任何人想像中的还要快,电子商务平台在未来经济体系中扮演着举足轻重的角色。然而在电子商务平台中,建立具有高度安全性、实用性以及可信度较强的应用软件有着非常现实的意义,是人们必须探索与研究的重要课题。
1 XML异构数据库集成概念阐述
XML与Java有一个显著的共同优点,即平台独立。XML适用于平台独立、易于提取信息的文档以及数据的处理。如果将XML看成是数据的名词,那么Java就是数据处理的动词。而Java则较适于平台独立、易于处理的面向对象的应用软件解决方案。异构数据源集成必须选择一种全局的数据模式来统一异构的源数据模式。在这一领域中,XML作为一种中间的数据接口,己经显示出其不可替代的重要性。
各个异构数据库的Schema通过相应的映射文件融入全局Schema。翻译器根据映射文件和用户的查询条件和参数,将逻辑查询转换为针对各物理数据库的子查询,并输出相应的XML子文档。在集成器的作用下,各XML子文档中的数据均被转换为一个DOM对象,通过用户定制的业务规则,过滤、计算和合并这些DOM对象中的数据,集成后的数据是一个XML文档,通过转换器以用户定义的形式展现给客户端。可以让数据在不同的来源中,根据通用的语法规则来开发基于Java的技术平台,使用XML作为数据交换的标准。
2 电子商务平台中引入XML与Java的意义
目前,能较好运行的B2B平台由于系统间传送的EDI文本是面向机器的,其人工可读性以及扩展性太差,真正用来做实际商务的很少,因此仍无法吸引众多企业,大多数仍处在信息发布阶段。因此,搭建一个具有可用性的电子商务交易平台就非常重要了。
“Java+XML=真正的跨平台电子商务系统” 是一个多对多的、以Web为基础的贸易网络。由于Java的跨平台性,所以选择Java作为软件的开发工具,同时采用了XML具有良好的通用性以及共享性作为数据交换的标准。它使企业能够更有效地在其供应链上完成购买、销售以及协作活动,形成一个完整的供应链。由此奠定了其发展的广阔前景。
3 电子商务平台面临的安全分析
(1)信息安全隐患
网络通信的无纸化、信息化、高效率使得交易信息的保密性至关重要。电子商务的交易信息在网络传输中,可能受到非法用户的篡改。如果用户的重要信息(如信用卡帐号以及密码)泄漏,很可能使用户蒙受财产损失,使得信息的完整性以及真实性受到破坏,企业信誉与用户金钱受到损失。
(2)存在程序缺陷
由于调试JSP效率极低,调试JSP时必须等到前端程序结束才能看到效果,代码嵌入页面导致页面臃肿、逻辑复杂,一点点小的修改都会引起JSP的重新编译,因此,程序员以及美工的接口必须精确定义,进而确保编辑的安全性。
(3)缺乏法律保障
目前的《电子签名法》对构建基于Java XML技术的新一代电子商务平台相应的行政管理、技术规范的支持力度依然十分薄弱。另外,对于我国特有的XML与Java的整合应用而言,推翻原有的传统数据交换格式将会改变绝大部分软件系统,对于那些已投入运行的ERP系统来说实属不易,系统间的转换将成为企业与XML及 Java的整合应用之间的障碍。
4 电子商务平台中XML与Java整合应用表现
(1)XML应用框架搭建
一个XML解析器(Parser)是一段可以读入一个XML文档并分析其结构的代码。实际上,为了能够处理XML文档,几乎所有的XML应用都需要一个解析器,如图1所示,它为用户提供了一个接口,以及对后端存储数据的一个接口。解析器能够判断一个XML文档是否有效(validating)即是否遵守DTD/Schema标准。
在本系统中,将货单XML文件定义为一个SavcInvoice类型的消息,基于事件的解析器实际上是通过串行方式来处理文档的。因此,解析器之间的区别在于它们是否支持完整性检查、文档表现形式转化以及它处理文档的方式。例如,用户在选订商品时,这个过程类似于B2C网上商场的购物车。解析器自动构成类似于一张二维表的数据结构,结账时再把里面的值取出,并一一对应地显示出来。将用户所选的商品及其详细信息以XML的格式保存起来,利用DOM对其操作。此时,对购物车里的商品的添加、修改以及删除操作就变成了对这棵DOM树中的节点的添加、修改以及删除。实际操作是非常简单与快捷的。
(2)封装逻辑处理的Java-Bean
为了实现界面显示以及逻辑处理的分离,基于Java XML的新一代电子商务平台中使用Java Bean来封装所有的逻辑处理。Bean的设计依据面向对象的原则,提供了该对象所拥有的属性以及方法。通过对象的调用来完成相应的逻辑处理。例如,当企业要更新产品信息、发布拍卖品信息时,在编程实现的过程中用到大量的、不同参数的SQL语句,虽然可以利用Java的函数重载,但可读性会降低,程序变得更加复杂。为了解决这个难题,本方法通过Java函数,动态地生成不同的SQL语句。
//从数据库中取的谈话信息
sql=select msg from chatmsg where companyid=“+id+”and msgthne>“斗6me+” order by msgtime”;
rs=“stmt.executeQuery(sql);
……
//在JSP网页程序中用JavaScript实现对话信息的粘贴
parent.chatdisplay.doeument.write(”%。=rs.getString(“msg”m>%):
scrollWindow();
当再执行添加、更新操作时,只需调用Java与XML通用方法即可,无需在调用时传入任何参数,因为要执行的SQL语句就会更简单,效果就更明显。
评论