基于SOA架构与云计算核心技术的ERP系统标准设计专业方案_第1页
基于SOA架构与云计算核心技术的ERP系统标准设计专业方案_第2页
基于SOA架构与云计算核心技术的ERP系统标准设计专业方案_第3页
基于SOA架构与云计算核心技术的ERP系统标准设计专业方案_第4页
基于SOA架构与云计算核心技术的ERP系统标准设计专业方案_第5页
已阅读5页,还剩103页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录1前言 41.1企业ERP系统的需求描述 41.2ERP技术及应用的发展趋势 51.2.1B/S架构的ERP已经盛行 51.2.2SOA架构的引入,使ERP全面升级 51.2.3平台化——ERP的柔性大大增强 51.2.4与其它信息系统的集成 61.2.5整合业务流程的监测与评估 72传统ERP产品技术架构 82.1传统C/S架构的ERP系统 82.2B/S架构的ERP系统 82.3C/S架构和B/S架构的优缺点分析 92.3.1C/S系统优缺点 92.3.2B/S系统优缺点 92.3.3结论 103国内外最新ERP产品技术架构 103.1主流ERP产品简要介绍 103.1.1OracleEBusinessSuite 103.1.2SAPNetWeaver 123.1.3用友U9 123.2ERP系统架构设计的共同特点 133.2.1基于互联网的三层体系架构 143.2.2面向服务架构(SOA) 143.2.3模块化和组件化的体系架构 144基于SOA架构的ERP系统 154.1SOA技术简介 154.1.1SOA概念及简介 154.1.2基于SOA技术的体系结构 164.1.3SOA的实现方式-WebService 194.2基于SOA的ERP系统架构设计 224.2.1SOA架构基础技术 224.2.2SOA架构设计方案 254.2.3SOA架构实现 264.2.4SOA架构的服务管理组件:ESB 274.3ERP系统架构技术的时间线 305系统实现的关键技术 325.1关键技术框架及工具 325.1.1三层分布式架构 325.1.2基于WEB的B/S架构开发技术 345.1.3统一认证技术 345.1.4构件开发技术 365.1.5工作流系统 405.1.6权限管理系统 455.1.7表单生成技术 495.1.8插件化开发框架 515.2系统性能优化技术 525.2.1分布式技术应用 525.2.2AJAX局部更新 545.2.3预加载技术 555.2.4数据库查询优化 555.2.5数据库读写分离 565.3系统运营部署设计 565.3.1服务器集群技术 565.3.2虚拟化数据中心技术 576应用云计算技术的ERP系统 616.1云计算技术简介 616.1.1IaaS基础设施即服务 626.1.2PaaS平台及服务 656.1.3SaaS软件即服务 656.1.4云计算产生背景分析 696.2应用云计算技术的ERP系统 706.2.1SaaS模式的ERP与传统ERP的比较 706.2.2SaaS模式的ERP系统架构设计 706.2.3SaaS模式的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.3RFID,无线移动数据的收集技术 806.5应用移动技术的ERP系统 816.5.1移动ERP系统介绍 816.5.2移动ERP系统结构图 827总结 848参考文献 85序言企业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系统结构图ERP技术及应用发展趋势B/S架构ERP已经盛行

B/S模式是一个全新软件系统结构技术。伴随Windows98/Windows将浏览器技术捆绑植入操作系统内部,这种结构更成为当今应用软件首选体系结构。显然B/S结构应用程序相对于传统C/S结构应用程序将是巨大进步。

网络应用系统发展正在改变着ERP系统开发及其实施方法,传统ERP体系结构逐步被由用户、应用服务器、数据库服务器组成三层B/S结构所替换,并有了统一通讯协议TCP/IP和统一基于Web浏览器用户界面。B/SERP把传统依靠于邮件、电话、人盯人管理方法变革为目标导向、步骤驱动、智能电子商务步骤。而且该B/S架构ERP能够把企业内部步骤和企业外部步骤连接起来,和用户、合作伙伴、供给商协同完成供给链业务操作[52]。SOA架构引入,使ERP全方面升级SOA(Service-OrientedArchitecture面向服务架构)概念是由Gartner企业给出,Gartner对SOA定义为“用户端/服务器软件设计方法,一项应用由软件服务和软件服务使用者组成……SOA和大多数通用用户端/服务器模型不一样之处,在于它着重强调软件组件松散耦合,并使用独立标准接口。其关键是:

1)SOA是一个软件架构思想,并不是一个产品。

2)SOA关键是面向服务,此服务包含企业内部和外部每一个业务细节,比如企业中财务应收发票处理就是一个服务。SOA思想是把这些服务从复杂环境中独立出来——组件化封装,然后经过标准接口使不一样服务之间相互调用。

3)SOA是一个软件架构思想,经过使企业中一个个细化服务标准化,来达成企业IT系统跟随企业动态改变目标。平台化——ERP柔性大大增强

在ERP应用实施过程中,用户满意度一直不高。关键原因是产品更新周期加紧、市场响应要求提升,对ERP个性化要求越来越高,这是造成ERP实施成功率不高关键原因之一。

经过多年积累,大家已经总结出了ERP系统中业务关键,其架构、业务模型、标准化高业务处理均是可封装,假如我们把这部分封装起来,再开发出辅助这个平台用户化工具,就能够形成业务化平台。一样如此,假如对ERP进行分析、研究,将ERP相关部分封装起来,再加上工具包,就能够形成平台化ERP。

平台级企业信息处理方案提供了一个软件平台,内置多个管理软件组件和快捷二次开发工具,其组件能够经过多个语言来开发,开发出一个个小模块,然后把每一个小模块独立起来建成一个组件,最终把这些组件组装起来形成最终成品。那么对这些组件进行调用,管理和删减、添加及修改,甚至重新构架全部能够,而这么对某一部分改动根本不会影响到其它功效。这就是平台带来灵活性,易操作性,使它在进行小改动时能够直接经过系统上一些功效来实现,而无须要经过改源代码方法来处理,能够降低企业信息化软件开发难度,提升开发效率,提升系统柔性和可扩展性。首先管理信息化厂商经过平台提供组件能很方便地满足用户个性化需求,和用户在发展过程中多种多样改变需求。其次将应用软件业务逻辑和开发技术相对分开,使得应用软件开发者能够仅关注应用业务任务,而无须关注其技术实现。这使管理和业务人员参与应用软件开发成为可能。

平台化软件基础特征以下:

1)软件架构灵活;

2)关键业务标准化;

3)接口标准化,含有很好兼容性;

4)提供用户化工具包。和其它信息系统集成1)ERP和用户关系管理深入整合

