使用 AIDE 实现高效率,第 3 部分: 接触点与托管资源集成

为托管资源构建基本接触点接口

本教程是有关 IBM® Autonomic Integrated Development Environment (AIDE) 的系列教程的第 3 部分,描述了托管资源的基本接触点接口。通过本教程,您可以了解 Eclipse 如何使用 TODO 项来支持此类开发工作,并了解如何为任意托管资源管理提供基于接触点的平台——这个主题是已经在电信和企业管理领域存在了数十年而未得到完美解决的问题。

Stephen B. Morris, CTO, Omey Communications

Stephen 是爱尔兰的 Omey Communications 的 CTO。在过去 20 年中,Stephen 曾在一些世界最大的网络公司参与过各种软件项目,包括基于 J2EE/J2SE 的网络管理系统,帐单编制应用程序、移植和开发 SNMP 实体、网络设备技术和 GSM 移动网络应用程序。他是 Network Management, MIBs and MPLS: Principles, Design and Implementation(Prentice Hall PTR,2003 年)一书的作者,同时也在 InformIT 和 OnJava.com 发表过多篇有关网络管理和其他主题的文章。您可以通过 stephenbjm@yahoo.com 与 Stephen 联系。



2006 年 10 月 17 日

开始之前

了解本教程中包含的内容以及如何最好地利用本教程。

关于本系列

本教程是系列教程的第 3 部分,本系列教程介绍使用 IBM Autonomic Integrated Development Environment (AIDE) 工具包开发自主计算技术的技巧。本教程介绍如何将 Java™ Management Extension (JMX) 工具集成到接触点中。与前面的教程相比,在实现本教程的代码时,您将看到我们更多地使用了模型驱动的方法。您还将使用随 Eclipse 平台提供的一些智能工具。

本系列的其他教程将描述如何在多个平台(包括 Linux®、MySql 和 Apache)上部署接触点。完成本系列教程的学习后,您应该对一般平台和开放源代码平台上的接触点技术开发有充分的了解。

注意:任何软件都不是完美的。本系列教程将继续帮助程序员尽可能快地提高工作效率。基于这一点,我将以开放的方式讨论使用此软件遇到的问题,并提供变通方法和解决方案。

关于本教程

本教程介绍如何将资源管理代码集成到接触点中。针对本教程的目标,我们有必要比以前的教程更为深入地对 AIDE 进行探讨。本教程详细说明了所有必需的步骤。很多遗留设备和软件系统(如应用服务器、数据库和应用程序)事实上并不使用 JMX 工具。在很多情况下,托管实体工具使用基于简单网络管理协议(Simple Network Management Protocol,SNMP)的技术、命令行接口(Command-Line Interface,CLI)或其他专用技术。本教程还将简要讨论可用于将所有此类实体引入接触点领域中的技术。

本教程中使用的仍然是通用平台:任何支持 Eclipse 和 AIDE 工具包的平台。例如,Microsoft® Windows® XP 就已经足够了。所使用的 AIDE 是撰写本文时的最新版本(1.1.0 版)。

先决条件

本教程的目标读者是具备一定 Java 编程、Eclipse、JMX 和系统管理知识的程序员。具备使用 Eclipse 等集成开发环境(Integrated Development Enviroment,IDE)和各种工具及插件的能力将有所帮助,但不是必需的。同样,基本了解以下内容也非常有用:

  • SOAP
  • Web 服务寻址 (WS-Addressing)
  • Web 服务分布式管理 (WSDM)
  • JMX
  • 工具
  • 监视和管理

本教程的重点是接触点和托管资源层(请参见图 1),因此,只有理解您将看到的各个 Eclipse 控制台消息时才能运用上述知识。

您还需要以下 Java 类(可从下载部分下载):

  • Client.java
  • HelloWorld.java
  • Server.java
  • SimpleStandard.java
  • SimpleStandardMBean.java
  • SetOpertion.java

系统要求

