SOA中的服务接口设计最佳实践

SOA中的服务接口设计最佳实践

ID:37895949

大小:157.50 KB

页数:14页

时间:2019-06-02

SOA中的服务接口设计最佳实践_第1页
SOA中的服务接口设计最佳实践_第2页
SOA中的服务接口设计最佳实践_第3页
SOA中的服务接口设计最佳实践_第4页
SOA中的服务接口设计最佳实践_第5页
资源描述:

《SOA中的服务接口设计最佳实践》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、SOA中的服务接口设计最佳实践,第2部分:使用服务向服务使用者应用程序报告错误http://www.ibm.com/developerworks/cn/architecture/ar-servdsgn2/级别:中级MikhailGenkin(genkin@ca.ibm.com),认证IT架构师,IBM 2007年12月20日在本文中,我们将了解如何在SOA环境中使用服务接口来报告服务错误。面向服务的体系结构(Service-OrientedArchitecture,SOA)强调企业内不同系统间的松散耦合。应用程序彼此间的通信只能通过设计良

2、好的服务接口进行,并不会考虑彼此的实现。服务接口结构在SOA中是最重要的。设计糟糕的服务接口可能会对需要使用其的所有应用程序造成负面影响。通过本文可了解设计良好的服务接口如何帮助加速项目计划的执行,从而提高您的SOA解决方案对业务需求的响应能力。引言本系列的第1部分重点讨论了服务接口设计的最佳实践,包括设计与开发方法、服务粒度、同步设计与异步设计的比较以及操作签名。在本文中,将重点介绍相关最佳实践,以说明服务应该如何向服务使用者应用程序报告错误。除了成功响应外,生产质量级的系统还必须能够处理各种错误情况。服务向服务使用者应用程序报告错误的

3、方式会影响服务接口的结构,从而也会影响服务使用者应用程序的构造方式。用于报告错误的WSDL构造第1部分讨论了描述服务接口的最佳方式就是使用Web服务描述语言(WebServicesDescriptionLanguage,WSDL)。WSDL规范包括如下规定:·服务接口(端口类型)包含一系列操作。·每个操作可以为请求-响应型,也可以为单向操作。·每个请求-响应操作可以定义单个输入消息、单个响应消息和任意数量的错误消息。·单向操作不能定义响应消息或错误消息。WSDL规范还进一步定义消息可以包括一个或多个部分。每个部分的值可以为简单XSD类型,

4、也可以为用户定义的复杂类型。请参见参考资料,其中提供了指向WSDL规范的链接。错误类型服务需要报告的错误实际上可归入两类:系统级别表示属于服务实现的一部分的运行时软件组件、硬件和网络通信协议的错误。这些错误代表不与所执行的业务逻辑或数据相关的错误。例如,如果服务实现需要访问的RDBMS服务器崩溃,由于应用程序服务器无法找到该服务器的Java™DatabaseConnectivity(JDBC)连接,因此您的服务器无法处理请求消息,则将出现典型的系统级错误。业务级别由于服务违反业务逻辑或数据相关规则而引发的错误。例如,如果请求消息表示请求预

5、订旅程,而回程日期字段的日期早于出发日期,则服务实现将可能引发业务级别的错误。最佳实践:对于具有请求-响应操作的同步体系结构,请在操作签名中定义系统和业务错误。应该使用不同的XSD类型描述系统错误和业务错误。服务使用者应用程序通常需要以不同的方式响应系统级别和业务级别的错误。对于系统级别的错误,服务使用者应用程序可能希望等待并使用原始数据再次尝试请求。对于业务级别的错误,应用程序可能希望将消息发送回最终用户,要求对输入数据进行更正。在请求-响应操作中使用WSDL错误错误仅能与请求-响应操作一起使用。图1显示了可以如何设计WSDL端口类型的

6、结构,以向客户机应用程序返回业务级别和系统级别的错误。此操作基于经常使用的StockQuote示例。StockQuote服务包含单个StockQuote端口类型(接口)。此端口类型包含名为getQuote()的操作。此操作接收作为getQuoteRequest消息的一部分的输入消息。结果作为getQuoteResponse消息的一部分返回。图1.示例端口类型getQuote()操作还定义了另外两个消息,用于向服务使用者应用程序返回错误。·getQuoteBusinessFault返回与不正确使用服务相关的错误,如服务使用者应用程序提供了未

7、知或空的股票代码。·getQuoteSystemFault返回系统导致的错误,如数据连接问题等。按照第1部分中所述的最佳实践,在独立的XSD文件中定义错误类型。此XSD包含复杂类型,用于表示SystemError和BusinessError。最佳实践:错误消息应该包含单个WSDL部分。此部分的值是复杂XSD类型,其中包含错误的完整描述。上面图1中的示例端口类型显示了使用错误返回错误的请求-响应操作。此操作的结构按照IBM®WebSphere®IntegrationDeveloper6.0或IBMRational®ApplicationDe

8、veloper6.0及7.0中提供的WSDL编辑器中所示的方式显示。清单1显示了XSD文件中定义的复杂类型的结构。您可以下载示例代码,其中说明了复杂错误类型的定义方式。BusinessErro

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。