ERP将愈加面向市场和面向用户,经过基于知识市场估计、订单处理和生产调度、基于约束调度功效等深入提升企业在全球化市场环境下更强优化能力;并深入和用户关系管理CRM结合,实现市场、销售、服务一体化,使CRM前台用户服务和ERP后台处理过程集成,提供用户个性化服务,使企业含有愈加好用户满意度。2)ERP和电子商务、供给链SCM、协同商务深入整合ERP将面向协同商务(CollaborativeCommerce),支持企业和贸易共同体业务伙伴、用户之间协作,支持数字化业务交互过程;ERP供给链管理功效将深入加强,并经过电子商务进行企业供需协作,如汽车行业要求ERP销售和采购模块支持用电子商务或EDI实现用户或供给商之间电子订货和销售开单过程;ERP将支持企业面向全球化市场环境,建立供给商、制造商和分销商间基于价值链共享新伙伴关系,并使企业在协同商务中做到过程优化、计划正确、管理协调。3)ERP和产品数据管理整合产品数据管理PDM(ProductDataManagement)将企业中产品设计和制造全过程多种信息、产品不一样设计阶段数据和文档组织在统一环境中。多年来ERP软件商纷纷在ERP系统中纳入了产品数据管理PDM功效或实现和PDM系统集成,增加了对设计数据、过程、文档应用和管理,降低了ERP庞大数据管理和数据准备工作量,并深入加强了企业管理系统和CAD、CAM系统集成,深入提升了企业系统集成度和整体效率。4)ERP和制造实施系统整合为了加强ERP对于生产过程控制能力,改变ERP"重计划,轻控制"弱点,将深入加强"事前计划、事中控制、事后审核"功效,ERP将和制造实施系统MES(ManufacturingexecutiveSystem)、车间层操作控制系统SFC更紧密结合,形成实时化ERP/MES/SFC系统。该趋势在步骤工业企业管控一体化系统中表现得最为显著。5)ERP和工作流管理系统深入整合全方面工作流规则确保和时间相关业务信息能够自动地在正确时间传送到指定地点。ERP工作流管理功效将深入增强,经过工作流实现企业人员、财务、制造和分销间集成,并能支持企业经营过程重组,也使ERP功效能够扩展到办公自动化和业务步骤控制方面。6)ERP和企业知识门户深入整合企业知识门户(EnterpriseKnowledgePortal,EKP)所关注是企业内部职员和信息内容,它关键是知识管理(KM),经过和ERP系统集成,使得企业内任何职员全部能够实时地和工作团体中其它组员取得联络、寻求到能够提供帮助教授或快速连接到相关知识,它建立和使用能够大大提升企业范围内知识共享,并由此提升企业职员工作效率。

整合业务步骤监测和评定“用于测量成功业务应用处理方案是连续改善关键:财务表现共享,SC效力,知识资本价值和用户满意度全部是新评测方法。”――Gartner。

传统ERP产品技术架构传统C/S架构ERP系统

信息系统架构示意图:

1)一层架构:用户端、应用服务器和数据库服务器全部在同一台机器上布署;

2)两层架构:数据库服务和应用服务在同一台服务器上布署,用户端访问服务器上资源或数据;

3)

三层架构:应用服务和数据库服务分离,分别布署在不一样服务器上,应用服务采取集群布署,达成性能上需求。图2.1不一样分级层次系统架构图

从企业信息系统架构设计看,三层分布式架构是一个经典应用;甚至能够过渡到多层分布式架构,如扩展出缓存服务、负载均衡服务等;这些全部是用户对系统快速响应和系统可靠性需求。B/S架构ERP系统B/S架构ERP系统出现使得传统ERP系统成为互联网应用,用户借助网络方便快捷,能够随时随地办公,处理业务数据。现代企业一般存在多区域分支机构,或业务人员需要差旅或在家办公,传统C/S架构日益不能满足移动办公需要,B/S架构ERP系统刚好能够处理这一需要。图2.2B/S架构ERP系统布署图C/S架构和B/S架构优缺点分析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开发人员成本低了很多)。B/S系统优缺点B/S结构优点:1)是互联网应用,含有分布性特点,能够随时随地进行查询、浏览等业务处理。2)业务扩展简单方便,经过增加网页即可增加服务器功效。3)维护简单方便,只需要改变网页,即可实现全部用户同时更新。4)开发简单,共享性强。

B/S结构缺点:1)操作是以鼠标为最基础操作方法,无法满足快速操作要求,尤其是在大量数据录入操作、复杂交互情况下,需要提升交互设计能力。2)页面加载刷新时,响应速度受网络连接稳定性影响。结论

现在,从架构设计来看,ERP系统采取B/S架构和C/S架构是并存存在,B/S架构系统更有发展前景,从长远来看,因为互联网发展,网络带宽提升,HTML5技术出现等原因,B/S架构系统是未来发展趋势。中国外最新ERP产品技术架构主流ERP产品简明介绍OracleEBusinessSuiteOracleEBS产品介绍

OracleEBS是OracleE-BusinessSuite缩写,是Oracle企业ERP产品,全球销量仅次于SAP(另一款ERP产品)。OracleEBS是一整套企业级应用软件,包含:采购管理、库存管理、销售管理、车间管理、物料清单及工艺管理、生产计划、成本管理、应付账款管理、应收账款管理、现金管理、总帐管理、项目会计、项目制造、用户关系管理、供给商门户等模块。纯互联网技术架构Oracle电子商务套件采取标准100%基于互联网三层体系架构;不管是数据库层、应用层和最前端最终用户操作界面全部100%支持基于JAVA优异互联网技术[37]。

Oracle电子商务套件技术架构特点,提供了软件系统基于数据中心运行集中管理基础。使全部相关软件系统推广、升级和日常维护工作能够基于数据中心进行,从而达成最大程度地降低用户端软硬件和维护成本,降低服务器端软件维护工作内容。图3.1Oracle应用软件技术架构模块化开放架构Oracle电子商务套件应用产品采取模块化和组件化优异软件技术体系架构,应用软件产品能够细化成为很多细粒度模块,不一样用户应用能够选择不一样组件或模块组合形成适合于企业需求软件平台方案;基于同一共享数据库和统一数据模型数据层面高度集成架构,确保各应用模块之间紧密无缝集成和平滑业务流转[37]。图3.2Oracle电子商务套件模块化开放架构SAPNetWeaverSAPNetWeaver产品介绍

SAPNetWeaver是SAP集成技术平台和自从SAPBusinessSuite以来全部SAP应用技术基础。SAPNetWeaver是一个面向服务应用和集成平台。SAPNetWeaver为SAP应用提供开发和运行环境,也能够用来和其它应用和系统进行自定义开发和集成。SAPNetWeaver是使用开放标准和实际上工业标准进行开发,能够用icrosoft?NET,Sun燡avaEE,和IBM燱ebSphere等这些技术平台进行扩展和互操作[44]。SAPNetWeaver技术架构

SAP企业系统架构是以SOA架构技术作为基础框架进行开发。ERP,CRM,SCM,SAPBusinessSuite,SRM,PLM系统全部是独立子系统,这些系统之间交互全部是经过SOA服务进行。图3.3SAP企业系统架构用友U9用友U9产品介绍

