商务参考体系结构:企业对消费者 (B2C电子商务实践) 第 5 章:实现概述

本文主要是介绍商务参考体系结构:企业对消费者 (B2C电子商务实践) 第 5 章:实现概述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

商务参考体系结构:企业对消费者

第 5 章:实现概述
Microsoft Corporation
2001年5月

摘要:“Microsoft 商务参考体系结构:企业对消费者”提供了可重复使用和可定制的组件,可用于加快大中型企业的电子商务解决方案开发过程。本章概述了完全理解代码所需的知识,同时还简单介绍了此应用程序的组件。

后面的章节将深入讲解代码的具体方面,以及代码开发过程中遇到的具体实现问题。

简介

正如“开发人员指南”(英文)的第一部分所介绍的那样,“Microsoft 商务参考体系结构:企业对消费者”提供了可重复使用和可定制的组件,可用于加快大中型企业的电子商务解决方案开发过程。Microsoft 商务参考体系结构:B2C 解决方案由一些经过工程处理的代码组件组成,开发人员可利用这些组件来构建使用 Microsoft® Windows® 2000 Server 操作系统和 Microsoft® .Net Enterprise Server 产品(如 Microsoft® Commerce Server 2000 和 Microsoft® SQL Server 2000)的 B2C 零售网站。

该指南的第二部分面向应用程序开发人员和所有其他想学习使用 Microsoft 技术来构建电子商务解决方案的人。这一部分包含对此应用程序及其组件的初步概述和组件指南,并深入讨论了在其开发过程中遇到的实现问题。

实现功能

在参考体系结构应用程序中实现的 ConsolidatedRetail.com 站点包括电子商务解决方案中的许多常见功能。有关应用程序业务需求的完整说明,请参阅“开发人员指南”的第一部分。

建议的背景知识

要理解代码功能的详细信息,本文读者应具备以下知识:

  • ASP: 开发人员应了解如何使用 Microsoft® Visual Basic® Scripting Edition (VBScript) 来创建 Active Server Pages (ASP)。这包括了解核心 ASP 对象,并能实例化和使用组件对象模型 (COM) 和 COM+ 组件。此应用程序使用的大量代码都是 ASP 代码。

  • XML: 在此应用程序中,大量地使用了可扩展标记语言 (XML) 作为在应用程序组件之间传递数据的方法。开发人员应熟悉 XML,包括基本语法、架构和结构。某些代码利用 XML 文档对象模型 (DOM) 来对 XML 内容进行语法分析。

  • XSL: 要理解用户界面是如何工作的,开发人员需要充分掌握可扩展样式表语言转换 (XSLT)。

  • Microsoft Commerce Server 2000 及其对象: Commerce Server 是一个复杂的系统。因此,尽管此应用程序和文档提供了一些有关如何使用该系统的指导信息,开发人员还是应参阅 Commerce Server 文档,以熟悉 Commerce Server 的功能和组件。

  • SQL Server: 尽管此应用程序大量地使用了 SQL Server,但是大多数实际数据库存取操作仍然隐藏于幕后,需通过 Commerce Server 对象提供的抽象层来执行。不过,要真正了解数据的访问和存储方式,开发人员应仔细研究由 Commerce Server 在后台维护的表和存储过程。

  • Visual C++:为了获得最佳性能,此应用程序的自定义 COM 组件是使用 Microsoft® Visual C++® 开发系统编写的。虽然要从参考体系结构中获取有价值的信息并不需要完全理解组件的内部工作原理,但如果要完全理解其工作原理,则需要 C++ 技能。

有关为何选择这些技术的信息,请参阅“开发人员指南”的第一部分。

技术概述

以下各小节简单介绍了参考体系结构应用程序中是如何使用每项核心技术的。

ConsolidatedRetail.com 解决方案中的 XML

该解决方案是通过一个 Commerce Server 2000 站点来实现的。该站点使用 SQL Server 2000 进行数据存储;使用 Commerce Server Object Library 进行管理。该站点本身使用 XML 来表示网页的内容,并使用 XSL 样式表将内容转换为适合 Web 浏览器的超文本标记语言 (HTML)。使用一个 Internet 服务器应用程序编程接口 (ISAPI) 应用程序过滤器对 XML 进行处理,并应用必要的 XSL 转换。使用这种方法,可以轻而易举地将解决方案扩展到其它类型的客户端,而不必用 ASP 重新编写业务逻辑。

