收藏 分享(赏)

基于SOA的ERP系统架构设计方案(Web版)v1.0.2.docx

上传人:gsy285395 文档编号:6485638 上传时间:2019-04-14 格式:DOCX 页数:87 大小:5.98MB
下载 相关 举报
基于SOA的ERP系统架构设计方案(Web版)v1.0.2.docx_第1页
第1页 / 共87页
基于SOA的ERP系统架构设计方案(Web版)v1.0.2.docx_第2页
第2页 / 共87页
基于SOA的ERP系统架构设计方案(Web版)v1.0.2.docx_第3页
第3页 / 共87页
基于SOA的ERP系统架构设计方案(Web版)v1.0.2.docx_第4页
第4页 / 共87页
基于SOA的ERP系统架构设计方案(Web版)v1.0.2.docx_第5页
第5页 / 共87页
点击查看更多>>
资源描述

1、键入公司名称基于 SOA 的 ERP 系统架构设计方案V1.0键入作者姓名2012/10/16目录1 前言 41.1 企业 ERP 系统的需求描述 .41.2 ERP 技术及应用的发展趋势 .51.2.1 B/S 架构的 ERP 已经盛行 .51.2.2 SOA 架构的引入,使 ERP 全面升级 51.2.3 平台化 ERP 的柔性大大增强 .51.2.4 与其它信息系统的集成 .61.2.5 整合业务流程的监测与评估 .72 传统 ERP 产品技术架构 82.1 传统 C/S 架构的 ERP 系统 82.2 B/S 架构的 ERP 系统 82.3 C/S 架构和 B/S 架构的优缺点分析 .

2、92.3.1 C/S 系统优缺点 92.3.2 B/S 系统优缺点 92.3.3 结论 103 国内外最新 ERP 产品技术架构 103.1 主流 ERP 产品简要介绍 .103.1.1 Oracle EBusiness Suite .103.1.2 SAP NetWeaver123.1.3 用友 U9.123.2 ERP 系统架构设计的共同特点 .133.2.1 基于互联网的三层体系架构 .143.2.2 面向服务架构(SOA ) 143.2.3 模块化和组件化的体系架构 .144 基于 SOA 架构的 ERP 系统 .154.1 SOA 技术简介 .154.1.1 SOA 概念及简介 15

3、4.1.2 基于 SOA 技术的体系结构 164.1.3 SOA 的实现方式-WebService .194.2 基于 SOA 的 ERP 系统架构设计 .224.2.1 SOA 架构基础技术 224.2.2 SOA 架构设计方案 254.2.3 SOA 架构实现 264.2.4 SOA 架构的服务管理组件:ESB 274.3 ERP 系统架构技术的时间线 .305 系统实现的关键技术 325.1 关键技术框架及工具 .325.1.1 三层分布式架构 325.1.2 基于 WEB 的 B/S 架构开发技术 .345.1.3 统一认证技术 345.1.4 构件开发技术 365.1.5 工作流系统

4、 405.1.6 权限管理系统 455.1.7 表单生成技术 495.1.8 插件化开发框架 515.2 系统性能优化技术 .525.2.1 分布式技术应用 525.2.2 AJAX 局部更新 545.2.3 预加载技术 555.2.4 数据库查询优化 555.2.5 数据库读写分离 565.3 系统运营部署设计 .565.3.1 服务器集群技术 565.3.2 虚拟化数据中心技术 576 应用云计算技术的 ERP 系统 616.1 云计算技术简介 .616.1.1 IaaS 基础设施即服务 626.1.2 PaaS 平台及服务 .656.1.3 SaaS 软件即服务 .656.1.4 云计算

5、产生背景分析 696.2 应用云计算技术的 ERP 系统 .706.2.1 SaaS 模式的 ERP 与传统 ERP 的比较 .706.2.2 SaaS 模式的 ERP 系统架构设计 .706.2.3 SaaS 模式的 ERP 系统的应用前景 .726.3 云计算安全设计 .736.3.1 云端数据存储加密 736.3.2 网络数据传输加密 746.3.3 数据安全管理规范 746.3.4 云端加密的利与弊 766.4 应用物联网技术的 ERP 系统 .766.4.1 物联网技术 766.4.2 物联网应用案例 服装行业 .796.4.3 RFID,无线移动数据的收集技术 .806.5 应用移

