把软件架构演进体现在栈上

日期:2016-7-11作者:Tom Nolle翻译:boix来源:TechTarget中国 英文

【TechTarget中国原创】

曾几何时,企业架构师要为了得到承认和支持而抗争,但这种时候正在过去。大多数企业现在已经意识到实现业务流程中敏捷性和效率需要业务目标、人力资源以及信息技术的结合。

EA的角色已经拓展,从关注于将业务流程映射为抽象转到映射为工作、工作流以及工作者的生产力。重要的一步是将软件架构设计引入EA里面,为了做到这一点,需要意识到软件架构演进的关键要素是工作流概念的转移,然后在EA规划当中进入事件驱动的概念,再按照领域将事件映射为IT服务,并将IT服务映射为软件架构、实践以及产品。

在典型的EA方法论中,架构师聚焦业务流程为建模的最后时刻。这种办法跟面向服务架构、服务总线以及工作流处理可以很好地对应,后者直到最近都还是软件架构设计的中流砥柱。但互联网和云计算的引入侵蚀了IT对“工作流”愿景的支持。今天,优选的方案是把软件考虑成一组临时搭配的微服务组合,这样可以服务于每一个员工的产品需求。在这种软件模型下,软件激活的驱动力不是线性流,而是事件。

尽管“业务流程”就是“业务流程流”的概念与事件结构或者说微服务架构存在脱节似乎十分明显,但却没有充分反映到大多数的企业架构方法论上面。EA的业务流程输出往往是前置到业务流程流里面,在把EA需求转化为IT需求时往往倾向于工作流思维。事后再把对基于云和微服务的现代软件架构演进和设计方案的理解放到今天的EA方法论里面不是不可能,但很难以一种一致且有组织的方式来做到。要做到这一点,开发者需要拒绝把业务流程视为EA的最后一环的观念,相反要聚焦到业务事件上面。

理解业务事件

在逻辑上企业已经是事务驱动的了,这意味着它们要对外部事情,如下订单来做出响应,然后产生其他东西来驱动合作伙伴活动,如下达发货通知等。这些都是业务事件,也是一切业务活动的常见驱动,从这些来看,它们是EA的一个合理的关注点。但是今天的EA更多的是描述流程而不是事件,而这种流程描述会把EA跟可能已经过时的软件架构设计绑定到一起。

业务事件是企业的驱动力或者是一个企业对另一个企业的输出,对它的描述要依据它在业务上代表着什么而不是用它来做什么来定义。它是事件树的起点而不是转发流。每一个事件或者事务都会催生出一系列必要的内部事件和事务。比方说订单可能会缠身“存货检查”事件和“信用检查”事件。这些都可以表示为初始事件的分支,跟往往描述事情顺序的传统EA流不一样的是,事件树仅聚焦于关键关系上。

可视化为事件树“森林”的业务能够为软件架构设计提供有用的洞察。比方说,许多主要事件都会自然而然地滋生出一批相关的二级事件—信用检查、客户订单管理甚至CRM这些都是相关的二级事件。这些关联事件在业务功能的层面上组成了领域,反过来也会成为固化的企业架构与软件架构的连接点。事件驱动EA把架构从对工作流的依赖中解放了出来,而领域则在独立事件分析和软件方案之间建立了连接。

区分领域责任

大多数领域相关的EA讨论聚焦在不同类型的领域上—比方说,安全、信息、IT基础设施以及网络等,许多组织在IT侧也都有这些领域的体现。这意味着把EA跟软件架构绑定是功能性和架构性IT域的联合。功能性领域专家应该放到EA组织内,从属于总体EA,而架构性领域专家则应该是IT组织本身的一部分。

功能性领域需求之汇总应该形成对软件架构设计的泛化模型的要求,然后提供给结构性领域专家选择。大多数情况下都会选出一个泛化的架构给软件,其中包括一些调优以及每一个功能领域的功能相关的映射。这意味着软件架构设计可以形象地看作是“两种类型的领域”的集体回忆来商定总体框架,然后再由每一位功能领域专家和结构领域专家开会确定设计。在经过最后的团队评审之后,领域映射的最后一步就是转化为软件设计和技术选择。

挑选你的流程

这一方案可以用各种办法实现当前IT模型的演进。方法之一是让领域专家检查传统IT方案与新策略的差异来对过程提供指导。由于你原来的EA各种可能是以业务流程为终结的,所以那些流程可以被视为功能性领域,而架构性领域专家然后就可以根据每一个功能性领域的新方案来调整步骤。这种做法适合于较早建立的事件树在EA模型旧的业务流程终结点之间存在最少的交叉时使用。

