SOA项目七步走 ppp项目七步走

SOA项目七步走 ppp项目七步走,第1张

如果说几年前,SOA的实施还停留在如何切入SOA的话,那么当前,如何更好更快地完成SOA项目成为企业最关心的问题。而在SOA的普及应用方面,如果说前几年的重点是普及SOA理念,各自储备SOA技术、人才、业务能力的话,那么当前,联合一切能够联合的力量,影响一切能够影响的人群来推广SOA的全面实施就成为重要任务。

在这个阶段,对于SOA厂商来说,是否拿出成熟的解决方案来面对客户最关心的问题,是否有能力推动整个产业链的成熟,营造一个广泛的、有力量的联盟成为成败的关键。

业务问题不再是阻碍

SOA项目实施时最困难的地方是什么要回答这个问题,首先要明白SOA的根本目标是什么,那就是业务价值,从业务梳理入手到实现敏捷性业务目标,从建模到优化,其中每一个环节都与业务息息相关。

不过这种与业务的紧密关系也成为SOA实施中最难把握的地方,SOA发展到现在,技术实现和工具开发已经相对完善了,但是在帮助企业进行业务抽象上一直进展缓慢,这其实是SOA的精华所在,但是也是最困难,最影响SOA项目进程的瓶颈。在这方面,现阶段厂商为企业提供的工具和咨询服务只能是辅助,最终的实施还必须依靠企业自身的能力。

SOA关于积木的比喻一直在业界非常流行,IT能力被拆分为一个个服务,所有的服务就像一块块积木,根据企业自身的需求搭建成不同的造型。“但是很多企业实施了SOA项目后,就开始抱怨当初答应是卖给我一套积木,但是我买了以后才发现买的是做积木的工具,我得先把这个积木搭出来才能看到效果,而这个过程花了我一年甚至更长的时间,害得我不能很早的把项目结束。”IBM大中华区应用创新服务技术总监王静玺说。

简单地做出一个个积木来已经花费了企业大量的时间和精力,而此后复杂的装配和管理流程更是耗费心血。这些成为阻碍SOA在企业中大量采用的重要障碍,而已经上了SOA项目的企业也往往在这些困难面前举步维艰。

有没有一种好的办法能够帮助企业在实施SOA时绕过业务的抽象这个难关,快速地完成SOA项目呢作为SOA领域的领导者,IBM于6月18日举行的“2008年IBMSOA高峰论坛”上发布了基于电信、金融、零售、工商企业、公共管理等12个行业的17个SOA行业框架和50个行业解决方案。这些框架在很大程度上解决了前面所述的困难,帮助各行业客户应对其面临的独特业务挑战,缩短SOA部署时间和成本。

那么行业框架到底是什么呢针对这个问题,IBM中国开发中心WebSphere实验室服务经理卜晓军说:“如果说以前的中间件只是原材料的话,框架可以说是半成品,以前我们只提供大米,现在把米饭做好,再把各种调料做好,剩下只要配菜就可以了。想吃卤肉饭还是牛腩盖饭只需要配不同的菜和调料。”

对于企业来说,这些框架和解决方案把行业里共同的业务知识固化到产品当中,解决了企业在实施SOA时最困难的业务问题,使企业拿来就可以用或者再进行简单完善就可以使用。因此卜晓军形象地把它比喻为实施SOA的加速。同时,这些框架和解决方案也是IBM从6000多个客户的实践中提取出来的最佳实践,具有相当高的成熟度和代表性。

在IBM看来,通过SOA促进IT和业务的融合过程中有四个逻辑层次,底层是SOA基础和IT基础架构,其上是行业框架,再上一层是行业解决方案,最上层则是策略性商业推动力。

IBM行业框架构建于最新的行业标准之上,可为企业提供多种设计和部署SOA解决方案的方法。通过运用这些框架,企业能够充分利用带有BPM(业务流程管理)的流程模板来创建最佳实践,满足自身的业务需求。

IBM SOA行业解决方案扩展了行业框架的价值,可为企业提供独特的端到端的业务解决方案,使他们能够快速利用预测试、预配置符合业务相关标准和法规一致性规定的软件和服务,提升SOA收益率。

SOA行业框架和解决方案的推出标志着SOA进入了一个新的发展阶段,它将推动着SOA快速在企业当中进行普及。业内专家说:“2007年SOA已经很热,但它只是一个理念,只是看上去很美,经过这一年的实践,我们可以肯定地说,虽然向SOA的转型并不轻松,但是从总体上,它做起来也很美。”不是一个人在战斗

作为一种革命性的潮流,SOA的普及决不能单靠某一个或者某几个厂商的力量,它需要整个业界的参与,需要一个从上游方案供应商,到软件开发商,到最终用户的一个完整的产业链,需要一个在人才培养、标准制定等相关方面的健康的生态系统