用友U9完全基于SOA架构世界级企业管理软件,用友U9面向快速发展和成长中大型制造企业复杂应用,以“实时企业、全球商务”为关键理念,完全适应多组织供给链协同、多工厂制造协同、产业链协同、产品事业部和业务中心管理模式,更能支持多生产模式混合生产和计划、多经营模式混合管理、精益生产、全方面成本、跨国财务等深度应用,含有高度灵活产品架构,帮助企业快速响应改变,支持经营、业务和管理模式创新。用友U9技术架构

UFIDAU9完全采取面向服务架构(SOA),实现了全程模型驱动开发(MDD)模式,达成降低集成和开发成本目标。UAP使企业管理软件含有多项新技术应用特点:企业信息资源变得可重用、透明化,而且系统含有高可扩展性,让业务处理愈加高效、简练、安全。UAP还提供了统一集成开发环境(IDE),用户能够使用包含企业建模、领域建模、服务设计、UI设计、报表设计、规则设计、数据库设计等全方位设计器,并经过可视化界面和友好交互操作,自动生成用户所需要多种服务部件。UAP完全支持企业级集成和应用协同,如Office集成、移动商务、企业搜索、智能用户端等多项领域[35]。图3.4用友U9技术架构ERP系统架构设计共同特点

经过中国外最新ERP产品功效及技术架构比较,得出:基于SOA架构技术框架是共同采取,而且愈加强调了多设备支持,完全基于互联网模式系统。产品名称是否B/S是否SOA架构是否模块化构建是否支持移动设备是否分布式布署OracleEBusinessSuite是是是支持是SAPNetWeaver是是是支持是用友U9是是是支持是金蝶EAS是是是支持是OpenERP(开源)是下一版本支持完全模块化支持是表3.1各主流ERP产品系统架构比较基于互联网三层体系架构

采取标准100%基于互联网三层体系架构,不管是数据库层、应用层和最前端最终用户操作界面全部100%支持WEB互联网技术,尤其是应用层,直接采取互联网优异技术,不需要任何中间转换过程,在表现优异互联网技术同时,最大程度降低了中间步骤,确保了系统处理高性能和高稳定性。面向服务架构(SOA)

完全采取面向服务架构(SOA),实现了全程模型驱动开发(MDD)模式,达成降低愈加强调系统基础,采取松耦合,降低系统耦合度。SOA实现方法全部是采取了基于Http协议WebService技术,数据交换格式采取XML,SOAP。模块化和组件化体系架构模块化和组件化优异软件技术体系架构,应用软件产品能够细化成为很多细粒度模块,不一样用户应用能够选择不一样组件或模块组合形成适合于企业需求软件平台方案;基于同一共享数据库和统一数据模型数据层面高度集成架构,确保各应用模块之间紧密无缝集成和平滑业务流转。

基于SOA架构ERP系统SOA技术介绍SOA概念及介绍SOA基础概念

面向服务体系结构(Service-OrientedArchitecture,SOA)是一个组件模型,它将应用程序不一样功效单元(称为服务)经过这些服务之间定义良好接口和契约联络起来。接口是采取中立方法进行定义,它应该独立于实现服务硬件平台、操作系统和编程语言。这使得构建在多种多样系统中服务能够使用一个统一和通用方法进行交互[26]。介绍SOA(Service-OrientedArchitecture),面向服务架构,它能够依据需求经过网络对松散耦合粗粒度应用组件进行分布式布署、组合和使用。服务层是SOA基础,能够直接被应用调用,从而有效控制系统中和软件代理交互人为依靠性。SOA是一个粗粒度、松耦合服务架构,服务之间经过简单、正确定义接口进行通讯,不包含底层编程接口和通讯模型。SOA能够看作是B/S模型、XML/WebService技术以后自然延伸。SOA技术优势

经过SOA思想引入,使得ERP软件能够做到[50]:

1)支持异构集成

所谓异构环境,包含四个层次,硬件平台、操作系统、数据库、应用软件。假如一套硬件、一套操作系统、一套数据库、一套应用软件能够面面俱四处理集团企业全部管理问题,那是再好不过了。但现实中是不可能,更普遍是,不一样应用往往选择不一样平台和应用系统,方便充足发挥各个厂商专长。支持SOAERP系统为集团企业信息化提供了伸缩空间,企业能够依据需要选择最适宜处理方案。

2)降低企业IT成本

以往多数企业在建设企业ERP系统时是从项目标角度出发,比如ERP项目、CRM项目等,事后当企业IT系统越来越多时候,才会考虑系统集成问题,但这时候往往集成难度就很大了。而SOA要求企业在建设IT系统之初就要考虑这些问题,也就是要考虑服务之间接口问题。这么就会使企业IT成本大大降低。

同时,SOA将改变以往软件购置模式。现在,多数企业在购置软件时往往是成熟性软件,需一个模块或一个系统购置,企业在购置时往往无法将那些企业不需要功效剔除出去,这么,企业就不得不为此多付出资金、培训成本等很多无须要成本。而支持SOA集团财务软件则能够帮助企业实现真正按需购置,企业需要什么功效就购置对应服务,帮助企业避免无须要支出。

3)实现企业动态变革

支持SOA集团财务系统使企业IT人员无须太多关心企业IT系统底层技术,而更多去考虑集团财务业务处理和财务业务和IT接合。同时,以往企业在开发集团财务系统时,在反复功效上浪费了大量人力和财力,同时系统在开发完成后,假如企业业务改变,系统将极难更改或更改成本很高。而SOA面正确是一个个独立服务,服务之间能够经过标准接口来相互调用,这么企业在反复功效上就能够直接经过接口调用,而无须去重新开发。企业业务发生改变时,只需要修改相对应服务即可,降低了修改难度和复杂度,确保了企业IT系统动态改变。基于SOA技术体系结构SOA是松耦合系统

这种含有中立接口定义(没有强制绑定到特定实现上)特征称为服务之间松耦合。松耦合系统好处有两点:

1)是它灵活性,当组成整个应用程序每个服务内部结构和实现逐步地发生改变时,它能够继续存在。

2)而其次,紧耦合意味着应用程序不一样组件之间接口和其功效和结构是紧密相连,所以当需要对部分或整个应用程序进行某种形式更改时,它们就显得很脆弱。对松耦合系统需要起源于业务应用程序需要依据业务需要变得愈加灵活,以适应不停改变环境,比如常常改变政策、业务等级、业务关键、合作伙伴关系、行业地位和其它和业务相关原因,这些原因甚至会影响业务性质。我们称能够灵活地适应环境改变业务为按需(Ondemand)业务,在按需业务中,一旦需要,就能够对完成或实施任务方法进行必需更改。SOA系统原型一个经典例子是通用对象请求代理体系结构(CommonObjectRequestBrokerArchitecture,CORBA),它已经出现很长时间了,其定义概念和SOA相同。然而,现在SOA已经有所不一样了,经过使用基于XML语言(称为Web服务描述语言(WebServicesDefinitionLanguage,WSDL))来描述接口,服务已经转到愈加动态且更灵活接口系统中,非以前CORBA中接口描述语言(InterfaceDefinitionLanguage,IDL)可比了。SOA体系结构作用

