一、什么是SOA:

面向服务的体系结构(Service-Oriented Architecture,SOA)是一种 IT 体系结构风格,支持将您的业务转换为一组相互链接的服务或可重复业务任务,可在需要时通过网络访问这些服务和任务。当在战略业务目标的引导下进行 SOA 实现工作时,可确保对业务进行积极转换,并能够实现 SOA 的好处:IT 与业务的一致性和IT 资产的最大化重用。

二、五个切入点:

IBM 定义的五个切入点能帮助您和您的业务实现预定义的 SOA 解决方案,从而从中获益。这些切入点同时受到业务需求(人员、流程和信息切入点)和 IT 需求(连接性和重用切入点)的驱动。以下是五个切入点的一般描述信息:

  • 人员:SOA 的这个切入点关注用户体验,以帮助生成调用和实现更好的协作,从而获得一致的人员与流程交互,提高业务效率。例如,通过使用 SOA,可以创建基于服务的 Portlet 来提高此协作。
  • 流程:流程切入点可帮助企业了解其业务中发生的情况,从而支持其对现有业务模型进行改进。通过使用 SOA,可以将业务流程转换为可重用且具有灵活性的服务,从而改进和优化这些新流程。
  • 信息:通过使用 SOA 的这个切入点,能以一致而可见的方式利用公司中的信息。通过在所有业务领域提供这个一致而受信任的信息,可促进企业各个领域的创新工作,从而更为有效地进行竞争。通过使用 SOA,可以更好地控制信息,而且通过信息与业务流程的结合,可以发现很多有意义的新关系。
  • 连接性:利用连接性切入点,可以有效地连接基础设施,从而将企业中的所有人员、流程和信息整合到一起。通过在服务间和整个环境中实现灵活的 SOA 连接,可以获取现有业务流程并在不需要太多工作的情况下通过其他业务通道提供此流程。甚至还能以安全的方式连接防火墙外的外部合作伙伴。
  • 重用:通过 SOA 重用服务,可以充分利用企业中已经存在的服务。通过对现有资源进行构建,可以简化业务流程,在整个企业内确保一致性并缩短开发时间。所有这些将能帮助您节约大量的时间和资金。另外,还能减少服务中的功能重复,并能获得使用企业中为大家所熟悉的经过验证的核心应用程序的好处。

其实,对于对于任何一个IT系统来说,人员、流程、信息都是IT系统不可缺少的部分,换句话,可以说:人员、流程和信息是IT信息的三要素。而对于后两个,也就是连接性和重用其实是SOA的本质属性,因为没有连接性和重用性就不是一个基于SOA架构风格的系统了。

三、SOA的八个场景:

IBM 技术专家在参考实际的客户经验和多年的积累的情况下,认识到业务部门在设计和实现 SOA 解决方案的过程中经常会遵循多个常见的场景。通过定义这些场景,IBM 为您提供了预定义的真实方法,帮助实现 SOA 解决方案。每个场景都提供了经过测试和集成的产品或实现,用于实现此场景。因此,可以将这些场景映射到您公司具体的目标和需求,从而很好地确定自己如何实现这些好处。

  • 服务创建:创建灵活的基于服务的业务应用程序。新的面向服务的应用程序将业务行为作为服务公开,同时还能重用作为服务公开的业务逻辑。 服务是自包含的可重用软件模块,各自执行特定的业务任务。它们具有定义良好的接口,独立于所运行的应用程序和计算平台。通过服务创建实现 SOA 重用后,JK Enterprises 将实现以下价值:

    • 重用现有服务比从头编写新应用程序开销要小些。
    • 重用经过验证的应用程序可降低风险,还能缩短进入市场所需的时间。
    • 通过大幅度使用经过验证和测试的常用功能代码,可以缩减维护开销。

创建服务的一种方式是对启用服务的现有资产使用称之为间接公开的技术。例如,对于启用服务的帐户查询流程,公司将其帐户应用程序作为简单对象访问协议(Simple Object Access Protocol,SOAP)/HTTP Web 服务公开(作为会话 Bean 实现)。此方法使用 CICS 事务,可通过 CICS 的适配器进行访问。在这种情况下,使用者和提供者位于防火墙内。还可以直接从头创建新服务或者通过查找和使用其自己 IT 基础设施之外的服务来创建服务(这需要使用共同认证的 SSL 实现安全性)。

  • 服务连接性:无论何时何地使用何种工具,都能使用中间层服务网关或总线让各种应用程序访问核心服务集,从而通过无缝的消息和信息流将企业中的人员、流程和信息连接起来。  将现有 IT 应用程序作为服务公开,并通过访问外部服务和创建新服务来弥合差距。现在要将这些服务彼此连接,甚至连接到整个企业。这将通过服务连接性场景(此场景是通过连接性切入点着手的典型方法)的实现方面完成此工作。
            通过服务连接性实现 SOA 连接性,从而实现以下价值:实现自主构建的或传统连接性方面的成本节约;通过扩展 IT 资产(而不是重复构建),可消除冗余性;通过新业务通道和设备公开相同流程,从而提供安全而一致的用户体验;通过基于服务的托管连接增强业务合作关系。