6、动技术的 ERP 系统 .816.5.1 移动 ERP 系统介绍 816.5.2 移动 ERP 系统结构图 827 总结 848 参考文献 851 前言1.1 企业 ERP 系统的需求描述ERP 实施的主体 企业的需求永远是 ERP 技术发展的主动力,由于全球一体化进程的加剧,使得企业所面临的竞争环境发生了巨大的变化,对 ERP 提出了新的需求,具体表现在50:1) 全球化市场的发展与产业链之间合作经营生产方式的出现,使得 ERP 能支持异地企业运营、异种语言操作和异种货币交易;2) 企业过程重组及协作方式的变化使得 ERP 能支持基于全球范围的可重构过程的供应链及供应网络结构;3) 企业需要

7、应对新生产与经营方式的灵活性与敏捷性使得 ERP 也越来越灵活的适应多种生产制造方式的管理模式;4) 由于行业特性越来越明显,因此 ERP 的行业化发展趋势越来越明显;5) 企业的快速发展使得 ERP 的柔性越来越高以适应企业的动态变化;6) 企业的低成本策略使得 ERP 可以按需配置、大大缩短实施周期。IT 技术的发展是推动 ERP 发展的另一驱动力,毕竟 ERP 应用是以“ 技术导向”为推动的应用技术,具体表现在,计算机新技术的不断出现将会为 ERP 提供越来越灵活与强大功能的软硬件平台,多层分布式结构、面向对象技术、中间件技术与 Internet 的发展会使 ERP 的功能与性能迅速提高

8、。图 1.1 企业 ERP 系统结构图1.2 ERP 技术及应用的发展趋势1.2.1 B/S 架构的 ERP 已经盛行B/S 模式是一种全新的软件系统构造技术。随着 Windows 98/Windows 2000 将浏览器技术捆绑植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。显然 B/S 结构应用程序相对于传统的 C/S 结构应用程序将是巨大的进步。网络应用系统的发展正在改变着 ERP 系统的开发及其实施方法 ,传统 ERP 体系结构逐渐被由客户、应用服务器、数据库服务器组成的三层 B/S 结构所替代 ,并有了统一的通讯协议TCP/IP 和统一的基于 Web 浏览器的用户界面。B

9、/S ERP 把传统的依赖于邮件、电话、人盯人的管理方式变革为目标导向、流程驱动、智能的电子商务流程。并且该 B/S 架构的 ERP 可以把企业内部流程与企业外部流程连接起来,与客户、合作伙伴、供应商协同完成供应链业务操作52。1.2.2 SOA 架构的引入,使 ERP 全面升级SOA(Service-Oriented Architecture 面向服务架构)的概念是由 Gartner 公司给出的,Gartner对 SOA 的定义为“客户端/ 服务器的软件设计方法,一项应用由软件服务和软件服务使用者组成SOA 与大多数通用的客户端/服务器模型的不同之处,在于它着重强调软件组件的松散耦合,并使用

10、独立的标准接口。其核心是:1)SOA 是一种软件架构思想,并不是一种产品。2)SOA 的重点是面向服务,此服务包括企业的内部与外部的每一个业务细节,比如企业中财务应收发票的处理就是一个服务。SOA 的思想是把这些服务从复杂的环境中独立出来 组件化封装,然后通过标准的接口使不同的服务之间相互调用。3)SOA 是一种软件架构思想,通过使企业中一个个细化的服务标准化,来达到企业的 IT 系统跟随企业的动态变化的目的。1.2.3 平台化ERP 的柔性大大增强在 ERP 应用实施的过程中,用户的满意度一直不高。主要原因是产品更新周期加快、市场响应要求提高,对 ERP 的个性化要求越来越高,这是导致 ER

11、P 实施成功率不高的重要原因之一。经过多年的积累,人们已经总结出了 ERP 系统中业务的核心,其架构、业务模型、标准化高的业务处理均是可封装的,如果我们把这部分封装起来,再开发出辅助这个平台的客户化工具,就可以形成业务化平台。同样如此,如果对 ERP 进行分析、研究,将 ERP 的相关部分封装起来,再加上工具包,就可以形成平台化的 ERP。平台级企业信息解决方案提供了一个软件平台,内置多种管理软件组件和快捷的二次开发工具,其组件可以通过多种语言来开发,开发出一个个的小模块,然后把每一个小模块独立起来建成一个组件,最后把这些组件组装起来形成最终的成品。那么对这些组件进行调用,管理和删减、添加及修