传统企业(数据库)应用软件产品,如MRP、ERP、OA系统等,在设计或架构上全部是紧偶合、封闭式、自成体系,属于一次性投入一次性完结产品。这么产品极难适应或快速响应市场或用户灵活多变需求,和后续扩展。在这么市场、及用户需求下,从而催生了软件产品一个新设计或架构理念:面向服务架构(SOA架构)。

对SOA需要起源于需要使业务IT系统变得愈加灵活,以适应业务中改变。经过许可强定义关系和仍然灵活特定实现,IT系统既能够利用现有系统功效,又能够准备在以后做部分改变来满足它们之间交互需要。

SOA是一场革命。一个应用程序业务逻辑(businesslogic)或一些单独功效被模块化并作为服务展现给消费者或用户端。这些服务关键是她们松耦合特征。比如,服务接口和实现相独立。应用开发人员或系统集成者能够经过组合一个或多个服务来构建应用,而无须了解服务底层实现。举例来说,一个服务能够用.NET或J2EE来实现,而使用该服务应用程序能够在不一样平台之上,使用语言也能够不一样。让SOA系统适应改变能力是最关键部分,对于开发人员来说,这么改变不管是在她们工作范围之内还是在她们工作范围之外全部有可能发生,这取决于是否有改变需要知道接口是怎样定义和它们相互之间怎样进行交互。和开发人员不一样是,架构师作用就是引发对SOA模型大改变。这种分工,就是让开发人员集中精力于创建作为服务定义功效单元,而让架构师和建模人员集中精力于怎样将这些单元合适地组织在一起,它已经有十多年历史了,通常见统一建模语言(UniversalModelingLanguage,UML),而且描述成模型驱动体系结构(Model-DrivenArchitecture,MDA)。SOA架构定义或特征

SOA架构,是一个粗粒度、开放式、松耦合服务结构,要求软件产品在开发过程中,按摄影关标准或协议,进行分层开发。经过这种分层设计或架构体系能够使软件产品变得愈加弹性和灵活,且尽可能和第三方软件产品互补兼容,以达成快速扩展,满足或响应市场或用户需求多样化、多变性。一个经典SOA架构示意以下:图4.1SOA架构系统图示基于SOA技术架构价值未来企业应变之道

连续增加用户需求、瞬息万变市场和日趋猛烈全球化竞争,使得企业必需不停提升本身IT及企业管理系统灵敏性和适应性。现在,每个企业全部需要把握业务步骤发展变革,估计业务环境改变,方便对竞争者做出快速响应,确保企业生存、发展和快速成长[27]。

面向服务架构技术(Service-OrientedArchitecture,SOA)出现,标志着设计、开发、布署新企业应用系统,并将其和原有应用系统、业务步骤进行集成方法出现了根本性改变。

采取SOA架构,能够带来显著商业和技术利益:

1)提升商业决议能力,经过将商业服务和信息进行聚合成为一系列动态、组合商业应用,企业决议者能够更便捷地取得更正确、更全方面、更深入信息,能够更灵敏地对多种改变做出反应。

2)取得更高职员生产率,SOA能够改善商业步骤,使得职员愈加关注关键性、增值业务步骤,基于服务愈加好地进行协作,经过多种方法访问和操作业务数据和信息,大大提升生产率。

3)建立和供给商和用户更强联络,SOA增强了端到端应用模式,跨越企业组织边界,愈加好地集成现有信息系统,经过服务编排和聚合,使其愈加好地融合在业务步骤里。

4)能够愈加快、更节省地搭建IT和业务应用系统,基于SOA和标准化服务组件,能够依据业务步骤需要,愈加快地搭建业务系统;同时,也能够愈加好地利用原有IT和业务系统投资,并确保其符合业务步骤需要。

5)能够增强IT和业务系统可管理性和安全性,经过安全服务布署和SOA治理,能够实现更强安全性管理和监控,确保了整个架构置于统筹和管理之下。完全SOA架构所带来价值

1)确保总体架构合理计划,全方面整合信息,根本消除应用孤岛,全方面实现过程、人员和信息实质集成、高度协调,实现更高互操作性和协同、更灵敏业务步骤、更全方面信息可见性;

2)企业IT及应用系统架构将更具伸缩性,IT价值将得到充足发挥,全方面提升未来企业竞争优势;

3)降低集成成本和风险,降低维护成本:伴随企业业务发展,非SOA应用在IT和应用系统中相互集成成本和风险日益增大,系统运行将变得繁冗和低效;对应地,为维护应用孤岛及更多步骤接口,甚至是反复、重合业务功效系统,企业IT及应用系统维护成本将不可避免地日益增大。

4)基于SOA架构IT及应用系统能够增量布署到位,但毫无疑问,选择完全SOA架构是正确、长远和明智决议。SOA实现方法-WebServiceWebService概念

WebService是一个构建应用程序普遍模型,能够在任何支持网络通信操作系统中实施运行;它是一个新web应用程序分支,是自包含、自描述、模块化应用,能够公布、定位、经过web调用。WebService是一个应用组件,它逻辑性为其它应用程序提供数据和服务.各应用程序经过网络协议和要求部分标准数据格式(Http,XML,Soap)来访问WebService,经过WebService内部实施得到所需结果.WebService能够实施从简单请求到复杂商务处理任何功效。一旦布署以后,其它WebService应用程序能够发觉并调用它布署服务[28]。WebService关键技术和规则技术和规则

在构建和使用WebService时,关键用到以下多个关键技术和规则:1)XML:描述数据标准方法.2)SOAP:简单对象访问协议.3)WSDL:Web服务描述语言.4)UDDI(UniversalDescription,DiscoveryandIntegration):通用描述、发觉和集成,它是一个独立于平台,基于XML语言用于在互联网上描述商务协议。相关实际上,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提供商能够按时间或使用次数来对这项服务进行收费。这么服务要经过组件重用来实现是不可能,那样话你必需下载并安装好包含街道地址、城市、省区和邮政编码等信息数据库,而且这个数据库还是不能实时更新。另一个软件重用情况是,把好多个应用程序功效集成起来。比如,要建立一个局域网上门户站点应用,让用户既能够查询联邦快递包裹,查看股市行情,又能够管理自己日程安排,还能够在线购置电影票。现在Web上有很多应用程序供给商,全部在其应用中实现了这些功效。一旦她们把这些功效全部经过WebService“暴露”出来,就能够很轻易地把全部这些功效全部集成到你门户站点中,为用户提供一个统一、友好界面。未来,很多应用程序全部会利用WebService,把目前基于组件应用程序结构扩展为组件/WebService混合结构,能够在应用程序中使用第三方WebService提供功效,也能够把自己应用程序功效经过WebService提供给她人。两种情况下,全部能够重用代码和代码背后数据。SOAWebService实现