“其实说IBM自己做SOA并不是很恰当,是我们和客户,和合作伙伴,甚至和竞争厂商一起在做SOA,我们认为SOA是所有人的。”IBM软件集团大中华区Rational及SOA业务总经理夏然说。

不过虽然SOA是整个业界的事情,但是对于SOA的厂商来说,在做大产业的同时,扩大自己的市场份额仍是首要的任务。而这时候,基于自身SOA体系的生态系统建设成为一种有效的市场竞争手段。因为当前企业间的竞争已经不再是个体间的竞争,而是各自生态系统间的竞争,单兵相接、孤军奋战的局面早已成为过去,集团化的作战已经成为当前的大势。

这种生态系统的建设包括了很多方面,夏然认为重点是四个方面:SOA的合作伙伴建设、客户维护、人才培养和政府推动。

作为一种新的系统建设方法,SOA的推广和普及首先需要的是通晓SOA知识的人才。在2006年,IBM就提出了SOA人才培养的“百、千、万”计划,为IBM和合作伙伴培养高级SOA人员。同时,IBM加强了在大学生中针对SOA方面的培养。

IBM软件集团大中华区市场总监刘秋美说:“在学校的推广对我们来讲非常重要,我们已经在12所大学开设SOA相关课程,今年我们会在4所大学推广SOA硕士学位。”另外,2006年,IBM开始在大学校园开展“IBM杯SOA竞赛”,今年的主题是SOA业务流程建模。

对于SOA人才的培养,IBM可以说是苦心孤诣。这既是IBM对整个产业的贡献和作为领导厂商的责任;同时也是IBM深谋远虑、高瞻远瞩的举动。SOA厂商的竞争说到底是人才的竞争,虽然SOA有一些共同的技术和标准,但是不同厂商有一套不同的SOA体系,这包括理念、方法论、实施工具等各个方面,因此平台和咨询服务就成为厂商争夺的焦点。而这时候懂自己平台和体系的人才越多,使用的自然也越多。

在合作伙伴建设方面,IBM更是不遗余力。IBM需要借助遍布各地的独立软件开发商或者集成商来走向更多的最终用户。2007年,IBM在中国地区发展了四个顶级合作伙伴,相继是浪潮、用友、软通动力和金蝶,现在,中软国际和台湾的神通电脑也加入了IBM顶级合作伙伴的队伍。

针对合作伙伴的SOA转型,IBM提供了全力的支持,刘秋美介绍,IBM专门成立了三家SOA支持中心:SOA设计中心、SOA解决方案中心和SOA BPTSE中心,专门为合作伙伴的解决方案和开发过程提供支持。

TmaxSoft的SOA愿景 近来,SOA(Service-Oriented Architecture)成为在IT行业乃至企业界倍受重视的一个话题。SOA为什么会受到如此的关注?其原因是: 作为一个创新的IT架构,SOA通过标准化的接口方式和d性业务服务的开发与革新,力求实现“可重复使用性”、“整合性”、“敏捷性”和“维护便利性”,从而有利于结合现有的IT环境,保证生成服务的敏捷性。

正是基于以上SOA的理念,TmaxSoft提出了自己的SOA思想,一方面通过采用迅速妥善应对经营环境变化的d性经营模式,另一方面利用架构提供系统的简单化、虚拟化及抽象化,为引导持续的流程再造的适应性提供软件基础,从而实现业务部门和IT部门的紧密协作。此外,通过在企业内部和外部进行持续的业务流程改善,把经营活动所生成的信息实时向负责人传达,使得业务延迟最小化,决策速度最大化,同时确保企业敏捷性,提高顾客的满意度,实现流程的高效性和服务的可重组,最终帮助企业成就RTE(Real-Time Enterprise)。

TmaxSoft的SOA解决方案――SOAware

SOAware 是TmaxSoft公司基于SOA思想的解决方案。在广泛的产业领域应用后,SOAware的效率已经得到了验证,它高效地实现了SOA所追求的“敏捷性”、“可重复使用性”及“整合性”,帮助企业完成“实时企业”的战略转变。

从基础管理服务层到客户服务层,SOAware提供完整的产品组合解决方案:

● 下一代数据库解决方案-Tibero;

● 遵守国际标准的大容量传输处理中间件-JEUS/Tmax;

● 确保服务可重复使用性的应用框架解决方案-ProFrame;

● 基于规则的业务流程管理解决方案-BizMaster;

● 业务规则引擎解决方案-ProRule;

● 提供用户便利性的整合开发工具-ProWeb;

● 系统间有机整合、多渠道整合解决方案-AnyLink;

● 应用性能管理和安全解决方案-SysMaster/SysKeeper。