Microsoft 已经承诺采用 XML 作为分布式计算环境中传递结构化内容的标准。针对这种情况,商务参考体系结构代码在整个解决方案中都采用了 XML。使用 XML 的示例包括:

  • 从 PASP 脚本生成 XML 输出,然后用 XSLISAPI 过滤器进行 XSL 转换:实现解决方案站点前端功能的预处理 Active Server Pages (PASP) 脚本使用 XSLISAPI 过滤器来生成 XML 格式(而不是 HTML 格式)的输出。这使内容及其表现方式进一步分离。由这些 PASP 页生成的 XML 通过 XSL 样式表进行转换。有关如何使用 PASP 和 XSLISAPI 过滤器的详细信息,请参阅 XSLISAPI 过滤器文档,该文档可从 Microsoft 网站下载。

    注意:参考体系结构应用程序代码中使用了 XSLISAPI 过滤器的自定义版本 (XSLISAPI2.dll)。该版本不能从 www.microsoft.com 下载;不过,公共版(XSLISAPI.dll, 2.1 版)的文档也适用于自定义版本。

  • 从商务组件输出 XML:许多 Commerce Server 2000 对象可以使用 ActiveX 数据对象 (ADO) 或 XML 格式传递记录集(例如,产品列表)。在可能的情况下,ASP 脚本代码从商务对象请求 XML 格式的信息。

使用 ASP 编写前端脚本灵活自如

在 Microsoft 平台上,对于大多数基于 Web 的应用程序开发,驱动 Web 前端的代码都是通过使用 VBScript 编写的 ASP 文件执行的。将 ASP 用于 Web 编程的主要原因是它提供了灵活简便的开发。在迅猛发展的电子商务领域,能够迅速改变站点的外观或基本前端功能非常重要。

脚本语言的解释执行方式让编程人员和设计人员能够迅速改变站点的功能,而不必经历冗长的编译过程:您只需保存源文件,即已改变程序。不过,应该注意的是,为了获得最佳性能和可伸缩性,主要业务处理任务都是通过组件(由 Commerce Server 提供或自定义构建)来执行的。

商务参考体系结构 B2C 解决方案代码在 ASP 编程中加入了新的变化,使用 XSLISAPI 过滤器的功能将内容表现方式的生成与内容分离开。即:预处理的 Active Server Pages (PASP) 脚本不直接生成 HTML 内容,而是生成 XML 输出,然后再由 XSL 样式表将 XML 输出转换成正确的显示格式。这种转换可在服务器或客户机(若客户机具备此能力)上进行,从而缓解了 CPU 的工作压力。

Commerce Server 组件

Commerce Server 2000 为站点开发人员、系统管理员和业务经理提供了一套相当丰富的工具,可用于开发、部署和管理 Web 商务应用程序。与任何功能强大的大型软件系统一样,Commerce Server 提供的功能之强,范围之广绝对会将让您无所适从,除非您熟悉该系统。参考体系结构为自己提供了一个适当的定义:它是一个设计合理、说明充分的小型电子商务应用程序,显示了许多在用的 Commerce Server 对象。虽然没有用到 Commerce Server 的每一个功能,但参考体系结构 B2C 代码演示了如何实现以下功能:

  • 设置边界,划定哪些内容和操作可由匿名用户访问,哪些可由通过验证的用户访问。

  • 不依赖于引入服务器会话相关性的方法,保持用户的会话状态;并在跨越匿名访问和通过验证的访问之间的边界时,保留会话信息。

  • 创建产品目录,浏览目录层次,并通过目录显示产品的详细信息。

  • 在不要求验证的情况下,允许顾客将自己要买的产品收集在一起(使用购物车这一比喻)。

  • 存储和检索用户配置信息,这样,用户在以后访问时,就不需要重新输入这些信息。

参考体系结构应用程序中所用的 Commerce Server 2000 对象在本指南的以后各章中列出。

数据层中的存储过程

此应用程序没有编写任何自定义存储过程。SQL Server 上 Commerce 数据存储区中的所有存储过程都是由 Commerce Server 创建的,用于为许多 Commerce 对象提供数据访问功能。

用于输入检查的客户端脚本

此应用程序的用户界面使用客户端 JavaScript 代码,在多处进行输入验证。客户端脚本的功能并不十分复杂,而且在一定程度上与应用程序的核心功能并无多大关联,因此,本指南不对这些脚本进行详细介绍。

总结

本章介绍要充分利用本指南所需要的背景知识。另外,还简要概述了构成参考体系结构应用程序(ConsolidatedRetail.com 应用程序)的组件。下一章“解决方案指南”详细介绍代码组件,提供代码示例,并提供了指向其它信息的链接。



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=5786


这篇关于商务参考体系结构:企业对消费者 (B2C电子商务实践) 第 5 章:实现概述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/835950

相关文章

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Java枚举类实现Key-Value映射的多种实现方式

《Java枚举类实现Key-Value映射的多种实现方式》在Java开发中,枚举(Enum)是一种特殊的类,本文将详细介绍Java枚举类实现key-value映射的多种方式,有需要的小伙伴可以根据需要... 目录前言一、基础实现方式1.1 为枚举添加属性和构造方法二、http://www.cppcns.co

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

Java实现时间与字符串互相转换详解

《Java实现时间与字符串互相转换详解》这篇文章主要为大家详细介绍了Java中实现时间与字符串互相转换的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、日期格式化为字符串(一)使用预定义格式(二)自定义格式二、字符串解析为日期(一)解析ISO格式字符串(二)解析自定义