UML软件工程组织

Web 解决方案平台
作者:Keith Hamilton

摘要:本文提出一种用于整合任务的 Web 解决方案平台,该平台可通过客户信息、内容管理和商业智能(Web 分析)提供 Web 解决方案,从而进一步改进客户关系管理 (CRM)。

本页内容
简介 简介
关键设计原则 关键设计原则
平台 平台
商业智能 商业智能
操作体系结构 操作体系结构
小结 小结

简介

Web 已经伴随我们走过了十几个春秋,但是至今也没有一种统一的平台支持 Web 开发。由于缺少组与组之间、解决方案与解决方案之间的标准化,大多数解决方案都是针对具体问题的一次性方案,因此集成性不好。尽管有些公司已经开发出特定于 Web 的基础结构,但仍然存在这类问题。这些公司不能将自己的解决方案与其他平台集成,因此继续实施和扩展这样的解决方案代价将很昂贵。

如果在构建、部署、操作和分析 Web 站点时可以使用一组通用的服务和组件,这无疑会为整个行业带来巨大的好处。使用这种平台可以促进 Web 解决方案开发和操作的标准化。这样一来,解决方案开发人员就可以将注意力集中于 Web 解决方案而不是基础结构上,从而简化构建功能丰富的 Web 站点所需的开发工作。

这必然会降低开发和操作成本,轻松地为 Web 站点提供通用的外观显示,不过更重要的是可以提供详尽的分析。Web 应用程序与典型的 Office 或 Windows 应用程序差别很大。具体而言,Web 应用程序一般通过外部网络与客户进行交互。从这种意义上说,它是客户关系管理 (CRM) 的关键所在。但人们往往忽略了 Web 应用程序的这个方面,因而也就没有一个平台对此予以支持。本文提出的平台不仅包含大量的 Web 组件,而且包含深入的挂钩来跟踪用户行为,以便 Web 站点可以动态地适应用户。那么,用户是开发人员还是最终用户?用户采用什么样的路径?他们查找信息又有多容易?

该平台通过三个主要功能回答上面这几个问题:客户信息、内容管理和商业智能(Web 分析)。这三个功能允许我们存储和分析用于自定义用户体验的客户角色。


图 1. Web 解决方案平台的主要功能

本文建议的平台与解决方案无关,它不特定于 microsoft.com 站点或任何其他的站点。理想情况下,这种平台可以转化为软件产品,交付给 Microsoft 客户用于构建高端 Web 站点。

返回页首返回页首

关键设计原则


图 2. 概念性体系结构

该平台由核心服务、数据和商业智能 (BI) 组成,开发人员可以通过这三个部分构建解决方案。其中,核心服务是一组扩展后的 .NET Framework 类库。

元数据驱动平台

理想情况下,我们应该能够分离内容、类型、逻辑和其他层次。为完成这些任务,该解决方案将广泛使用元数据。例如,通过模板(也是一种元数据)来显示站点。那么更改模板将改变整个站点的外观显示。然而,该任务涉及的不仅仅是 CSS 类型的功能。元数据驱动的用户界面 (UI) 还允许您根据用户角色(例如,销售或开发)、控件布局、设备(例如,智能电话或 PDA)、授权方式等(Metadata-Driven User Interfaces,John deVadoss)自定义屏幕。无需在表示层重新部署组件也是其优点之一,因为这在中央存储库中已经完成。

所有配置信息以及 UI 信息都保存在一个元数据存储中。这些配置信息包括事件发布/订阅信息、本地化和权限(访问网站各个部分的权限、内容权限、浏览客户信息的权限和管理权限)。目前使用配置文件来保存配置信息;一旦发生更改,必须访问包含这些文件的所有目录来重新设置。丢失其中一个文件就可以(甚至必然)导致部署失败。而中央存储则消除了这种情况的发生,从而大大地提高了灵活性、可管理性、可部署性和安全性。

返回页首返回页首

平台

该平台包含一个用于构建 Web 解决方案的服务和内容类库。其中的类是对 .NET 类库的扩展,而且这些类本身就允许开发人员对其进行扩展,使之成为辅助的管理工具。

该平台还包含一个功能丰富的基类集,开发人员可以使用它来构建 Web 组件和 Web 解决方案。该基类集包含用于上下文、表示、安全、下载、搜索、通知、事件发布/订阅、管理等方面的通用服务类。


图 3. 平台体系结构

元数据存储

元数据存储是一个保存该平台所有配置数据的中央存储库。随着 Web 站点的发展壮大,一个 Web 场中可能需要多个服务器,拥有中央元数据存储可以简化配置管理工作,减少可能发生的潜在错误。

