当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:14:00  来源:本站整理

用Java Web服务打造聊天程序[Java编程]

赞助商链接



  本文“用Java Web服务打造聊天程序[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

Web服务是什么大概应当是什么有很多定义,每个或多或少都可以理解.很风趣的事情是最简单的东西常常是最难描写的.眼前就有一个很好的例子:一个Web服务是一个可以和外部世界交换文档的实体.这个实体是自我描写的并且拥有一个唯一的特点.

这个文档内容是XML;严峻来说是SOAP.SOAP(简单对象存取协议)定义Web服务消费和生成的XML文档的内部构造.SOAP被认为是一个行业尺度并且被很多跨平台软件供应商、硬件平台、操作系统大概编程语言遍及地采取.

每个Web服务都有一个地址.这是它的ID.这个地址由一个URI(亦称URL)定义.一个Web服务存在于并且被它的URI标识.这个地址常常被称为一个终端.这个ID和内容的安全性毫无关系.本教程的服务存在于http://localhost:6060/ChatService/.

Web服务带有它自己的描写.这奉告你它交换的是什么范例的文档.它阐明了服务存在于什么地方(URI地址).并且它还阐明了它可以利用哪个传输协议来交换文档.Web服务描写利用的语言是WSDL(Web服务定义语言).一个Web服务完好由它的WSDL文档描写.为了和一个独立Web服务通讯,你只需求WSDL文档.即便WSDL在它自己的上下文中描写Web服务,它还是无法描写多个Web服务组合起来所形成的美好的乐章.

Web服务有一个地址,但是为了拜候它,你需求发现它在哪儿.换句话说,你需求一个电话号簿列表Web服务.UDDI (通用描写、发现和集成)是行业尺度的电话号码薄.UDDI处理存放器并且发现Web服务.

综合起来,一个Web服务就是和实际世界交换SOAP文档的一个实体,利用一些URI定位,利用WSDL文档描写并且可以利用UDDI注册来列出并发现.

一个真实的示例

无数范例的文档可以被发送到Web服务并根源于Web服务.它可以是一个钢厂中的周期的温度报道,它可以是一个地方政府定义的退税恳求,大概它可以是一个从一个软件组件到另一个组件的RPC调用的文档气势表现.一样的情形也发生在文档交换筹划中.你可以假想单向的消息大概恳求-呼应消息传送,这里面都需求跟随一个呼应文档的恳求文档. Web服务大部份当前的用法遵守XML情势上的远程历程调用.这就是为什么开辟者可以很简单转到开辟Web服务,而不要对现有的利用程序做庞大的改正,大概之需求付出最小的勤奋就可以成立用于Web服务的客户端.Web服务框架常常可以躲藏底层体系构造的复杂性.他们普通供应了用于从语言到WSDL和从WSDL到语言生成的工具.展示象Web服务这样的语言构造比手工处理XML文档快得多并且简单的多.目前,Web服务常常用作一个集成工具,让开辟者和系统计划师互连差别的利用程序.

即便本文中的Web服务和它的客户端遵守XML情势上的远程历程调用,但是Web服务的利用范围是非常宽广的.近期,有很多基于疏松耦合的纯文档交换情势实现.

一个简单的聊天服务器

在本文中,我试图成立一个比闻名的股票行情服务更具挑衅的利用程序,但是仍旧简单易读.它是一个聊天服务器利用程序.聊天服务器的功效是非常简单的客户端大概发送新消息并读取它们.

这个聊天服务器实现是与WASP和Web服务完好互不相关的.它可以成功地被编译并且用于任何其他的Java环境.这个聊天服务器还描写预存在的业务逻辑.请查看代码来领会.你可以在这里下载用于聊天实现的源代码(而不是Web服务,那个还没有写).

计划聊天服务器

聊天服务器的全部的实现被分割到好几个类中.接口定义在程序包com.systinet.simplechat.server.iface中.它由三个类构成;聊天服务器的接口类IChatService.java和用于聊天消息的表现两个构造和participants-ChatMessage.java和ChatPerson.java.

聊天服务器的实目前程序包com.systinet.simplechat.server.impl中.它把简单的接口的实现从后端业务逻辑中别离出来.我利用了适配器计划情势,那就是说,到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的运行实例中.为了简单和便于拜候起见,我们利用运行时间公布办法.

图1:导入现有的代码


  以上是“用Java Web服务打造聊天程序[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 利用Javascript实现网页水印(非图片水印)
  • <b>如安在Oracle中利用Java存储历程</b>
  • 用Java实现自动在数据库表中生成ID号
  • 利用javascript获得浏览器中的星号密码办法
  • 用javabean来实现MySQL的分页显示
  • 用Java 1.1 AWT制作窗口和程序片
  • 用Java ME举行无线消息传送
  • <b>用Java筹划COM服务器</b>
  • 用Java筹划COM客户
  • <b>用Java程序生成文本的捷径</b>
  • 用Java实现FTP服务器办理策划
  • 用Java实现多线程服务器程序
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .