科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件商业逻辑层

商业逻辑层

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

毋庸质疑的是业务服务层是系统最重要、最复杂、也最核心的部分,用户服务层的工作实际上可以理解为是界面的设计和表示,更多的是美工方面的工作......

作者:胡朝晖 来源:yesky 2007年10月26日

关键字: Windows

  • 评论
  • 分享微博
  • 分享邮件
5. 对从不同零售商那里得到的XML文档进行汇总、整理和格式化,注意我们可以让用户选择以不同的格式化的形式返回结果,最简单的就是把XML文档嵌入到HTML文档中,这样浏览器就不会对XML文档进行解析,XML文档就原汁原味的被返回到用户处,另外一种就是用XML+CSS的方式返回结果,第三种方式就是通过XML+XSL的方式返回结果,最后一种方式就是先在服务器端把XML转换成HTML,然后再把转换后生成的HTML返回到用户处。

  基本的业务操作流程就是这样的,下面我们需要讨论一些实现的细节方面的问题。

1.函数BuildURL的分析

  函数BuildURL的作用是基于用户的请求,生成一个请求命令(用HTTP POST方法发送请求)到不同的零售商处,所以这里问题的关键是要构造一个QueryString字符串。生成的QueryString字符串的形式如下:

  http://WebServerName1/VendorDealXML1.asp?价格=20000&磁盘=4&监视器=15&CPU=300&内存=16&操作系统=Windows+98&鼠标=机械式&光驱=CDROM

2.VendorDealXMLx.asp文档实际上是由不同的零售商自己实现的,该文档对传进来的参数进行分析,并和数据库进行交互(这是数据服务层的内容,我们在第五部分有详细的描述),然后返回一个符合DTD定义的标准的XML文档。关于DTD的定义,在后面也有相关的说明。

3.函数AddXMLBody的分析

  函数AddXMLBody的作用是从所有的零售商处得到查询的结果,并对结果进行合并,这个函数通过解析XML树的方法进行递归操作。这里的一个问题是为什么我们要解析返回的XML,然后在构建新的XML文档呢?首先,通过解析器我们可以验证从零售商处得到的XML文档的格式是否是正确的,其次,它可以保证零售商产生的XML文档没有其他和我们应用中无关的元素,第三,它可以使我们对零售商的XML文档进行方便的操作处理。对XML文档进行解析的基本流程可以用下面的伪代码表示:

  遍历根节点下面所有的子节点

  如果子节点不是一个元素节点(element node)的话,就跳过它得到子节点的属性

  增加元素的开放标签(opening element tag)到strXML字符串中遍历该子节点下面的孩子节点

  如果该子节点是一个文本节点的话保存它的值并退出循环

  结束遍历

  用子节点作为参数调用AddXMLBody,这是一个简单的递归操作.

  增加所有的文本节点到strXML中去

  增加所有元素的关闭标签(closing element tag)到 strXML

  结束遍历


4. 在结束对零售商的XML文件的分析以后,最后的任务是发送结果到用户处。在发送结果到客户端前,我们需要确定显示的表示形式。事实上,商业服务层应用能够格式化对零售商返回的查询结果,并通过几种方法呈现给用户。

  首先,它可以使用平常的文本来显示XML。

  其次,业务层也可以把XML代码包含在HTML中,这样浏览器就不会解析XML代码。

  另一种选择是使用CSS来格式化XML文档,当然它没有用XSL功能强大。XML指定stylesheet 处理命令如。这样XML和CSS文档被发送到了用户的计算机上,不幸的是,对IE浏览器来说,引用CSS文档的静态的XML文件虽然能够正常工作,但是如果XML是用ASP动态创建的化,CSS文件将不能和XML文件一起被发送到客户端。所以为了解决这个问题,你可以使用XSL在客户端来格式化XML,XML指定stylesheet 处理命令如:。这样XML文档和XSL文档被发送到用户的计算机上,你也可以用transformNode函数在服务器端用XSL格式化XML文档,这样发送给用户的实际上就是HTML文档了,这样做的好处是不支持XSL的浏览器也能够正常显示结果。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章