12、改,甚至重新构架都可以,而这样对某一部分的改动根本不会影响到其它功能。这就是平台带来的灵活性,易操作性,使它在进行小的改动时可以直接通过系统上的某些功能来实现,而不必要通过改源代码的方式来处理,可以降低企业信息化软件的开发难度,提高开发效率,提高系统的柔性和可扩展性。一方面管理信息化厂商通过平台提供的组件能很方便地满足用户个性化的需求,以及用户在发展过程中各种各样变化的需求。另一方面将应用软件的业务逻辑和开发技术相对分开,使得应用软件的开发者可以仅关注应用的业务任务,而不必关注其技术的实现。这使管理与业务人员参与应用软件的开发成为可能。平台化软件的基本特性如下:1)软件架构灵活;2)核心业务标

13、准化;3)接口标准化,具有很好的兼容性;4)提供客户化工具包。1.2.4 与其它信息系统的集成1) ERP 与客户关系管理的进一步整合ERP 将更加面向市场和面向顾客,通过基于知识的市场预测、订单处理与生产调度、基于约束调度功能等进一步提高企业在全球化市场环境下更强的优化能力;并进一步与客户关系管理 CRM 结合,实现市场、销售、服务的一体化,使 CRM 的前台客户服务与 ERP 后台处理过程集成,提供客户个性化服务,使企业具有更好的顾客满意度。2)ERP 与电子商务、供应链 SCM、协同商务的进一步整合ERP 将面向协同商务( Collaborative Commerce) ,支持企业与贸易

14、共同体的业务伙伴、客户之间的协作,支持数字化的业务交互过程;ERP 供应链管理功能将进一步加强,并通过电子商务进行企业供需协作,如汽车行业要求 ERP 的销售和采购模块支持用电子商务或 EDI 实现客户或供应商之间的电子订货和销售开单过程;ERP 将支持企业面向全球化市场环境,建立供应商、制造商与分销商间基于价值链共享的新伙伴关系,并使企业在协同商务中做到过程优化、计划准确、管理协调。3)ERP 与产品数据管理的整合产品数据管理 PDM(Product Data Management)将企业中的产品设计和制造全过程的各种信息、产品不同设计阶段的数据和文档组织在统一的环境中。近年来 ERP 软件

15、商纷纷在 ERP 系统中纳入了产品数据管理 PDM 功能或实现与 PDM 系统的集成,增加了对设计数据、过程、文档的应用和管理,减少了 ERP 庞大的数据管理和数据准备工作量,并进一步加强了企业管理系统与 CAD、 CAM 系统的集成,进一步提高了企业的系统集成度和整体效率。4)ERP 与制造执行系统的整合为了加强 ERP 对于生产过程的控制能力,改变 ERP“重计划,轻控制“的弱点,将进一步加强“事前计划、事中控制、事后审核“的功能,ERP 将与制造执行系统 MES(Manufacturing executive System)、车间层操作控制系统 SFC 更紧密的结合,形成实时化的 ERP

16、/MES/SFC 系统。该趋势在流程工业企业的管控一体化系统中体现得最为明显。5)ERP 与工作流管理系统的进一步整合全面的工作流规则保证与时间相关的业务信息能够自动地在正确时间传送到指定的地点。ERP 的工作流管理功能将进一步增强,通过工作流实现企业的人员、财务、制造与分销间的集成,并能支持企业经营过程的重组,也使 ERP 的功能可以扩展到办公自动化和业务流程控制方面。6)ERP 与企业知识门户进一步整合企业知识门户(Enterprise Knowledge Portal,EKP)所关注的是企业内部员工和信息内容,它的核心是知识管理(KM) ,通过与 ERP 系统的集成,使得企业内任何员工都

17、可以实时地与工作团队中的其他成员取得联系、寻找到能够提供帮助的专家或者快速连接到相关的知识,它的建立和使用可以大大提高企业范围内的知识共享,并由此提高企业员工的工作效率。 1.2.5 整合业务流程的监测与评估“用于测量成功的业务应用解决方案是连续改进的关键:财务表现的共享, SC 效力,知识资本的价值以及顾客的满意度都是新的评测方法。 ”Gartner。2 传统 ERP 产品技术架构2.1 传统 C/S 架构的 ERP 系统信息系统架构示意图:1) 一层架构:客户端、应用服务器和数据库服务器都在同一台机器上部署;2) 两层架构:数据库服务和应用服务在同一台服务器上部署,客户端访问服务器上的资源