元数据存储可以保存不同平台组件的所有配置数据和事件系统的路由数据。还可以保存站点的显示模板。该平台具有使配置管理工作更为直观的工具,以及自动化该过程的脚本界面。

Web 服务器将使用缓存技术来访问元数据,这显然是考虑到性能的缘故。

数据存储

所有数据(包括,客户信息、内容、元数据、事务等)都贮存在数据层。事实上,解决方案并不直接与数据进行交互。而是通过位于数据存储顶层的类来公开面向对象范例中的数据,并公开数据之间的关系(例如,一个给定的知识库文章与哪些下载关联)。例如,真正的客户数据可能存储在 SQL 中,但是将以更高级的对象形式来访问这些数据。举例来说,创建一个 customer 实例,并为其传递一个键值以创建一个自定义页面。因为解决方案将数据视为对象并且从不亲自浏览查询,所以即使更改下层存储、结构等,也绝不会影响上层的解决方案。这样,解决方案就可以通过其具有的特定于解决方案的属性扩展基数据类,并通过表示层完美地显示出来。

基本服务

基本服务是一组扩展的 .NET Framework 类库。类库是访问数据存储中所有数据时使用的方法,也用于访问构建 Web 解决方案所需的通用功能。由于不允许解决方案直接访问下层数据存储,因此一个主要的功能就是为数据存储中的数据提供一个对象抽象。

Web 解决方案还有许多其他的常见功能。这些功能包括文件下载、用户通知、事件发布/订阅、用户状态、地域、调用上下文、搜索等。该平台不但实现了这些功能,还实现了其他可分解的常见功能。解决方案开发人员可以将精力放在解决方案的逻辑上而非基础结构上。

平台的 Web 组件

在 Microsoft Visual Studio 中有一个用于构建 Windows 应用程序的对象调色板,与此类似,该平台也提供与基础类库相关的常见 Web 组件,这些 Web 组件用于构建 UI、内容引用、图表、下载和搜索等 Web 解决方案。除此之外,使用包含 Visual Studio 外接程序的工具,可轻松地将 Web 组件拖放到应用程序,从而快速构建 Web 解决方案。

解决方案的 Web 组件

解决方案开发人员可以构建一个属于自己的 Web 组件存储库,以便轻松地构建特定于 Web 的解决方案(因为它们是可扩展的)。

显示框架

如前所述,显示功能是通过使用 UI 模板来完成的。您可能希望每个站点都具有统一的外观显示。就企业网站而言,需要的通用元素有很多:版权、法律权利、徽标、搜索及其结构位于解决方案本身控件之外的其他内容。使用模板时,每个核心存储模板都具有一定的区域布局,因此解决方案开发人员可以为定义好的类型编写内容,而不必为预定义结构烦恼。这样可以消除不一致性,简化维护工作。

除此之外,该框架还可以通过商业智能 (BI) 检测用户的角色,在其角色的上下文内为用户提供更多合适的跳转点、链接等。如果了解个人用户之前的个体行为,或者更广泛意义上的角色行为,您就可以动态地调整他们的体验。您也可能不希望解决方案开发人员拥有这些权限。

因为基本的 UI 模板是由站点管理员控制的。

安全管理

安全管理应用于运行时和授权时。控制用户访问解决方案代码及其内容的权限很重要。为 Web 站点配置元数据以及控制预生产和生产中的版本时,操作管理需要与之相同的安全级别。生产支持会使用安全管理来控制访问 Web 站点的用户。只要使用在该平台和解决方案对象中随调用堆栈变动的上下文对象,即可通过类库将此安全管理功能公开给解决方案。

为了将授权内容的安全性与运行时安全性分开管理,安全管理使用一个委托管理模型。

工具

该平台提供跨越框架所有级别的工具。例如,如果有一个文件下载功能,将需要存储文件;但您可能还希望捕捉该文件的元数据,并将其放入元数据存储中。所有这些操作都需要独立的工具:一个下载工具和一个处理元数据的工具。

以下过程中可能需要使用工具:

开发解决方案:

扩展 VS。

简化基本服务类库和平台 Web 组件的使用。

与 SQL 集成以便自动化数据存储扩展的管理过程。

内容管理:

创作内容并管理其标记。

配置管理:

在元数据存储中管理解决方案配置。

管理显示模板。

操作:

管理 Microsoft Operations Manager 包。

商业智能:

管理执行的聚合定义。

返回页首返回页首

商业智能

商业智能 (BI) 是指分析 Web 站点活动以了解 Web 站点的有效性,从而更好地理解客户,使 Web 站点适应客户,并将所有这些信息与公司业务数据联系起来。商业智能 (BI) 进行 Web 分析的步骤主要有三个:

