基于Spring框架的SOA系统架构的实现

来源 :中国管理信息化 | 被引量 : 0次 | 上传用户:xinxinrenren
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘 要]本文对Spring框架和SOA系统架构原理进行简要的阐述,将Spring框架技术应用到SOA系统架构中,并用一个简单具体的案例阐述了其实现过程。在SOA项目开发实践中应用该框架,将极大地降低程序的复杂度,易于程序员的维护,并具有很强的扩展性。
  [关键词]Spring; SOA;系统架构
  doi:10.3969/j.issn.1673-0194.2009.12.028
  [中图分类号]F270.7;TP393.02[文献标识码]A[文章编号]1673-0194(2009)12-0082-02
  
  1 引 言
  
  SOA是一种IT体系结构样式,可以认为它是系统架构的一种方法、一种思想,不是具体的软件产品技术,具体思想是支持将您的业务作为链接服务或可重复业务任务进行集成,可在需要时通过网络访问这些服务和任务,这个网络可能完全包含在您的公司总部内,也可能分散于各地且采用不同的技术,通过对来自不同地点的服务进行“整合”,可让最终用户感觉似乎这些服务就安装在本地桌面上一样。目前关于SOA系统架构的讨论层出不穷,很多学者也发表了大量的文章,至今尚还停留在理论模型探讨上,但如何具体实现SOA的架构却显得相对滞后,这就给SOA的实施和应用带来了困难。Spring框架技术的问世很好地解决了这一问题,笔者进行了深入细致的研究,将Spring框架技术应用到SOA系统架构中,以实现SOA系统的具体实施和应用。
  
  2 Spring框架技术简介
  
  Spring是一个开源项目,是为简化企业级系统开发而诞生的轻量级解决方案,并和SOA系统架构思想具有非常相似的原理;在此基础上,还提供了包括声明式事务处理、RMI和Web Services远程访问业务逻辑,以及可以多种方法进行持久化数据库的解决方案。
  Spring可以看作是一个标准的开发框架,将服务组件定义在自己的工厂里,根据需要实时生产,供需求者动态获取和访问,充分实现了不同层次组件间的松散耦合。使用的核心文件是applicationContext.xml,核心技术是控制反转(Inversion of Control,IoC)技术以及面向方面编程(Aspect-Oriented Programming,AOP)技术。
  
  3 SOA系统架构原理
  
  SOA的基本体系架构主要包含服务提供者、服务注册中心、服务消费者和服务契约,如图1所示。
  
  其中,applicationContext.xml文件是Spring框架的核心文件,它负责对外部Service组件进行注册,相当于服务组件工厂,该工厂负责生产各种服务产品,然后通过IoC和AOP技术规范提供客户端的应用请求访问,实现了服务消费者和服务提供者之间的松散耦合,并为SOA系统提供了良好的可扩展性,若系统有扩充的需求,只要将服务组件注册到applicationContext.xml文件中即可。
  为了清楚地说明问题,使问题简单化,下面以Man类作为服务组件为案例来说明如何使用Spring框架来实现构建SOA系统,以下代码在JDK 6.0 Eclipse 3.2 MyEclipse 5.5中运行通过。
  //Man类
  public classMan {
  privateString Message;
  publicString getMessage() {
  return Message;
  }
  public voidsetMessage(String message) {
  Message= message;
  }
  //定义sayHello()来打招呼
  publicString sayHello(){
  return "Hello," getMessage();
  }
  }
  applicationContext.xml文件配置如下:
  <?xml version="1.0" encoding="UTF-8"?>
  <beans
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
  <!-- 将Man组件注册到Spring容器中,并标识为man,同时使用IoC技术将值注入message属性-->
  <bean id="man" class="Man">
  <property name="message">
  <value>你好!</value>
  </property>
  </bean>
  </beans>
  客户端应用请求程序Test,代码如下:
  import org.springframework.context.ApplicationContext;
  import org.springframework.context.support.ClassPathXmlApplicationContext;
  public classTest {
  public static voidmain(String[]args) {
  //获取applicationContext.xml工厂文件实例
  ApplicationContext ctx=
  newClassPathXmlApplicationContext("applicationContext.xml");
  //从工厂中获取标识为man服务组件
  Man man=(Man)ctx.getBean("man");
  //调用该服务组件中的sayHello()方法
  System.out.println(man.sayHello());
  }
  执行Test应用程序,运行结果为“Hello,你好!”。
  
  5 结束语
  
  Spring框架是目前国内外众多软件企业使用的主流技术,也是J2EE轻量级框架的重要组成部分,SOA是目前企业系统架构中的热点问题,在SOA项目开发实践中应用该框架,将极大地降低程序的复杂度,易于程序员的维护,并具有很强的扩展性。SOA和Spring的结合一定将具有美好的前景。
  
  主要参考文献
   [1] 张道海.基于SOA的企业系统架构研究[J] .中国管理信息化,2008,11(24):66-67.
  [2] 佘名高,贾秀峰,林坤江.基于Web服务的企业应用集成[J] .计算机技术与发展,2007,17(5):55-58.
其他文献
日前,松下正式发布旗下便捷式除菌神器“小魔棒”。  松下除菌喷雾产品专家胡滨表示,含有化学添加剂的传统除菌产品基本上都需要冷水稀释,时间久了消毒作用会减弱,使用方式不当,还很难達到除菌效果,而松下新发布的便携式除菌喷雾采用非酒精除菌方式,以物理方式除菌,通过清洁技术可实现99%的高效除菌,带来“一喷即可”的简单除菌体验。  此外,传统酒精类消毒剂气味大、刺激性强,对皮肤脆弱的人群,尤其是小孩子,会
[摘 要] 收入循环中的3个主要环节是客户订购、应收账款和现金收款,AIS设计应使这3个环节的执行效率最大化。AIS必须集成足够的内部控制过程以降低类似订单错误、无法收回的应收账款、存货和现金的丢失或被侵占等事件发生的风险,也需要控制过程来保证为决策提供的信息是准确的、完整的。本文重点论述了收入循环中的第一个主要环节:客户订购管理业务流程及其内部控制,对这一主要环节的业务流程作了比较详尽规范的论述
[摘 要] 为了提高学生的实际动手能力,培养“就业能上岗、上岗能顶岗”的专业人才,在财务软件操作教学中, 应明确教学目标和教学内容, 优化教学方法和教学手段,加强教材建设和实训资料,改善财务软件的缺陷,建立综合会计模拟实训室更好为会计工作服务。  [关键词] 财务软件操作;教学; 思考  doi : 10 . 3969 / j . issn . 1673 - 0194 . 2010 . 05 .
本报讯 7月28日,天猫精灵对外宣布启动“春雷计划”,将通过阿里AIoT开放平台和产业链的整合能力,帮助中小家电企业以更低的成本、更高的效率实现智能化升级。  据阿里巴巴副总裁、AIoT創新中心负责人库伟介绍,天猫精灵加入“春雷计划”的第一步,就是依托阿里巴巴AIoT创新中心,向浙江宁波、广东中山、福建福安三大小家电产业带,提供一系列商家扶持政策。
[摘 要] 本文提出了会计电算化“3 1 1 1”工学结合的人才培养模式,并指出只有通过加强教学团队、课程体系、实训基地等教学环节的具体建设,才能实现培养人才的目标。  [关键词] 会计电算化;“3 1 1 1”;工学结合;人才培养模式  [中图分类号]F232[文献标识码]A[文章编号]1673-0194(2009)03-0103-03    一、工学结合人才培养模式的意义    《国务院关于大
据国外媒体报道,菲亞特-克莱斯勒(FCA)正在测试混合动力插电式汽车自动切换到纯电动模式。目前,FCA正在意大利都灵市试行该项目,该项目允许混合动力插电式汽车在进入拥堵的市中心时自动切换到纯电动模式。  随着城市规划零排放区域并考虑完全禁止汽油动力汽车,汽车制造商正在寻找创造性的方法,以确保他们的客户不会陷入困境,而这一项目或许就是创造性的方法之一。  据了解,该项目基于搭载完全集成的车载传感器的
[摘 要] 当前,中职《基础会计》课程是以会计原理、会计方法的教学为主线,而会计方法的教学需要密切联系会计循环的教学。因此,我们需要积极开展会计循环的教学研究,进行科学合理的教学设计。在此,我们从课程开发的角度,遵循学生认知新事物的规律,科学设计由简单到复杂的会计循环演变过程,让学生真正掌握各种会计方法在会计循环中的作用,对会计循环形成比较全面而系统的认识,为进一步学习专业课程奠定基础。  [关键
[摘 要] 建设单位会计是应用于建设单位的一种专业会计,在计划经济时期发挥了重要作用。长期以来,我国的会计核算将事业单位和建设单位分别作为两个会计主体,实行两套会计制度。目前,这种双轨运行机制已经不符合预算管理体制改革的要求。笔者从当前存在的问题出发,提出了在事业单位取消建设单位会计的可行性,并提出了并账后的会计处理方法。  [关键词] 建设单位会计;制度信息失真;事业单位会计;结转自筹基建  [
[摘 要] 随着高新技术企业的快速发展和研发投入的高速增长,其原有的财务管理模式已经滞后,成为企业研发活动的一个瓶颈。本文提出在高新技术企业可采用“结算中心模式”,使高新技术企业进入良性循环的发展轨道。  [关键词] 高新技术企业;财务管理模式;选择  doi : 10 . 3969 / j . issn . 1673 - 0194 . 2010 . 24 . 007  [中图分类号]F275 [
[摘要]为了贯彻教育部[2006]16号文件《关于全面提高高等职业教育教学质量的若干意见》的精神,我们结合国家职业教育体系的特点,从专业设置、教育模式、课程体系和教学内容等方面,大力进行教育教学改革,这体现了社会和职校共同的要求。然而对于职业院校而言,在教育模式的选择上应端正办学指导思想。以培养复合型技术人才为自身首要目标。本文主要从职业院校的课程改革模式以及注重内涵发展两方面提出关于高职院校人才