TmaxSoft的SOA战略

TmaxSoft的SOA战略是企业业务部门与IT部门之间紧密合作的基础,提供支撑3S(Single-Entry Point、Simplification、Strength)的Hands-on Tools的灵活框架。TmaxSoft把SOA定义为“把服务之间的关系由基于标准的基础框架转变成服务/规则组件的结合,成为以流程为中心的服务化导向架构”,TmaxSoft的SOA战略旨在切实实现基于SOA的应用程序整合的框架,提供单一运营环境(Single-Entry Point),支持简单、直观的开发环境(Simplification),提供强有力的管理环境(Strength Management、Successful Competitiveness)基础,从而实现适合企业环境的因地制宜的SOA服务。

此外,TmaxSoft通过框架的概念集合成SOAware,并且提供部分基于服务的应用程序,为了解决IT领域共同的问题,又精心设计了通用的、可重复使用的模型框架(基于规则的服务及组件模型),这种框架可以实现易整合性、扩展性、灵活性、维护便利性以及高效的开发优势。

TmaxSoft SOAware基于SOA的框架,把业务流程中可重复使用的服务组件和业务逻辑规则组合成业务服务,并构建了以流程为中心的、由可重复执行的分析、设计、实现、测试及 *** 作等阶段为组成部分的服务生命周期。

为了实现灵活应对经营变化的、以SOA为基础的未来导向型体系架构,TmaxSoft以与SOA基本概念有关的各种技术及解决方案为基础,对业务流程中所需部分进行诊断,并提供解决方法,从而为客户创造实际业务价值,并降低总体拥有成本TCO,提高投资回报率ROI。

TmaxSoft SOAIF框架

TmaxSoft拥有All-in-One Platform的SOA实现框架――SOAIF(SOA Implementation Framework)。SOAIF提供遵守国际标准接口的相关技术,有利于保护现有IT资产的投资,并可以对不同系统之间的服务进行方便的整合。通过使用IT系统可以对企业政策变化迅速做出响应,并且对经营风险进行预测,从而达到企业的RTE目标。

TmaxSoft的SOAIF框架具有如下优点:

1灵活应对变化的体系架构

外部环境的各种变化常常会导致企业IT环境的急剧变化,形成外部环境变化――>经营环境变化――>经营流程变化――>IT结构变化的连环反应。SOAIF具有能够迅速应对这些变化的灵活架构。

2具有反射机制的体系架构

● 建模

随着产业的高速发展和多元化,为了适应日益复杂的经营环境,IT角色变得越发重要,企业希望因业务变化而引起的IT变化更加直观,为了将业务变化直接反映成IT变化,IT系统要通过建模反映经营方案,以便业务负责人易于理解。SOAIF提供了服务、规则、业务流程建模等多种工具,并通过建模应对变化,实现业务观点和IT观点的一元化。

● 简单化

当业务发生变化时,利用建模工具通过拖拽的方式设计流程,设定相应的策略并实时部署,可以简便有效地应对外界的变化。通过协作视图(Collaboration View), 可以方便地掌握流程之间的相互关系,从而降低业务的复杂度。并且通过建模使IT观点变得形象易懂,让决策者和业务分析人员共享,从而确保企业业务的透明性。

● 业务服务的组合和热部署

基于TmaxSoft的技术,通过业务服务的组合/组装和基于规则的编程,而不是编码对业务重新开发,支持对性能影响最小化的“编译后热部署(Compiled Hot-Deploy)”,从而不会出现业务系统的服务中断,并且能够实时变更和部署服务,解决企业实现RTE的IT技术难题。

● 端到端的可视化

向业务负责人提供实时信息监控的可视化工具――仪表盘,使企业的流程和管理变得更加透明。

● 有效整合

SOAIF以CBD开发方法论为原型,包含了基于规则的框架开发方法论,实现基于SOA的从核心服务到界面服务的整体应用解决方案,从而把具有不同架构的系统组建成基于SOA的整合平台,以便包容新的技术架构,使灵活应对变化成为可能。

TmaxSoft SOAware技术路线

TmaxSoft集成SOA的各种丰富技术并且遵守相关的国际标准来实施自己的技术路线。为了优化企业的业务目标,TmaxSoft在解决方案的路线中,尽量做到把全公司范围内的IT资源与现有标准加以管理,最终实现基于SOA的企业应用框架。此外,为了在基于SOA的企业架构中实现全公司的整合,TmaxSoft在技术路线中从多种角度对以下特性提供强有力的支持:

1服务设计角度

● 支持设计直观、易于理解的服务整合的建模工具;

● 提高分析/设计的精确度,提高业务经验及分析/设计模型的重复使用性;

● 通过工具扩展服务的生成管理功能,提高服务品质及生产性、