将通过实现企业服务总线(Enterprise Service Bus,ESB)在其系统中实现连接性;ESB 能提供所需连接性,而且其成本低于传统连接性的实现成本。将能够通过 ESB 以安全而且可扩展的方式连接到整个外部和内部基础设施。

服务创建和 SOA 连接性将为 JK Enterprises 提供更大的业务灵活性和稳固的基础,从而更便于进行更多的 SOA 项目。ESB 对业务部门内的服务、应用程序和资源进行统一和连接,允许软件的连接在不同平台上并行进行,并使用各种编程语言。因此对所有信息在企业服务总线 (ESB) 中的传递情况进行建模,确定谁在何时需要哪些信息就非常重要和必要。

  • 交互与协作服务:必须通过多种设备(如浏览器、PC 和移动设备)向人类用户提供一个或一组服务。交互与协作服务还可通过将这些服务聚合为视图,以交付信息并在业务流程的上下文进行交互,从而提高人员工作效率。
  • SOA 所支持的业务流程管理:业务流程管理是将软件功能和业务专业知识相结合来加速流程改进和促进业务创新的学科。

    业务流程管理是一个学科,将结合使用用于控制组织跨功能的核心业务流程的工具和方法。其重点是将整个组织的资源部署定向到能够实现客户机价值的高效流程中,从而实现战略业务目标。BPM 的核心原则之一是进行持续改进,从而不断地提高产生的价值和保持市场竞争力。

    SOA 所支持的 BPM 允许对业务流程进行更改,而不用对基础技术进行再工程;同时它还允许在不影响业务流程的情况下对技术基础设施进行更改。JK Enterprises 可以通过以下方式利用业务流程管理场景。提供将其流程可视化并提供相应的决策点,这是流程管理的基础。通过建模这些流程, 可以标识其流程中的瓶颈、连接断开以及效率低下的情况。通过这样,将能够快速地确定有待改进和实现自动化的区域。

  • 作为服务的信息:“作为服务的信息”可在企业内作为可重用服务访问复杂的异类数据源。
  • SOA 设计:通过一组角色、方法和构件保持业务设计建模和 IT 解决方案设计的一致,以提供一组供优化的显式业务流程和用于组合及集成的服务。 SOA 设计是减少成本和提高公司的 IT 集成有效性的关键因素。在通过创建恰当的服务来实现 SOA 解决方案之前,都必须首先建模和定义用于创建主要新组件和重用现有组件的接口。

    IBM 通过以下产品可帮助您开始实现此 SOA 场景:

  • SOA 治理:建立并执行 SOA 开发与运行时流程。定义策略、流程和工具来监视服务的归属、使用人、使用方式及提供时间。 理包括两个方面:
    • 建立责任、授权和通信链,以对人员进行权利分配,确定谁有权进行哪些决策
    • 建立度量、策略和控制机制,以支持各个人员执行各自的角色任务和履行相关职责。

    治理经常与管理混淆,但二者之间通常存在以下差异:

    • 治理决定谁具有决策的权力和责任,为决策提供框架。
    • 管理是进行决策和实施决策的过程

    因此治理讨论应该如何进行决策,而管理进行决策和执行决策。

    任何 SOA 治理模式必需适应企业的 IT 治理,IT 治理涉及以下内容:

    • 建立与 IT 关联的决策权利
    • 建立用于度量和控制 IT 决策及执行的机制和策略

    即,IT 治理讨论的是谁负责 IT 部门中的什么事务以及部门如何知道这些职责得到了很好的执行。

    SOA 向控制添加了以下几个独特的方面:

    • 充当 IT 控制的扩展,重点关注服务的生命周期,以确保 SOA 的业务价值
    • 确定谁应该监视、定义和授权对企业内现有服务的更改
  • SOA 安全性和管理:作为 IT 服务管理(IT Service Management,ITSM)服务一部分的发现、监视、保护、供应、更改和生命周期管理工作。 保护 SOA 服务需要对策略进行评估和做出相关决策,并需要对这些策略进行管理,以保证其执行。

之前讨论的五个 SOA 切入点直接映射到(即具有一对一关系)本列表中的前五个场景。(例如,重用直接映射到服务创建,而连接性直接映射到服务连接性。)我们还将讨论其他 SOA 场景,这些场景均以上面的五个切入点为基础。即 SOA 设计、SOA 治理与 SOA 安全性以及管理。