要运行本教程中的示例,必须满足最低平台要求:一台运行 Microsoft Windows XP 且安装了 AIDE 软件和 Apache Tomcat V5 的计算机。JMX 应用程序编程接口(Application Program Interface,API)是作为 Java 2 Platform Standard Edition (J2SE) V5.0 的一部分提供的,因此不需要进行特殊的安装(如果已经安装了 J2SE V5.0)。

注意:您可以使用 Tomcat V4,但是还必须使用兼容程序包。


托管资源的操作上下文

自主计算技术的易管理性要求包括自我配置 (self-configuration)、自我修复 (self-healing)、自我优化 (self-optimization) 和自我保护 (self-protection)——因此也称为 self-CHOP。自主装备 (Autonomically equipped) 的实体可以使用 Self-CHOP 描述的机制来实现典型手动执行的管理操作的自动化。此处的关键词是自动化

自我配置 包含用于自动更新托管系统的设置和部署元素的各个过程。自我修复 是一个管理基础设施,允许系统通过重新启动或调用备份工具来自动响应组件故障。自我优化 是最难的一个方面;其中包括特定的软件,用于帮助在施加的负载要求时将资源作为托管元素添加,以及在不再需要时撤消资源。自我保护 包含允许托管系统阻止来自防火墙内部和外部的攻击的过程。

目前,大量的托管系统都仅具有很少或者根本没有高级 self-CHOP 功能,因而使得信息技术 (IT) 管理成了一项开销巨大、单调且易出错的活动。更糟糕的是,对 IT 基础设施的保护不足,采用的是被动(非主动)管理方式,且容易出现灾难性的故障。当系统和软件可以借助很少的管理功能或不借助管理功能部署时,这样的日子就一去不返了。

IBM 为此类管理功能确定的远景大部分都体现在了接触点 概念中。这是一个相对较瘦的软件层,可与托管资源进行交互,以帮助实现 self-CHOP 需求。

因此,本系列教程的目标读者是具备一定编程知识且希望更好地理解不断增长的可管理系统和软件需求的任何人。

托管资源技术:JMX、SNMP 和 CLI

传统上,管理工具是在开发周期接近尾声时添加到产品中的。正是由于这个原因,才导致了在整个行业中存在许多不同的 IT 管理方法。可以这么说,到目前为止,管理基础设施被视为讨厌但不得不做的事,而不是一个价值来源。

但这正在发生变化。只需看看后 .com 电信时代的情况就可以了解这一点。很多电信提供商现在都面临一项不甚乐观的任务,在接下来的四年内将成本降低 20% 到 30%,以保持盈利状态。所有精简整合工作完成后,电信企业将必须寄希望于其 IT 管理基础设施来提高价值。

随着 IT 管理基础设施的不断发展,WSDM 本身不过是 IT 管理基础设施的一个额外的附加项而已。WSDM 的优点在于,它允许使用标准 Web 访问接口进行管理。因此,符合 WSDM 的管理解决方案与当前向 Web 服务(或者更一般地说,面向服务的体系结构 (SOA))发展的趋势相符。

WSDM Management Using Web Services (MUWS) 规范提供了一个标准,可根据此标准通过 Web 服务管理遗留 IT 元素及新 IT 元素。IBM 接触点技术的当前版本支持 MUWS。

正如您在前面两篇教程中了解到的,接触点是模型驱动的、自动生成的软件实体。通过启用 Web 服务功能,接触点可帮助将图 1 底部的实体加入管理范围内(即,在自主管理器的控制之下)。在此上下文中,可以将接触点视为图 1 顶部的自主管理器和图 1 底部的托管实体之间的桥梁。

图 1. Web 服务管理层
Web 服务管理层

此图中显示了一些重要的关键点:

  • 通过部署 WSDM 基础设施,您实际上是使用 Web 服务来帮助进行管理。这一点意味着图 1 描述了一个 MUWS 方案:您使用 Web 服务作为管理工具。
  • 接触点隐藏了托管资源的复杂性。这一点之所以重要,是因为接触点代码的复杂机制可帮助避免让自主管理器处理这个复杂性,从而减少开发复杂性和自主管理器的开销。
  • 接触点通用性越好,效果越好。这一点意味着,如果接触点采用通用接口,自主管理器的复杂性就可以进一步降低。(您将在稍后演示接口时了解有关这一点的更多信息。)
  • 信息分布在各个层。这一点表示图 1 中的每个元素都分别执行一项重要的功能。集成接触点代码时,您将发现,需要投入一定的精力来避免对托管实体造成负面影响。

