进入旧版 | 服务项目 | 成功案例 | 联系方式 | 过客留言 | 友情链接
   
设为首页
加入收藏
联系我们
网站首页 | 新闻资讯 | 操作系统 | 办公软件 | 网络软件 | 工具软件 | 媒体动画 | 网页制作 | 网站开发 | 程序开发 | 平面设计
Photoshop视频教程 | Word入门 | Flash入门 | JScript | VBScript | ASP | PHP | ADO | 网页特效 | 3DS MAX6.0命令 | 系统进程
您当前的位置:GOODSGY电脑学习网 -> 网站开发 -> XML/SOAP -> 文章内容  
电子商务应用体系结构分析


  我们这里来讨论一个完整的基于Internet的销售系统的构建,假设你是一个系统的设计者,你需要设计一个系统在最终客户、商品提供者和商品运送者之间建立桥梁,也就是说最终客户可以通过网络找到相应的商品提供者和运送者并下订单,以后所有的事情就由系统负责解决,比如把订单分别发送给商品提供者和商品运送者,并且接受它们要求更新和维护系统数据的请求。对这么一个系统,我们还有如下的一些要求。

  1. 它必须是一个通用的程序能够使用各种类型的数据。

  2. 它可以很方便的添加新的商品

  3. 供应商之间可以采用不同的硬件和软件平台进行通讯

  4. 完全基于浏览器实现

  实际上,在系统包括两种类型的供应商和各种客户,这两种类型是数据提供者和订货完成者。作为数据提供者,它关心网站的内容,比如,一个数据提供者负责提供一个可以出售的书籍的目录。他需要保证来自不同出版社的数据是同步的、最新的和正确无错误的。订货完成者需要确保货物被发送到客户处,这包括确定被订购的货物是否在仓库中有货、管理运货过程,把货物交到用户手中。作为客户的角色是当他们浏览网站的时候,需要找到合适的供应商和货物发运商并下订单。下面是系统的体系结构图:




  在构建系统的时候,我们需要注意以下几点。

  1. 需要在客户、数据提供者和订货完成者之间提供一个统一的术语的用法

  2. 不管合作伙伴使用什么样的硬件或者软件都能够进行通讯

  因为实际上所有合作伙伴之间的通讯都是通过XML文档来进行的,而且XML标准是和软硬件无关的,所以只要双方都基于XML标准来定义数据的话,他们之间的信息交换就可以独立于不同的软硬件环境。

  在构建了系统的体系结构以后,我们需要来定义XML文档的数据结构,我们需要确定的XML文档有以下几种:

  1 对信息内容的请求,发送给数据提供者(比如用XML列出所有的书籍)

  2 站点信息内容内容,来自于数据提供者(比如这是用XML列出的所有的书籍)

  2 运货指令,发送给订单完成者(比如把这些书发送给令狐冲先生)

  2 运货确认,来自于订单完成者(比如,令狐冲先生将能够收到他订的三本书中的两本)

  当文档定义完成以后,下一步就是对需要交换的信息进行处理。当然,对XML文档内容的定义是关键的,它确保了所有的合作伙伴能够阅读并理解其他合作伙伴发送过来的内容。实际上,DTD提供了对文件格式进行定义的机制,我们可以通过XML解析器对文档合法性(validity)的检查来确认它是否符合DTD标准。当然另外一种选择是采用Schema来定义文档。这里我们决定采用DTD标准来定义文档格式,在决定采用DTD定义文档格式以后,你还可以决定是采用标准的DTD(在公共领域已经发表的关于某一行业数据交换的标准的DTD)还是创建自己的DTD。当然标准的DTD相对结构比较复杂,如果你的应用相对比较简单的话,你可以创建自己的DTD。需要注意的是,当你创建完DTD以后,你需要让你的所有合作伙伴都遵守这个标准。这里我们采用自己建立DTD标准的形式。

  我们建立的DTD标准如下所示:

  <?XML version="1.0" encoding="GB2312"?>
  <!-- edited with XML Spy v3.5 NT (http://www.XMLspy.com) by HZH (worldcompany) -->
  <!ELEMENT 图书集合 (书+)>
  <!ELEMENT 书 (标题, 作者, 价格)>
  <!ELEMENT 标题 (#PCDATA)>
  <!ELEMENT 作者 (#PCDATA)>
  <!ELEMENT 价格 (#PCDATA)>
  <!ATTLIST 书 id ID #REQUIRED>

  一个典型的书籍清单的例子如下:

  <?XML version="1.0" encoding="GB2312"?>
  <?XML-stylesheet type="text/xsl" href="http://www.blue1000.com/article/displayproducts.xsl" ?>
  <!DOCTYPE 图书集合 SYSTEM "B2BDTD.dtd">
  <图书集合>
  <书 id="S001">
  <标题>ATL开发指南</标题>
  <作者>Tom Armstrong</作者>
  <价格>56</价格>
  </书>
  <书 id="S002">
  <标题>Inside Server-Based Application</标题>
  <作者>Douglas J.Reilly</作者>
  <价格>98</价格>
  </书>
  <书 id="S003">
  <标题>Understanding and Programming COM+</标题>
  <作者>Robert J.Oberg</作者>
  <价格>55</价格>
  </书>
  </图书集合>

其显示结果如下:




  当我们已经完成关于文档标准的定义以后,你接下来的工作就是处理你的文档,我们在前面已经提到过有两个解析XML文档的技术,DOM和SAX。同时可以用XSL对文档进行装饰,当然采用XSL的话,你需要考虑模式和模板问题。模式定义了你的XML文档需要处理的元素,模板实际上是一段代码用来决定如何在XML文档中选择XML元素。比如,你可以编写一个XSL文档来获取XML文档中所有的客户资料,然后再通过一系列的模板来决定显示格式(比如以表格或者树或者文字形式显示客户信息)。

  我们可以采用XSL把XML从一种形式转化成另一种形式,这样即使合作伙伴采用的XML文档格式不一样的话,也可以采用XSL来进行转化。同时,利用XSL,我们可以把XML文档转化成HTML格式,这样,用户的浏览器只要支持HTML显示的话,就可以看到相关内容。

  当然,XML文档需要被解析器(DOM)进行处理,并生成一系列的对象。一旦一个XML文档被表达成一系列的对象以后,你就可以把文档当成是一个对象的集合,然后你就可以方便的从文档中提取元素和属性,重新创建新的XML文档。实际上如果你使用微软的MSXML解析器的话,你就可以在XSL剧本中使用DOM解析器。

  同时我们可以看到,我们放到XML中的数据都是从关系数据库中提取的,在理想的情况下,我们最好是对数据库能发出一条SQL命令,然后数据库给我们返回一个用XML表示的文档,然后你就可以直接把这个文档发送给你的合作伙伴,而合作伙伴收到该XML文档以后,可以把它直接倒入到数据库中,并更新数据库记录。如果这种理想情况不能达到的话,我们可以用一个XML解析器来处理XML文档,然后用XSL进行转化,把它变成另外一种形式发送给系统中的其他组件。当前许多数据库都提供了用XML格式来表示结果,这样你就很容易把数据结合到以XML为基础的应用中去,实际上Oracle8i和微软的SQL SERVER 2000都支持XML。

  另外一种从数据库中产生XML文档的方法是使用ADO对象,ADO允许你把记录结果集转化为XML文档的形式。事实上,如果你使用ADO2.5的话,你可以在内存中操作XML数据,比如,我们的应用程序使用ADO来产生XML文档,并把它作为发送给其他合作伙伴的XML文档的一部分。由ADO产生的XML文档包含了从我们数据库中提取的数据,因为我们的文档是以元素为基础的,所以可以使用XSL把XML文档转化成我们所需要的格式。

  在数据的定义、准备、交换和传输都搞定以后,我们需要集中来考虑如何显示XML的问题。实际上,合理的显示结果数据是应用程序的一个重要部分。因为我们的应用是基于Internet的,我们希望我们的应用能够完全基于浏览器进行工作,一般有三种方法来显示XML数据。

  1 发送一个XML文档到客户端,让客户端从事数据的提取和显示工作,这样这种Web客户端就必须支持对XML的解析。

  2 发送XML文档到客户端的同时,也发送一个XSL文档可以让客户端知道XML文档显示的格式。

  3 在服务器端进行数据的转化,发送一个标准的HTML文档到客户端

  前两个方法的好处是我们把任务交给客户端去处理,这样就降低了服务器的负荷,而且可以允许客户端对数据进行排序和筛选,主要的缺点就是要求客户端要支持XML。如果考虑程序的通用性,我们一般选择第三种方法。这种XML到HTML的转化可以在ASP中进行,也可以在JSP中实现。我们也可以使用CSS来显示XML,但是这样做有一些缺陷,比如不能使用CSS来显示属性值,最好的办法是用XSL把XML文档转化成HTML文档,然后使用CSS来精确调治HTML的显示。这样你就可以同时用到CSS和XSL的优点。具体的XSL的代码如下:

  <?XML version="1.0" encoding="GB2312" ?>
  <xsl:stylesheet XMLns:xsl="http://www.w3.org/TR/WD-xsl">
  <xsl:template match="/">
  <HTML>
  <head>
  <title>产品列表</title>
  </head>
  <body>
  <p><font size="10">产品列表</font></p>
  <hr />
  <xsl:apply-templates select="/图书集合" />
  </body>
  </HTML>

  </xsl:template>

  <xsl:template match="图书集合">
  <table width="90%" border="1">
  <thead>
  <td>标题</td>
  <td>作者</td>
  <td>价格</td>
  </thead>
  <xsl:for-each select="书" order-by="标题">
  <tr>
  <td><xsl:value-of select="标题" /></td>
  <td><xsl:value-of select="作者" /></td>
  <td><xsl:value-of select="价格" /></td>
  </tr>
  </xsl:for-each>
  </table>
  </xsl:template>
  </xsl:stylesheet>

  采用XSL以后的显示结果如下:




  最后我们需要讨论一下在开发需要用到的一些相关的工具,使用XML的一个优点就是它的相关工具是很多的。一个重要的工具就是XML解析器,XML解析器使具体编程人员就不需要处理XML文档复杂的结构,只需要通过调用适当的函数来进行XML的解析,通过把一个XML文档解析成一系列的对象,XML解析器可以允许你使用标准的对象技术来操作一个文档,这主要是通过方法、属性和集合实现的。根据我们前面的章节,我们知道,实际上存在很多的XML解析器,而且它们都是免费的,其中包括IBM的XML4J,微软MSXML,SUN的PROJECT X和ORACLE的关于JAVA的XML解析器。在选择解析器的时候,你需要考虑下面的因素:

  1. 你使用的软件平台

  2. 你是否需要解析器严格遵守W3C的标准

  3. 解析器执行性能的好坏,这个当文档非常大的时候,就非常关键。

  在实际应用程序设计过程中,我们需要考虑的其他工具有:

  1. DTD和Schemas编辑器,这些工具可以使XML DTDs或者Schemas的生成变得非常简单(一般都是以图形化的格式产生)

  2. XSL编辑器,这些工具能够帮助你创建XSL文档,把一个XML文档转化成另外一种格式。

  3. XML编辑器,比如XML Spy,这些工具帮助你迅速的创建无错的格式规范的文档。

  4. XML浏览器,用来浏览XML文档,支持XML的浏览器有微软的IE5.0以上版本和NETSCAPE6.0以上版本。

  这些工具使开发XML应用变得相对比较简单,无论是设计DTD或者是Schema文档还是创建格式转化文挡XSL。



在百度中搜索:电子商务应用体系结构分析
在Google中搜索:电子商务应用体系结构分析
在Yahoo中搜索:电子商务应用体系结构分析

收藏到网摘:新浪VIVI 365key 我摘 POCO网摘 博采中心 YouNote 和讯网摘 天天收藏
[] [返回上一页] [打 印] [收 藏]
上一篇文章:基于XML的桌面应用

 相关文章    最新文章
· 用于语音、电子邮件、宏等的Office按键
· 黑客技术 详解电子书(CHM)木马病毒
· 精准攻击 黑客利用电子邮件实施破坏
· [图文] 用WPS表格制电子单词默写本送哈韩M..
· [组图] Flash制作声情并茂的电子相册
· [组图] Flash MX2004入门与进阶实例:11.2 ..
· [组图] DW MX实例:制作电子相册
· [组图] 教你用Dreamweaver制作电子相册
· Dreamweaver电子邮件表单的制作
· [组图] 一步一步打造属于自己的电子杂志
 
· XML和XSLT结合进行网站设计
· 网页教程:XML技巧五则
· XML语法概述
· XML轻松学习手册
· XML 中的常见问题(3)
· XML 中的常见问题(2)
· XML 中的常见问题(1)
· 用XSLT生成网页菜单(2)
· 用XSLT生成网页菜单(1)
· 将改变我们生活的这些XML应用之二

∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论…]
站内搜索

精彩图文
  网站导航  
操作系统 办公软件 网络软件
Vista Windows2003 WindowsXP Windows2000/NT Windows9X/ME Linux 其他 Word Excel Powerpoint Outlook 金山系列 其他 网页浏览 上传下载 联络聊天 邮件工具 服务器软件 网络辅助
工具软件 媒体动画 网页制作
系统工具 媒体工具 压缩工具 图文处理 文件管理 其他 3DMAX Authorware Director Maya 视频处理 其他 Flash Dreamweaver FireWorks FrontPage LiveMotion Golive HTML/CSS 其它
网站开发 平面设计 程序设计
ASP JSP PHP CGI JavaScript VBScript XML/SOAP Web服务器 Photoshop PhotoImpact CorelDraw Illustrator Freehand 设计欣赏 其他 VB VC .NET C/C++ DELPHI JAVA

冀ICP备05019428号
Copyright © 2004-2008 电脑学习网 Inc.All rights reserved.
TEL:13832340607
QQ:39873155
E_Mail:goodsgy(#)hotmail.com   (把(#)替换成@)
MSN:goodsgy(#)hotmail.com   (把(#)替换成@)