18、或数据;3) 三层架构:应用服务和数据库服务分离,分别部署在不同的服务器上,应用服务采取集群部署,达到性能上的需求。图 2.1 不同分级层次的系统架构图从企业信息系统架构设计看,三层分布式架构是一种典型应用;甚至可以过渡到多层分布式架构,如扩展出缓存服务、负载均衡服务等;这些都是用户对系统快速响应和系统可靠性的需求。2.2 B/S 架构的 ERP 系统B/S 架构的 ERP 系统的出现使得传统的 ERP 系统成为互联网应用,用户借助网络的方便快捷,可以随时随地办公,处理业务数据。现代企业普通存在多区域分支机构,或者业务人员需要差旅或在家办公,传统的 C/S 架构日益不能满足移动办公的需要,B/

19、S 架构的 ERP 系统刚好可以解决这一需要。图 2.2 B/S 架构的 ERP 系统部署图2.3 C/S 架构和 B/S 架构的优缺点分析2.3.1 C/S 系统优缺点C/S 模式的优点1 :1) 由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。(当数据少时,C/S 在局域网内响应快;当数据超过十万时,C/S 软件变慢,B/S 软件能维持稳定速度)2) 操作界面交互性强、控件组件形式多样,可以充分满足客户快速操作的要求。3) C/S 结构的管理信息系统能实现的复杂的数据处理操作,不用过多考虑网络的不稳定性。C/S 模式的缺点:1) 需要专门的客户端安装程序,分布功能弱,针对点

20、多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。2) 兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序,跨平台难度大,无法轻易实现 Windows、Linux、iOS 系统的同时开发和部署。3) 开发成本较高,需要具有一定专业水准的技术人员才能完成。(就开发小型企业管理软件,针对内部使用的系统而言,C/S 开发人员比 B/S 开发人员的成本低了许多) 。2.3.2 B/S 系统优缺点B/S 结构的优点:1) 是互联网应用,具有分布性特点,可以随时随地进行查询、浏览等业务处理。2) 业务扩展简单方便,通过增加网页即可增加服务器功能。3) 维护简单方

21、便,只需要改变网页,即可实现所有用户的同步更新。4) 开发简单,共享性强。B/S 结构的缺点:1) 操作是以鼠标为最基本的操作方式,无法满足快速操作的要求,尤其是在大量数据录入操作、复杂交互的情况下,需要提升交互设计能力。2) 页面加载刷新时,响应速度受网络连接的稳定性影响。2.3.3 结论目前,从架构设计来看,ERP 系统采用 B/S 架构和 C/S 架构是并存存在的, B/S 的架构的系统更有发展前景,从长远来看,由于互联网发展,网络带宽提升,HTML5 技术出现的等因素,B/S 的架构的系统是将来的发展趋势。3 国内外最新 ERP 产品技术架构3.1 主流 ERP 产品简要介绍3.1.1

22、 Oracle EBusiness Suite3.1.1.1 Oracle EBS 产品介绍Oracle EBS 是 Oracle E-Business Suite 的缩写,是 Oracle 公司的 ERP 产品,全球销量仅次于SAP(另一款 ERP 产品) 。 Oracle EBS 是一整套企业级应用软件,包括:采购管理、库存管理、销售管理、车间管理、物料清单及工艺管理、生产计划、成本管理、应付账款管理、应收账款管理、现金管理、总帐管理、项目会计、项目制造、客户关系管理、供应商门户等模块。3.1.1.2 纯互联网技术架构Oracle 电子商务套件采用标准的 100基于互联网的三层体系架构;无

23、论是数据库层、应用层以及最前端的最终用户操作界面都 100支持基于 JAVA 的先进互联网技术37。Oracle 电子商务套件的技术架构特点,提供了软件系统基于数据中心运行的集中管理基础。使所有关于软件系统的推广、升级和日常维护工作可以基于数据中心进行,从而达到最大限度地降低客户端软硬件和维护成本,降低服务器端的软件维护工作内容。图 3.1 Oracle 应用软件技术架构3.1.1.3 模块化开放架构Oracle 电子商务套件应用产品采用模块化和组件化的先进软件技术体系架构,应用软件产品可以细化成为许多细粒度的模块,不同的客户应用可以选择不同的组件或模块组合形成适合于企业需求的软件平台方案;基

24、于同一共享数据库和统一数据模型的数据层面的高度集成架构,保证各应用模块之间的紧密无缝集成和平滑的业务流转37。图 3.2 Oracle 电子商务套件的模块化开放架构3.1.2 SAP NetWeaver3.1.2.1 SAP NetWeaver 产品介绍SAP NetWeaver 是 SAP 的集成技术平台和自从 SAP Business Suite 以来的所有 SAP 应用的技术基础。SAP NetWeaver 是一个面向服务的应用和集成平台。SAP NetWeaver 为 SAP 的应用提供开发和运行环境,也可以用来和其它应用和系统进行自定义的开发和集成。SAP NetWeaver是使用开

