以下的文章主要是阐述DB2 9.5将业务逻辑转换为Web Services.在此篇文章里,我们主要是教你正确的将业务逻辑,例如存储过程、函数、还有SQL语句——转化为一个Web service。以下就是正文的主要内容描述。
IBM Data Web Services概述
如果你经常看看杂志,或浏览网站,或参加会议,你就很难避免听到或读到关于Web services的信息。它们已经出现了一段时间了,被用来创建松耦合的应用程序。与Web services所关联的规范和标准——例如SOAP和Web Services描述语言(WSDL)——都被良好地定义并已成熟。
当公司将他们的IT应用程序移向服务面向架构(SOA)时,这通常需要暴露存储在一个数据服务器上作为一个Web service的后台应用程序功能和业务逻辑(例如,SQL语句和存储过程)。使用Web service并不等同于SOA,Web service是进行SOA的至关重要的组成部分。
IBM Data Web Services(IBM DWS)是一个技术,它提出了创新,使得你可以将数据库业务逻辑作为服务暴露出来,用于在SOA应用程序中使用。使用IBM DWS和IBM数据服务器,你可以轻松地提供封装的业务逻辑,例如SQL脚本和程序,使它们就像Web services,只需要点击按钮就可以了。
没错;你可以将任何SQL语句或程序,右键单击、生成JMS、SOAP或REST Web service终端,然后它们就可以用于生成松耦合的应用程序。此外,你可以将多个数据库操作分组为一个或多个服务,它们可以被部署和运行于众多的被支持应用服务器上,可以由任何客户端通过一个Web浏览器调用。
为了说明IBM DWS在多大程度上简化了你达成SOA应用程序的工作,你需要了解为什么创造了IBM DWS技术,以及使用之前的DB2软件版本创建Web service是什么样子的。
在广泛使用DB2 Web service和移植遗留应用程序到这些服务上的一个主要问题是缺乏好的基础和工具集来快速地创建和提供它们。举例来说,DB2的较早版本使用WebSphere对象运行时框架(WORF)来激活DB2之上的service操作。
尽管WORF可以做这项工作,但是要定义和开发这些Web services所要做的工作却是很繁重的;特别是,它涉及创建定制数据访问定义扩展(DADX)文件,它们是很复杂的,而且不基于任何标准。此外,WORF框架是专用于DB2产品家族的,不能很好地支持其它IBM数据服务器,例如Informix Dynamic Server。
IBM DWS是在DB2 9.5逐渐被广泛使用的时候推出的。你可能注意到,这个Web service基础构建被适当地命名为IBM Data Web Services。在名称中没有DB2;这是因为这个技术可以用于所有主流的IBM数据服务器和DB2 for IBM i(就是之前众所周知的IBM i5/OS)。而且,它还可以用在这些数据服务器的之前版本!例如,你可以使用这个框架在一个DB2 Universal Database Version 8.2 for Windows数据库上将业务逻辑暴露为一个Web service。
IBM DWS技术最好的部分(你将会发现的)是它提供了一个框架将业务逻辑转换为一个Web service而不用编写一个单独的代码!IBM DWS技术完全集成到IBM Data Studio中,这使得它很容易创建自下而上的Web service开发(自动地生成WSDL、XML匹配、类型匹配,等等)。
特别是,IBM DWS为IBM数据服务器提供了以下特性:
单击创建功能,包括一个拖拉部署基础构建(在IBM Data Studio中有一个用于Web services的新文件夹)而不需要任何编程。
全面的Web service接口支持,例如通过HTTP的SOAP、自动的WSDL生成,等等。
使用HTTP GET/POST绑定的REST风格的service接口。
Web 2.0功能(例如JSON、RSS、Feeds、使用XSLT的AJAX等等)。
将遗留应用程序组件暴露为services的功能。
生成Web services的开始和结束都是在IBM Data Studio中。例如,首先你使用IBM Data Studio创建一个数据开发项目,它是作为你将创建的Web services的一个容器来使用的,例如SQL脚本、程序、Web services和XML产品。
每一个数据开发项目都链接到一个数据库连接,围绕下面的IBM数据服务器之一:DB2 for Linux, UNIX, and Windows(Version 8或之后的版本)、DB2 for z/OS (Version 7或之后的版本)、DB2 for i (Version 5或之后的版本)和Informix Dynamic Server(Version 10或之后的版本)。
你可以选择将你的Web services部署到众多的供应层中去。例如,WebSphere Application Server Community Edition(Application Server/CE)被包含在IBM Data Studio中作为它的一部分来下载。
IBM DWS还可以通过IBM Data Studio部署到其它的流行应用服务器上,例如IBM WebSphere Application Server、Apache Tomcat,甚至包括IBM Data Power SOA Appliance。IBM Data Studio还提供给你生成一个Web存档文件(WAR)用于部署到Web团队中去的能力。
IBM DWS支持SOAP、JMS和REST终端用于Web services。终端和支持风格的多样性使得在可以用来调用这些服务的客户端方面具有很多选择。当你在IBM Data Studio中创建Web service时,默认选择是生成SOAP和REST服务;而当你部署你Web services时,你可以根据你的应用程序需求来选择生成哪个服务。
如果你生成SOAP/HTTP风格的服务,那么XML请求文档就被包含在了SOAP请求信息的SOAP body元素中。IBM DWS REST风格界面支持下面的请求类型:具有一个XML请求文档的HTTP POST、在一个URL中具有输入参数的HTTP GET,和在请求文档中具有URL编码参数的HTTP POST。
IBM Data Studio还支持XSLT特性,你可以用它将样式转换应用到每一个服务操作;你可以使用这个选项来定制从这个服务进出的输出输入流。例如,你可以使一个服务的输出是以XML的形式传送到你的客户端,而使用一个XSLT转换调整显示结果来匹配客户的表单因素。
在IBM Data Studio中为你的Web services定义XSLT转换的能力对于很多应用程序——不仅仅是格式化——都是非常有用的。例如,你可以用它来定制你的Web service来遵从一个现有的WSDL文档。从IBM DWS获得的XML格式可能不是你其它的应用程序所期待的格式;正确的格式取决于应用程序或已有的IT基础构建和项目本身。XSLT可以用来将DWS的输入和输出匹配到已有的XML schema规范。
此外,你不再需要选择自下而上或自上而下的方法来建立Web services,因为IBM DWS所生成的自下而上服务可以匹配到客户端自上而下的格式要求。你还可以使用这个特性来获取像JSON这样格式的结果,或基于数据库内容生成feed格式,例如RSS。
最后,与IBM DWS一起的还有一些测试工具,你可以用它们快速地为你的Web services执行全面和质量保证测试。到此,我们已经花费很多时间讲述IBM DWS,该开始使用它了。
【编辑推荐】