如果新的EA模型会将IT变革为一组广泛分布的服务时,最好的办法是看看每一个旧的业务流程,从中找出哪个映射到新的事件树最容易。也就是说要找到包含一组事件单集的流程。这些流程可以转化为事件驱动模型,所得结果将会用来做出可用于选择后续EA业务流程目标的服务的详细清单。

这种软件架构演进最关键的一点是不要掉进过去的陷阱里面。EA软件架构设计的影响极其重大,因为它改变了员工可以利用的工具。事件和服务驱动方案的灵活性依赖于对当前的IT流程解耦,而不是不经意间延续下去。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

评论
查看更多评论

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者>更多

Tom Nolle
Tom Nolle

关于作者:Tom Nolle是CIMI公司的总裁,这家公司成立于1982年,是致力于电信和数据通信的战略顾问公司。Tom Nolle是IEEE、ACM、Telemanagement Forum和IPsphere Forum的一员,著作有关于Netwatcher方面的书籍。

SOA性能>更多

  • 案例管理如何强化SOA环境

    保持SOA环境平滑运行牵涉到大量移动部件的管理:API、微服务、移动性以及日益火爆的物联网。在这基础上,还会涉及安全、隐私、监管合规性等问题。

  • Android Studio更新反响强烈 Firebase成长为平台

    程序员对Android Studio即将到来的更新可为集成开发平台带来新力量拍手称快。Android Studio的2.2版更新将带来“速度、智能以及Android升级支持.

  • 把软件架构演进体现在栈上

    曾几何时,企业架构师要为了得到承认和支持而抗争,但这种时候正在过去。大多数企业现在已经意识到实现业务流程中敏捷性和效率需要业务目标、人力资源以及信息技术的结合。

  • SOA治理模型核心:人

    治理在IT领域非常关键,但是很多时候企业的做法往往太过单向,企业SOA治理模型往往忽视了所有部分当中最关键的组件:人。

相关推荐

  • 架构安全模型开发方式探索

    维护一个强大的安全模型,以及相关合规和管控的需求越来越重要,特别是在如今黑客和入侵几乎每天都会发生的情况下。

  • 你了解应用集成架构吗?

    业务流程越来越多得要求在很多任务,甚至很多应用之间共享更多的信息。应用集成架构是一种IT流程,确保数据或者某个功能能够从一个应用移动到另一个应用。

  • 选择遗留资产现代化供应商应该考虑哪些因素

    遗留资产现代化并非一件容易的事情,这就是为什么在某些情况下,组织也许会选择第三方服务供应商的原因。

  • 领域驱动设计实现之路

    在DDD中,代码就是设计本身,你不再需要那些繁文缛节的并且永远也无法得到实时更新的设计文档。编码者与领域专家再也不需要翻译才能理解对方所表达的意思。

技术手册>更多

  • SOA安全

    安全对于许多的IT部门来说都是一个重要的问题之一,但是SOA安全问题完全是在另一个新的纬度上了。对于SOA为一个机构所带来的许多的好处,例如具有在许多不同的提供者和供应商的情况下混合和匹配服务。

  • 特别关注:大型机应用现代化分析手册

    大型机应用现代化对于保持原有系统至关重要,而且大型机在大型企业高性能企业计算仍旧处于核心地位。这也是SOA成功案例中,目前正在进行的革新中最为显著的内容。以前,遗留大型机应用抵制重建,开发团队通过为意大利面式的代码排序,试图改写系统并非易事。那么现在这个问题该如何解决?有哪些好的案例可供参考?请看特别关注:大型机应用现代化。

  • 云BPM新常态解析

    云端业务流程管理已经不再是什么新鲜事,更不再是什么可怕的方法来管理重要的业务流程。现在,它已经普遍被认为是一种新常态。组织已经从这一技术中获益,使它来更有效地访问和管理企业信息。

  • SOA测试全面指导

    在SOA环境中,测试团队超越了传统的以应用程序为中心的功能和性能测试。SOA需要整合地测试界面和服务,这些界面和服务有助于组合利用不同的系统、平台以及相关安全标准。要测试这些应用程序时,就提出了独特挑战。那么如何应对这些挑战呢?下面我们来具体看一下。

TechTarget

最新资源
  • 安全
  • 存储
  • CIO
  • 数据库
  • 服务器
  • 云计算