SOA是一个软件架构,而不是局限于某个技术组合,它超越了技术范围。SOA关键是“服务”。W3C将服务定义为:“服务提供者完成一组工作,为服务使用者交付所需最终止果。最终止果通常是使用者状态发生改变,但也可能是提供者状态改变,或双方全部产生改变”。服务是网络中可用软件资源。服务提供者经过标准机制提供服务,使用者经过网络有计划地使用服务。服务贮备库公布服务所在位置,并在使用者请求服务时定位服务。服务使用者和提供者角色不是惟一,服务提供者也能够是使用者,反之亦然。SOA具体实现有很多,包含WebService,Ses-sionBean,JINI等,但伴随WebService技术被越来越重视,其己经成为构建SOA关键技术。图4.2标准WebService技术和SOA架构系统对比

从上图比较得出,SOA自治WebService实现架构中,增加了对服务管理,包含:业务对象管理、业务步骤管理,服务策略,服务安全等考虑。基于SOAApplication为何选择SOA?不一样种类操作系统,应用软件,系统软件和应用基础结构(applicationinfrastructure)相互交织,这便是IT企业现实状况。部分现存应用程序被用来处理目前业务步骤(businessprocesses),所以从头建立一个新基础环境是不可能。企业应该能对业务改变做出快速反应,利用对现有应用程序和应用基础结构(applicationinfrastructure)投资来处理新业务需求,为用户,商业伙伴和供给商提供新互动渠道,并展现一个能够支持有机业务(organicbusiness)构架。SOA凭借其松耦合特征,使得企业能够根据模块化方法来添加新服务或更新现有服务,以处理新业务需要,提供选择从而能够经过不一样渠道提供服务,并能够把企业现有或已经有应用作为服务,从而保护了现有IT基础建设投资。图4.3采取SOA架构应用示例基于SOAERP系统架构设计SOA架构基础技术SOA服务架构为了实现SOA,企业需要一个服务架构,服务消费者(serviceconsumer)能够经过发送消息来调用服务。这些消息由一个服务总线(servicebus)转换后发送给合适服务实现。这种服务架构能够提供一个业务规则引擎(businessrulesengine),该引擎许可业务规则被合并在一个服务里或多个服务里。这种架构也提供了一个服务管理基础(servicemanagementinfrastructure),用来管理服务,类似审核,列表(billing),日志等功效。另外,该架构给企业提供了灵活业务步骤,愈加好地处理控制请求(regulatoryrequirement),比如SarbanesOxley(SOX),而且能够在不影响其它服务情况下更改某项服务[29]。图4.4SOA服务架构SOA基础结构要运行,管理SOA应用程序,企业需要SOA基础,这是SOA平台一个部分。SOA基础必需支持全部相关标准,和需要运行时容器[29]。图4.5SOA基础架构SOAP,WSDL,UDDIWSDL,UDDI和SOAP是SOA基础基础部件。WSDL用来描述服务;UDDI用来注册和查找服务;而SOAP,作为传输层,用来在消费者和服务提供者之间传送消息。SOAP是Web服务默认机制,其它技术为能够服务实现其它类型绑定。一个消费者能够在UDDI注册表(registry)查找服务,取得服务WSDL描述,然后经过SOAP来调用服务。WS-IBasicProfileWS-IBasicProfile,由Web服务互用性组织(WebServicesInteroperabilityOrganization)提供,是SOA服务测试和互用性所需要关键构件。服务提供者能够使用BasicProfile测试程序来测试服务在不一样平台和技术上互用性。J2EE和.Net尽管J2EE和。NET平台是开发SOA应用程序常见平台,但SOA不仅限于此。像J2EE这类平台,不仅为开发者自然而然地参与到SOA中来提供了一个平台,还经过她们内在特征,将可扩展性,可靠性,可用性和性能引入了SOA世界。新规范,比如JAXB(JavaAPIforXMLBinding),用于将XML文档定位到Java类;JAXR(JavaAPIforXMLRegistry)用来规范对UDDI注册表(registry)操作;XML-RPC(JavaAPIforXML-basedRemoteProcedureCall)在J2EE1.4中用来调用远程服务,这使得开发和布署可移植于标准J2EE容器Web服务变得轻易,和此同时,实现了跨平台(如。NET)服务互用。服务品质在企业中,关键任务系统(mission-criticalsystem,译注:关键任务系统是指假如一个系统可靠性对于一个组织是至关关键,那么该系统就是该企业关键任务系统。比如,电话系统对于一个电话促销企业来说就是关键任务系统,而文字处理系统就不那么关键了。)用来处理高级需求,比如安全性,可靠性,事物。当一个企业开始采取服务架构作为工具来进行开发和布署应用时候,基础Web服务规范,像WSDL,SOAP,和UDDI就不能满足这些高级需求。正如前面所提到,这些需求也称作服务品质(QoS,qualityofservices)。和QoS相关众多规范已经由部分标准化组织(standardsbodies)提出,像W3C(WorldWideWebConsortium)和OASIS(theOrganizationfortheAdvancementofStructuredInformationStandards)。下面部分将会讨论部分QoS服务和相关标准。安全Web服务安全规范用来确保消息安全性。该规范关键包含认证交换,消息完整性和消息保密。该规范吸引人地方在于它借助现有安全标准,比如,SAML(asSecurityAssertionMarkupLanguage)来实现web服务消息安全。OASIS正致力于Web服务安全规范制订。可靠在经典SOA环境中,服务消费者和服务提供者之间会有多个不一样文档在进行交换。含有诸如“仅且仅仅传送一次”(once-and-only-oncedelivery),“最多传送一次”(at-most-oncedelivery),“反复消息过滤”(duplicatemessageelimination),“确保消息传送”(guaranteedmessagedelivery)等特征消息发送和确定,在关键任务系统(mission-criticalsystems)中变得十分关键。WS-Reliability和WS-ReliableMessaging是两个用来处理这类问题标准。这些标准现在全部由OASIS负责。策略服务提供者有时候会要求服务消费者和某种策略通信。比如,服务提供商可能会要求消费者提供Kerberos安全标示,才能取得某项服务。这些要求被定义为策略断言(policyassertions)。一项策略可能会包含多个断言。WS-Policy用来标准化服务消费者和服务提供者之间策略通信。控制当企业着手于服务架构时,服务能够用来整合数据仓库(silosofdata),应用程序,和组件。整合应用意味着比如异步通信,并行处理,数据转换,和校正等进程请求必需被标准化。在SOA中,进程是使用一组离散服务创建。BPEL4WS或WSBPEL(WebServiceBusinessProcessExecutionLanguage)是用来控制这些服务语言。WSBPEL现在也由OASIS负责。管理伴随企业服务增加,所使用服务和业务进程数量也随之增加,一个用来让系统管理员管理全部运行在多相环境下服务管理系统就显得尤为关键。WSDM(WebServicesforDistributedManagement)要求了任何依据WSDM实现服务全部能够由一个WSDM适应(WSDM-compliant)管理方案来管理。其它qos特征,比如合作方之間溝通和通訊,多個服務之間事務處理,全部在WS-Coordination和WS-Transaction標準中描述,這些全部是OASIS工作。SOA架构设计方案