建模和构建接触点托管元素接口

首先使用 AIDE 功能编辑器来创建接触点接口。可以从头创建全新的项目;不过,为了尽可能减少所需的繁琐步骤,我将修改本系列教程的第 2 部分(有关链接,请参见参考资料)使用的 WeatherStation 项目。因此,请打开 WeatherStation 项目的模型,如图 2 中所示。

图 2. WeatherStation 模型
WeatherStation 模型

使用 EMF 更改模型

我们在前面的教程中曾使用此模型来生成接触点代码,因此可以使用 Eclipse Modeling Framework (EMF) 自动将对模型的更改合并到生成的代码中。在下面的步骤中,您将了解模型驱动的开发所带来的工作效率增强功能。

要使用功能编辑器来更改模型,请完成以下步骤:

  1. 双击文件 WeatherStation.actpca,以打开功能编辑器的概览窗口。
  2. 单击 Operations 选项卡。

应该能够看到 Add 按钮。(可能需要向下滚动才能看到此按钮。)

图 3 显示了现在的情况——已准备好添加接口操作。

图 3. 功能编辑器
功能编辑器

添加接口操作

要开始添加接口,请完成以下步骤:

  1. 单击 Add
  2. 键入方法名 getEntityState
  3. 接收返回类型 void

现在应该在 Operations 窗口中看到此新方法(请参见图 4)。

图 4. 功能编辑器中的新方法
功能编辑器中的新方法

您具有所需接口的一个分级显示元素。现在已经修改了模型(请记住,这里采用的是模型驱动的开发方法),接下来要更新关联的项目构件。为此,请右键单击 WeatherStation 模型文件 WeatherStation.actpim(请参见图 4),然后单击 Generate Touchpoint。您已经在前面的教程中了解了此过程,因此只需接受缺省向导设置即可。生成工作完成后,请打开 WeatherStation 项目,然后导出 Web 存档 (WAR) 文件。(此文件将在添加后端 JMX 类文件部分予以说明。)如果未在导出 WAR 文件前进行保存,系统可能会提示您保存 WeatherStation Model 项目的功能文件。如果出现这种情况,请直接单击 OK,系统将会随即保存您的更改。

此时,应该在 WeatherStation 项目中看到一个新方法。下一部分将说明此方法驻留的位置,并介绍 Eclipse Workbench 如何提供一个智能工具来在开发工作流的下一阶段提供帮助——即工作效率增强功能。

TODO

您已经创建了一个名为 getEntityState() 的空方法。现在,您将了解以 TODO 的形式(即未完成的工作项)添加到 Eclipse Workbench 的项目特定项。要查看 TODO,请依次单击 Window > Show View > Other > Basic > Tasks,打开 TODO 视图。TODO 视图将显示在右侧。

TODO 列表适用于 Eclipse Workbench 中的所有项目。您的新方法应作为与 WeatherStation 项目关联的方法列出。因此,可以双击该方法项(即刚刚创建的方法项)来打开关联的 Java 文件。

添加代码以填充 TODO

接下来,将代码添加到在功能编辑器中创建的方法中。为此,请完成以下步骤:

  1. 双击关联的 TODO。
  2. 将代码从清单 1 粘贴到 TODO 中。
清单 1. 新方法代码
HelloWorld hello = new HelloWorld();
hello.writeOutput(managedEntityHost);

在此代码中,初始化了一个 HelloWorld 类对象。writeOutput() 方法将传递一个参数——WeatherStationImpl 类的一个 String 私有成员。接下来,将 managedEntityHost 数据成员添加到 WeatherStationImpl 类:

public static final String managedEntityHost = "localhost:9999/server";

