科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道技术分析:将Web站点转换为Web服务(组图)

技术分析:将Web站点转换为Web服务(组图)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

  现今,面向服务架构(Service Oriented Architecture,SOA)承诺要帮助企业实现时间到价值的更快转换。这种想法不错,而没有行动,纸上谈兵往往一无所成。在SOA中,人们无法确保IT资产的重用,除非这些资产是可以访问的。

作者:中国IT实验室 来源:中国IT实验室 2007年9月22日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)


  
 
  图11. 选择结果映射

  
  图12显示了方法的最终映射。注意在选择映射之后方法声明是如何形成的。这个声明说明方法带有两个String参数(name和number),并返回PhoneStatus类型。单击OK,创建映射。
  
 
  图12. 最终映射

  
  在例子中,我阐明了其他两个robot的相同过程,并且为其生成了方法(参见图13)。创建映射之后,余下惟一要配置的就是通信协议。这是控件与RoboServer通信时所使用的协议。图13说明了如何添加新协议。
  
 
  图13. 添加新协议

  
  有两种协议:socket协议和JMS协议。socket协议必须用于同步通信,而且配置起来是最简单的。只要指定运行RoboServer的机器的URL和用于通信的端口即可。JMS协议则必须用于异步通信,我在这里不讨论它。如果使用RoboSuite自带的默认脚本启动RoboServer,启动时就会在端口50000上使用socket协议,对于控件使用的socket协议,可以选择默认值(参见图14)。只要运行RoboServer与运行WebLogic Server的是同一台机器,就可以选择默认值。
  
 
  图14. 协议对话框

  
  完成控件配置之后,单击Create(如图15所示),控件就会生成。
  
 
  图15. 配置完全的控件

  
  接下来的步骤包括为每个控件方法添加操作。图16说明了如何通过向Web服务上拖拉控件方法来为Web服务添加操作。
  
 
  图16. 从控件方法创建操作

  
  图17显示了添加了所有操作之后的完整Web服务。
  
 
  图17. 完整的Web服务

  
  在测试该Web服务之前,还有一项必须配置的内容。该Web服务的搜索操作将返回一个列表,其类型为Java类型java.util.List。因为WebLogic Workshop不知道列表上对象的类型,需要指定返回列表中包括哪些类型――在本例中,搜索操作包括Java类型controls.Phone.PhoneNumber。图18说明了如何指定。
  
 
  图18. 指定所包含的Java类型

  
  现在可以测试Web服务了。测试时,RoboServer必须运行在本地机器上(与运行WebLogic Server的机器是同一台),而且这台机器必须在端口50000上使用socket协议。所以,在测试Web服务之前,要确保运行了这样的RoboServer。当Web服务显示在Design View(或Source View)中时,请单击WebLogic Workshop中的Start图标。这将启动WebLogic Workshop Test Browser(参见图19),可以在其中测试Web服务。
  
 
  图19. 测试Web服务

  
  要测试add操作,只需在测试表单中为add方法输入一个姓名和一个电话号码,如图19所示,然后单击add.按钮。这将调用Web服务,然后浏览器就会显示结果,如图20所示。
  

  图20. 测试add操作的结果

  
  结束语
  
  本文介绍了一种把支持Web的应用程序转变为Web服务的快速方法。但是涉及到的不过是RoboSuite Control功能的皮毛。通常,生成的控件可以在使用其他类型控件的任何地方使用,例如在页面流、自定义控件或流程工作流中。在RoboSuite BEA WebLogic Edition中的WebLogic Workshop中还包括许多其他的特殊RoboSuite功能,我还没有介绍。这些功能包括:剪切portlet,Web服务生成,用于从JSP页面调用robot的一个标签库,以及用于编写自定义Java代码来执行robot的Java API。我将在以后的文章中陆续介绍这些更高级的功能。
  
  代码
  
  尽管我建议您遵从本文中的指导,创建自己的Web服务和控件,我还是在下面给出了例子代码:
  
  Web服务:phone.jws――应该位于Web服务项目的根目录中。
  
  控件:phone.jcx――应该位于Web服务根目录中的controls文件夹中。
  
  robot库:phone.robotlib――应该位于Web服务根目录中的controls文件夹中。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章