系统采取面向服务架构来设计其体系结构,每一层具体功效以下:图4.6基于SOA架构ERP系统架构设计

1)应用表示层采取Portal技术建立企业信息门户,经过标准接口和服务提供方和服务注册中心通讯,达成查询和绑定服务目标。功效设计中将利用服务层和业务步骤编排层提供服务和业务应用步骤,和引入其它外部WebService,利用了最新Web2.0技术,包含Ajax、RSS、WebGIS等等来增强用户体验。

2)业务步骤编排层集成了多种业务规则和逻辑规则,将服务层提供服务编排成业务应用步骤,满足了灵活重组企业内部步骤要求。

3)服务层由多种粒度服务组成,关键分为粗粒度服务和细粒度服务,并按功效不一样将它们分成四类提供给不一样用户使用。这四类包含:技术功效、业务功效、业务事务和业务步骤。其中技术功效关键是由运行基础提供多种服务,业务功效则是由组件层公布上来细粒度服务。业务事务则是粒度稍大服务。粒度最大是业务步骤服务。在该层经过业务服务总线(BSB)完成细粒度服务到粗粒度服务整合,从而实现ERP系统整体功效。本层关键功效在于分类组织组件层公布上来多种服务、SOA运行基础提供功效服务和从外部引入多种服务。

4)组件层关键向上提供包含到多种企业应用接入组件,以实现系统中不一样功效模块,并经过WebService接口被包装成WebService公布到在组件层之上服务层,同时组件层预留其它类型接口供系统调用。

5)系统层,关键是提供满足ERP系统基础架构,如企业ERP系统中通常需要集成各个应用系统和数据库管理系统。通常各个应用系统之间是相互独立,她们将经过系统架构中组件层接入整个SOA企业信息系统中并受BusinessIntelligence控制。在系统层,经过面向对象技术完成组件层和数据库交互。SOA架构实现

为了实现构建大型,分布多层企业应用技术,使系统含有语言无关、再开发、可移植性和高性能等优点,我们选择.NET平台作为基于SOAWeb服务开发实现平台。结合WebServices,采取xfire公布框架完成SOA架构实现。

1)应用表示层技术实现

经过AMVC3.0框架对web服务良好支持完成Web层开发,以达成表现给用户一个直观而且简单易于使用用户界面。在表示层中同时采取和AJAX技术相结合,让系统页面在性能上含有比通常Web页面愈加快响应速度。

2)业务步骤编排层技术实现

因为系统业务步骤比较灵活,本文采取基于标准可扩展WSDL和BPEL(Web服务业务步骤实施语言)来定义和描述步骤。在BPEL中经过使用结构化活动来定义这些活动之间相互关系从而创建出复杂步骤,这有利于系统开放性和通用性。在此基础上采取Web服务完成步骤到前台应用系统接口,Web服务向内经过多种控件完成步骤操作和管理,向外为前台开发提供了一个结构松散、异步操作和含有分布式支撑能力统一接口。

3)Webservice公布框架

WebService(Web服务)技术则是一个关键实现方法。Webservice公布关键由xfire实现,xfire是一个无偿开源SOAP框架,在它代码中有一个轻量级信息处理模块经过STAX来和SOAP信息相结合。它不仅能够极大方便地实现这么一个环境,而且能够提供很多WebServices规范中高级特征,这些特征在多数商业或开源工具全部没有提供。SOA架构服务管理组件:ESB企业服务总线ESB介绍企业服务总线介绍ESB全称为EnterpriseServiceBus,即企业服务总线。它是传统中间件技术和XML、Web服务等技术结合产物。ESB提供了网络中最基础连接中枢,是构筑企业神经系统必需元素。ESB出现改变了传统软件架构,能够提供比传统中间件产品更为廉价处理方案,同时它还能够消除不一样应用之间技术差异,让不一样应用服务器协调运作,实现了不一样服务之间通信和整合。从功效上看,ESB提供了事件驱动和文档导向处理模式,和分布式运行管理机制,它支持基于内容路由和过滤,含有了复杂数据传输能力,并能够提供一系列标准接口[30]。2.企业服务总线功效1)总线基础服务框架:提供系统一致性、安全性、可靠性,和性能何扩展能力保障基础技术手段。2)集成服务:提供基础集成服务和用户定制应用服务;支持多个集成服务模式;支持服务封装、重用、服务组合、服务调度。3)公用服务:提供内置多种公用服务。比如,渠道认证服务,日志服务等公用服务。4)服务管理和服务标准:提供服务配置管理前台工具集合,并提供行业服务规约标准。5)系统监控:提供多角度系统实时监控和交易报表,提供用户定制告警。6)安全体系:提供多个安全机制并支持和第三方安全系统有效集成,提供有效安全监控机制。传统EAI处理方案

企业应用集成经历了从最初点到点连接到基于消息中间件再到基于SOA和ESB发展历程[31]。EAI点对点集成结构存在着严重隐患,即伴随应用系统个数增加。接口数目将快速增加,其总数为n(n-1)个接口(n为应用系统个数)。应用系统之间存在着高度耦合性。这为系统维护带来巨大复杂性,任何一个系统升级和改动全部将影响到其它和之相关应用系统修改。伴随控制技术和信息技术发展,企业信息化包含到子系统越来越多,点对点集成方法已无法满足需求。图4.7点对点EAI技术

传统EAI技术试图经过Hub-Spoke结构处理企业内部整合问题。在SOA架构中各服务之间设置一个类似Hub中间件,由它充当整个SOA架构中央管理器作用。这么,服务请求者和提供者之间有了一个智能中转站,服务请求者不再需要了解服务提供者细节。图4.8Hub-Spoke结构EAI技术

SOA应用场景是复杂企业级架构,假如采取Hub模式来构建SOA基础架构,从纯粹逻辑角度,可能会出现以下问题:首先,假如每个服务请求全部经过中央Hub中转,那么Hub负担会很重。速度会伴随参与者增多而愈来愈慢;其次,这么系统会很脆弱,一旦Hub犯错,整个SOA架构全部会瘫痪;最终,这么架构会破坏SOA开放性标准,参与者运行在一个相对封闭环境中,扩展起来十分麻烦。企业服务总线处理方案概念ESB概念是从SOA发展而来。SOA描述了一个IT基础设施应用集成模型,其中软构件集是以一个定义清楚层次化结构相互耦合,其中,一个ESB是一个预先封装SOA实现,它包含了实现SOA分层目标所必需基础功效部件。ESB是一个是松散耦合服务和应用之间标准集成方法,它能够作用于[31]:1)面向服务架构:分布式应用由可重用服务组成。2)面向消息架构:应用之间经过ESB发送和接收消息。3)事件驱动架构:应用之间异步产生和接收消息。图4.9ESB企业服务总线