2框架角度

● 应用EA(Enterprise Architecture)标准架构,提供优化的全公司范围内整合平台的构建环境;

● 遵守国际标准,利用存储库整合管理元数据;

● 应用不同功能独立层,提供独立性和面向编码的标准化和最少化;

● 确保解决方案的生命周期。

3方法论角度

● 通过SOA方法论,支持服务整体生命周期;

● 通过对特定业务的模拟,早期发现危险要素的管理功能;

● 通过重复的服务诊断、设计、开发流程支持,提高服务品质。

4服务角度

● 通过工具支持服务的组合,提高重复使用性;

● 通过热部署的实时服务切换功能,实现及时敏捷地应对市场;

● 通过基于规则的服务逻辑变更,无需编码,由业务负责人进行服务管理。

5开发角度

● 通过现有服务的重复使用,提高生产率,提供公共服务;

● 使因外部系统等变更而导致的影响最小化,实时变更及替换服务;

● 对外部多种协议和消息的统一管理及自动整合转换;

● 内置已被验证的中间件,保证服务的扩展性和整合的稳定性。

SOA项目的实施过程和其他IT项目一样,包含了以下一些步骤:规划、分析、设计、实现、调试、部署、运维。 SOA项目与其他IT项目的区别其实就体现在每一个具体环节,如规划阶段对标准的考虑,分析阶段对业务的详细描述和定义,设计阶段技术架构(包括逻辑架构和物理架构)的定义,实现阶段更多依赖于定义而不是编码,以及运维阶段对服务运行情况的重点关注。

规划阶段

在这一阶段有许多重要的事情需要做,这将决定SOA项目实施的成败。

首先是需要确定目标,对于系统的功能目标一定要明确,除此之外我们需要重点关注为什么要采用SOA思想,是为了达到什么目的。因此我们需要了解SOA能够为我们带来的价值和我们希望得到的是否匹配,以及SOA适用的场合和我们的项目是否匹配,如果两者都一致,我们就可以放心进行下一步骤了,否则就得考虑是否一定要采用SOA,是否采用其他的思想和技术架构也足以解决问题。

在此我们再看一下SOA特点:强调业务服务的复用、支持业务灵活重构、强调松耦合、强调标准的采用。

我们也需要了解SOA不适合的地方:开发简单单个应用时,不要使用SOA;构建高吞吐量应用或实时应用时,不要使用SOA,如果网络速度慢,网络不可靠时,不要使用SOA;当服务接口不确定时(即业务服务功能本身不稳定时),不要使用SOA;当安全性极为重要时,暂时不要考虑SOA;业务处理有严格的事务完整性要求时,建议暂时不用SOA。

其次需要考虑系统的规模,建议第一个SOA项目不要选择太大,需要限定项目的大小,保证在不长的时间内可以顺利实施完毕,确保项目的成功。通过项目经验的积累,为后续SOA项目开创一个良好的局面和环境。SOA本身特点支持项目的递进式实现,因此可以采用不断滚动改进的方式实施项目。

接着是考虑标准问题,这里的标准包含两方面:业务标准和技术标准。业务标准可以规范服务、流程和数据;技术标准可以帮助确定技术架构,确定采用的技术,可以确保服务/组件的复用、组装和运行维护。

最后是组建团队,要实施好SOA项目,需要确保合理的团队成员。首先领导的参与是项目成功的保证,SOA项目一般会涉及多个部门,或企业之间的协作,没有领导的参与和重视,这类项目成功的可能性会非常的低。

业务人员参与也是一个重要因素,SOA中强调的服务是业务的服务,而不是技术实现的服务。业务服务的定义、分类,业务流程的确定,业务数据的分析等,如果没有业务人员参与,这些工作基本上是无法开展的。

分析阶段

分析阶段主要进行业务的分析和梳理,包括:业务服务定义,业务流程定义、业务数据分析和组织架构。在这一阶段需要确定SOA项目中需要实现哪些业务,业务如何复用,业务如何串接在一起完成一个工作流程,在执行业务和业务流程过程中需要使用哪些数据,以及这些数据的关系。

业务定义时需要考虑下列因素:谁拥有业务服务,谁需要使用业务服务,如何进行授权管理;业务的基本标识信息;业务服务的功能描述;业务服务的使用约束条件;业务服务使用到的数据信息;业务服务的质量特性,如可靠性、安全性和事务性等。

以及业务服务的服务等级信息,如服务响应时间,可提供服务时间,是否收费等;业务服务的生命周期;业务服务运行时需要关注的信息。

组织架构分析时需要考虑的因素有实际的组织架构;组织架构中有哪些角色;角色管理和使用服务、流程和数据的权限。可以使用一个表格进行描述和定义。