25、放标准和事实上的工业标准进行开发的,可以用 icrosoft?NET,Sun 燡 ava EE,和IBM 燱 ebSphere 等这些技术平台进行扩展和互操作 44。3.1.2.2 SAP NetWeaver 技术架构SAP 企业系统架构是以 SOA 架构技术作为基础框架进行开发的。ERP, CRM, SCM, SAP Business Suite, SRM, PLM 系统都是独立的子系统,这些系统之间的交互都是通过 SOA 服务进行。图 3.3 SAP 企业系统架构3.1.3 用友 U93.1.3.1 用友 U9 产品介绍用友 U9 完全基于 SOA 架构的世界级企业管理软件,用友 U9 面

26、向快速发展与成长的中大型制造企业复杂应用,以“实时企业、全球商务”为核心理念,完全适应多组织供应链协同、多工厂制造协同、产业链协同、产品事业部和业务中心的管理模式,更能支持多生产模式的混合生产与规划、多经营模式的混合管理、精益生产、全面成本、跨国财务等深度应用,具有高度灵活的产品架构,帮助企业快速响应变化,支持经营、业务与管理模式的创新。3.1.3.2 用友 U9 技术架构UFIDA U9 完全采用面向服务架构(SOA) ,实现了全程模型驱动开发(MDD)模式,达到降低集成和开发成本的目的。 UAP 使企业管理软件具有多项新技术应用特点: 企业信息资源变得可重用、透明化,并且系统具有高可扩展性

27、,让业务处理更加高效、简洁、安全。UAP 还提供了统一的集成开发环境(IDE) ,用户可以使用包括企业建模、领域建模、服务设计、UI 设计、报表设计、规则设计、数据库设计等全方位的设计器,并通过可视化的界面和友好的交互操作,自动生成用户所需要的各种服务部件。 UAP 完全支持企业级的集成与应用协同,如 Office 集成、移动商务、企业搜索、智能客户端等多项领域35。图 3.4 用友 U9 技术架构3.2 ERP 系统架构设计的共同特点通过国内外最新 ERP 产品的功能及技术架构比较,得出:基于 SOA 架构的技术框架是共同采用的,而且更加强调了多设备的支持,完全基于互联网模式的系统。产品名称

28、 是否 B/S 是否SOA 架构是否模块化构建是否支持移动设备是否分布式部署Oracle EBusiness Suite是 是 是 支持 是SAP NetWeaver 是 是 是 支持 是用友 U9 是 是 是 支持 是金蝶 EAS 是 是 是 支持 是OpenERP(开源) 是 下一版本支持完全模块化 支持 是表 3.1 各主流 ERP 产品系统架构比较3.2.1 基于互联网的三层体系架构采用标准的 100基于互联网的三层体系架构,无论是数据库层、应用层以及最前端的最终用户操作界面都 100支持 WEB 的互联网技术,特别是应用层,直接采用互联网先进技术,不需要任何中间转换过程,在体现先进互

29、联网技术的同时,最大限度的减少了中间环节,保证了系统处理的高性能和高稳定性。3.2.2 面向服务架构(SOA)完全采用面向服务架构(SOA) ,实现了全程模型驱动开发(MDD)模式,达到降低更加强调系统的基础,采用松耦合,降低系统的耦合度。SOA 的实现方式都是采用了基于 Http 协议的 WebService 的技术,数据交换格式采用 XML,SOAP。3.2.3 模块化和组件化的体系架构模块化和组件化的先进软件技术体系架构,应用软件产品可以细化成为许多细粒度的模块,不同的客户应用可以选择不同的组件或模块组合形成适合于企业需求的软件平台方案;基于同一共享数据库和统一数据模型的数据层面的高度集

30、成架构,保证各应用模块之间的紧密无缝集成和平滑的业务流转。4 基于 SOA 架构的 ERP 系统4.1 SOA 技术简介4.1.1 SOA 概念及简介4.1.1.1 SOA 的基本概念面向服务的体系结构(Service-Oriented Architecture,SOA )是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以使用一种统一和通用的方式进行交互26。简介SOA(Service-Oriented Architectu

31、re),面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是 SOA 的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。SOA 是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。SOA 可以看作是 B/S 模型、XML/Web Service 技术之后的自然延伸。4.1.1.2 SOA 技术的优势通过 SOA 思想的引入,使得 ERP 软件可以做到50 :1) 支持异构集成 所谓异构环境,包括四个层次,硬件平台、操作系统、数据库、应用软件。如果一套硬件、一套操作系统、一套数据