如上图所表示,ESB比EAI结构灵活多:首先,它比单一Hub形式更开放,总线结构有没有限扩展可能;其次,真正表现了SOA理念,一切皆为服务,服务在总线中处于平等地位。即使我们需要部分Hub,那么它们也是以某种服务形式布署在总线上。所以,ESB可作为SOA架构中实现服务间智能化集成和管理中介。优势ESB是一个完全方面向企业级中间件处理方案,能够架构在企业现有网络框架、软硬件系统之上,构筑出一个企业级信息系统处理方案。在ESB中,服务器如同一个个汽车站,能够自由地连接和脱离ESB中间件,全部信息系统全部能够经过其发送或接收任务、指令,它适适用于全部现有或未来信息应用平台。对企业而言,采取ESB中间件系统作为企业级信息系统融合方案中中枢技术,几乎能够无须添加任何软硬件设备,就可把过去、现有和未来IT系统整合在企业级信息应用框架下,而且能为企业提供实时、大容量信息通信和实时控制、管理和分配消息传输能力。它能大大提升整个网络和信息系统使用效率,还能为企业节省可观整合费用。ESB在SOA系统中实施阶段

尽管ESB作为SOA架构系统中关键组件,不过并不是作为基础组件,在开始阶段就去开发。

Accenture首席技术官DonRippert认为激活SOA全部潜力需要经过四个阶段,而ESB则处于第三个阶段。她同时指出目前大多数企业还只是处于第一个阶段,所以ESB实际上对于她们来说并不是迫切需要[32]。而她所说四个阶段以下所表示:1)使用XML,以更标准方法使用应用程序接口。2)捕捉部分业务过程,并将它们转化成为Web服务。3)引入并全方面使用企业服务总线。4)产生业务过程实施语言(BusinessProcessExecutionLanguage,BPEL),它可由业务过程建模工具完成。BPEL能够改变应用程序行为,而无需修改软件。另外,在IBM定义实施SOA五个切入点中——人员、步骤、信息、连接性、重用,只有连接性和ESB相关。Bobby在她文章中也说道,仅仅建造一个总线工程是不可取。IT部门认为只要建造了一个总线,大家就会围绕着总线来结构SOA应用了。不过问题在于,当大家开始结构SOA应用时,她们会发觉那些已经建造好ESB已经不能满足目前需求了。ERP系统架构技术时间线经过ERP系统架构演变发展资料分析,特意绘制了架构技术时间线,以下图所表示:图4.10架构技术演化时间线基于SOA架构ERP系统是分解掉传统ERP紧耦合特征,将ERP系统内部功效以服务方法展现出来,经过API调用方法和其它系统交互;借助互联网B/S架构优异性,能够在线随时访问ERP系统,免安装和布署,为企业能够节省IT运行成本,提升ERP系统在企业内部关键性。

系统实现关键技术关键技术框架及工具三层分布式架构三层架构介绍三层架构是[23]:

1)界面层

界面层提供给用户一个视觉上界面,经过界面层,用户输入数据、获取数据。界面层同时也提供一定安全性,确保用户不用看到无须要机密信息。

2)逻辑层

逻辑层是界面层和数据层桥梁,它响应界面层用户请求,实施任务并从数据层抓取数据,并将必需数据传送给界面层。

3)数据层

数据层定义、维护数据完整性、安全性,它响应逻辑层请求,访问数据。这一层通常由大型数据库服务器实现,如Oracle、Sybase、MSSQlServer等。

从开发角度和应用角度来看,三层架构比双层或单层结构全部有更大优势。三层结构适合群体开发,每人能够有不一样分工,协同工作使效率倍增。开发双层或单层应用时,每个开发人员全部应对系统有较深了解,能力要求很高,开发三层应用时,则能够结合多方面人才,只需少数人对系统全方面了解,从一定程度工降低了开发难度。

三层架构属于瘦用户模式,用户端只需一个较小硬盘、较小内存、较慢CPU就能够取得不错性能。相比之下,单层或胖用户对面器要求太高。

三层架构另一个优点在于能够愈加好支持分布式计算环境。逻辑层应用程序能够有多个机器上运行,充足利用网络计算功效。分布式计算潜力巨大,远比升级CPU有效。

三层架构最大优点是它安全性。用户端只能经过逻辑层来访问数据层,降低了入口点,把很多危险系统功效全部屏蔽了。

另外三层架构还能够支持以下功效:

1)RemoteAccess(远程访问资料),比如可透过Internet存取远程数据库;

2)HighPerformance(提升运算效率)处理集中式运算(Centralize)及主从式架构(Client-Server)中,数据库主机运算负担,降低数据库主机ConnectionLoad,并可藉由增加AppServer处理众多数据处理要求;

3)Client端发出Request(工作要求)后,便可离线,交由AppServer和DataBaseServer共同把工作完成,降低Client端等候时间。

分布式系统是充足利用服务器资源,性能优势将系统表现层、逻辑层和数据层布署到不一样服务器上,这么做好处是获取系统可靠性和健壮性。一个经典三层分布式系统架构以下图所表示:图5.1经典三层分布式系统架构分布式系统介绍

分布式系统有以下特点[24]:

1)

协作和互联分布式系统关键作用之一就是能够整合大量地理上分散于各地信息和服务,如地图、电子商务网站、多媒体、大百科全书等。互联网上即时通讯系统和聊天室流行凸显了分布式系统另一个关键作用:和家庭、好友、同事乃至用户保持联络。

2)经济性包含PDA、笔记本、台式机和服务器在内计算机网络通常比集中式大型机含有更高性价比。比如,它们支持非集中式、模块化应用,这使得共享像大容量文件服务器、高清楚度打印机等昂贵外设成为可能。对应地,我们能够将选定应用组件和服务分配到含有特殊处理属性计算机节点上实施,如含有高性能磁盘控制器、大容量内存或增强浮点运算能力节点,而那些简易程序就能够运行在相对廉价硬件上。

3)性能和可伸缩性成功软件通常会伴随时间推移而拥有更多用户和需求,所以分布式系统性能能否扩展以处理不停增加负荷至关关键。能够将已联网计算节点处理能力组合起来以取得性能极大提升,另外,最少理论上来说,多处理器和网络更轻易扩展。比如,多个计算和通信处理任务能够并行运行在数据中心不一样节点上,或运行在同一服务器不一样虚拟机上。

4)容错性分布式系统关键目标之一是许可系统发生部分故障。比如,尽管网络中全部节点全部运转正常,但网络本身可能会出现故障。类似地,网络中某个终端系统,或多处理器系统中某个中央处理器可能瓦解。这些故障应该能被很好地处理而不影响其它不相关部分或整个系统。一个常见容错实现方法是在多个节点或网络上提供反复服务。冗余性有利于将单节点失败影响控制在最小范围内,它能够显著提升系统在出现部分故障时可靠性。

5)内在分布性一些应用天生就是分布式,如电信管理网络(TMN)系统、跨区域部门企业级业务系统、对等网络(P2P)内容共享系统、企业之间(B2B)供给链管理系统等。分布式在这些系统中已经不再是一个可选项,而是满足用户需求至关关键部分。基于WEBB/S架构开发技术