我将其添加在 WeatherStationImpl 类的开始处,如清单 2 中所示。

清单 2. 新方法代码(已修订)
public class WeatherStationImpl extends EDataObjectImpl implements WeatherStation
{
public static final String managedEntityHost = "localhost:9999/server";

public static final String copyrightNotice = 
     "Licensed Materials - Property of IBM " +
     "(c) Copyright IBM Corp. 2005     All Rights Reserved. " +
     "US Government Users Restricted Rights - Use, duplication or " +
     "disclosure restricted by GSA ADP Schedule Contract with IBM Corp.";

更新 touchpoint.xml

添加了该方法后,必须修改 WeatherStation 项目文件 touchpoint.xml。此文件在 WebContent\WEB-INF 文件夹中。为了使用新方法,请删除以下两行代码(其位于该方法的名称下):

<!-- Customize with parameter-specific serializer -->
<java-handler-class>com.ibm.ws.resource.sdo.PlaceholderSerializer>/java-handler-class>

删除这两行代码可避免出现与新方法相关的异常。在出现此问题的情况下,异常与以下所示类似:

Parsing outgoing SOAP body...
Invoking 'http://com.ibm/2005/10/8/getEntityState'...
com.ibm.ws.basefaults.remote.BaseFault: @@@ Unimplemented
-- replace PlaceholderSerializer with a custom serializer in touchpoint.xml;
nested exception is: java.lang.IllegalStateException: @@@ Unimplemented
-- replace PlaceholderSerializer with a custom serializer in touchpoint.xml at
com.ibm.ws.basefaults.WsbfUtils.getBaseFault(WsbfUtils.java:89) at
com.ibm.ws.resource.remote.SimpleProxy.invoke

将已生成的方法标记为 @generated NOT

还需要进行最后一处代码更改,以避免在将来模型更新后丢失此部分代码。为此,请完成以下步骤:

  1. 打开 \ibm\com\impl 子文件夹下的 JavaSource 文件夹中的 WeatherStationImpl.java 文件。
  2. 打开 getEntityState() 方法的代码清单。
  3. @generated 标记更改为 @generated NOT

此更改意味着下次生成项目时(假定您决定要进行这项工作),您的代码将保持不变。也就是说,自动代码生成并不会覆盖您的代码。现在可以保存文件,并可以开始准备添加所需的后端 JMX 类文件了。


添加后端 JMX 类文件

您已经在本系列教程的第 2 部分看到过以下代码添加过程,不过为了方便起见,我仍然将这些步骤一一列出。在给出的示例中,您将使用不同版本的 JMX 代码,因为您定义的是接触点接口。就本质而言,后者将重点放在您需要的特定功能上——即,您在将托管实体访问代码集成到接触点中,而不只是调用它而已。

将 JMX 类添加到接触点

要将 JMX 类添加到接触点,请完成以下步骤:

  1. 将四个下载的 Java 类(HelloWorld.javaClient.javaSimpleStandard.javaSimpleStandardMBean.java)复制到 \ibm\com\impl 子文件夹(可从下载部分获得这些类)。
  2. 打开 \ibm\com\impl 子文件夹下的 JavaSource 文件夹。
  3. 单击 File > New > Class
  4. Name 字段中键入 HelloWorld.java。其他字段都应提供缺省值;您可以将其忽略。
  5. 单击 Finish。现在应该在 \ibm\com\impl 子文件夹中看到此新类。
  6. 对其他 Java 类重复步骤 3 到 5。

重新部署接触点

接下来,重新部署接触点项目。为此,请完成以下步骤:

  1. 单击 File > Save All
  2. 选择项目名称。
  3. 单击 File > Export
  4. 选择 WAR file,然后单击 Next
  5. 单击列表控件,然后从列表中选择所需的 Web 模块。
  6. 浏览到所需的磁盘目标。
  7. 选择 Overwrite existing file 选项,然后单击 Finish
  8. 重新部署项目。

现在将下载、构建并启动服务器代码。为此,请完成以下步骤:

  1. 将下载的 Java 类 Server.java 复制到您计算机上的文件夹中(可以放在任何位置)。
  2. 编译 Server.java 文件 javac Server.java。

如果没有遇到 Java 错误,则准备工作已经完成,可以开始测试新代码了。如果 Server.java 文件未完成编译,请考虑以下方面:

  • 确保使用的是 J2SE V5.0。
  • 确保 Java 编译器是 J2SE V5.0 中提供的编译器。
  • 要检查编辑器版本,请键入 javac -version
  • 返回的版本至少应为 javac 1.5.0_06。
  • 如果有疑问,请检查您的 DOS PATH,以确定首先使用的是哪个编译器版本。

正如前面提到的,J2SE V5.0 中包含了 JMX 支持。如果您和我一样,懒得动手删除旧版本的 J2SE,则现在可能应该动手对计算机进行一次清理了!


测试新接触点代码

缺点和不足

通常,当我测试此类代码时,喜欢让其独立于 Eclipse Workbench 运行。坦白地说,这样做让我可以不必太担心烦人的类路径、文件夹、包名称之类的东西。如果您希望采用这种方式,必须进行的一项更改是 Java 包名称。因为此名称与目录结构匹配,所以请记得在代码移入或移出 Eclipse 项目时更改包名称。因此,请确保进行了更改,以与 WeatherStation 项目中使用的包(即 ibm.com.impl)匹配。

我在尝试将此代码集成到 Eclipse 时遇到了一些与包名称相关的小麻烦。Eclipse 会尽可能多地提供有关该问题的信息,但其中通常包含了过多的信息。如果在运行接触点时确实遇到了错误,不要着急。仔细阅读 Eclipse 消息:其中应该提供了足够的线索帮助修复问题。

总结一下,您现在涉及到两个实体:

  • 操作托管实体 (Server.java)
  • 带有用于访问托管实体的接口的接触点

现在让我们执行新代码。

执行代码

要执行新代码,请完成以下步骤:

  1. 在命令提示符处键入 rmiregistry 9999 &,以启动 rmiregistry 程序。
  2. 键入 java -classpath . Server,以启动服务器代码。
  3. 运行 WeatherStation 接触点,方法为:右键单击 WeatherStation 项目名称,然后单击 Run As > Run on Server
  4. 单击 Finish
  5. 运行 deploy.bat 文件。
  6. 单击 Create & browse,以显示模式和允许的操作。
  7. 向下滚动到 getEntityState() 按钮(请参见图 5 的底部)。
  8. 单击 getEntityState()
图 5. getEntityState() 按钮
getEntityState() 按钮

getEntityState() 按钮是特定于 AIDE 的工作效率增强功能。当您在功能编辑器中添加新方法时,接触点会自动提供此访问点。

如果接触点工作良好,应该在“Resource”窗口顶部看到以下所示的内容:

Parsing outgoing SOAP body...
Invoking 'http://com.ibm/2005/10/8/getEntityState'...
Result:<?xml version="1.0" encoding="UTF-8"?> 
  >mrt1:getEntityStateResponse xmlns:mrt1="http://com.ibm/2005/10/8"/>

清单 3 所示的消息将显示在控制台窗口中。(您可能必须在控制台窗口中向下滚动才能看到此消息。)

清单 3.接触点访问托管实体
*** Creating an RMI connector client and connecting it to the RMI connector server ***
*** Getting an MBeanServerConnection ***
Query MBeanServer MBeans:
	ObjectName = JMImplementation:type=MBeanServerDelegate
	ObjectName = DefaultDomain:type=SimpleStandard,index=1
*** Closing the connection to the server ***
*** Exiting normally ***

此消息指示您的代码已成功集成到接触点中。如果您完成了此工作,就已经实现了大部分目标了:您已经让接触点和托管实体进行通信了。现在可以开始煮咖啡了!

接触点和托管实体间的映射

让我们更进一步地了解一下清单 3 中的情况。此代码查询 MBean 服务器 (Server.java) 支持的 MBean 对象名称。这个简单的操作负责进入托管实体并检索相关数据——即 GET 操作。显然,此 GET 操作可能比清单 3 中所示的操作复杂得多。可以使用此方法来获取应用服务器的操作状态或关系数据库模式中表的数量。此处的要点是,JMX 基础设施就位后,可以进行任何满足您 IT 管理需求(即 self-CHOP)的工作。

在接触点(和托管实体)中实现 SET 操作

您可能已经认识到,可以完全按照上面用于 GET 操作的方法来实现一个或多个 SET 操作:

  1. 在功能编辑器中创建一个新模型方法,如 setEntityState
  2. 定义任何所需的参数。
  3. 从模型重新生成代码。
  4. 将 Java 代码合并到接触点中。
  5. 导出 WAR 文件。
  6. 执行接触点代码。

我已经提供了一个实现简单 SET 操作的 JMX 代码。调用此代码的 Java 类包含在 SetOperation.java 中(请参见下载);其内容如清单 4 中所示。(我已经将 NOT 添加到了 @generated 标记中。)

清单 4. 托管实体上的 SET 操作
/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated NOT
 */
public void setEntityState(String entityName) throws BaseFault
{
      SetOperation aSet = new SetOperation();
      aSet.executeOperation("localhost:9999/server");
}

因此,为了使其正常工作,请将此代码添加到生成的 setEntityState() 方法中。完成这些步骤后,您的接触点应与图 6 中所示类似。

图 6. 更新后的接触点
更新后的接触点

请不要忘记按照处理 GET 操作时的方法修改 touchpoint.xml 文件。为此,请删除 setEntityState() 方法下的以下两行代码:

<!-- Customize with parameter-specific serializer -->
<java-handler-class>com.ibm.ws.resource.sdo.
PlaceholderSerializer>
  /java-handler-class>

单击关联的按钮执行新 setEntityState() 方法时,应该在控制台窗口看到清单 5 所示的内容。

清单 5. SET 操作正确工作
*** Creating an RMI connector client and connecting it 
to the RMI connector server ***
*** Getting an MBeanServerConnection ***
	ObjectName = JMImplementation:type=MBeanServerDelegate
*** Setting attributes on the MBeans ***
*** Closing the connection to the managed entity ***
*** Exiting normally ***

SET 操作将检索每个 MBean 对象并设置相应的状态。清单 5 中所示的显示内容并没有什么特别之处,但能表明您的接触点代码成功修改了一个托管资源。

合并托管实体通知的方法与此类似。在这种情况下,需要采用某种方法将异步通知映射到 Eclipse 通知中。也就是说,构建接触点的过程只是系统地添加并测试托管实体访问代码的过程。

注意:此代码并不是生产标准,仅是为了说明各个概念而编写的。

自主管理器、接触点及托管实体间的关系

在前面的图 1 中可以看到,接触点位于自主管理器和托管实体之间。在此上下文中,接触点是一种技术适配器。它将自主管理器发出的请求转换为一种适合分派给托管实体的形式。而另一方面,接触点会将来自托管实体的消息转换为自主管理器能够理解的形式。

无论托管实体支持何种管理工具,过程都是这样的。正如前面所提到的,工具可以基于 JMX、SNMP、CLI 或其他技术。在所有此类情况下,接触点必须提供自主管理器和托管实体之间的桥梁。如果托管实体支持 SNMP(如某些数据库供应商就采用此协议),接触点必须提供 SNMP 访问代码。如果所采用的唯一工具是 CLI(很多电信设备供应商就采用这种方式),接触点必须实现终端访问代码(例如,使用 Telnet 类库或终端服务器)。有关这些重要遗留技术的详细信息,请参见参考资料

因此,无论托管实体使用何种技术,接触点都能够对消息进行转换,并与自主管理器进行消息交换。从接触点传递给托管实体的消息有:

