扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:Xiao Wang 来源:Sybase 2007年9月15日
关键字: PowerDesigner Web服务 软件
Sybase公司PowerDesigner总设计师Xiao Wang撰
Web服务允许您以标准格式提供现有的或新增的功能,并且允许用户和应用程序从任何位置访问它们。
PowerDesigner 9.5同时针对Microsoft .NET和Java引入了完善的Web服务设计和生成机制。使用PowerDesigner 9.5,您可以专注于Web服务的设计,而将所有必需的生成、实现构造的任务交给PowerDesigner完成。
Web服务概述
Web服务是一种接口,它描述了在网络上可通过SOAP消息进行访问的操作集合。
Web 服务的接口和部署位置(可选)由WSDL说明。WSDL是一种声明数据类型、消息、端口类型和端口(可选)的XML文档。通过WSDL,用户可以知道应该发送哪种格式的SOAP消息来调用Web服务以及返回消息的格式为何。
为了能使用户查找到所需的Web服务,服务提供者可能会在UDDI注册服务中发布WSDL文档。这样,用户就可以使用UDDI注册服务来搜索Web服务。
若要调用Web服务,用户可以向部署Web服务时所在的访问点URL发送SOAP消息,或者使用可简化此调用过程的代理类。SOAP消息也是XML文档。
PowerDesigner的Web服务功能
PowerDesigner 9.5允许您新建Web服务组件、通过对WSDL进行反向工程来创建Web服务组件、浏览UDDI 、搜索WSDL、从Web服务组件的定义生成WSDL、生成.NET(C#和VB .NET)的服务器端代码、生成.NET的客户端代理、生成Java(JAX-RPC和JAXM)的服务器端代码以及生成Java的客户端代理。
为了设计Web服务组件,PowerDesigner使用了UML类图、组件图和部署图。Web服务由组件图的组件表示,而已部署的Web服务则由部署图的组件实例来表示。
创建Web服务组件
创建Web服务组件有五个步骤。首先是要创建面向对象模型(OOM)。您可以选用以下语言中的任一种:C#、Visual Basic .NET或Java。在此模型上会自动附加用于WSDL的扩展模型定义(XEM)。XEM定义了WSDL的生成模板和扩展属性。
第二步是创建类。最好是先创建一个程序组(Package),然后再在此程序组下创建类。
第三步是使用Web服务向导将创建的类转换成Web服务组件。为此您可以右键单击该类,然后选择“创建Web服务组件”命令,或在选中该类后选择“工具>创建Web服务组件”命令。图1显示了一个Web服务向导的示例。Web服务类型可以是接口或实现。如果选择“接口”,则表明您只希望定义此Web组件并生成相应的WSDL。对于.NET,此组件类型为“标准”,其Web服务将通过.asmx文件来实现。对于Java,此组件类型可能是“标准”、“服务程序”或“无状态会话 Bean”。这几种Java组件类型的实现方法分别是:“标准”类型使用JAX-RPC、“服务程序”类型使用JAXM,而“无状态会话 Bean”类型将使用J2EE(JSR109)Web服务规范。当向导结束时会创建一个组件和类。图2显示了组件图中的组件符号示例。
图 1 Web 服务向导
图 2 组件符号
第四步是添加Web方法。您需要新建一个操作(Operation)、打开该操作的属性页、单击“Web 方法”复选框、定义参数和返回类型以及编写该操作的实现代码。图3显示了Web方法GetStockQuote的实现示例。
图3 Web方法GetStockQuote的实现示例
最后一步是对WSDL生成进行自定义。可以自定义参数和返回值的WSDL数据类型、操作的扩展属性以及组件的属性和扩展属性。若要检验生成的WSDL,您可以打开组件属性页的WSDL选项卡。生成WSDL的任务可以交给PowerDesigner完成,也可以由您自行定义(用户定义)。如果Web服务组件来源于对WSDL的反向工程,原始的WSDL将得到保留。图4显示了一个生成的WSDL的示例。
图4 生成的WSDL的示例
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者