接着需要结合组织架构和服务,定义业务流程,确定一个业务流程中有哪些服务,这些服务由哪个部门/角色来使用,这可以通过一个图形描述方式来加以定义。同时需要定义业务的流程过程,业务规则等内容。

设计阶段

设计阶段实际上就进入了技术范畴了,在设计阶段首先需要确定采用的技术体系架构,准备采用的具体技术、工具和产品,准备采用和需要制定的技术标准,也需要定义SOA项目的物理环境,以及逻辑架构到物理环境之间的映射,最后需要细化整个项目的设计细节。

在确定技术体系架构时,可以参考长风联盟SOA-RA-TF2K作组制定的“SOA的参考架构规范”。在确定技术架构时需要考虑下列因素:

服务描述如何存储,如何使用;服务如何实现,是将已有业务系统进行服务化封装,还是重新实现,或者将若干服务进行组装形成新的服务。

定义的服务如何使用,如何组装成新的服务或在一个业务流程中应用;服务之间通讯如何实现,使用什么通讯协议,是否需要可靠,是否关注效率。

最后还有在整个项目中需要考虑哪些安全因素以及如何获取服务运行信息,如何应用服务运行信息等。

在设计阶段需要确定采用的具体技术。在实现SOA项目时可以采用传统技术,也可以采用WebServices技术,具体如何采用需要进行综合考虑。

SOA中的服务与Web Ser-vices并不用划等号,采用WebServices一般更多是从标准化角度进行考虑,为了实现异构系统互联,并且更多应用于多部门系统之间,或企业系统之间的互联互通。实现SOA也可以采用已有成熟技术,如通过JMS实现消息通讯,可以保证效率和传输可靠性。

实现技术第二个方面是考虑业务流程实现是需要使用BPM系统,还是通过服务组装技术,将若干服务通过编码方式进行组合应用。BPM方式一般应用于实时性要求不高的业务流程处理,而对于需要连续加以运行处理的业务过程,则可以通过服务组装方式加以实现。

实现技术第三个方面需要考虑服务如何实现,是利用已有IT系统,通过服务化封装实现,还是重新实现。对已有系统进行服务化封装时不一定要封装成webSerivces,服务描述一般是统一的,具体实现可以是Web Serivces,或EJB,或BPEL,或一般的JAVA或C/C++程序。

在设计阶段需要实现逻辑架构与物理架构之间的映射。在总体体系架构设计时一般更多地从逻辑角度进行考虑,需要将业务转化为IT技术架构。同时也需要进行物理架构的规划,同时确定逻辑架构到物理架构的映射。

物理架构需要考虑整个系统中有多少独立的运行节点,有多少已有的业务系统以及需要建立的新业务系统,需要考虑这些已有或新的业务系统都在哪些节点上运行。其次需要考虑业务系统之间如何进行通讯,以及业务系统之间的通讯转换到节点之间的通讯。

在业务流程实现时需要考虑是 否需要BPM系统,需要多少个。一般一个BPM系统有一个独立的服务器引擎,在服务器引擎上可以运行多个业务流程。在现有技术条件下,一般一个业务流程的执行都在一个服务器引擎上运行,如果需要跨多个服务器引擎,则需将某一流程定义为一个子流程,同时封装为一个服务,供另一个业务流程使用。

在物理架构中需要考虑是否有一个独立的服务注册中心,需要确定服务注册中心与运行节点之间是联机的还是脱机的。

在设计阶段最主要的工作是进行系统设计的细化工作。在细化工作中包括以下几个方面。

首先是服务定义的细化,包括服务接口、质量属性、服务等级等信息,另外的部署信息可以在实现和部署阶段加以定义。

其次是服务的细分和组装,在设计阶段需要确定哪些是原子服务(不可拆分),哪些服务是组装服务,哪些是流程服务。同时需要定义服务的实现方式(原有系统封装,重新实现,服务组织,服务流程)。

另外要定义业务流程,通过工具详细定义业务流程,包括异常处理。

最后还要定义服务应用到的数据对象。

在设计细化阶段需要对服务进行有效管理,以便能够方便的查找到相关服务,也能保证经过授权的人员才能使用相关服务,或者修改服务。

实现、调试和部署阶段

SOA项目实现与传统IT项目实现有较大差别。在传统项目中几乎所有的代码都需要编码实现,或使用已有的公共代码库。而在SOA实现中,很多工作是通过定义来完成的。如在设计阶段定义服务接口,定义服务流程,这些工作并不需要手工编码,而更多的是通过工具进行图形化 *** 作实现信息的定义。

在实现阶段还有一些其他的定义工作需要进行。