  • GET 操作:将检索一定数据的托管实体变量。
  • SET 操作:将修改一定数据的托管实体变量。

通常,从托管实体传递给接触点的消息是对接触点发出的 GETSET 操作的响应通知,或者是反映托管实体中出现了某些重要事件的自主消息。

尽管自主计算是一项相对较新的技术,但托管实体也完全有可能不知道自主管理器的存在。接触点层负责与后者的通信。实际上,如果接触点采用松散耦合的方式进行了良好设计,应该可以换入或换出使用来自不同供应商的自主管理器。

警告:接触点可能过瘦

IT 管理的一个默认原则是,不会对托管实体进行过度的集成或配置。请记住:在某种意义上,托管实体是您的网络的服务提供者。因此,每次获取或设置托管实体数据时,可能会因疏忽而导致在该实体上启动大量计算活动。虽然在托管实体是具有大量资源的集群应用服务器时这并不会带来什么影响,但如果实体为简单的电信设备(如路由器或集线器),则可能出现问题。同样,如果实体的负载非常大,您肯定不愿意因管理系统而导致这种情况恶化。

此外,您必须始终考虑自主管理器和接触点基础设施中存在软件错误的可能性。例如,假定由于一处软件错误,接触点代码开始错误地发出大量对托管数据库引擎中的大型数据项的 GET 请求。这可能会导致数据库引擎平台的性能受到影响。最终可能会因为管理代码中存在软件错误而导致在网络中的某些位置丢失服务。

因此,接触点设计的一个重要原则是资源保留和自我审核。简而言之,尽管我所讨论的接触点是相当轻量级的技术,他们真的不应该过瘦。为了使自主计算技术有效,每个组件都必须发挥自己的最大功效。


结束语

本教程提供了 IT 管理的编程基础知识。IBM 自主计算技术的重要一点是,其中包含了模型驱动的开发方法。这提供了非常有用的效率增强功能——在提高接触点开发的成本/效益比方面非常重要。

除了有些烦琐之外,为使用 JMX 工具的实体集成接触点支持的过程相对比较简单。在本教程中,您了解了如何实现 GETSET 操作:这两种操作类型反映了自主管理器中的检索和修改语义。这些操作的一个基本要素是工具;对此我选择的是 JMX,一项正逐渐被广泛运用的工具技术,但也可以采用其他技术,如 SNMP、CLI 和可扩展标记语言(Extensible Markup Language,XML)。

因此,接触点技术是与托管资源层连接的中间技术。可以通过这种连接对托管资源层进行具有潜在威胁性的访问。因此,请确保接触点不会向托管实体发送过多的数据和修改请求。


下载

描述名字大小
Downloadable classesac-aidetut3source.zip11KB

参考资料

学习

获得产品和技术

  • Autonomic Computing Toolkit:此工具包中包含了一系列 IBM 自我管理自主计算技术组件、工具、场景和文档,专门为希望了解自主行为并在其产品和系统中进行采用和开发的用户而设计。
  • IBM Autonomic Integrated Development Environment (AIDE):一组符合 Web 服务分布式管理(Web Services Distributed Management,WSDM)标准的软件开发工具。其中包括 IBM Manageability Endpoint Builder(用于构建允许产品公开易管理接口的端点)和 IBM Manageability Endpoint Simulator(以前称为 IBM Touchpoint Simulator)等工具。
  • Java Management Extensions:下载用于管理用途的 Java API。
  • Java 2 Platform, Standard Edition:下载此平台,并了解关于 J2SE 的更多信息;这是用于在桌面和服务器上进行应用程序开发和部署的完整环境。
  • Apache Tomcat version 5.0:访问此网站,以获取 Apache Tomcat 最新发布的内容。
  • IBM 试用产品下载:使用 IBM 试用软件开发您的下一个项目,可直接从 developerWorks 下载这些试用软件。

讨论

  • developerWorks 博客:参与 developerWorks 博客,从而参加到 developerWorks 社区中来。
  • 参加讨论:访问“Autonomic computing: an insider's perspective”讨论论坛。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=SOA and web services, XML, Java technology
ArticleID=166719
ArticleTitle=使用 AIDE 实现高效率,第 3 部分: 接触点与托管资源集成
publish-date=10172006