基于J2EE的Web Services应用

来源 :商场现代化 | 被引量 : 0次 | 上传用户:luoshibo
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要] Web Services为企业系统集成、电子商务、电子政务等提供了规范的、开放的分布式应用环境本。本文讨论了其基本概念和体系结构,并利用J2EE技术加以实现,最后给出了一个具体应用实例。
  [关键词] J2EE Web服务 SOAP 认证 Apache Axis
  
  一、相关工作研究
  
  1.Web Services的体系结构。各种高级和扩展的Web Services体系架构都是在这个三角形的基础上扩展而成的。
  
  二、基于J2EE的Web Services体系
  
  1.基于J2EE的多层结构
  J2EE的多层体系结构可由图2所示。一个应用组件安装的位置,取决于该应用组件位于多层J2EE环境中的位置。这些层是客户层、Web层、业务层和企业信息系统层(EIS)。
  (1)客户层。客户层普遍地支持HTML协议,也称客户代理。
  (2)Web层。Web层由Web容器运行,它包括Web服务、JSP页面及显示HTML页面的Servlet等Web组件。
  (3)业务层。业务层由EJB(Enterprise JavaBean)容器运行,支持EJB、JMS、JTA等服务和技术。业务层和Web层一起构成三层J2EE应用的中间层。
  (4)企业信息系统层(EIS)。提供数据存储的服务,这里主要指数据库。
  2.Apache Axis框架
  Axis(Apache Extensible Interaction System)是Apache软件基金会(Apache Software Foundation)开发的一个SOAP标准的Java实现,是早期Apache SOAP项目的后继。它基于Java语言的SOAP规范(SOAP1.2)和SOAP with Attachments规范的开放源代码实现。下面是该Axis框架的主要特征:
  ● 灵活的消息传递框架;
  ● 灵活的传输框架;
  ● 数据编码支持;
  ● 其他特征:Axis完全支持WSDL以及日志记录、出错以及故障处理机制。
  Axis框架主要包括以下几个关键部件:
  ● Axis引擎:它是Axis 消息处理模型的主要入口点,负责保证遵循SOAP的语义,还负责协调其他部件的调用次序。
  ● 处理器:是Axis的基本构件块,又可称为处理程序。用于检查和修改SOAP消息,以便完成自己的工作。
  ● 链:也是处理器,表示的是有序的处理器的集合。
  
  三、开发实例
  
  在校园信息管理系统中,包括学生信息管理、教务信息管理、人事信息管理、财务管理、校园卡管理、科研信息管理、资产信息管理、行政办公系统等子系统,在这些系统中,需要重复地使用到学校各部门的信息、教职工信息、学生信息、登录权限管理信息等,采用Web Services技术就很好地解决了这个问题,为信息跨平台集成提供了解决方案。以下笔者以校园信息管理系统项目中的使用权限信息发布与集成为例,具体阐述Web Services的建立与应用。为了节省篇幅,程序进行了删简与修改。
  1.Web Services服务程序
  提供登录验证并返回权限等级的服务程序如下:
  import com.sspu.util.DBconn;//连接数据库的Bean
  public class LoginService {
   public String getPowerid(String username, String password) {
   DBconn conn = new DBconn();//创建数据库连接
   String powerid=null;
  try {
   ResultSet rs = conn.executeQuery (“select * from login where username='” + username +”' and password='” + password + “'”);
   if (rs.next()) {
   powerid=rs.getString ("powerid");//返回权限等级
   …… }
  2.服务部署文件
  服务程序需要部署到SOAP服务器上,可用部署文件WSDD来完成。以下是部署文件代码:
  
  
  

  执行java org.apache.axis.client.AdminClient 部署文件名.wsdd,则可将前面的Web Services服务程序部署到指定的SOAP服务器上。
  3.Web Services发布
  Web Services的发布、绑定与调用的接口由WSDL文件来完成。
  4.Web Services的客户端测试
  经过测试,实现了跨平台获取用户权限的功能,实现了系统集成。但是,测试中发现通过Web Services获取信息的效率低,影响了系统的正常运行速度,因而采用在开发过程中采用以下方法提高Web Services的传输速度:
  (1)尽量避免SOAP格式序列化,首先对JAVA而言,SOAP格式返回的类型有一定的局限性,给编码带来诸多不便,不能返回一定自定义的类。所以,首先把所有要传输的对象全部通过java.io包中的ObjectOutputStream类将对象写入字节流,ObjectInputStream从字节流重构对象。然后通过ObjectInputStream类将对象反序列化,这样可以传递本来不允许的一些对象。
  (2)将序列化后的二进制流用算法实时压缩后再发送(相应在另一端必须实现首先进行解压缩后再进行反序列化),这一步应该是提高速度的关键,一般数据在压缩后会变成原来的十分之一还不到,经测试,在2M的ADSL上如果采用原来的方式传递一个1000行数据的ResultSet需要3秒,改进后只需要0.5秒;如果在连接速度更低的网络环境下,改善效率更明显。
  通过以上的改进,提高了Web Services的运行速度。进而把经验推广,对整个系统中的各子系统进行分析,将教务、科研、人事、财务、图书馆、网络中心、学生各管理系统(包括电子政务)中的学院信息、专业信息、专业方向信息、学生信息、教工信息这些共同的内容利用Web Services进行整合,逐步构建一个完成的学校信息化管理平台。
  
  四、结论
  
  由于J2EE的平台无关性和Web Services的组件性,它将成为开发Web应用的一种良好选择。它不仅满足众多Web应用的需求,而且简化了电子商务的开发流程。可以预见,基于J2EE的Web Services应用具有非常广阔的发展前景。
  
  参考文献:
  [1]P.Alvarez, J.A.Banares, P.R.Muro-Medrao, J.Nogueras, F.J.Zarazaga. A Java Coordination Tool for Web-Service Architectures: The Location-Based Service Context[J], Revised Papers from the International Workshop on Scientfic Engineering for Distributed Java Applications, 2002.11, 28~29:1~4
  [2]Zhou Zhu, James Bailey. Fast Discovery of Interesting Collections of Web Services. Proceedings of the 2006 IEEE/WIC/ACM International Conference on Web Intelligence WI '06, 2006:152~160
  [3]Ethan Cerami, Simo n St.Laurent, Web Services Essentials[M], O’Reilly&Associates, Inc., Sebastopol, CA, 2002
  [4]范玉珍:基于Web Services构架的企业应用系统的开发方法[D],中国科学院软件研究所硕士论文,2003
  [5]杨德华. 利用J2EE实现Web Services模型与应用[J].计算机工程与应用,2004,9:122~125
  [6]冉春玉赵凌燕郝锐陈才贤:用Apache Axis开发Web服务[J],计算机应用,2004,24(5):140~142
  [7]梁俊斌苏德富:开发基于J2EE的Web Services应用研究[J].微计算机应用,2005,26(1):26~29
  [8]李慧盈李德昌段羽吕邦国:利用J2EE构建XML Web Services的研究[J].计算机工程与应用,2004,5:128~130
  [9]钟涛:一种基于J2EE的Web Service体系的研究与实践[D].复旦大学硕士论文,2002:11~19
  
  “本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文”
其他文献
[摘要] 本文利用UML建模语言设计钥匙集中管理系统,对钥匙集中管理系统的重要功能模块进行了详细分析和设计,包括时间模块、日志读写模块、串口读取指纹识别数据模块和身份权限验证模块。根据分析的结果实现了一个仿真钥匙集中管理系统。  [关键词] UM 指纹识别 钥匙集中管理 仿真系统    本系统的钥匙存取认证[1]除了采用指纹识别技术外,还加入了钥匙在位识别技术、软件智能控制和网络输出技术,技术可靠
期刊
[摘要] 当前,塑料产品的高度同质化为蓬勃发展中的塑料产业埋下巨大隐忧。本文通过对台州塑料产品的调查,分析了塑料产品同质化的表现及影响,提出了产品差异化战略的实施途径,为更深入地研究产品差异化战略提供一定的参考。  [关键词] 塑料产品 同质化 差异化 台州  塑料是国民经济发展的基础性材料,和钢铁、木材、水泥并称材料领域的四大支柱。随着高分子化合物技术、纳米技术等高新技术的重大突破,塑料作为一种
期刊
[摘要] 按照产业组织结构理论,市场竞争态势是决定市场结构,从而影响市场中企业的行为,进而影响企业发展策略决策的重要因素。本文试图从企业核心竞争能力与发展策略选择上,通过分析果汁饮料市场的竞争态势,以此作为切入点,就我国果汁饮料企业如何选择正确的发展策略提出建议。  [关键词] 竞争态势 发展策略 果汁饮料    一、我国饮料行业的现状及发展趋势    这些年我国饮料工业增长快速,截至2005年底
期刊
[摘要] 为适应商业银行稽核中心的需要,以OCR技术为基础,设计了一套事后稽核系统,可以完成银行票据扫描、识别和查询功能,并能够将提取的票据信息存入银行源数据库,实现银行柜台业务的自动勾兑稽核。该系统可以极大提高商业银行的稽核效率,节省大量的人力和物力成本。  [关键词] 银行稽核 金融票据 字符识别    一、引言    近年来,随着我国金融业计算机应用水平的不断提高,金融电子化得到了长足的发展
期刊
[摘要] 我们把动态能力定义为公司利用资源,特别是整合、重组,获得与让渡资源以适应甚至创造经济环境(市场与非市场环境)的变化的过程,尤其强调对非市场环境的适应与创新能力。本文通过对动态能力研究现状的分析,提出非市场环境下动态能力构建的问题。  [关键词] 动态能力 非市场环境 政治战略    动态能力是企业取得竞争优势的关键,动态能力中的“动态”,强调了企业能够及时的调整更新自己的竞争力,以适应复
期刊
[摘要] 绿色壁垒是国际贸易保护主义新的举措,对农产品出口造成较大的负面影响。临海是我国西兰花生产基地,在2002年“农残风波”中,西兰花产业遭受重创。最近,日本提出“肯定列表”后,对西兰花出口带来更高的要求。为了减弱“肯定列表”对临海西兰花产业的影响,政府、合作社和农户均要明确自身的职责和目标,共同努力,从生产、管理、标准等环节,加快与国际接轨的步伐,促进西兰花产业健康地发展。  [关键词] 国
期刊
[摘要] 组织间需要借助网络及信息技术的发展,构建跨组织系统,提高企业间交易处理的绩效。论文从基于专用网EDI技术的优劣势分析出发,分析并讨论了XML信息交换类型对跨组织系统构建的支持。  [关键词] XML 跨组织系统 信息交换    一、引言    随着市场竞争的加剧,组织间的联系对于组织的生存与发展越来越关键,并且这种联系已经突破了单纯的物流和资金流,成为更深入复杂的一种跨组织关系。而信息技
期刊
[摘要] 商务英语是实用性文本,以广告为例,其交际性很强,翻译过程中采用适度的调整,包括增译、减译、转译等灵活方法会实现预期的目标,收到良好的效果。  [关键词] 德 国功能翻译理论 商务英语 广告 运用     一、德国功能翻译理论    德国功能翻译理论起源于20世纪70年代,以1971年凯瑟琳娜.莱斯(Katharina Reiss)的《翻译批评的可能性与限制》一书的出版为标志,主要代表人物
期刊
[摘要] 企业R&D活动在战略联盟中的实施,既是信息技术发展和外部竞争压力的推动,也有其为了规避经营风险、弥补自身“战略短板”、利用外部技术资源的需要。本文从R&D活动对企业战略联盟的意义和战略联盟对R&D活动提供的支持两方面做出了解释。  [关键词] R&D活动 合作 战略联盟    企业竞争的资源观强调战略联盟是介于市场与企业之间的一种资源配置方式,通过设计复杂的资源转移和定价机制,联盟成员共
期刊
[摘要] Web服务的主要目标就是在现有的各种异构平台的基础上构筑一个通用的与平台无关语言无关的技术层,各种平台之上的应用依靠这个技术层来实施彼此的连接和集成。可以将电子商务Web服务架构划分为概念层逻辑层和物理层三个层次的模型,并分别讨论了模型的具体内容。  [关键词] 电子商务 web服务 架构    一、引言    动态电子商务是电子商务(EBusiness,EB)发展的目标,而Web服务是
期刊