内容


使用 WebSphere Business Services Fabric v6.1 构建组合业务服务

第 4 部分:使用 Performance Manager 监视服务

系列内容:

此内容是该系列 # 部分中的第 # 部分: 使用 WebSphere Business Services Fabric v6.1 构建组合业务服务

敬请期待该系列的后续内容。

此内容是该系列的一部分:使用 WebSphere Business Services Fabric v6.1 构建组合业务服务

敬请期待该系列的后续内容。

Business Service Performance Manager 简介

什么是 Performance Manager

IBM Business Services Performance Manager 支持检查和监视面向服务的业务过程和应用程序。它提供多角度视图,允许对事件和异常进行向下钻取分析。

Business Services Performance Manager 提供无缝的互操作性以及先进的业务活动监视和 Web 服务管理工具,可以方便地监视面向服务的业务过程和功能。

主要功能

本节讨论 IBM Business Services Performance Manager 的主要功能,包括:

  1. 基于域、预订者和服务的性能和服务水平协议 (SLA) 报告。SLA 是服务提供者和消费者之间关于服务水平的正式协议
  2. 性能和影响管理,包括对服务质量 (QoS) 和 SLA 进行 what-if 分析和检查。QoS 包括传输速率、错误率等性质,可以度量、改进和在某种程度上提前保证这些性质
  3. 预先构建的可见性和优化服务,可以根据 SLA 监视业务服务性能
  4. 分布式数据和事件收集,支持服务和过程级的可见性
  5. 跟踪各个事务,从而审查和解决消费者服务、安全性和遵从性问题
  6. 实时地监视聚合的或不同级别的通信流,包括错误、处理的数据量和可用性

Performance Manager 的报告视图

下面介绍 Business Services Performance Manager 提供的主要视图:

  1. Service Invocation Summary:可以通过 Service Invocation Summary 报告查看在单一业务服务事务的上下文中调用的 Web 服务和端点的响应时间。可以查看与所有应用程序、所有应用程序套件或某一业务服务类型相关联的业务服务的 Service Invocation Summary 报告。
  2. Service Performance:可以使用 Service Performance 报告分析企业中 Web 服务和端点的性能。这种性能分析针对关键性能指标 (KPM),比如某一业务服务的总事务数、Web 服务或端点的平均响应时间和失败的事务数。
  3. Service Utilization:可以使用 Service Utilization 报告对企业中使用业务服务的情况进行分析。它显示关于业务服务使用情况的关键信息,比如使用量、单位成本、成本修饰符和某一时间段内的总成本。这些指标对于管理员很重要,可以帮助他们了解各个服务的使用情况和负载因素,这有助于制订必要的业务和基础结构策略。

场景回顾:Visa 应用程序和 Performance Manager

我们先回顾一下本系列中前面的文章中分析过的 Visa 应用程序。在这个场景中有四个服务提供者,它们以不同的响应时间和成本提供 Information Verification 服务。Embassy ABC 需要动态地为服务请求选择最经济有效的服务提供者,还需要根据以下指标记录调用性能状态:

  • 对每个提供者的成功调用率
  • 某一时间段内的总成本
  • 平均响应时间
  • 调用各个服务提供者的比例

WBSF 的主要功能覆盖这些指标中的大多数。现在,我们需要启用 Performance Manager 的多角度服务视图。

逐步启用 Performance Manager

Performance Manager 通过向系统提供的标识符跟踪业务服务登记和需要报告的其他事务数据。WBSF 使用这一信息的超集(称为预订)向它的组件说明在组织中担任一个或多个角色的用户在特定渠道上使用登记业务服务。Performance Manager 使用预订 ID 从接收的预订信息中提取出需要报告的数据,并把数据存储在数据库中。如果没有预订 ID,就无法跟踪调用,Performance Manager 就无法提供关于调用的性能信息。因此,要想使用 Performance Manager,就必须有预订 ID。下面的步骤解释如何获得预定 ID:

1. 为项目创建登记名称空间

Governance Manager 允许用户在 WBSF 中创建和管理名称空间。可以创建以下类型的名称空间:

  • 实例:用于存储业务服务模型实例。
  • 模式:用于存储模式信息。
  • 登记:用于存储业务服务登记信息。在配置外部 Lightweight Directory Access Protocol (LDAP) 项目时,系统会创建这个名称空间。

Performance Manager 并不直接使用这些名称空间,但是 Performance Manager 的跟踪信息、服务登记和其他事务数据需要登记名称空间数据。

根据对 Visa 应用程序的业务分析,应该用以下值创建登记名称空间:

  • Display Name:Visa Application Enrollment NS
  • Namespace Type:http://www.abc.org/service/embassy/visa-application-enr#
  • Namespace URI:Enrollment
  • Owner Project:VisaApplication
图 1. 创建名称空间
创建名称空间
创建名称空间

2. 登记目标业务服务

创建登记名称空间之后,可以在 “Manage Enrollments” 服务中登记业务服务,这个服务允许用户在业务服务中同时登记多个组织。

登记步骤如下:

  • 搜索 Available Organizations 的组并选择 Embassy ABC。
图 2. 选择 Embassy ABC
选择 Embassy ABC
选择 Embassy ABC
  • 选择 visaApplicationApp 业务服务。
图 3. 选择 visaApplicationApp 业务服务
选择 visaApplicationApp 业务服务
选择 visaApplicationApp 业务服务

注意:还可以通过 Manage Subscribers 业务服务管理登记。

3. 为用户预订服务

  • 在 Manage Subscribers 页面上,单击 Create User(在我们的项目中使用现有用户)。
  • 进入 Manage Subscribers,在搜索参数中选中 Users 复选框,输入刚才创建的用户名。搜索结果会返回正确的用户。然后,单击用户名,就会显示详细信息。确保用户角色与您指定的角色匹配(在我们的项目中使用 “administrator” 作为用户角色)。
图 4. 选择用户
选择用户
选择用户
  • 进入 Subscriptions 选项卡。这里列出所有业务服务。选择希望用户预订的业务服务,然后单击 “Save Subscriptions”。
图 5. 选择业务服务
选择业务服务
选择业务服务
  • 为了获得用户的预订 ID,进入 Subscriptions 选项卡,单击 “View Subscriptions”。
图 6. 获得预订 ID
获得预订 ID
获得预订 ID

在获得预订 ID 之后,需要把它复制到 SOAP 头中。这需要打开本系列第三篇文章中创建的 VisaApplicationExtractorImpl.java 文件;然后像下面这样修改源代码。

清单 1. VisaApplicationExtractorImpl.java 的源代码
public class VisaApplicationExtractorImpl implements ContextExtractor {
	
	private static final String Type_URI = 
    "http://www.abc.org/service/embassy/visa-application-sch#VisaType";
	