首先是数据对象转换的定义。不同服务使用的数据对象可能不完全一样,为了实现服务之间能够顺利通讯,需要在数据对象之间进行数据转换,这些工作也可以通过工具定义来实现,当然也可以通过编码方式实现数据对象的转换。

其次服务适配器定义,将已有业务系统封装为服务接口。

以及运行环境的定义和服务程序打包和部署。

在SOA实现阶段,有可能有一定的编程工作,如新服务的实现,复杂数据对象之间的转换,负责业务系统的服务化封装等。

在SOA项目中,系统的调试会是一件比较复杂和困难的事情,不同于一般应用系统可以通过单步跟踪来调试整个系统。在SOA项目中可以借助于一些工具实现部分的跟踪调试功能(如BPM的调试),还有很多工作需要通过编写日志方式来跟踪和检查运行是否符合设计要求。

SOA项目的部署一般可以借助于产品工具,实现自动部署。如果没有这些工具的辅助,部署工作就会比较复杂,因为涉及多个分布式的节点,需要连接不同的已有系统。

通过工具进行部署时,也有自动联机部署和脱机部署两种模式。自动联机部署时,可以在中心通过工具产品自动将打包文件部署到运行节点上,系统可以自动展开并进行运行。手工部署就需要将打包文件手工安装到运行节点上,并运行展开和执行命令,才能使系统正常运行。

在部署过程中需要对运行环境进行定义,并定义服务与运行节点之间的对应关系,同时需要定义相关的运行参数。

运维阶段

SOA项目的运行维护阶段也是整个项目重要的一个环节。

通过对运行过程的跟踪,可以了解整个系统的运行情况,如哪些服务被请求的次数最多,哪些服务运行最稳定,哪些服务的运行不太符合服务设计要求(如响应时间超过要求)。哪些节点运行负载比较高以及数据通讯的流量。通过这些信息一方面可以了解整个系统是否满足系统的初始需求,另一方面也为系统的优化提供数据依据。通过这些监控数据,可以更好地对系统进行优化完善,体现SOA逐步改进的特点。

总之SOA项目的实施与传统IT项目建设还是有较大差别的,在项目中首先关注点在于服务,从服务的定义,使用到运行管理,其次强调标准和基于模型的开发过程;再有就是强调实现过程中的定义活动,通过对服务的组合应用,缩短系统建设周期,这些在项目实施过程中是需要重点加以关注。

