首页 > 范文大全 > 正文

电子商务中的内容技术研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇电子商务中的内容技术研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:针对电子商务应用中的网络数据交互和业务集成的需求,利用XML文档的跨平台性实现数据在异质系统之间的交换。在Windows平台下实现数据从Microsoft Server2000到XML文档的转换,从而实现数据内容和表现形式的完全分离,使用XSL样式表显示不同风格的页面。

关键词:电子商务;技术;JDOM接口;XML数据交换

中图分类号:F724文献标识码:A文章编号:1009-3044(2008)09-11603-03

Research on Technology of Content Publishing in E-Commerce

ZHOU Chao-feng, LI Ye-bai, LIAO Lian-jun, ZHANG Xian-chun

(College of Information Engineering, North China University of Technology, Beijing 100041, China)

Abstract: Base on the needs of network data transport and service integration in E-commerce Web System, realizes data exchange between different systems with XML's promise of cross-platform support for applications. Transform the data from Microsoft Server2000 to the XML documents under the Windows platform, thus realizes the data content and the form complete separation, uses the XSL cascading style sheet to show different styles of pages.

Key words: E-commerce; publishing technology; JDOM interface; XML data exchange

1 引言

内容(Content)指各种非结构化或半结构化的数字资源,不仅指文字资料和数据,还包括图片、音频和视频等各种信息载体。随着企业数据成几何级数增长,而这些企业中有价值信息,真正能够以结构化数据的形式被数据库管理的部分是非常有限的,而大量的信息都是以非结构化形式散落在企业的各个角落,包括企业的各种报表、账单、电子文档、图片、传真,以及大量的多媒体的音频、视频信息等等。

针对上述存在的问题,本文主要从研究电子商务中的内容技术角度出发,侧重研究以下内容的:网络广告(包含Banner、Button 、通栏、竖边、巨幅广告等)是以GIF、JPG、Flash等格式建立的图像文件,定位在网页中大多用来表现广告内容;以及与内容相结合的新闻、专题的可定制化、个性化。与现有的内容技术相比,主要实现:

对不同类型的数据,如图片、动画、网页等非结构化数据进行分类存储。

使用XML格式分析器将不同类型数据进行统一描述。

设计供用户表现数据的XSL样式表(模版)。

获取数据的良好表现,实现良好的人机界面交互。

2 相关背景

在技术方面,互联网络的发展使HTML成为网络上应用最为广泛的语言,HTML使用各种定义好的标记来分别标识和格式化不同的网页元素,其简单性和易用性,使得Web技术及其应用得到空前的发展。但是随着Web应用需求的不断增长,HTML的局限性逐渐显现:由于标注的HTML标记由W3C预先确定,不能根据需要自行定义,所以当描述各种复杂内容的文档时,HTML就显得力不从心。其次,HTML无法真正实现数据的交互,没有专门的编程接口来解析数据,这就限制了它和各种应用程序、数据库以及操作系统的交互,对于不同数据格式之间的转换和信息传递也束手无策。

正是由于HTML语言存在交互性差、语义模糊的缺点,XML应运而生。XML具备了HTML的简单性的同时又具有强大的可扩展性。与HTML不同的是,XML并不是用于编排内容,而是用于描述数据,用户可以根据描述数据的需要自己定义各种标记。在电子商务模式中有很多规范的信息模型采用层次模型,因为层次模型便于描绘由许多元素和子元素构成的数据。XML非常适合描述层次模型。一份XML文档就是由一系列包含内容和属性的元素按层次结构所组成的。XML的灵活性允许它描述不同种类应用软件中的数据。同时,由于基于XML的数据是自我描述的,数据不需要有内部描述就能被交换和处理。

和目前通用的HTML语言相比,XML的优点在于:(1)可扩展性:县有良好的可扩展性,可根据应用的需要定义新的标记;(2)结构化:可采用结构化的方法表示任意复杂程度的数据;(3)可验证性:提供了一种机制以检查数据的结构是否正确;(4)媒体无关性:能够以多种格式内容;(5)厂商和平立性:能够用标准的商业软件甚至简单的文本工具处理任何符合标准的文档。

3 系统架构

通常大量的网络应用都需要对数据库进行存取。目前基于HTML的应用都由Web浏览器来解释HTML页,而由服务器端

的应用程序(Servlet),如CGI脚本程序来负责处理HTML页上的数据,完成对数据库的存取工作。由于XML本身侧重对数据的语义描述,而将数据的表示交给了扩展样式语言XSL和客户端,这就避免了HTML通常将二者混杂在一起,使HTML文档异常繁琐而难以分析。因此基于XML的应用采取了这种方式(如图1):通过一个中间件来实现数据在XML与数据库间的格式转换,这一中间件可以作为客户端的应用工具,也可作为Servlet。再由另外的Servlet负责通过XSL对XML文档进行格式转换和界面设计。图1所给出的应用模式主要针对较大型的网站,因此采用三层服务器结构将中间件程序和XSL处理器分别交由专门的网络应用服务器去运行。此外,应用服务器还要完成HTML到XML的格式转换,它实际上实现的是XML与HTML间格式的双向映射。

XML文档在Java Servlet中可以通过多种方法生成。最简单的方法是以文本的方式生成XML的标签,这种方法最易于实现,但在大型的Web应用中,其维护性和扩展性比较差。另一种方式是通过JDOM应用接口产生XML文档,通过JDOM可以很容易地将数据库中获得的记录直接转换为XML文档。

