使用WebLogic将Web站点转换为Web服务(一) (3)

- 中国WEB开发者网络 (http://www.webasp.net)
-- 技术教程 (http://www.webasp.net/article/)
--- 使用WebLogic将Web站点转换为Web服务(一) (3) (http://www.webasp.net/article/28/27032.htm)
-- 作者:未知
-- 发布日期: 2005-11-16
本文将重点讲述创建一个RoboSuite控件的过程,该RoboSuite控件所包含的方法描述了上述三个robot所要执行的动作,然后我将展示如何使用这个控件创建具有相同方法的Web服务。这样做的意义在于,当您学会使用各种相关工具之后,就可以在几分钟之内完成从robot到Web服务操作方法的过程。完整的过程包括:编写三个robot;创建Web服务;最后,执行一个简单的测试。总共需要大约一个小时。如果使用传统的集成方法,这个过程需要的时间将会长的多。

  

  Robot简介

  

  尽管本文没有把重点放在如何编写robot上,简要地描述一下robot还是有必要的。robot使用RoboMaker工具编写,该工具是RoboSuite的一部分。Robot类似于程序,但是robot的编程语言是完全可视化的(也就是说,robot没有直接的文本表示;robot实际上是以XML格式保存在.robot文件中,但是该格式是内部使用的,没有归档)。图2显示了RoboMaker中的一个例子robot,顶部给出了robot的步骤。左侧是浏览器视图,显示了当前步骤(以绿色表示)上Web文档的状态,而右侧是robot和当前步骤的配置窗格。

  




 

  图2. RoboMaker中的add robot



  

  robot被设计为与一个或多个给定的Web站点(或这些站点中的一部分)进行交互。它们在更改站点方面可能具有一些健壮性,但不是一般的crawler。robot可以导航站点、执行登录、填写表单、在表上迭代、从页面提取信息,等等。简而言之,它们可以提供浏览器所能提供的一切功能。robot可以采用专门设计的对象(使用ModelMaker工具创建)作为输入和输出。robot可以使用输入对象来填写表单,而输出对象可以包含从Web站点提取的数据。

  

  robot由RoboServer服务器执行。客户端(在本例中就是控件)发送请求给RoboServer,要求运行某个robot,而RoboServer将会运行该robot并返回响应。请求可以包含输入对象,而响应可以包含输出对象,这取决于robot是否需要输入对象和是否返回输出对象。当robot转换为控件时,该控件将包含一个用于调用robot的方法。该方法包含一些对应于robot输入对象属性的参数。该方法的返回值要么包含robot返回的一个对象列表,要么包含这个列表的一部分(例如,第一个对象、第一个对象的属性,等等)。

  

  表1总结了例子中所使用的robot。






  

 

  表1. Robot小结



  

  robot和相应的方法都打包在一个称为robot库文件的zip文件中,在本例中称为phone.robotlib。构造robot和创建控件的工程师通常不是一个人,而robot库可以视为在这两者之间交换robot的部署单元。

  

  对例子的解释

  

  在这里,我所做的事情有一点颠倒次序。一般人可能首先创建一个具有某种功能的控件,然后使用这个控件创建Web服务或其他应用程序。我将首先创建一个Web服务,然后再为这个Web服务添加控件。

  

  创建新的Web服务

  

  要创建一个新的Web服务,右击要在其中创建它的Web服务项目,然后选择New > Web Service,如图3所示。

  




 

  图3. 创建Web服务

webasp.net