IBM的SOA方法论之一——五个切入点和八个场景的更多相关文章

  1. 第五百七十八、九天 how can I 坚持

    这样下去不行啊 ,昨天晚上回来捣鼓了一晚上手机,看个视频还经常开小差,得全力以赴了,不能抱着打酱油的心态了,加油. 今天和yj聊了聊,好多事啊,不能一心工作了,还得考虑结婚,也是醉了. 努力吧,先把考 ...

  2. 【PPT分享】五类常见的用户分析场景

    以下是参加一次沙龙的PPT,分享给大家.关于如何做用户分析的5类场景. 引言 借助“多渠道营销分析”,探究用户从哪里来?如何来? 平台和渠道矩阵 平台和渠道矩阵 跨平台和渠道访问特征分析 多渠道来源分 ...

  3. Java开发笔记(五十一)多态的发生场景

    江湖上传闻,面向对象之所以厉害,是因为它拥有封装.继承与多态三项神技,只要三板斧一出,号令天下谁敢不从.前面费了老大的劲才讲清楚封装和继承,那么多态又是怎样的神乎其神呢?下面先通过一个简单的例子来说明 ...

  4. Jmeter(五十)_性能测试模拟真实场景下的用户操作

    概述 我们在做性能测试的时候,不同的视角看到的结果都不一样. 例如响应时间 用户通过客户端向服务端发出请求的时间为: T1服务端接收到请求,处理该请求的时间为:T2服务端返回数据给客户端时间为: T3 ...

  5. WEBGL学习【十五】利用WEBGL实现三维场景的一般思路总结

    实现三维场景载入操作的实现步骤: 主要知识点:着色器,纹理贴图,文件载入 实现思路: 获取canvas,初始化WEBGL上下文信息. 主要是实现WEBGL上下文的获取,设置视的大小,此时gl存储了WE ...

  6. 二十五、SSH服务企业级应用场景

    一.需求分析: 要求所有服务器在同一个用户oldboy1系统用户下,实现A机器从本地分发数据到B\C机器上,在分发过程中不需要B\C的提示系统密码验证,除了分发功能,还需要可以批量查看客户上的cpu. ...

  7. SOA (面向服务的架构)

    面向服务的体系结构,是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台.操作系统和编程语 ...

  8. 了解SOA是什么!

    面向服务架构 面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来 ...

  9. 浅析深究什么是SOA?(转)

    http://blog.vsharing.com/fengjicheng/A1059842.html 阅读提示: 本文探讨SOA概念背后的核心内涵,如何将SOA落地的实务方法. 金蝶中间件作为全球领先 ...

随机推荐

  1. flume 中的 hdfs sink round 和roll

    http://blog.csdn.net/kntao/article/details/49278239 http://flume.apache.org/FlumeUserGuide.html#exec ...

  2. LeetCode459. Repeated Substring Pattern

    Description Given a non-empty string check if it can be constructed by taking a substring of it and ...

  3. Spring帖子汇总

    SpringMVC表单标签简介 http://haohaoxuexi.iteye.com/blog/1807330 Spring MVC 教程,快速入门,深入分析 http://elf8848.ite ...

  4. Web services 有两种类型的应用

    可重复使用的应用程序组件 有一些功能是不同的应用程序常常会用到的.那么为什么要周而复始地开发它们呢? Web services 可以把应用程序组件作为服务来提供,比如汇率转换.天气预报或者甚至是语言翻 ...

  5. jQuery 和其他 JavaScript 框架

    正如您已经了解到的,jQuery 使用 $ 符号作为 jQuery 的简写. 如果其他 JavaScript 框架也使用 $ 符号作为简写怎么办? 其他一些 JavaScript 框架包括:MooTo ...

  6. Problem 500!!! (Project Euler 500)

    题目大意:求出最小的正整数,它的约数有$2^{500500}$个. 思路:考虑将一个数质因数分解,如果它的约数有$2^{500500}$个, 那么每个质因子的指数一定是$2^k-1$这样的形式. 如果 ...

  7. onlyoffice 中文支持稳定操作方法

    网上的都是抄来抄去,不如我这个简单粗暴: 1. 没装过先安装 sudo docker run -i -t -d -p 80:80 onlyoffice/documentserver2 .查看conta ...

  8. C# 持续序列化对象追加到文件的方法

    最近有个需求,将内存和帧数数据序列化到二进制文件.为了节省内存,采用了100个对象的数组,每次存满就序列化到文件,然后归零继续存,以追加的性式继续序列化到原有文件. 这样相当于多个数组对象存在了同一个 ...

  9. struts2之constant 讲解 (转)

    struts.serve.static.browserCache 该属性设置浏览器是否缓存静态内容.当应用处于开发阶段时,我们希望每次请求都获得服务器的最新响应,则可设置该属性为false. stru ...

  10. python导入模块报错:ImportError: No module named mysql.connector(安装 mysql)

    python的版本是 $ python --version Python 2.7.12 报错代码如下 import mysql.connector 报错信息是 ImportError: No modu ...