Web服务作为炙手可热的技术 如何应用到企业的IT系统和商业流程之中 并给企业带来直接的经济效益 一直备受国内外企业管理者的高度关注和推崇 而在近两年 出现了一种技术架构被誉为下一代Web服务的基础架构 它就是SOA(Service oriented architecture 面向服务架构) 年 Gartner最早提出SOA 年 月 Gartner提出SOA是 现代应用开发领域最重要的课题 还预计到 年 SOA将成为占有绝对优势的软件工程实践方法 主流企业现在就应该在理解和应用SOA开发技能方面进行投资 更好支持商业流程 SOA并不是一个新事物 IT组织已经成功建立并实施SOA应用软件很多年了 BEA IBM 等厂商看到了它的价值 纷纷跟进 SOA的目标在于让IT变得更有d性 以更快地响应业务单位的需求 实现实时企业(Real Time Enterprise 这是Gartner为SOA描述的愿景目标) 而BEA的CIO Rhonda早在 年 月就提出要将BEA的IT基础架构转变为SOA 并且从对整个企业架构的控制能力 提升开发效率 加快开发速度 降低在客户化和人员技能的投入等方面取得了不错的成绩 SOA是在计算环境下设计 开发 应用 管理分散的逻辑(服务)单元的一种规范 这个定义决定了SOA的广泛性 SOA要求开发者从服务集成的角度来设计应用软件 即使这么做的利益不会马上显现 SOA要求开发者超越应用软件来思考 并考虑复用现有的服务 或者检查如何让服务被重复利用 SOA鼓励使用可替代的技术和方法(例如消息机制) 通过把服务联系在一起而非编写新代码来构架应用 经过适当构架后 这种消息机制的应用允许公司仅通过调整原有服务模式而非被迫进行大规模新的应用代码的开发 使得在商业环境许可的时间内对变化的市场条件做出快速的响应 SOA也不仅仅是一种开发的方法论 它还包含管理 例如 应用SOA后 管理者可以方便的管理这些搭建在服务平台上的企业应用 而不是管理单一的应用模块 其原理是 通过分析服务之间的相互调用 SOA使得公司管理人员方便的拿到什么时候 什么原因 哪些商业逻辑被执行的数据信息 这样就帮助了企业管理人员或应用架构师迭代地优化他们的企业业务流程 应用系统 SOA的一个中心思想就是使得企业应用摆脱面向技术的解决方案的束缚 轻松应对企业商业服务变化 发展的需要 企业环境中单个应用程序是无法包容业务用户的(各种)需求的 即使是一个大型的ERP解决方案 仍然不能满足这个需求在不断膨胀 变化的缺口 对市场快速做出反应 商业用户只能通过不断开发新应用 扩展现有应用程序来艰难的支撑其现有的业务需求 通过将注意力放在服务上 应用程序能够集中起来提供更加丰富 目的性更强的商业流程 其结果就是 基于SOA的企业应用系统通常会更加真实地反映出与业务模型的结合 服务是从业务流程的角度来看待技术的 这是从上向下看的 这种角度同一般的从可用技术所驱动的商业视角是相反的 服务的优势很清楚 它们会同业务流程结合在一起 因此能够更加精确地表示业务模型 更好地支持业务流程 相反我们可以看到以应用程序为中心的企业应用模型迫使业务用户将其能力局限为应用程序的能力 企业流程(enterprise process)是流经企业框架的空气 它赋予业务模型里的组件以生命 并更加清晰地定义了它们之间的关系 流程定义了同业务模型进行交互 *** 作的专门方法 例如 会计可能是企业服务系统的一个组件 但是将发票寄给客户却是一个业务流程 服务被定义用来支持业务流程 因而贯穿整个流程始终的是 各种服务组件在流程和逻辑实现过程中的装配 *** 作 理解业务流程是定制服务的关键所在 有利于企业业务的集成 传统的应用集成方法(点对点集成 企业消息总线或中间件的集成(EAI) 基于业务流程的集成)都很复杂 昂贵 并且不灵活 这些集成方法难于快速适应基于企业现代业务变化不断产生的需求 基于面向服务架构 (SOA) 的应用开发和集成可以很好的解决其中的许多问题 SOA 描述了一套完善的开发模式来帮助客户端应用连接到服务上 这些模式定制了系列机制用于描述服务 通知及发现服务 与服务进行通信 不同于传统的应用集成方法 在 SOA 中 围绕服务的所有模式都是以基于标准的技术实现的 大部分的通信中间件系统 如 RPC CORBA D EJB 和 RMI 也同样如此 可是它们的实现都不是很完美的 在权衡交互性以及标准定制的可接受性方面总是存在问题 SOA 试图排除这些缺陷 因为几乎所有的通信中间件系统都有固定的处理模式 如RPC 的功能 CORBA 的对象等等 然而 服务既可以定义为功能 又可同时对外定义为对象 应用等等 这使得 SOA 可适应于任何现有系统 并使得系统在集成时不必刻意遵循任何特殊定制 SOA 帮助企业信息系统迁移到 leave and layer 架构之上 这意味着在不用对现有的企业系统做修改的前提下 系统可对外提供 Web 服务接口 这是因为它们已经被可以提供 Web 服务接口的应用层做了一层封装 所以在不用修改现有系统架构的情况下 SOA 可以将系统和应用迅速转换为服务 SOA 不仅覆盖来自于打包应用 定制应用和遗留系统中的信息 而且还覆盖来自于如安全 内容管理 搜索等 IT 架构中的功能和数据 因为基于 SOA 的应用能很容易地从这些基础服务架构中添加功能 所以基于SOA的应用能更快地应对市场变化 为使企业业务部门设计开发出新的功能应用 下图提供了使用基于服务集成的企业应用的高级视图 与传统的企业应用集成架构的主要区别在于该系统使用基于标准的服务 并包括过程/数据服务 编排和组合 基于标准的服务成了应用间的集成点 服务的编排和组合增加了服务的灵活性 重用性和集成性 图示 使用基于服务集成的企业应用 SOA服务粒度 可以按基于服务的功能及发送和接收的数据数量来定义服务 如细粒度服务 粗粒度服务或组合服务 在 SOA 中服务粒度有两种相关的意思 服务是如何实现的 服务使用和返回了多少数据或多少消息 细粒度服务执行了最小的功能 发送和接收少量的数据 粗粒度服务执行了较大的业务功能 并交换了更多的数据 细粒度服务是供粗粒度服务或组合服务使用的 而不是由终端应用直接使用的 如果应用是使用细粒度服务建立的 则应用将不得不调用网络上多个服务 并且发生在每个服务上的数据量较少 因而会对对系统整体性带来影响 所以粗粒度服务的用户不能直接调用他所使用的细粒度服务 然而 由于粗粒度服务可能使用多个细粒度服务 因此它们不能提供粒度级的安全和访问控制 组合服务可以使用粗粒度服务和细粒度服务进行组装 数据数量数量不是粗粒度服务和组合服务之间的区别 粗粒度服务例子 如创建新客户 在这一过程的 *** 作是 需要通过一些外部服务验证对客户进行验证 并在 CRM 应用系统中创建客户记录 组合服务例子可以是提供一个新的DSL线 这需要一个服务调用来验证定单 创建或验证客户 确认产品库存及为数据线分配资源 下图描述了服务粒度的不同级别及它们之间的关系 图示 服务粒度 通过一组有效设计和组合的粗粒度服务 业务专家就能够有效地组合出新的业务流程和应用程序了 SOA与Web服务 SOA不是一定需要 Web 服务来实现 并且一个基于Web 服务开发出来的应用也不代表就是一个基于 SOA 构架应用 Web 服务只是服务实现的一个典型 是实现企业 SOA的一个组件(非必需组件) SOA 为基于服务的分布式系统提供了概念上的设计模式 Web 服务则是基于标准的 可经济实惠地实现 SOA的一项技术 SOA将IT资源透过服务这样一个在业务上有重要涵义的概念来提供 共享 把IT与业务的距离更加拉近了一步 服务在涉及的层次上要比组件 函数 流程等更高 而且往往在业务上可以找到与之直接对应的概念或实体 例如报价 订单 服务打破了IT系统间的藩篱 就像一家公司的各个部门 平常各自扮演特定对内或对外服务的角色 但彼此间如果能有效地通过共通的语言及文字 进行良好的沟通 便能协力达成更大 更高的目标 随着SOA和Web服务的潮流 带来了组合式应用(posite application)的开发方式和观念 开始逐渐被大量应用在Portal(门户)和Integration(集成)上 组合式Portal的做法 就是通过Portal界面所提供的应用 往往不是真的在Portal服务器上执行 而是将Web服务即时抓过来 再加以呈现 同时汇总给Portal的使用者 在整合方面也是采用组合式的方式 通过高级工具来设定 使系统得以灵活地配合任务的调整 对各项以Web服务方式提供的服务进行不同形式的串联和协作 同时快速地加以部署 年 月 BEA发布了一个企业门户合理化(enterprise portal rationalization EPR)战略 这个战略用来平衡BEA WebLogic Platform的SOA能力 凭借最好的行业实践和行业专家 帮助客户解决多年来形成的散乱的portal和Web应用程序开发 如果说Web服务等技术是SOA的血肉 那么正确的服务设计理念及系统运行平台则是SOA的灵魂 SOA试图让IT能更快和业务同步 在规划上以提供d性的业务服务为目标 从CIO到负责规划的系统分析人员 需要和业务单位 策略伙伴间有充分的沟通 CIO必须认识到 SOA的建立将是一个为期数年的承诺 基础建设需要按部就班地进行 资助的模式也必须在IT和各个业务部门间建立 来陆续支援基础建设及各项业务服务的开发 在中间件领域 SOA架构日益成为中间件软件供应商争 lishixinzhi/Article/program/Java/hx/201311/26963

