资源描述
目录
1 前言 4
1.1 企业ERP系统的需求描述 4
1.2 ERP技术及应用的发展趋势 5
1.2.1 B/S架构的ERP已经盛行 5
1.2.2 SOA架构的引入,使ERP全面升级 5
1.2.3 平台化——ERP的柔性大大增强 5
1.2.4 与其它信息系统的集成 6
1.2.5 整合业务流程的监测与评估 7
2 传统ERP产品技术架构 8
2.1 传统C/S架构的ERP系统 8
2.2 B/S架构的ERP系统 8
2.3 C/S 架构和B/S 架构的优缺点分析 9
2.3.1 C/S 系统优缺点 9
2.3.2 B/S 系统优缺点 9
2.3.3 结论 10
3 国内外最新ERP产品技术架构 10
3.1 主流ERP产品简要介绍 10
3.1.1 Oracle EBusiness Suite 10
3.1.2 SAP NetWeaver 12
3.1.3 用友U9 12
3.2 ERP系统架构设计的共同特点 13
3.2.1 基于互联网的三层体系架构 14
3.2.2 面向服务架构(SOA) 14
3.2.3 模块化和组件化的体系架构 14
4 基于SOA架构的ERP系统 15
4.1 SOA技术简介 15
4.1.1 SOA概念及简介 15
4.1.2 基于SOA技术的体系结构 16
4.1.3 SOA的实现方式-WebService 19
4.2 基于SOA的ERP系统架构设计 22
4.2.1 SOA架构基础技术 22
4.2.2 SOA架构设计方案 25
4.2.3 SOA架构实现 26
4.2.4 SOA架构的服务管理组件:ESB 27
4.3 ERP系统架构技术的时间线 30
5 系统实现的关键技术 32
5.1 关键技术框架及工具 32
5.1.1 三层分布式架构 32
5.1.2 基于WEB的B/S架构开发技术 34
5.1.3 统一认证技术 34
5.1.4 构件开发技术 36
5.1.5 工作流系统 40
5.1.6 权限管理系统 45
5.1.7 表单生成技术 49
5.1.8 插件化开发框架 51
5.2 系统性能优化技术 52
5.2.1 分布式技术应用 52
5.2.2 AJAX局部更新 54
5.2.3 预加载技术 55
5.2.4 数据库查询优化 55
5.2.5 数据库读写分离 56
5.3 系统运营部署设计 56
5.3.1 服务器集群技术 56
5.3.2 虚拟化数据中心技术 57
6 应用云计算技术的ERP系统 61
6.1 云计算技术简介 61
6.1.1 IaaS基础设施即服务 62
6.1.2 PaaS平台及服务 65
6.1.3 SaaS软件即服务 65
6.1.4 云计算产生背景分析 69
6.2 应用云计算技术的ERP系统 70
6.2.1 SaaS模式的ERP与传统ERP的比较 70
6.2.2 SaaS模式的ERP系统架构设计 70
6.2.3 SaaS模式的ERP系统的应用前景 72
6.3 云计算安全设计 73
6.3.1 云端数据存储加密 73
6.3.2 网络数据传输加密 74
6.3.3 数据安全管理规范 74
6.3.4 云端加密的利与弊 76
6.4 应用物联网技术的ERP系统 76
6.4.1 物联网技术 76
6.4.2 物联网应用案例—服装行业 79
6.4.3 RFID,无线移动数据的收集技术 80
6.5 应用移动技术的ERP系统 81
6.5.1 移动ERP系统介绍 81
6.5.2 移动ERP系统结构图 82
7 总结 84
8 参考文献 85
1 序言
1.1 企业ERP系统需求描述
ERP实施主体――企业需求永远是ERP技术发展主动力,因为全球一体化进程加剧,使得企业所面临竞争环境发生了巨大改变,对ERP提出了新需求,具体表现在[50]:
1) 全球化市场发展和产业链之间合作经营生产方法出现,使得ERP能支持异地企业运行、异种语言操作和异种货币交易;
2) 企业过程重组及协作方法改变使得ERP能支持基于全球范围可重构过程供给链及供给网络结构;
3) 企业需要应对新生产和经营方法灵活性和灵敏性使得ERP也越来越灵活适应多个生产制造方法管理模式;
4) 因为行业特征越来越显著,所以ERP行业化发展趋势越来越显著;
5) 企业快速发展使得ERP柔性越来越高以适应企业动态改变;
6) 企业低成本策略使得ERP能够按需配置、大大缩短实施周期。
IT技术发展是推进ERP发展另一驱动力,毕竟ERP应用是以“技术导向”为推进应用技术,具体表现在,计算机新技术不停出现将会为ERP提供越来越灵活和强大功效软硬件平台,多层分布式结构、面向对象技术、中间件技术和Internet发展会使ERP功效和性能快速提升。
图1.1 企业ERP系统结构图
1.2 ERP技术及应用发展趋势
1.2.1 B/S架构ERP已经盛行
B/S模式是一个全新软件系统结构技术。伴随Windows 98/Windows 将浏览器技术捆绑植入操作系统内部,这种结构更成为当今应用软件首选体系结构。显然B/S结构应用程序相对于传统C/S结构应用程序将是巨大进步。
网络应用系统发展正在改变着ERP系统开发及其实施方法 ,传统ERP体系结构逐步被由用户、应用服务器、数据库服务器组成三层B/S结构所替换 ,并有了统一通讯协议TCP/IP和统一基于Web浏览器用户界面。
B/S ERP把传统依靠于邮件、电话、人盯人管理方法变革为目标导向、步骤驱动、智能电子商务步骤。而且该B/S架构ERP能够把企业内部步骤和企业外部步骤连接起来,和用户、合作伙伴、供给商协同完成供给链业务操作[52]。
1.2.2 SOA架构引入,使ERP全方面升级
SOA(Service-Oriented Architecture 面向服务架构)概念是由Gartner企业给出,Gartner对SOA定义为“用户端/服务器软件设计方法,一项应用由软件服务和软件服务使用者组成……SOA和大多数通用用户端/服务器模型不一样之处,在于它着重强调软件组件松散耦合,并使用独立标准接口。其关键是:
1)SOA是一个软件架构思想,并不是一个产品。
2)SOA关键是面向服务,此服务包含企业内部和外部每一个业务细节,比如企业中财务应收发票处理就是一个服务。SOA思想是把这些服务从复杂环境中独立出来——组件化封装,然后经过标准接口使不一样服务之间相互调用。
3)SOA是一个软件架构思想,经过使企业中一个个细化服务标准化,来达成企业IT系统跟随企业动态改变目标。
1.2.3 平台化——ERP柔性大大增强
在ERP应用实施过程中,用户满意度一直不高。关键原因是产品更新周期加紧、市场响应要求提升,对ERP个性化要求越来越高,这是造成ERP实施成功率不高关键原因之一。
经过多年积累,大家已经总结出了ERP系统中业务关键,其架构、业务模型、标准化高业务处理均是可封装,假如我们把这部分封装起来,再开发出辅助这个平台用户化工具,就能够形成业务化平台。一样如此,假如对ERP进行分析、研究,将ERP相关部分封装起来,再加上工具包,就能够形成平台化ERP。
平台级企业信息处理方案提供了一个软件平台,内置多个管理软件组件和快捷二次开发工具,其组件能够经过多个语言来开发,开发出一个个小模块,然后把每一个小模块独立起来建成一个组件,最终把这些组件组装起来形成最终成品。那么对这些组件进行调用,管理和删减、添加及修改,甚至重新构架全部能够,而这么对某一部分改动根本不会影响到其它功效。这就是平台带来灵活性,易操作性,使它在进行小改动时能够直接经过系统上一些功效来实现,而无须要经过改源代码方法来处理,能够降低企业信息化软件开发难度,提升开发效率,提升系统柔性和可扩展性。首先管理信息化厂商经过平台提供组件能很方便地满足用户个性化需求,和用户在发展过程中多种多样改变需求。其次将应用软件业务逻辑和开发技术相对分开,使得应用软件开发者能够仅关注应用业务任务,而无须关注其技术实现。这使管理和业务人员参与应用软件开发成为可能。
平台化软件基础特征以下:
1)软件架构灵活;
2)关键业务标准化;
3)接口标准化,含有很好兼容性;
4)提供用户化工具包。
1.2.4 和其它信息系统集成
1) ERP和用户关系管理深入整合
ERP将愈加面向市场和面向用户,经过基于知识市场估计、订单处理和生产调度、基于约束调度功效等深入提升企业在全球化市场环境下更强优化能力;并深入和用户关系管理CRM结合,实现市场、销售、服务一体化,使CRM前台用户服务和ERP后台处理过程集成,提供用户个性化服务,使企业含有愈加好用户满意度。
2)ERP和电子商务、供给链SCM、协同商务深入整合
ERP将面向协同商务(Collaborative Commerce),支持企业和贸易共同体业务伙伴、用户之间协作,支持数字化业务交互过程;ERP供给链管理功效将深入加强,并经过电子商务进行企业供需协作,如汽车行业要求 ERP销售和采购模块支持用电子商务或EDI实现用户或供给商之间电子订货和销售开单过程;ERP将支持企业面向全球化市场环境,建立供给商、制造商和分销商间基于价值链共享新伙伴关系,并使企业在协同商务中做到过程优化、计划正确、管理协调。
3)ERP和产品数据管理整合
产品数据管理 PDM(Product Data Management)将企业中产品设计和制造全过程多种信息、产品不一样设计阶段数据和文档组织在统一环境中。多年来ERP软件商纷纷在ERP系统中纳入了产品数据管理PDM功效或实现和PDM系统集成,增加了对设计数据、过程、文档应用和管理,降低了 ERP庞大数据管理和数据准备工作量,并深入加强了企业管理系统和CAD、CAM系统集成,深入提升了企业系统集成度和整体效率。
4)ERP和制造实施系统整合
为了加强ERP对于生产过程控制能力,改变ERP"重计划,轻控制"弱点,将深入加强"事前计划、事中控制、事后审核"功效,ERP将和制造实施系统MES(Manufacturing executive System)、车间层操作控制系统SFC更紧密结合,形成实时化ERP/MES/SFC系统。该趋势在步骤工业企业管控一体化系统中表现得最为显著。
5)ERP和工作流管理系统深入整合
全方面工作流规则确保和时间相关业务信息能够自动地在正确时间传送到指定地点。ERP工作流管理功效将深入增强,经过工作流实现企业人员、财务、制造和分销间集成,并能支持企业经营过程重组,也使 ERP功效能够扩展到办公自动化和业务步骤控制方面。
6)ERP和企业知识门户深入整合
企业知识门户(Enterprise Knowledge Portal,EKP)所关注是企业内部职员和信息内容,它关键是知识管理(KM),经过和ERP 系统集成,使得企业内任何职员全部能够实时地和工作团体中其它组员取得联络、寻求到能够提供帮助教授或快速连接到相关知识,它建立和使用能够大大提升企业范围内知识共享,并由此提升企业职员工作效率。
1.2.5 整合业务步骤监测和评定
“用于测量成功业务应用处理方案是连续改善关键:财务表现共享, SC效力,知识资本价值和用户满意度全部是新评测方法。”――Gartner。
2 传统ERP产品技术架构
2.1 传统C/S架构ERP系统
信息系统架构示意图:
1) 一层架构:用户端、应用服务器和数据库服务器全部在同一台机器上布署;
2) 两层架构:数据库服务和应用服务在同一台服务器上布署,用户端访问服务器上资源或数据;
3) 三层架构:应用服务和数据库服务分离,分别布署在不一样服务器上,应用服务采取集群布署,达成性能上需求。
图2.1 不一样分级层次系统架构图
从企业信息系统架构设计看,三层分布式架构是一个经典应用;甚至能够过渡到多层分布式架构,如扩展出缓存服务、负载均衡服务等;这些全部是用户对系统快速响应和系统可靠性需求。
2.2 B/S架构ERP系统
B/S 架构ERP系统出现使得传统ERP系统成为互联网应用,用户借助网络方便快捷,能够随时随地办公,处理业务数据。现代企业一般存在多区域分支机构,或业务人员需要差旅或在家办公,传统C/S架构日益不能满足移动办公需要,B/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) 需要专门用户端安装程序,分布功效弱,针对点多面广且不含有网络条件用户群体,不能够实现快速布署安装和配置。
2) 兼容性差,对于不一样开发工具,含有较大不足。若采取不一样工具,需要重新改写程序,跨平台难度大,无法轻易实现Windows、Linux、iOS系统同时开发和布署。
3) 开发成本较高,需要含有一定专业水准技术人员才能完成。
(就开发小型企业管理软件,针对内部使用系统而言,C/S开发人员比B/S开发人员成本低了很多)。
2.3.2 B/S 系统优缺点
B/S结构优点:
1) 是互联网应用,含有分布性特点,能够随时随地进行查询、浏览等业务处理。
2) 业务扩展简单方便,经过增加网页即可增加服务器功效。
3) 维护简单方便,只需要改变网页,即可实现全部用户同时更新。
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 Oracle EBusiness Suite
3.1.1.1 Oracle EBS 产品介绍
Oracle EBS是Oracle E-Business Suite缩写,是Oracle企业ERP产品,全球销量仅次于SAP(另一款ERP产品)。 Oracle EBS是一整套企业级应用软件,包含:采购管理、库存管理、销售管理、车间管理、物料清单及工艺管理、生产计划、成本管理、应付账款管理、应收账款管理、现金管理、总帐管理、项目会计、项目制造、用户关系管理、供给商门户等模块。
3.1.1.2 纯互联网技术架构
Oracle 电子商务套件采取标准100%基于互联网三层体系架构;不管是数据库层、应用层和最前端最终用户操作界面全部100%支持基于JAVA 优异互联网技术[37]。
Oracle 电子商务套件技术架构特点,提供了软件系统基于数据中心运行集中管理基础。使全部相关软件系统推广、升级和日常维护工作能够基于数据中心进行,从而达成最大程度地降低用户端软硬件和维护成本,降低服务器端软件维护工作内容。
图3.1 Oracle 应用软件技术架构
3.1.1.3 模块化开放架构
Oracle 电子商务套件应用产品采取模块化和组件化优异软件技术体系架构,应用软件产品能够细化成为很多细粒度模块,不一样用户应用能够选择不一样组件或模块组合形成适合于企业需求软件平台方案;基于同一共享数据库和统一数据模型数据层面高度集成架构,确保各应用模块之间紧密无缝集成和平滑业务流转[37]。
图3.2 Oracle 电子商务套件模块化开放架构
3.1.2 SAP NetWeaver
3.1.2.1 SAP NetWeaver 产品介绍
SAP NetWeaver是SAP集成技术平台和自从SAP Business Suite以来全部SAP应用技术基础。SAP NetWeaver是一个面向服务应用和集成平台。SAP NetWeaver为SAP应用提供开发和运行环境,也能够用来和其它应用和系统进行自定义开发和集成。SAP NetWeaver是使用开放标准和实际上工业标准进行开发,能够用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 用友U9
3.1.3.1 用友U9 产品介绍
用友U9完全基于SOA架构世界级企业管理软件,用友U9面向快速发展和成长中大型制造企业复杂应用,以“实时企业、全球商务”为关键理念,完全适应多组织供给链协同、多工厂制造协同、产业链协同、产品事业部和业务中心管理模式,更能支持多生产模式混合生产和计划、多经营模式混合管理、精益生产、全方面成本、跨国财务等深度应用,含有高度灵活产品架构,帮助企业快速响应改变,支持经营、业务和管理模式创新。
3.1.3.2 用友U9 技术架构
UFIDA U9完全采取面向服务架构(SOA),实现了全程模型驱动开发(MDD)模式,达成降低集成和开发成本目标。 UAP使企业管理软件含有多项新技术应用特点: 企业信息资源变得可重用、透明化,而且系统含有高可扩展性,让业务处理愈加高效、简练、安全。 UAP还提供了统一集成开发环境(IDE),用户能够使用包含企业建模、领域建模、服务设计、UI设计、报表设计、规则设计、数据库设计等全方位设计器,并经过可视化界面和友好交互操作,自动生成用户所需要多种服务部件。 UAP完全支持企业级集成和应用协同,如Office集成、移动商务、企业搜索、智能用户端等多项领域[35]。
图3.4 用友U9技术架构
3.2 ERP系统架构设计共同特点
经过中国外最新ERP产品功效及技术架构比较,得出:基于SOA架构技术框架是共同采取,而且愈加强调了多设备支持,完全基于互联网模式系统。
产品名称
是否B/S
是否
SOA架构
是否模块化构建
是否支持移动设备
是否分布式布署
Oracle EBusiness Suite
是
是
是
支持
是
SAP NetWeaver
是
是
是
支持
是
用友U9
是
是
是
支持
是
金蝶EAS
是
是
是
支持
是
OpenERP(开源)
是
下一版本支持
完全模块化
支持
是
表3.1 各主流ERP产品系统架构比较
3.2.1 基于互联网三层体系架构
采取标准100%基于互联网三层体系架构,不管是数据库层、应用层和最前端最终用户操作界面全部100%支持WEB互联网技术,尤其是应用层,直接采取互联网优异技术,不需要任何中间转换过程,在表现优异互联网技术同时,最大程度降低了中间步骤,确保了系统处理高性能和高稳定性。
3.2.2 面向服务架构(SOA)
完全采取面向服务架构(SOA),实现了全程模型驱动开发(MDD)模式,达成降低愈加强调系统基础,采取松耦合,降低系统耦合度。SOA实现方法全部是采取了基于Http协议WebService技术,数据交换格式采取XML,SOAP。
3.2.3 模块化和组件化体系架构
模块化和组件化优异软件技术体系架构,应用软件产品能够细化成为很多细粒度模块,不一样用户应用能够选择不一样组件或模块组合形成适合于企业需求软件平台方案;基于同一共享数据库和统一数据模型数据层面高度集成架构,确保各应用模块之间紧密无缝集成和平滑业务流转。
4 基于SOA架构ERP系统
4.1 SOA技术介绍
4.1.1 SOA概念及介绍
4.1.1.1 SOA基础概念
面向服务体系结构(Service-Oriented Architecture,SOA)是一个组件模型,它将应用程序不一样功效单元(称为服务)经过这些服务之间定义良好接口和契约联络起来。接口是采取中立方法进行定义,它应该独立于实现服务硬件平台、操作系统和编程语言。这使得构建在多种多样系统中服务能够使用一个统一和通用方法进行交互[26]。
介绍
SOA(Service-Oriented Architecture),面向服务架构,它能够依据需求经过网络对松散耦合粗粒度应用组件进行分布式布署、组合和使用。服务层是SOA基础,能够直接被应用调用,从而有效控制系统中和软件代理交互人为依靠性。
SOA是一个粗粒度、松耦合服务架构,服务之间经过简单、正确定义接口进行通讯,不包含底层编程接口和通讯模型。SOA能够看作是B/S模型、XML/Web Service技术以后自然延伸。
4.1.1.2 SOA技术优势
经过SOA思想引入,使得ERP软件能够做到[50]:
1) 支持异构集成
所谓异构环境,包含四个层次,硬件平台、操作系统、数据库、应用软件。假如一套硬件、一套操作系统、一套数据库、一套应用软件能够面面俱四处理集团企业全部管理问题,那是再好不过了。但现实中是不可能,更普遍是,不一样应用往往选择不一样平台和应用系统,方便充足发挥各个厂商专长。支持SOAERP系统为集团企业信息化提供了伸缩空间,企业能够依据需要选择最适宜处理方案。
2) 降低企业IT成本
以往多数企业在建设企业ERP系统时是从项目标角度出发,比如ERP项目、CRM项目等,事后当企业IT系统越来越多时候,才会考虑系统集成问题,但这时候往往集成难度就很大了。而SOA要求企业在建设IT系统之初就要考虑这些问题,也就是要考虑服务之间接口问题。这么就会使企业IT成本大大降低。
同时,SOA将改变以往软件购置模式。现在,多数企业在购置软件时往往是成熟性软件,需一个模块或一个系统购置,企业在购置时往往无法将那些企业不需要功效剔除出去,这么,企业就不得不为此多付出资金、培训成本等很多无须要成本。而支持SOA集团财务软件则能够帮助企业实现真正按需购置,企业需要什么功效就购置对应服务,帮助企业避免无须要支出。
3) 实现企业动态变革
支持SOA集团财务系统使企业IT人员无须太多关心企业IT系统底层技术,而更多去考虑集团财务业务处理和财务业务和IT接合。同时,以往企业在开发集团财务系统时,在反复功效上浪费了大量人力和财力,同时系统在开发完成后,假如企业业务改变,系统将极难更改或更改成本很高。而SOA面正确是一个个独立服务,服务之间能够经过标准接口来相互调用,这么企业在反复功效上就能够直接经过接口调用,而无须去重新开发。企业业务发生改变时,只需要修改相对应服务即可,降低了修改难度和复杂度,确保了企业IT系统动态改变。
4.1.2 基于SOA技术体系结构
4.1.2.1 SOA是松耦合系统
这种含有中立接口定义(没有强制绑定到特定实现上)特征称为服务之间松耦合。松耦合系统好处有两点:
1) 是它灵活性,当组成整个应用程序每个服务内部结构和实现逐步地发生改变时,它能够继续存在。
2) 而其次,紧耦合意味着应用程序不一样组件之间接口和其功效和结构是紧密相连,所以当需要对部分或整个应用程序进行某种形式更改时,它们就显得很脆弱。
对松耦合系统需要起源于业务应用程序需要依据业务需要变得愈加灵活,以适应不停改变环境,比如常常改变政策、业务等级、业务关键、合作伙伴关系、行业地位和其它和业务相关原因,这些原因甚至会影响业务性质。我们称能够灵活地适应环境改变业务为按需(On demand)业务,在按需业务中,一旦需要,就能够对完成或实施任务方法进行必需更改。
SOA 系统原型一个经典例子是通用对象请求代理体系结构(Common 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系统等,在设计或架构上全部是紧偶合、封闭式、自成体系,属于一次性投入一次性完结产品。这么产品极难适应或快速响应市场或用户灵活多变需求,和后续扩展。在这么市场、及用户需求下,从而催生了软件产品一个新设计或架构理念:面向服务架构(SOA架构)。
对 SOA 需要起源于需要使业务 IT 系统变得愈加灵活,以适应业务中改变。经过许可强定义关系和仍然灵活特定实现,IT 系统既能够利用现有系统功效,又能够准备在以后做部分改变来满足它们之间交互需要。
SOA是一场革命。一个应用程序业务逻辑(business logic)或一些单独功效被模块化并作为服务展现给消费者或用户端。这些服务关键是她们松耦合特征。比如,服务接口和实现相独立。应用开发人员或系统集成者能够经过组合一个或多个服务来构建应用,而无须了解服务底层实现。举例来说,一个服务能够用.NET或J2EE来实现,而使用该服务应用程序能够在不一样平台之上,使用语言也能够不一样。
让 SOA 系统适应改变能力是最关键部分,对于开发人员来说,这么改变不管是在她们工作范围之内还是在她们工作范围之外全部有可能发生,这取决于是否有改变需要知道接口是怎样定义和它们相互之间怎样进行交互。和开发人员不一样是,架构师作用就是引发对 SOA 模型大改变。这种分工,就是让开发人员集中精力于创建作为服务定义功效单元,而让架构师和建模人员集中精力于怎样将这些单元合适地组织在一起,它已经有十多年历史了,通常见统一建模语言(Universal Modeling Language,UML),而且描述成模型驱动体系结构(Model- Driven Architecture,MDA)。
4.1.2.3 SOA架构定义或特征
SOA架构,是一个粗粒度、开放式、松耦合服务结构,要求软件产品在开发过程中,按摄影关标准或协议,进行分层开发。经过这种分层设计或架构体系能够使软件产品变得愈加弹性和灵活,且尽可能和第三方软件产品互补兼容,以达成快速扩展,满足或响应市场或用户需求多样化、多变性。一个经典SOA架构示意以下:
图4.1 SOA架构系统图示
4.1.2.4 基于SOA技术架构价值
4.1.2.4.1 未来企业应变之道
连续增加用户需求、瞬息万变市场和日趋猛烈全球化竞争,使得企业必需不停提升本身IT及企业管理系统灵敏性和适应性。 现在,每个企业全部需要把握业务步骤发展变革,估计业务环境改变,方便对竞争者做出快速响应,确保企业生存、发展和快速成长[27]。
面向服务架构技术(Service-Oriented Architecture,SOA)出现,标志着设计、开发、布署新企业应用系统,并将其和原有应用系统、业务步骤进行集成方法出现了根本性改变。
采取SOA架构,能够带来显著商业和技术利益:
1)提升商业决议能力,经过将商业服务和信息进行聚合成为一系列动态、组合商业应用,企业决议者能够更便捷地取得更正确、更全方面、更深入信息,能够更灵敏地对多种改变做出反应。
2)取得更高职员生产率,SOA能够改善商业步骤,使得职员愈加关注关键性、增值业务步骤,基于服务愈加好地进行协作,经过多种方法访问和操作业务数据和信息,大大提升生产率。
3)建立和供给商和用户更强联络,SOA增强了端到端应用模式,跨越企业组织边界,愈加好地集成现有信息系统,经过服务编排和聚合,使其愈加好地融合在业务步骤里。
4)能够愈加快、更节省地搭建IT和业务应用系统,基于SOA和标准化服务组件,能够依据业务步骤需要,愈加快地搭建业务系统;同时,也能够愈加好地利用原有IT和业务系统投资,并确保其符合业务步骤需要。
5)能够增强IT和业务系统可管理性和安全性,经过安全服务布署和SOA治理,能够实现更强安全性管理和监控,确保了整个架构置于统筹和管理之下。
4.1.2.4.2 完全SOA架构所带来价值
1)确保总体架构合理计划,全方面整合信息,根本消除应用孤岛,全方面实现过程、人员和信息实质集成、高度协调,实现更高互操作性和协同、更灵敏业务步骤、更全方面信息可见性;
2)企业IT及应用系统架构将更具伸缩性,IT价值将得到充足发挥,全方面提升未来企业竞争优势;
3)降低集成成本和风险,降低维护成本:伴随企业业务发展,非SOA应用在IT和应用系统中相互集成成本和风险日益增大,系统运行将变得繁冗和低效;对应地,为维护应用孤岛及更多步骤接口,甚至是反复、重合业务功效系统,企业IT及应用系统维护成本将不可避免地日益增大。
4)基于SOA架构IT及应用系统能够增量布署到位,但毫无疑问,选择完全SOA架构是正确、长远和明智决议。
4.1.3 SOA实现方法-WebService
4.1.3.1 WebService概念
WebService是一个构建应用程序普遍模型,能够在任何支持网络通信操作系统中实施运行;它是一个新web应用程序分支,是自包含、自描述、模块化应用,能够公布、定位、经过web调用。WebService是一个应用组件,它逻辑性为其它应用程序提供数据和服务.各应用程序经过网络协议和要求部分标准数据格式(Http,XML,Soap)来访问WebService,经过WebService内部实施得到所需结果.Web Service能够实施从简单请求到复杂商务处理任何功效。一旦布署以后,其它WebService应用程序能够发觉并调用它布署服务[28]。
4.1.3.2 WebService关键技术和规则
4.1.3.2.1 技术和规则
在构建和使用Web 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)等独立于平台、独立于软件供给商标准,是创建可互操作、分布式应用程序新平台。由此能够看出,在以下三种情况下,使用WebService会带来极大好处。具体以下:
1) 跨防火墙通信
假如应用程序有成千上万用户,而且分布在世界各地,那么用户端和服务器之间通信将是一个棘手问题。因为用户端和服务器之间通常会有防火墙或代理服务器。在这种情况下,使用DCOM就不是那么简单,通常也不便于把用户端程序公布到数量如此庞大每一个用户手中。传统做法是,选择用浏览器作为用户端,写下一大堆ASP页面,把应用程序中间层暴露给最终用户。这么做结果是开发难度大,程序极难维护。
2) 应用程序集成
企业级应用程序开发者全部知道,企业里常常全部要把用不一样语言写成、在不一样平台上运行多种程序集成起来,而这种集成将花费很大开发力量。应用程序常常需要从运行在IBM主机上程序中获取数据;或把数据发送到主机或UNIX应用程序中去。即使在同一个平台上,不一样软件厂商生产多种软件也常常需要集成起来。经过WebService,应用程序能够用标准方法把功效和数据“暴露”出来,供其它应用程序使用。
3) B2B集成
用WebService集成应用程序,能够使企业内部商务处理愈加自动化。但当交易跨越供给商和用户、突破企业界限时会怎么样呢?跨企业商务交易集成通常叫做B2B集成。
WebService是B2B集成成功关键。经过WebService,企业能够把关键商务应用“暴露”给指定供给商和用户。比如,把电子下单系统和电子发票系统“暴露”出来,用户就能够以电子方法发送订单,供给商则能够以电子方法发送原料采购发票。当然,这并不是一个新概念,EDI(电子文档交换)早就是这么了。不过,WebService实现要比EDI简单得多,而且WebService运行在Internet上,在世界任何地方全部可轻易实现,其运行成本就相对较低。不过,WebService并不像EDI那样,是文档交换或B2B集成完整处理方案。WebService只是B2B集成一个关键部分,还需要很多其它部分才能实现集成。
用WebService来实现B2B集成最大好处于于能够轻易实现互操作性。只要把商务逻辑“暴露”出来,成为WebService,就能够让任何指定合作伙伴调用这些商务逻辑,而不管她们系统在什么平台上运行,使用什么开发语言。这么就大大降低了花在B2B集成上时间和成本,让很多原本无法承受EDI中小企业也能实现B2B集成。
4) 软件和数据重用
软件重用是一个很大专题,重用形式很多,重用程度有大有小。最基础形式是源代码模块或类一级重用,另一个形式是二进制形式组件重用。
WebService在许可重用代码同时,能够重用代码背后数据。使用WebService,再也无须像以前那样,要先从第三方购置、安装软件组件,再从应用程序中调用这些组件;只需要直接调用远端WebService就能够了。举个例子,要在应用程序中确定用户输入地址,只需把这个地址直接发送给对应WebService,这个WebService就会帮你查阅街道地址、城市、省区和邮政编码等信息,确定这个地址是否在对应邮政编码区域。WebService提供商能够按时间或使用次数来对这项服务进行收费。这么服务要经过组件重用来实现是不可能,那样话你必需下载并安装好包含街道地址、城市、省区和邮政编码等信息数据库,而且这个数据库还是不能实时更新。
另一个软件重用情况是,把好多个应用程序功效集成起来。比如,要建立一个局域网上门户站点应用,让用户既能够查询联邦快递包裹,查看股市行情,又能够管理自己日程安排,还能够在线购置电影票。现
展开阅读全文