32、库、一套应用软件能够面面俱到的解决集团企业的所有管理问题,那是再好不过了。但现实中是不可能的,更普遍的是,不同的应用往往选择不同的平台和应用系统,以便充分发挥各个厂商的特长。支持 SOA 的 ERP 系统为集团企业的信息化提供了伸缩空间,企业可以根据需要选择最合适的解决方案。2) 降低企业的 IT 成本 以往多数企业在建设企业的 ERP 系统时是从项目的角度出发的,比如 ERP 项目、CRM 项目等,事后当企业的 IT 系统越来越多的时候,才会考虑系统的集成问题,但这时候往往集成的难度就很大了。而 SOA 要求企业在建设 IT 系统之初就要考虑这些问题,也就是要考虑服务之间的接口问题。这样就会

33、使企业的 IT 成本大大降低。同时,SOA 将改变以往的软件购买模式。目前,多数企业在购买软件时往往是成熟性软件,需一个模块或一个系统的购买,企业在购买时往往无法将那些企业不需要的功能剔除出去,这样,企业就不得不为此多付出资金、培训成本等许多不必要的成本。而支持 SOA 的集团财务软件则可以帮助企业实现真正的按需购买,企业需要什么功能就购买相应的服务,帮助企业避免不必要的支出。3) 实现企业的动态变革支持 SOA 的集团财务系统使企业的 IT 人员不必太多的关心企业 IT 系统的底层技术,而更多的去考虑集团财务的业务处理以及财务业务与 IT 的接合。同时,以往企业在开发集团财务系统时,在重复功

34、能上浪费了大量的人力与财力,同时系统在开发完成后,如果企业业务变化,系统将很难更改或者更改的成本很高。而 SOA 面对的是一个个独立的服务,服务之间可以通过标准接口来相互调用,这样企业在重复功能上就可以直接通过接口调用,而不必去重新开发。企业的业务发生变化时,只需要修改相对应的服务即可,降低了修改的难度与复杂度,保证了企业的 IT 系统的动态变化。4.1.2 基于 SOA 技术的体系结构4.1.2.1 SOA 是松耦合的系统这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。松耦合系统的好处有两点:1) 是它的灵活性,当组成整个应用程序的每个服务的内部结构和实现逐渐

35、地发生改变时,它能够继续存在。2) 而另一方面,紧耦合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进行某种形式的更改时,它们就显得非常脆弱。对松耦合的系统的需要来源于业务应用程序需要根据业务的需要变得更加灵活,以适应不断变化的环境,比如经常改变的政策、业务级别、业务重点、合作伙伴关系、行业地位以及其他与业务有关的因素,这些因素甚至会影响业务的性质。我们称能够灵活地适应环境变化的业务为按需(On demand)业务,在按需业务中,一旦需要,就可以对完成或执行任务的方式进行必要的更改。SOA 系统原型的一个典型例子是通用对象请求代理体系结构(Comm

36、on Object Request Broker Architecture,CORBA) ,它已经出现很长时间了,其定义的概念与 SOA 相似。然而,现在的 SOA 已经有所不同了,通过使用基于 XML 的语言(称为 Web 服务描述语言(Web Services Definition Language,WSDL) )来描述接口,服务已经转到更加动态且更灵活的接口系统中,非以前 CORBA 中的接口描述语言(Interface Definition Language,IDL)可比了。4.1.2.2 SOA 体系结构作用传统企业(数据库)应用软件产品,如 MRP、ERP、OA 系统等,在设计或架

37、构上都是紧偶合、封闭式、自成体系,属于一次性投入一次性完结的产品。这样的产品很难适应或快速响应市场或客户灵活多变的需求,以及后续的扩展。在这样的市场、及客户需求下,从而催生了软件产品一种新的设计或架构的理念:面向服务架构(SOA 架构) 。 对 SOA 的需要来源于需要使业务 IT 系统变得更加灵活,以适应业务中的改变。通过允许强定义的关系和依然灵活的特定实现,IT 系统既可以利用现有系统的功能,又可以准备在以后做一些改变来满足它们之间交互的需要。SOA 是一场革命。一个应用程序的业务逻辑(business logic)或某些单独的功能被模块化并作为服务呈现给消费者或客户端。这些服务的关键是他

