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

日期: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性能>更多

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

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

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

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

  • SOA治理模型核心:人

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

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

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

相关推荐

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

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

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

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

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

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

  • 领域驱动设计实现之路

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

技术手册>更多

  • “软件+服务”SaaS和SOA

    SaaS和SOA 号称“大小S”,软件架构是面向服务的SOA,软件应用出现SaaS新模式,中国软件与服务市场可谓是世界IT市场潜藏着的最大“蓝海”。应用软件开发厂商向SOA领域涉及的程度越来越深,SOA已经无处不在。随着SaaS的愈发火热,SOA的继续深入,业界出现了“软件+服务”(S+S)战略,旨在打通“内部业务整合(SOA)+外部业务拓展(SaaS)+丰富用户体验”等多重资源,实现SaaS和SOA“鱼和熊掌兼得”。

  • 企业IT集成指南

    随着云技术的不断采用,现代企业都面临着重大的集成问题。现在已经不再是把企业内部的数据和应用简单地缝合在一起,企业IT现在面临着整合着外部与内部信息的难题。

  • 2010年SOA现状调查报告

    在2008-2009面临全球性的信贷危机时,SOA的应用依然屹立不倒。即便时下流行语已经被“云计算”所替代的情况下,SOA的运用也没有下降。TechTarget/Forrester Research所做的2010SOA现状调查表明……

  • BPM获取成功秘籍

    业务流程管理(BPM)正在迅速成长,正在影响着各行各业,但改变从来都来之不易。但是在今天的经济环境下,对于业务和IT高管来说,掌握BPM的大局观正显得前所未有的重要,这样才能从他们业务流程改进中收获最大利益,才能令其BPM投资的价值最大化。要想克服变革性或企业范围内的BPM行动的常见瓶颈,需要前瞻的、持续地实施某些关键的最佳实践,以确保真正跨职能的业务流程的实现。

TechTarget

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