	private static final String SUB_URI = 
    "http://www.webifysolutions.com/context/subscription";
	private static final String SUB_ID = 
    "fc://fabric/enrollment/subscription-inst#c02591c7-722f-4078-a66b-7bc61e8f10b7";
	
	
	private static final String VISA_TYPE = "visaType";
	………
	public Context extractContext(PendingRequest arg0) throws 
            UnexpectedContentException {
		// TODO Auto-generated method stub
		DataObject body = arg0.getMessageBody();
		DataObject request = (DataObject) body.getSequence(0).getValue(0);
		BusinessObject request1 =  (BusinessObject) request.getSequence(0).
            getValue(0);
		String type = (String) request1.getString(VISA_TYPE);
		Context context = arg0.getContext();
		context.setSelectionProperty(Type_URI, new TypedValue(type));

		context.setSelectionProperty(SUB_URI, new TypedValue(SUB_ID));
		
return context;
	}

Performance Manager 的多角度视图

现在,我们来看看 WBSF Performance Manager 提供的所有视图,演示如何满足 Visa 应用程序的需求。

Service Invocation Summary 报告

在 Fabric 控制台上,单击 “Performance Manager”,然后单击 “Service Invocation Summary”。Service Invocation Summary 页面出现。

可以通过设置筛选器生成所有应用程序、所有应用程序套件或某一业务服务类型的业务服务事务报告。选择 Select “Browse By Application Suite, Application, or Type of Service”。

图 7. Service Invocation Summary 报告
Service Invocation Summary 报告
Service Invocation Summary 报告
  • Transaction ID 表示传递给 Dynamic Assembler 的上下文 ID。
  • Invoked On 表示调用日期和时间。
  • Response Time 是完成某一业务服务事务的一次调用花费的总时间(以毫秒为单位)。
  • Channel 是预订者使用业务服务的机制。

单击 “Transaction ID” 生成业务事务的调用报告。

图 8. Transaction Invocation Details 报告
Transaction Invocation Details 报告
Transaction Invocation Details 报告

条形图显示为 Web 服务选择的每个端点的调用响应时间。对于复合 Web 服务调用,多个条代表每个端点的响应时间。最后一条表示完成复合 Web 服务调用花费的总时间。

还显示 Invocation Order,它表示在一个业务服务事务的上下文中调用每个 Web 服务的次序。另外,还显示 IBM Business Services Dynamic Assembler 选择的 Web 服务接口和端点。

Service Performance 报告

在 Fabric 控制台中,单击 “Service Performance”。Service Performance 页面出现。指定搜索条件,单击 “Search”。

图 9. Service Performance 报告
Service Performance 报告
Service Performance 报告

在 Resource Selection 列表中,单击要显示其详细信息的 Web 服务接口或端点名称。

图 10. Service Performance Details 报告
Service Performance Details 报告
Service Performance Details 报告

Transaction Volume / Response Time and Availability 图显示指定的时间段内 Web 服务的事务量和平均响应时间。X 轴显示生成服务性能数据的时间段。Y 轴显示总事务数、失败的事务数(也就是遇到 Web 服务故障的事务)和平均响应时间(以毫秒为单位)。

Availability 图表显示得到服务的 Web 服务请求与全部 Web 服务请求的比例。

Service Utilization 报告

现在单击 “Service Utilization”。Service Utilization 报告出现,见图 11。

图 11. Service Utilization 报告
Service Utilization 报告
Service Utilization 报告

饼图显示在给定的时间段内组织调用业务服务的比例。Utilization Details 表的列定义如下:

  • Name:使用业务服务的组织的名称。
  • Volume:在给定的时间段内此组织调用(使用)业务服务的次数。
  • Cost:组织为使用业务服务支付的单位成本。
  • Cost Modifier:计算业务服务使用成本的基本单位。基本单位的有效值是事务、秒、分、小时、天、月和年。
  • Total:为使用业务服务支付的总成本。它是事务量与每事务成本的乘积。

根据 Performance Manager 的功能,我们发现 Visa 应用程序的监视需求可以得到满足。详细信息见表 1。

表 1. Visa 应用程序的需求
需求WBSF Performance Manager 视图
对每个提供者的成功调用率Service Performance 报告中的 Volume / Response Time and Availability 图和 Availability 图
某一时间段内的总成本Service Utilization 报告中的 Utilization Details 表
平均响应时间Service Performance 报告中的 Volume / Response Time and Availability 图和 Availability 图
调用各个服务提供者的比例Service Utilization 报告中的 Service Utilization 饼图

系列结束语

在本系列中,我们讨论了如何使用 WebSphere Business Services Fabric v6.1 进行服务建模直至构建组合业务服务。在最后一篇文章中,我们讨论了如何使用 Performance Manager 增强 Fabric 应用程序,满足服务监视需求。


下载资源


相关主题

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=SOA and web services, WebSphere
ArticleID=405981
ArticleTitle=使用 WebSphere Business Services Fabric v6.1 构建组合业务服务: 第 4 部分:使用 Performance Manager 监视服务
publish-date=07062009