38、们的松耦合特性。例如,服务的接口和实现相独立。应用开发人员或者系统集成者可以通过组合一个或多个服务来构建应用,而无须理解服务的底层实现。举例来说,一个服务可以用.NET 或 J2EE 来实现,而使用该服务的应用程序可以在不同的平台之上,使用的语言也可以不同。让 SOA 系统适应改变的能力是最重要的部分,对于开发人员来说,这样的改变无论是在他们工作的范围之内还是在他们工作的范围之外都有可能发生,这取决于是否有改变需要知道接口是如何定义的以及它们相互之间如何进行交互。与开发人员不同的是,架构师的作用就是引起对 SOA 模型大的改变。这种分工,就是让开发人员集中精力于创建作为服务定义的功能单元,而让

39、架构师和建模人员集中精力于如何将这些单元适当地组织在一起,它已经有十多年的历史了,通常用统一建模语言(Universal Modeling Language,UML) ,并且描述成模型驱动的体系结构(Model- Driven Architecture,MDA) 。 4.1.2.3 SOA 架构的定义或特性SOA 架构,是一种粗粒度、开放式、松耦合的服务结构,要求软件产品在开发过程中,按照相关的标准或协议,进行分层开发。通过这种分层设计或架构体系可以使软件产品变得更加弹性和灵活,且尽可能的与第三方软件产品互补兼容,以达到快速扩展,满足或响应市场或客户需求的多样化、多变性。一个典型的 SOA 架

40、构示意如下:图 4.1 SOA 架构的系统图示4.1.2.4 基于 SOA 技术架构的价值4.1.2.4.1 未来企业的应变之道持续增长的客户需求、瞬息万变的市场和日趋激烈的全球化竞争,使得企业必须不断提升自身 IT 及企业管理系统的敏捷性和适应性。 现在,每个企业都需要把握业务流程发展的变革,预测业务环境的变化,以便对竞争者做出快速响应,确保企业的生存、发展和快速成长27。面向服务架构技术( Service-Oriented Architecture,SOA )的出现,标志着设计、开发、部署新的企业应用系统,并将其与原有应用系统、业务流程进行集成的方式出现了根本性变化。采用 SOA 架构,可

41、以带来显著的商业和技术利益:1)提升商业决策能力,通过将商业服务和信息进行聚合成为一系列动态的、组合的商业应用,企业决策者可以更便捷地获得更准确、更全面、更深入的信息,可以更敏捷地对各种变化做出反应。2)获得更高的员工生产率,SOA 可以改进商业流程,使得员工更加关注关键性、增值业务流程,基于服务更好地进行协作,通过各种方式访问和操作业务数据和信息,大大提升生产率。3)建立与供应商和顾客的更强的联系,SOA 增强了端到端的应用模式,跨越企业组织边界,更好地集成现有的信息系统,通过服务的编排和聚合,使其更好地融合在业务流程里。4)可以更快、更节省地搭建 IT 和业务应用系统,基于 SOA 和标准

42、化服务组件,可以根据业务流程需要,更快地搭建业务系统;同时,也可以更好地利用原有的 IT 和业务系统的投资,并保证其符合业务流程的需要。5)可以增强 IT 和业务系统的可管理性和安全性,通过安全服务的部署和 SOA 治理,可以实现更强的安全性管理和监控,确保了整个架构置于统筹和管理之下。4.1.2.4.2 完全 SOA 架构所带来的价值1)确保总体架构的合理规划,全面整合信息,彻底消除应用孤岛,全面实现过程、人员和信息的实质集成、高度协调,实现更高的互操作性与协同、更敏捷的业务流程、更全面的信息可见性;2)企业的 IT 及应用系统架构将更具伸缩性,IT 价值将得到充分的发挥,全面提升未来企业的

43、竞争优势;3)降低集成成本和风险,降低维护成本:随着企业业务的发展,非 SOA 应用在 IT 和应用系统中相互集成的成本和风险日益增大,系统运行将变得繁冗和低效;相应地,为维护应用孤岛及更多的流程接口,甚至是重复、重叠的业务功能系统,企业 IT 及应用系统维护成本将不可避免地日益增大。4)基于 SOA 架构的 IT 及应用系统可以增量部署到位,但毫无疑问,选择完全 SOA 架构是正确、长远和明智的决策。4.1.3 SOA 的实现方式-WebService4.1.3.1 WebService 的概念WebService 是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它

