知识大全 使用PowerDesigner 9.5创建Web服务
Posted 类型
篇首语:水至清则无鱼,人至察则无徒。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 使用PowerDesigner 9.5创建Web服务相关的知识,希望对你有一定的参考价值。
使用PowerDesigner 9.5创建Web服务 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Web服务允许您以标准格式提供现有的或新增的功能 并且允许用户和应用程序从任何位置访问它们
PowerDesigner 同时针对Microsoft NET和Java引入了完善的Web服务设计和生成机制 使用PowerDesigner 您可以专注于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 允许您新建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服务组件 命令 图 显示了一个Web服务向导的示例 Web服务类型可以是接口或实现 如果选择 接口 则表明您只希望定义此Web组件并生成相应的WSDL 对于 NET 此组件类型为 标准 其Web服务将通过 asmx文件来实现 对于Java 此组件类型可能是 标准 服务程序 或 无状态会话 Bean 这几种Java组件类型的实现方法分别是 标准 类型使用JAX RPC 服务程序 类型使用JAXM 而 无状态会话 Bean 类型将使用J EE(JSR )Web服务规范 当向导结束时会创建一个组件和类 图 显示了组件图中的组件符号示例
图 Web 服务向导
图 组件符号
第四步是添加Web方法 您需要新建一个操作(Operation) 打开该操作的属性页 单击 Web 方法 复选框 定义参数和返回类型以及编写该操作的实现代码 图 显示了Web方法GetStockQuote的实现示例
图 Web方法GetStockQuote的实现示例
最后一步是对WSDL生成进行自定义 可以自定义参数和返回值的WSDL数据类型 操作的扩展属性以及组件的属性和扩展属性 若要检验生成的WSDL 您可以打开组件属性页的WSDL选项卡 生成WSDL的任务可以交给PowerDesigner完成 也可以由您自行定义(用户定义) 如果Web服务组件来源于对WSDL的反向工程 原始的WSDL将得到保留 图 显示了一个生成的WSDL的示例
图 生成的WSDL的示例
您可以在类属性页的 预览 选项卡中预览生成的实现代码 您可以使用部署图 节点和组件实例来仿建已经部署的Web服务组件 此外 还可以在 节点 中定义服务器的URL以及在 组件实例 中定义服务的URL
四 对WSDL进行反向工程 WSDL可以仅定义Web服务接口 也可以同时定义接口和访问点的URL Web服务接口可能被多个服务提供者用来提供相同的服务 当然 这些服务会具有不同的实现和访问点 如果拥有WSDL文档的文件路径或URL 您就可以通过对它进行反向工程来创建Web服务组件 之后可以定义自己的实现方法或将创建的Web服务组件保存在库中供以后再次使用 您在查找感兴趣的WSDL时 可以使用UDDI浏览器在UDDI注册服务中进行搜索
为了对WSDL进行反向工程 需要用C# VB NET或Java中的任意一种语言创建OOM 然后选择 语言>导入 WSDL 命令并输入WSDL文件的路径或URL 进行反向工程之后 会在组件图中创建一个组件 同时在类图中创建一个类 所创建的类将仅包含该Web服务的操作信号 若想实现该Web服务 还需要定义这些操作的实现代码
在UDDI注册服务中搜索WSDL 如果希望搜索在UDDI注册服务中注册的WSDL 请打开 导入WSDL 窗口 然后单击 浏览UDDI 按钮 通过 浏览 UDDI 窗口(见图 ) 您可以选择UDDI运营商 搜索条件和搜索类型 并可以按实体名称 服务名称或WSDL名称进行搜索 此外 您还可以预览找到的WSDL
图 浏览UDDI 窗口
五 生成 NET类型的Web服务 对于 NET服务器端代码 PowerDesigner会生成一个 asmx文件 这种Web服务的实现类可以在上述的 asmx文件中生成 也可以在外部生成 此实现类所使用的语言可以是C#或者VB NET 在类属性页的 预览 选项卡中 可以预览 asmx文件和相应的实现类代码 图 显示了C#语言的 asmx文件示例
图 C#语言的 asmx文件示例
PowerDesigner还可以生成客户端代理类来简化Web服务的调用 为生成客户端代理类 PowerDesigner使用了Visual Studio NET附带的wsdl exe程序
若要生成WSDL 服务器端代码和/或客户端代理 请选择 语言>生成C#代码 或 语言>生成VB NET代码 命令 如果要生成客户端代理 可以在 任务 选项卡中选择 生成Web服务客户端代理 选项 图 显示了可用的生成任务 如果这个类不是在 asmx文件内部生成的 您将可以对这些C#代码或VB NET代码进行编译 不过 在编译C#或VB NET文件时 您必须定义CSC或VBC变量来指示csc exe或vbc exe命令的位置
在部署Web服务时 只需要将IIS目录下的 asmx文件和相应的类文件进行复制 C:\\Inetpub\\root\\<程序组名> 其中 <程序组名> 是程序组的名称 要测试此Web服务 可以在浏览器中输入以下URL //<主机名>/<程序组名>/<服务名> asmx
图 Web服务的生成任务
六 生成Java类型的Web服务 如果Web服务的实现类型为 标准 PowerDesigner将使用JAX RP 来实现 如果实现类型为 服务程序 PowerDesigner将使用JAXM来实现 如果实现类型为 无状态会话Bean 则PowerDesigner将使用J EE(JSR )Web服务规范来实现 JSR 尚未正式颁布
JAX RPC定义了RPC类型的Web服务调用 虽然它易于开发和使用 但为了避免复杂的对象/XML映射 它只能局限于简单的消息格式 而基于JAXM的Web服务组件显然更具优越性 它允许您灵活地处理复杂的消息结构
若要使用JAX RPC或JAXM 您需要安装Java Web Services Developer Pack(JWSDP) 此程序包可从Sun公司的网站下载 在部署JAX RPC或JAXM类型的Web服务组件时 需要有支持JAX RPC或JAXM的服务器 支持JAX RPC或JAXM的Apache Tomcat附带提供了JWSDP
至于基于JAX RPC的Web服务组件 您只需实现其Web方法的代码 若要生成WSDL 服务器端代码和/或客户端代理 可选择 语言>生成Java代码 然后选择 使用XRPCC工具生成WSDL(服务器端) 和/或 使用XRPCC工具生成Web服务的代理代码 命令(见图 ) XRPCC命令是JWSDP的一个工具 它可以生成JAX RPC类型的服务器端代码或客户端代理 在部署生成的Web服务时 需要创建一个包含所有生成文件的 WAR文件 并将此 WAR文件部署在支持JAX RPC的服务器上 比如说Apache Tomcat
图 JAX RPC生成任务
对基于JAXM的Web服务组件而言 您需要实现其onMessage操作 onMessage操作将按照在WSDL中的指示 接收并处理输入的SOAP消息并构建返回消息 以及将此消息返回 要生成WSDL和JAXM类型的Web服务 请选择 语言>生成Java代码 命令 然后选择 构建Web组件 创建Web应用程序WAR 命令(见图 ) 该命令会对JAXM服务程序代码进行编译并创建WAR文件 要部署此JAXM服务程序 您可以将上述WAR文件部署在支持JAXM的服务器上 比如说Apache Tomcat
图 JAXM生成任务
至于基于无状态会话Bean的Web服务组件 由于JSR 规范尚未正式颁布 因此目前还不能使用
七 下一步要增强的功能 J EE(JSR )Web服务规范不久将面世 供人们使用 通过它 您可以将无状态会话Bean用作Web服务实现的利器 它可以让现有功能以Web服务的新面目出现 同时也可以新建Web服务 PowerDesigner 附带提供了基于早期JSR 规范的版本 该版本尚待进一步的认证 等该规范正式颁布后 我们将提供维护版本以实现对它的完全支持
PowerDesigner的新版本还将支持Web服务的综合标准
cha138/Article/program/SQL/201311/16374相关参考
ASP.NET创建Web服务之使用事务 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 支持XML
ASP.NET创建Web服务之设计方针 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 使用ASP
ASP.NET创建Web服务之发布和部署 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!部署一个XM
ASP.NET创建Web服务之XML基础结构 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 为了
知识大全 ASP.NET入门教程 12.4 创建Web服务[2]
ASP.NET入门教程12.4创建Web服务[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&
知识大全 ASP.NET入门教程 12.4 创建Web服务[1]
ASP.NET入门教程12.4创建Web服务[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&
知识大全 ASP.NET入门教程 12.4 创建Web服务[3]
ASP.NET入门教程12.4创建Web服务[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&
ASP.NET创建XMLWeb服务全接触 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! XMLW
创建一个Web项目,配置数据库连接 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 作为web开发
基于ASP.NET的Web动态控件创建 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 摘要web