论文部分内容阅读
随着企业级应用系统的不断发展、数量不断增多,软件复杂性急剧增加,异构和集成成为是企业级应用面临的两大主要问题。企业级系统建设既要考虑异构系统交互过程中形成的“信息孤岛”、重复开发问题,同时还要考虑保护企业已有信息技术资产,实现最大程度上复用原有遗留系统中的功能。传统的软件开发方法,在一定程度上解决了软件的重用和可维护的问题,但还存在着对象之间紧密耦合、构件依赖特定的传输协议等问题。如何实现分布式、异构的软件集成以消除不同平台和协议带来的问题,实现应用之间的无缝整合,己成当今为急待解决的问题。
面向服务架构SOA(Service Oriented Architecture)方法是一种新型的软件体系架构模式。基于SOA架构的系统具有可重用、松散耦合、粗粒度、位置和传输协议透明等优点,能很好地实现应用之间无缝结合。传统分布式架构主要采用面向对象的思想、以组件为核心、以功能模块为单位等,而在整个SOA实施过程中贯彻以服务为中心,服务是基于业务层次的粗粒度服务,服务之间通过简单、精确定义的接口进行通讯。同时能将原有的资产转变为可共享的标准服务,实现对原有系统的重用和集成。
本文首先从SOA的概念、基本原理入手,分析了SOA架构中的服务特征及SOA的优势,研究了Web Services技术规范及用于构建SOA的三大新编程模式-SCA+SDO+BPEL。SCA提出了一种组合应用(Composite Application)的概念,通过组合已有或新构建的服务来组装各种所需的应用程序;SDO是SCA分布式开发中的统一数据服务组件,统一了访问不同类型数据源时的数据编程;BPEL能把各种公开的服务组合起来,按照业务流程进行服务编排。在SCA技术规范的基础上,结合轻量级J2EE框架技术,提出了一种基于SOA的应用程序框架-SSB。借鉴IBM提出的面向服务分析和设计方法,以仓储信息系统为例,从服务识别、服务规约、服务实现等几个角度进行了服务建模和系统架构设计;最后,整合SOA技术规范SCA、SDO、BPEL和开源轻量级J2EE框架SSH2(Struts2-Spring-Hibernate),采用自底向上的方法,依次对应用程序框架-SSB的数据访问层、业务服务层、业务流程层及表示层进行了实现,并以订单子系统为例,详细说明各层的实现内容。