44、是一种新的 web 应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过 web 调用。WebService 是一个应用组件 ,它逻辑性的为其他应用程序提供数据与服务 .各应用程序通过网络协议和规定的一些标准数据格式(Http, XML,Soap)来访问 WebService,通过 WebService 内部执行得到所需结果.Web Service 可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他 WebService 应用程序可以发现并调用它部署的服务28。4.1.3.2 WebService 的关键技术和规则4.1.3.2.1 技术和规则在构建和使用 Web

45、Service 时,主要用到以下几个关键的技术和规则:1) XML:描述数据的标准方法.2) SOAP:简单对象访问协议.3) WSDL:Web 服务描述语言.4) UDDI(Universal Description, Discovery and Integration):通用描述、发现与集成,它是一种独立于平台的,基于 XML 语言的用于在互联网上描述商务的协议。4.1.3.2.2 相关实际上,WebService 的主要目标是跨平台的可互操作性。为了达到这一目标,WebService 完全基于 XML(可扩展标记语言) 、XSD(XMLSchema)等独立于平台、独立于软件供应商的标准,

46、是创建可互操作的、分布式应用程序的新平台。由此可以看出,在以下三种情况下,使用 WebService 会带来极大的好处。具体如下:1) 跨防火墙的通信如果应用程序有成千上万的用户,而且分布在世界各地,那么客户端和服务器之间的通信将是一个棘手的问题。因为客户端和服务器之间通常会有防火墙或者代理服务器。在这种情况下,使用 DCOM 就不是那么简单,通常也不便于把客户端程序发布到数量如此庞大的每一个用户手中。传统的做法是,选择用浏览器作为客户端,写下一大堆 ASP 页面,把应用程序的中间层暴露给最终用户。这样做的结果是开发难度大,程序很难维护。2) 应用程序集成企业级的应用程序开发者都知道,企业里经

47、常都要把用不同语言写成的、在不同平台上运行的各种程序集成起来,而这种集成将花费很大的开发力量。应用程序经常需要从运行在IBM 主机上的程序中获取数据;或者把数据发送到主机或 UNIX 应用程序中去。即使在同一个平台上,不同软件厂商生产的各种软件也常常需要集成起来。通过 WebService,应用程序可以用标准的方法把功能和数据“暴露”出来,供其它应用程序使用。3) B2B 的集成用 WebService 集成应用程序,可以使公司内部的商务处理更加自动化。但当交易跨越供应商和客户、突破公司的界限时会怎么样呢?跨公司的商务交易集成通常叫做 B2B 集成。WebService 是 B2B 集成成功的

48、关键。通过 WebService,公司可以把关键的商务应用 “暴露” 给指定的供应商和客户。例如,把电子下单系统和电子发票系统“暴露”出来,客户就可以以电子的方式发送订单,供应商则可以以电子的方式发送原料采购发票。当然,这并不是一个新的概念,EDI(电子文档交换)早就是这样了。但是,WebService 的实现要比 EDI 简单得多,而且 WebService 运行在 Internet 上,在世界任何地方都可轻易实现,其运行成本就相对较低。不过,WebService 并不像 EDI 那样,是文档交换或 B2B 集成的完整解决方案。WebService 只是 B2B 集成的一个关键部分,还需要许

49、多其它的部分才能实现集成。用 WebService 来实现 B2B 集成的最大好处在于可以轻易实现互操作性。只要把商务逻辑“暴露” 出来,成为 WebService,就可以让任何指定的合作伙伴调用这些商务逻辑,而不管他们的系统在什么平台上运行,使用什么开发语言。这样就大大减少了花在 B2B 集成上的时间和成本,让许多原本无法承受 EDI 的中小企业也能实现 B2B 集成。4) 软件和数据重用软件重用是一个很大的主题,重用的形式很多,重用的程度有大有小。最基本的形式是源代码模块或者类一级的重用,另一种形式是二进制形式的组件重用。WebService 在允许重用代码的同时,可以重用代码背后的数据。使用 WebService,再也不必像以前那样,要先从第三方购买、安装软件组件,再从应用程序中调用这些组件;只需要直接调用远端的 WebService 就可以了。举个例子,要在应用程序中确认用户输入的地址,只需把这个地址直接发送给相应的 WebService,这个 WebService 就会帮你查阅街道地址、城市、省区和邮政编码等信息,确认这个地址是否在相应的邮政编码区域。WebService 的提供商可以按时间或使用次数来对这项服务进行收费。这样的服务要通过组件重用来实现是不可能的,那样的话你必须下载并安装

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 解决方案

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报