随着Internet/Intranet的发展,开发模式发生了变化,第一波重要的技术是http/html,他给Internet/Intranet和电子商务都带来重要的影响;第二波是java技术的兴起,java带来了跨品台的锲机,让开发人员可以使用单一的语言和环境开发应用系统;第三波是xml技术的兴起,它提供了标准的数据封装,让数据交换跨越了各种平台、操作系统和各种工具,通过xml,各种数据交换不再让人头痛。 Webservice 的概念是使用一个标准的输出接口来定义代码提供的功能,以便让外界可以通过这个标准的输出接口来调用,而所谓的标准输出接口就是wsdl,wsdl是一个xml组成的文件,描述了实现程序对外提供函数的原型,客户端可以通过wsdl来调用实现程序提供的服务代码。在这里我不想详细的介绍webservice的原理和概念,通过一个例子来展示新的基于网络的开发模式。在这个例子中服务端用java完成,客户端用delphi完成,开发工具是JBuilder9和Delphi7,服务器是tomcat5.0。首先建立服务端程序:启动JBuilder建立一个工程,设置服务器为tomcat4.0(因为JBuilder9不支持tomcat5.0,实现后将其在tomcat5.0中发布)。新建一个class 代码如下: public class HelloWorld{ public String sayHello(){ return "Hello world!"; } public String echo(String u){ return "Hello " + u; } } 选择File菜单New,在弹出的对话框中选择web services页中的Web Serivice Configuation Wizard,新建webapp axis并配置servers。再次选择File菜单,New再出现的窗口中选择Export as a web service Wizard,在弹出的向导中选择要导出的类名,其它项直接选默认值即可。运行刚才建立的程序,出现“JBuilder Apache Axis Admin Console”的页面表示刚才建立的webservice成功。点击View超级链接进入“And now... Some Services”页面,点击HelloWorld(WSDL)的链接出现WSDL描述文件,至此webservice服务端建立完成。将刚才建立的webservice发布到tomcat5.0中,在tomcat的webapps目录下新建webservicetest目录,将用JBulider建立的工程目录下的 axis目录下的文件全部复制到其中,重新启动tomcat,访问http://localhost:8080/webservicetest/,如果看到“JBuilder Apache Axis Admin Console”页面说明发布成功。启动Delphi7新建一个工程,然后选择新建webservices中WSDL importer向导,将刚才发布的webservice描述文件WSDL导入(我的地址是:http://localhost:8080/webservicetest/services/HelloWorld?wsdl)自动生成一个单元HelloWorld1,在Unit1中使用单元HelloWorld1,在窗体上放置两个button,在button1的Click事件中写如下测试代码: procedure TForm1.Button1Click(Sender: TObject); var test:HelloWorld; str:String; begin test := GetHelloWorld;(得到webservice提供的远程接口) str := test.sayHello; ShowMessage(str); test := nil; end; 运行测试程序, 弹出“hello,world”说明成功。Button的测试代码类似,我在这里不再重复。至此,一个完成webservice程序完成,并能顺利运行。
开发webservice应用程序
最新推荐文章于 2024-09-03 13:20:29 发布