搜集所有 Web 活动。

分析这些数据反映的活动、趋势和关系。

使用和使用分析结果。


图 4. 商业智能体系结构

搜集

标准事件和特定于解决方案的事件由 Web 服务器搜集。事件订阅方式可以是本地、远程或二者兼而有之。事件内容可以是页面点击、页面上的用户操作或特定于解决方案的操作,如“给用户发送一封电子邮件”。用户每次可以点击不同的服务器,所以我们需要将来自同一个用户的不同事件作为整个 Web 站点的一个事件流进行搜集和处理。在这种情况下,每个收集器上处理一个事件订阅,整个 Web 站点为订阅者提供实时事件。而商业智能 (BI) 处理则持久保留事件,并在一定时间间隔内处理事件:例如每隔 20 分钟。这些事件可能持久保留在一个普通文件中,也可能分别保存在具体事件文件(页面浏览、点击、下载)中。

分析

Web 分析处理可根据各种筛选标准创建事件数据的大纲视图,例如:浏览页面的用户数量、浏览页面的频率、是否有返回用户在浏览页面等。Microsoft.com 网站具有的聚合有 100 多个。随后,这些聚合还将按照角色、区域等分类进一步分解,并放入报告系统。

统一后的文件仅由 SQL Integration Service 读取一次,其中定义了用于并行处理所有定义(聚合)的聚合。之后,结果直接在 SQL 中产生。

聚合定义以声明方式进行捕获。一条 SQL 语句就是一个声明形式的聚合:例如捕捉昨天点击给定页面的所有不同访问。或者您可能希望以用户访问站点的次数来估计不同用户的数量。但问题是,为了扩展压入的数据量,需要并行计算很多聚合,否则运行时所需的时间将以指数级增长。为此,SQL 集成服务提供了一个功能,该功能可以通过一轮数据并行执行多个聚合。随着分析数据量的不断增长,这将成为一个必备的功能。

使用

聚合根据其订阅信息发布给解决方的。您可以进行分析并循环利用站点的行为。例如,根据分析,对于某个给定个人或角色,存在一些合适的链接。与此同时,您还想提供为解决方案创建事件和聚合的功能,以及将结果回送给解决方案供其使用的功能。例如,MSDN 希望生成特定内容页面并使用这些页面的事件。这样,诸如最常浏览的页面等报告结果就可以直接发送回 MSDN。从而允许为用户提供某一给定知识库文章的“最合适”链接。而且您还可以从用户上下文和自述信息中提取对用户有用的信息。在浏览 Amazon 站点时就提供了这一功能,您可以在自己的页面中自定义一个名为“其他客户购买……”的部分。

商业智能 (BI) 结果的另一个重要应用是创建记录解决方案效率的记分牌。例如,我们如何了解 Microsoft 下载中心 Web 站点的效率?只计算页面浏览次数或下载次数并不能说明站点是否有效。对此作更深入的分析才能判定用户在找到他们所需的下载之前必须浏览多少个页面,只有了解用户完成下载要进行多少次尝试这样的重要信息,您才能判定网站的效率。将这些信息与失败的下载进行对比同样重要。使用商业智能 (BI) 结果来生成解决方案效率记分牌(像 Microsoft Office 业务记分牌管理器这样的工具),有助于商业用户更好地观察解决方案的效率高低。至于衡量解决方案效率的标准、需要搜集的规格和记分牌的外观显示,其定义随解决方案的不同而变化。

返回页首返回页首

操作体系结构


图 5. 操作体系结构

目前大多数 Web 操作通过使用日志和其他辅助解决方案的外部工具在服务器端完成。使用 Web 解决方案平台时,会自动将基本服务作为可管理性的辅助工具,但也可能产生作为性能计数器产生的特定于解决方案的事件。

这些挂钩事件将 Microsoft Operations Manager (MOM) 用作其默认的控制台,而该平台将使用一个 MOM 管理包来定义默认的警告和服务级别协议。

返回页首返回页首

小结

本文提出的平台支持构建、部署、操作和分析适合于用户的 Web 站点,因此在管理、扩展、维护和部署过程中存在的常见问题将不复存在。这种集成平台不仅可以封装开发人员需要重复编码的许多现存任务,而且可以使 Web 解决方案直接通过 CRM 和搜集的解决方案信息支持业务。构建这样的解决方案完全是触手可及的事情,而且这已经是姗姗来迟了。把握机遇吧,您将成为行业领跑者!


版权所有:UML软件工程组织