SOA并不是一个新事物,IT组织已经成功建立并实施SOA应用

软件

SOA架构,是一种粗粒度、开放式、松耦合的服务结构,要求软件产品在开发过程中,按照相关的标准或协议,进行分层开发。通过这种分层设计或架构体系可以使软件产品变得更加d性和灵活,且尽可能的与第三方软件产品互补兼容,以达到快速扩展,满足或响应市场或客户需求的多样化、多变性。

SOA体系架构带来的主要观点是业务驱动IT,即业务驱动和业务更加紧密地联系在一起。以粗粒度的业务服务作为基础来对公司业务进行建模,这样就可以产生简洁的业务和系统视图;以业务服务为基础来实现的IT系统更灵活、更易于重用、也更快地应对企业业务需求的变化;以业务服务为基础,通过显式地方式来定义、描述、实现和管理业务层次的粗粒度服务(包括业务流程),提供了业务服务模型和相关IT业务之间提供了更好的"可追溯性"

很多年了,BEA、IBM、等厂商看到了它的价值,纷纷跟进。SOA的目标在于让IT变得更有d性,以更快地响应业务单位的需求,实现实时企业。

SOA是面向服务的架构,没有人不同意。但对于SOA究竟是什么,每个厂商都有自己的定义和解释。有人说是一种架构,有人说是一种方法论,却没有几个人能给出一个大家都信服且简单易懂的解释。SOA将应用程序的不同功能单元通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、 *** 作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。其实SOA和架构虽然可以分开,各有各的意思,但是结合出来就代表一种相互的融合和促进,在将来的发展中势必是一个强势的冲击。

以上就是关于[SOA进阶] 全科高分进阶全部的内容,包括:[SOA进阶] 全科高分进阶、it的战略作用是什么【未来经营的IT战略】、【SOA项目七步走】 ppp项目七步走等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/8839178.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-22
下一篇2023-04-22

发表评论

登录后才能评论

评论列表(0条)

    保存