多平台全面支持
方便选课,随时随地学习
下载APP
小程序
希赛网小程序
首页 > 软考 > 系统分析师
导航
系统分析师教程知识点梳理之SOA
责编:长颈鹿 2016-12-26

    >>>>>点击了解系统分析师直播班

    >>>>>点击了解系统分析师面授班


    系统分析师考试在2017上半年开考,希赛小编为大家整理了一些系统分析师教程知识点梳理,一下是有关SOA的讲解,希望对准备参加考试的你有所帮助。

      SOA

      【基本概念】

      1、SOA定义:

      一种粗粒度、松耦合的体系结构模型;不同功能单元通过中立方式定义的接口联系起来;独立于硬件、操作系统、编程语言;构建的服务以统一通用方式进行交互;

      SOA涉及三种角色:1)服务提供者(Service Provider);2)服务请求者(Service Requestor);3)服务目录(Service Registry)。

      SOA涉及三个操作:1)发布(Publish);2)查找(Find);3)绑定(Bind)。

      2、三个抽象级别:操作、服务、业务流程;

      3、3个软件层次:

      (1)基础设计层:OOA、OOD思想,设计开发底层服务构件;

      (2)应用结构层:采用EA架构,以表示业务服务逻辑构建为中心,集中定义服务间接口和服务级协定;

      (3)业务组织层:BMP,流程编排与组织;

      4、SOA常用标准、规范:

      SOAP,WSDL,UDDI

      WSDL,UDDI和SOAP是SOA基础的基础部件。WSDL用来描述服务;UDDI用来注册和查找服务;而SOAP,作为传输层,用来在消费者和服务提供者之间传送消息。SOAP是Web服务的默认机制,其他的技术为可以服务实现其他类型的绑定。一个消费者可以在UDDI注册表(registry)查找服务,取得服务的WSDL描述,然后通过SOAP来调用服务。

      5、SOA特征

      ·可从企业外部访问

      ·随时可用

      ·粗粒度的服务接口分级

      ·松散耦合

      ·可重用的服务

      ·服务接口设计管理

      ·标准化的服务接口

      ·支持各种消息模式

      ·精确定义的服务契约

      6、关键问题

      ·发现服务

      ·服务规约

      ·服务实现

      7、基础架构

      【优势】

      SOA是一种可适应的、灵活的体系结构类型,基于SOA构建的系统架构可以在系统的开发和维护中缩短产品上市时间,因而可以降低企业系统开发的成本和风险。因此,当SOA架构师遇到一个十分复杂的企业系统时,首先考虑的应该是如何重用已有的投资而不是替换遗留系统

      【作用】

      SOA解决的是集成的问题,包括数据集成、应用集成、流程集成等,分两步:一是将业务系统能力分解为独立、自治、离散和可复用的服务;二是对服务进行组装和编排来满足业务和流程的变化。

      SOA本身是集成平台,本身并不产生能力,本身也不存储和结构化数据,SOA服务目录库能力源自业务系统,业务系统提供服务注册到SOA服务目录库,SOA更多是能力集成平台,可以将业务系统各个层面能力转化为数据服务、业务服务、流程服务和展现层服务。通过SOA集成这些服务,提供统一的服务目录库来屏蔽底层业务系统。

      【SOA解决方案】

      【注意事项】

      最常见的失误包括:

      1.注意供应商专有服务产品。不要局限于实际上具有专有特征的SOA供应商产品;这可能会导致失去真正SOA的互操作性和灵活性好处。

      2.寻求使用开放标准的稳定性。行业中的最新开放标准规范并不一定是最稳定的;因此,可能并不成熟,不适合采用。

      3.仔细评估遗留资产现代化工作。选择特定遗留系统进行现代化工作时,请从企业的全局出发进行考虑。SOA过渡中的竖井(Silo)方法可能导致出现冗余。

      4.避免“瀑布”式开发和缺少服务版本控制的情况。SOA过渡本质上应该具有迭代的特征。服务生命周期管理应该具有维护服务的多个版本的功能。

      5.了解遗留系统的技术限制。在进行遗留资产现代化工作前,请充分考虑遗留系统的所有技术限制。

      6.不要将SOA等同于Web服务。了解SOA(一种体系结构样式)和Web服务(一组SOA实现标准)间的差异。

      7.避免采用竖井方法处理服务创建和所有关系。理解传统应用程序开发和基于SOA的开发之间的范式转换。

      8.避免使用细粒度服务。与细粒度应用程序编程接口(Application Program Interfaces,API)相比,服务是更高级的抽象。服务应该为粗粒度的,且与业务一致。

      9.避免点到点调用。使SOA生态系统具有可管理性,且组件间采用松散耦合方式。加入中介层,以处理服务发现和调用,并协调不同SOA实现间的基础技术差异。

      10.避免不遵循标准的情况。采用稳定的、经过验证的行业特定标准。此方法将为您的SOA带来互操作性的好处。

      11.使用冗余数据存储。将重点放在数据整合策略上。通过创建虚拟数据服务来提供数据冗余性。

      12.避免使用“大爆炸”方法。对于复杂SOA过渡,请完全避免使用“大爆炸”方法。请充分认识到,最好的平稳SOA过渡是通过采用迭代方法实现的,并尊重这一事实。

      13.分配服务所有关系。不要让服务孤立。为其提供一个环境,让某个业务部门作为其所有者。此所有关系使得有人负责维护非功能性服务质量。

      进行SOA治理。授权治理组织管理整个服务生命周期。

      【面向服务的开发】

      ·两个视图:服务提供者关注服务实现、封装、发布、服务消费者关注服务组合满足需求;

      ·面向重用的开发;

      面向服务开发是对前面已经讨论过的面向过程、面向对象、面向方面等开发方法的补充。它具有以下优点:

      1重用:创建可重用用各种业务应用的服务能力;

      2效率:通过组合现有服务,以快速创建新的服务和业务应用的能力,这样就可以集中精力于数据共享,而不是底层实现的能力;

      3与技术的松耦合:独立于服务的执行环境进行服务建模的能力。例如,紧紧盯以服务能够收发的消息,而不需要考虑具体的技术实现。

      4职责的划分:可以令业务人员和技术人员分别关注业务问题和技术问题,双方通过服务契约进行协同。

      当SOA架构师构建一个企业级的SOA系统架构的时候,关于系统中最重要的元素,也就是SOA系统中的服务的构建。

      有一点需要特别注意的地方,就是对于服务粒度的控制。服务粒度的控制SOA系统中的服务粒度的控制是一项十分重要的设计任务。通常来说,由于服务的访问通常是远程的,所以,对于将暴露在整个系统外部的服务推荐使用粗粒度的接口,而相对较细粒度的服务接口通常用于企业系统架构的内部。

      应用服务来设计、开发和部署应用,需要在思考方式上发生重大转变,为了帮助这一转变的完成,我们可以把IT部门的职责划分为两个部分:

      1创建服务:处理服务所涉及的复杂的下层技术,确保Web服务的描述与服务消费者的需要相一致,而且双方共享着应该有的数据。

      2使用服务:组装新的合成应用(Composite Applications)和业务流程流(Business Process Flows),确保共享数据以及业务流程流能够准确反映业务的运营和战略需求。

      在项目层次上,架构师通常要指导可重用服务的开发,并确定一种存放、管理和检索服务描述的方法。可重用的服务层把业务操作(比如“获取客户信息”、“下订单”)与下层软件平台的实现差异相隔离(就象浏览器把服务器的实现语言的差异相隔离一样),这样,就有可能具备把可重用的服务快速组合成更大服务的能力,这样,组织就具备了使过程自动化和快速适应环境的优点。事实上,定义可重用的服务是面向服务最重要的方面,要实现服务的较高价值,必须在开发的时候,就考虑与其它服务的互操作,并且通过与其它服务的组合来构建应用。这种思想上的转变,可能需要某个处于领导职位上的人协调完成检查设计,以确保它们与新的IT目标一致。

      【与数据仓库关系】

      把数据和服务作为企业的资产

      主数据(Master Data,MD)指系统间共享数据(例如,客户、供应商、账户和组织部门相关数据)。与记录业务活动,变动较大的交易数据相比,主数据(也称基准数据)变化缓慢,一般每年的变化在20%左右。

      (区别元数据:元数据是指表示数据的相关信息,比如数据定义等,而主数据是指实例数据,比如产品目录信息等。)

      数据存储层规划:为了保证业务系统的性能同时实现数据的共享、数据分析的需要,将数据存储层的数据分为三个层次:私有数据层、共享数据层和分析数据层。

      ·私有数据层:主要用于支撑企业的运营,是典型的操作型数据环境。包括经营、财务、人力资源、资产管理等已有系统的数据库,其主要职能在于支撑企业日常的经营和管理活动的运营需要。

      ·共享数据层:包含业务共享数据、主数据、系统数据、流程数据和元数据。

      ·分析数据层:该层的数据集主要用于支撑企业的管理和决策需要,是典型的分析型数据环境。它从数据仓库中提取数据并整合管理决策所需要的数据集。

      【与云计算关系】

      应用系统涉及的跨系统边界的主数据抽象到主数据管理系统,提高数据服务能力。

      业务系统下层,业务模块分为界面和逻辑两个部分内容,业务模块下沉为提供业务服务能力的单元

      流程引擎+业务规则引擎可以进一步对业务服务,数据服务进行服务的编排

      展现层可以实现界面层的组装,可以调用数据服务能力和业务服务能力

      【云计算融合】

      SOA中的ESB能力,流程引擎能力、规则引擎能力,演化至云计算中的Pssa层;

      硬件能力(底层虚拟化资源池:计算能力、存储能力、网络能力),可以集成至ESB;

      【展望】

      IBM谈到的下一代SOA的概念,说到下一代SOA需要做到五件事:连接本地应用和云应用、将应用扩展到移动设备上、连接到物联网、发布API并将企业连接到社交网络、提供可以满足大数据需求的服务规模和质量。


    返回目录:系统分析师教程知识点梳理之新技术应用汇总


      希赛教育,拥有十四年软考培训经验,希赛教育一直坚持自主研发,将丰富的软考培训经验有效融入教程研发过程,自成体系的软考在线题库软考历年真题)、软考培训教材软考视频教程,多样的培训方式包括面授、和网络课堂,使考生的学习更具系统性,辅导更具针对性。采用全程督学机制,保障学员顺利通过考试,软考平均通过率在全国。

温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
延伸阅读
免费试听
通关方案