快速业务通道

用Java Web服务打造聊天程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22
现从后端业务逻辑中分离出来。我使用了适配器设计模式,那就是说,到ChatService.java的调用被委托给一个后端处理机。业务逻辑是相当简单的。它是在一个集合中保存消息的SimpleBackendImpl.java类的单一实例。

初看起来,置配器/后端实现看起来对于用于一个简单的教程太复杂了。然而,即使复杂的现有的业务逻辑可以被重使用来变成一个没有任何改变它的代码的需要的Web服务。这是一个常见的现实的使用案例。即使应用程序没有使用原来的适配器模式,编写一个象ChatService这样的包装类,不需要重写原始的后端程序逻辑。然而,后端可以使用JDBC和一个关系数据库来实现,否则作为一个EJB,甚至调用外部非Java应用程序的本地方法。可能发生的事是无穷尽的。适配器模式只允许你很快地触发新的后端逻辑。

把一个聊天服务器转为一个Web服务

现在,这个聊天服务器只是一个Java实现。它还不是SOAP。它只是一个用于运行在相同JVM上的客户端的可工作的聊天服务器。下一步就是生成聊天服务器发言SOAP并且创建一个描述它的WSDL文档。

这个示例使用Systinet的Web Applications and Services Platform(WASP)软件来创建Web服务应用程序。WASP软件是平台无关的并且工作在几乎任何Java环境中。这个平台提供了两个不同的部署情况:编程部署和声明部署。在这两种情况下,取得部署的是简单的旧的Java对象。编程部署(也称运行时间发布)发生在一个应用的运行时间并且能动态的部署应用程序为Web服务。你只要在你的应用程序中逐步开始WASP,并且使用到WASP应用编程接口的调用注册它的对象。换句话说,你事实上把WASP嵌入到你的应用程序。声明部署意味着把你的应用程序包装到一个部署程序包并且把这个发布到一个WASP的运行实例中。为了简单和便于访问起见,我们使用运行时间发布方法。

用Java Web服务打造聊天程序 - 编程入门网

图1:导入现有的代码

用Java Web服务打造聊天程序(2)

时间:2010-12-16

安装聊天服务器到Eclipse中

假定你让带有WASP Developer的Eclipse启动并运行,安装示例代码。

在Eclipse中创建一个新建项目(File - > New - > Project...)。选择Systinet Web Services/Web Service Project。

在下面的对话框中输入项目名,ChatServiceProject和位置。结束向导。

从File菜单中,选择Import...命令,并且选择Zip file方法。

在对话框中选择前面源代码中下载的压缩文件,并且点击Finish按钮。

你的工程现在应该包含两个带有Chat Service的源代码的程序包。你可以通过检查Package Explore视图来检查。

SOAP启动聊天服务器

现在你有了一个简单的聊天服务器的一个工作实现。为了能与SOAP通信,你要把它部署到使用运行时间发布方法的Web服务服务器。

启动绝对地址的服务器并且在服务器的地址下注册这个服务。服务器地址+服务路径组成了Web服务的完整的URI。

这里是启动SOAP服务器并且把聊天服务注册为一个Web服务的应用程序代码类。这个源代码文件应该(很明显)应该被存为ChatServerApp.java。

package com.systinet.simplechat.server.impl; import org.systinet.wasp.*; import org.systinet.wasp.webservice.Registry; public class ChatServerApp { public static void main(String[] args) throws Exception { Wasp.startServer("http://localhost:6060"); Registry.publish("/ChatService/", ChatService.class); System.out.println("The Chat server is up and running."); } }

它很简单,只有两行代码:

Wasp.startServer("http://localhost:6060"); Registry.publish("/ChatService/", ChatService.class);

WASP.startServer方法启动一个Java应用程序内的服务器。Registry.publish方法编程地部署

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号