完全采取100%WEB,也就是B/S架构应用软件才能以云计算模式给用户提供服务。因为因为这种模式才能做到跨平台,兼容多种设备;其架构应该是基于互联网架构,关键业务逻辑是在后台服务器上布署实现,用户端一直完成数据展现和交互操作。早期那些基于单机、局域网C/S结构软件是无法支持云计算,即使有一些软件企业为了急于搭上云计算这趟车,试图利用SOA、虚拟化等技术将20甚至30年前C/S软件改造成为支持云计算模式,实践证实这是徒劳。也是对用户不负责。这绝对不是云计算,实际上是一个Multi-Tenant模式,这种模式无法处理高性能、个性化、跨平台等关键问题[2]。统一认证技术SSO介绍

SSO英文全称SingleSignOn,单点登录。SSO是在多个应用系统中,用户只需要登录一次就能够访问全部相互信任应用系统。它包含能够将这次关键登录映射到其它应用中用于同一个用户登录机制。它是现在比较流行企业业务整合处理方案之一[34]。SSO技术实现机制

当用户第一次访问应用系统1时候,因为还没有登录,会被引导到认证系统中进行登录;依据用户提供登录信息,认证系统进行身份校验,假如经过校验,应该返回给用户一个认证凭据--ticket;用户再访问别应用时候就会将这个ticket带上,作为自己认证凭据,应用系统接收到请求以后会把ticket送到认证系统进行校验,检验ticket正当性。假如经过校验,用户就能够在不用再次登录情况下访问应用系统2和应用系统3了[34]。要实现SSO,需要以下关键功效:

1)全部应用系统共享一个身份认证系统统一认证系统是SSO前提之一。认证系统关键功效是将用户登录信息和用户信息库相比较,对用户进行登录认证;认证成功后,认证系统应该生成统一认证标志(ticket),返还给用户。另外,认证系统还应该对ticket进行校验,判定其有效性。

2)全部应用系统能够识别和提取ticket信息要实现SSO功效,让用户只登录一次,就必需让应用系统能够识别已经登录过用户。应用系统应该能对ticket进行识别和提取,经过和认证系统通讯,能自动判定目前用户是否登录过,从而完成单点登录功效。另外:1)单一用户信息数据库并不是必需,有很多系统不能将全部用户信息全部集中存放,应该许可用户信息放置在不一样存放中,实际上,只要统一认证系统,统一ticket产生和校验,不管用户信息存放在什么地方,全部能实现单点登录。2)统一认证系统并不是说只有单个认证服务器认证服务器之间要经过标准通讯协议,相互交换认证信息,就能完成更高等级单点登录。如:当用户在访问应用系统1时,由第一个认证服务器进行认证后,得到由此服务器产生ticket。当她访问应用系统2时候,认证服务器2能够识别此ticket是由第一个服务器产生,经过认证服务器之间标准通讯协议(比如SAML)来交换认证信息,仍然能够完成SSO功效。图5.2SSO系统架构示意图WEB-SSO实现用户在访问页面1时候进行了登录,不过用户端每个请求全部是单独连接,当用户再次访问页面2时候,怎样才能告诉Web服务器,用户刚才已经登录过了呢?浏览器和服务器之间有约定:经过使用cookie技术来维护应用状态。Cookie是能够被Web服务器设置字符串,而且能够保留在浏览器中。当浏览器访问了页面1时,web服务器设置了一个cookie,并将这个cookie和页面1一起返回给浏览器,浏览器接到cookie以后,就会保留起来,在它访问页面2时候会把这个cookie也带上,Web服务器接到请求时也能读出cookie值,依据cookie值内容就能够判定和恢复部分用户信息状态。Web-SSO完全能够利用Cookie技术来完成用户登录信息保留,将浏览器中Cookie和上文中Ticket结合起来,完成SSO功效。为了完成一个简单SSO功效,需要两个部分合作:1)统一身份认证服务。2)修改Web应用,使得每个应用全部经过这个统一认证服务来进行身份校验。构件开发技术早在,GartnerGroup①就估计到最少70%新应用将关键建立在软件构件之上。伴随WebServices等技术发展,将会深入地推进构件技术发展,而基于构件软件开发方法也成为软件开发主流技术[15]。什么是软件构件?工业化革命伟大创新在于,功效再复杂产品也能够由大量标准零部件组装而成,分工越细、专业生产程度越高,总体生产效率就越高。构件技术就是一个类似于“零部件组装”集成组装式软件生产方法,它把零件、生产线和装配运行概念利用在软件产业中,根本打破了手工作坊式软件开发模式。构件是软件组成元素,含有一定功效和结构,并符合一定标准,能够完成一个或多个特定服务。构件隐藏了具体实现,经过接口对外提供服务。通常而言,构件是软件系统中含有相对独立功效、能够明确辨识、接口由契约指定、和语境有显著依靠关系、可独立布署、可组装软件实体。广义上讲,构件能够是数据,也能够是被封装对象类、软件构架、文档、测试用例等。软件生产方法变革构件技术出现是对传统软件开发过程一次变革。构筑在“构件组装”模式之上构件技术,使软件技术人员摆脱了“一行行写代码”低效编程方法,直接进入“集成组装构件”更高阶段。图5.3软件构件开发技术基于构件软件开发,不仅使软件产品在用户需求吻合度、上市时间、软件质量上领先于同类产品,提升了项目标成功率,而且对软件开发和维护变得简单易行,用户能够随时随地应应对商业环境改变和IT技术改变,实现“灵敏定制”。从最终用户角度来看,采取基于构件技术开发系统,在碰到业务步骤改变或系统升级等问题时,不再需要对系统进行大规模改造或推倒重来,只要经过增加新构件或改造原来构件来实现。据已采取构件技术进行软件开发中国某著名软件企业相关统计显示,构件技术能够使软件投放市场时间降低为原来1/2到1/5,使软件缺点密度降低为原来1/5到1/10,使软件维护成本降低为原来1/5到1/10,使整体软件开发成本降低大约15%,长久项目可降低高达75%成本。构件化开发基础概念构件化,是指软件体系结构可重组和软件组件可重用系统开发方法。这种方法基础内涵是:应用需求领域化,软件结构框架化,软件元素构件化,应用原型实例化。构件,是含有一定功效和结构,并符合一定标准,能够完成一个或多个特定服务软件实体,可独立布署也能够组装。采取构件技术软件生产方法就是一个类似于“零部件组装”集成组装式软件生产方法,它把零件、生产线和装配运行概念利用在软件产业中,打破了手工作坊式软件开发模式,实现“搭积木”组建方法[14]。图5.4积木式搭建软件系统基于构件软件开发方法有以下几方面优势:

1)提升复用性:

即全方面考虑构件在多个应用系统中复用潜力;

2)提升可定制性和适应性:

即能够让使用者按需配置构件;

3)提升可维护性:

即在系统中能够方便地添加、删除和修改构件。

基于构件开发方法和面向对象开发方法相类似,它们全部采取自顶向下和自底向上相结合方法,以后者支持类重用,但前者

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论