考虑到可扩展标记语言eXtensible Markup Language(XML)使得使用者可以以自己定义的格式来描述和构造数据,是一种以文本文件来存储格式化数据的机制。与HTML的不同体现在XML重点在于对数据的存储,而自身并没有为数据的显示做处理。通过层叠样式表CSS(cascading style sheets)和可扩展样式表语言XSL(extensible stylesheet language)技术来显示。而XSLT应用灵活,生成结果文件格式的多样化正好满足项目对于内容和数据存储的要求。

使用XML和Java技术结合,可以将Web设计人员有效进行两层分工:

第一层为程序代码设计者,主要设计Java Servlet,使用JDOM接口技术从数据库中读取数据转换为相应的XML文档;

另一层为页面风格设计者,主要负责设计样式单通过XSL样式表单将XML文档以多种风格(HTML)向用户展示。从而达到内容与形式分离,实现对应工作人员的分工,提高电子商务企业效率。

4 关键技术及实现

基本开发环境是Windows Server 2003 操作系统,采用的数据库是Microsoft SQL Server2000和Tomcat Web服务器。开发语言是Java,使用到XML作为数据转换的中间层,使用XSLT语言实现对XML数据的表示,从而达到数据内容和表示的分离。关键技术如下:

4.1 使用JDOM实现数据库到XML文件的数据转换

JDOM是基于树操作的纯Java API,它提供一套用于解析、创建、处理和实现XML的解决方案。JDOM的内部逻辑结构基本上与DOM的相同,比如具有Document、Element、Comment等文档节点类型,其中每一个JDOM文档必须有一个Document节点,并且为节点树的根节点。该根节点可以有子节点或者叶子节点如Comment、Text等。JDOM文档中的每一个节点类型均对应格式良好的XML文当中的每一个元素。这也就为我们利用JDOM转换数据库到XML文档提供了可操作的依据。

下载JDOM组件,解压缩之后把jdom.jar包放入Web应用的“Web-INF/lib”或者Tomcat安装的“common/lib”目录下,关键代码实现:

……

<TITLE>用JDOM实现数据库到XML的转换</TITLE>

……

<%@page import="org.jdom.*"%>

<%@page import="java.*"%>

<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=DB_CUSTOM";

//载入jdbc odbc的驱动程序

String user="sa";

String password="sa";

Connection conn= DriverManager.getConnection(url,user,password); //连接数据库

Statement stmt=conn.createStatement(

ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

//创建一个statement

String sql="select * from client"; //定义查询的SQL语句

ResultSet rs=stmt.executeQuery(sql); //执行查询

Document document=new Document(new Element("客户列表")); //创建文档

ResultSetMetaData rsmd = rs.getMetaData(); //获取字段名

int numberOfColumns = rsmd.getColumnCount(); //获取字段数

int i=0;

while(rs.next()){ //将查询结果取出

Element element0=new Element("客户姓名"); //创建元素 生成JDOM树

document.getRootElement().addContent(element0);

for (i=1; i〈=numberOfColumns;i++)

{ String date=new String(rs.getString(i).getBytes("ISO-8859-1"),"gb2312");

//代码转换

Element element=new Element(rsmd.getColumnName(i)).setText(date);

element0.addContent(element);

}

}

rs.close(); //关闭结果集

stmt.close(); //关闭statement

conn.close(); //关闭连接

XMLOutputter outp = new XMLOutputter();

outp.output(document, new FileOutputStream("d:data.xml")); //输出XML文档

out.print("XML 文档生成完毕!");

%〉

……

这样获得数据表转换的XML文档。

4.2 利用XSL样式表来转换XML文档

XML本身只专注于定义内容数据,为了能够浏览数据内容,就要使用另一种机制来描述XML元素。在转换XML数据时,可以采用CSS和XSL两种样式表语言来转换。这里是使用XSL样式表来进行转换。XSL的全称是eXtensible Stylesheet Language,即可扩展样式语言。XSL由两部分组成,即数据转换语言XSLT和数据格式化语言。XSLT结合Xpath的功能把电子商务中的XML文档数据转换成按照指定格式的HTML网页,提供用户浏览。

再用XSLT样式表对XML文档进行转换时,XSLT处理器首先去寻找与XML文档根节点相匹配的模板,因此,每一个XSLT样式表都会有一个应用到根节点的模板,关键代码:

<? xml version="1.0" encoding="gb2312"?>

<!-- XML文件头-->

<xsl:stylesheet version="1.0" xmlns:xsl="/1999/XSL/Transform">

<!―应用到根节点的模板-->

<xsl:template match="/">

<!--输出形式-->

<html>

<head><title>客户信息</title></head>

<body align="center">

<p>客户基本信息<br/><br/>

</xsl:template>

<xsl:template match="customer">

<xsl:value-of select="name" /><br/>

<xsl:value-of select="id" /><br/>

<xsl:value-of select="address" /><br/>

<xsl:value-of select="email" /><br/>

</p>

</body>

</html>

<!--输出形式结束-->

</xsl:template>

</xsl:stylesheet>

5 结束语

本文从研究电子商务信息的角度出发,把数据库的存取、数据的转换和数据表示有效分离开来,形成了良好的三层服务器体系机构,同时利用XML文档的平立性,使网络应用更易于维护和扩展。

参考文献:

[1] 顾兵. XML实用技术教程[M].清华大学出版社,2007.

[2] 吴洁. XML应用教程[M].清华大学出版社,2007.

[3] 邓子云,燕锋. JSP网络编程从基础到实践(第二版)[M].2007.