第1章系统架构

第1章系统架构成功的第一必需品是坚持不懈地把你的精力和心智投注到某一问题上的能力—— 托马斯 爱迪生(Thomas Edison)(1847 ―― 1931)系统架构最好既被看成过程,又被看成一种原则,它可制造有效的和高效的信息系统 能被看成过程,是因为它能遵循一系列步骤来制造和改变系统的体系结构能被看成原则,是因为这些知识告诉人们什么是最有效的设计方法系统是一群互为关联的机器、应用程序和网络资源的集合系统架构在系统之上施加结构来统筹这个集合更重要的是,此结构可根据业务目标来安排系统的功能 矚慫润厲钐瘗睞枥庑赖賃軔朧系统体系结构包括环绕图 1— -1中的基础设施层图1-1 企业架构模型系统架构的基本目的是支持企业架构中更高的一些层次在许多公司里,软硬件代表 企业总资产中重要的一部分 企业架构师们千万不可把自己的职责等同于他所管理的物件、应用程序或机器他们的主要目的应是支持和促进企业的业务目标软硬件的基本上寿命 基本上是有限的,只是为了履行业务意图而存在于一时 聞創沟燴鐺險爱氇谴净祸測樅系统架构也用于保持企业架构和业务目标、组织过程相协调因此,不仅理解基础设 施和运行于其中的应用系统的细节是很重要的,而且也应具备足够的知识,以便和企业架 构组一起参与架构的改造过程。
这包括如下方面: 残骛楼諍锩瀨濟溆塹籟婭骤東定义现有系统结构的结构、关系、视图, 、前提和逻辑,以及从当前的状况转变为所需求状况的过程中需要涉及的关系、视图、前提和逻辑的变化 酽锕极額閉镇桧猪訣锥顧荭钯创建那些开发系统架构要用到的模型、指南、模板和设计标准1.1卡纳夏引入外来的架构师让我们为以后的讨论搭建一个舞台,聚焦到卡纳夏上凯罗 澹姆斯(Kello James)从外部引入了一个架构师,作为他实施卡纳夏企业架构规划的一部分这是卡纳夏历史上的第一次 彈贸摄尔霁毙攬砖卤庑诒尔肤现在我们和卡纳夏的一些核心主管, 以及新来的架构师梅勒 ?斯坦蒂什 (Myles Standish) 一起坐在一个筹划会议上在会上,梅勒被介绍给半信半疑的听众们他在这次会议上的 任务是确立卡纳夏系统架构的价值定义,并进一步建立系统架构他的委任条款规定他有 推荐物理设备和企业应用架构的监察职责这意味着他将随着卡纳夏的发展成为架构小组 的一员 謀荞抟箧飆鐸怼类蒋薔點鉍杂梅勒开始了他的评述他首先简要概括了对卡纳夏系统架构状态研究中尚未涉及的部 分,讨论进行如下:梅勒提到,卡纳夏就如其它其他大型企业集团一样,大部分固定资产是组成系统架构 的应用程序和机器。
在卡纳夏的业务环境中,能尽善尽美地管理系统架构的公司将会赢得 可观的利益 厦礴恳蹒骈時盡继價骚卺癩龔他谈到信息技术 (IT) 部门的经费主要被卡纳夏基础设施的相关开销侵吞当前这些开 销多数是固定的如果卡纳夏希望在管理信息技术资源时获得一些敏捷性,就必须为系统 架构提供必要的时间、人力和关注,以便极大地节省这类开销 茕桢广鳓鯡选块网羈泪镀齐鈞梅勒指出, 卡纳夏主要业务的 IT 功能被孤立封闭地划分到各应用系统, 其中有的应用 系统甚至创建于 30 年前这里梅勒被一个执行副总裁的提问打断: “你不是想告诉我们应 该重写或更换这些应用系统吧?我们已经试过了 ”梅勒明确地回答, 他并无更换任何遗留 系统的计划与其更换,他宁可打破系统间的封闭,让系统可以彼此交流 鹅娅尽損鹌惨歷茏 鴛賴縈诘聾摧毁纽约世贸中心的恐怖袭击让卡纳夏把灾难恢复作为燃眉之急系统架构对灾难恢 复计划 (Disaster Recovery Plan ,DRP) 是至关重要的 (数据恢复计划中系统架构方面的内容 将在本章的后面讨论 )在梅勒的陈述中, 他简要概括了灾难恢复计划中由架构小组负责开 发的系统结构部分的业务层面 籟丛妈羥为贍偾蛏练淨槠挞曉。
梅勒随后围绕存储讨论了一些问题他询问执行主管们是否意识到:根据卡纳夏近来 的数据存储费用增长率, 到 20XX 年用于存储的开销将等同于现有的 IT 经费 会议室内执 行主管们由震惊而带来的沉默告诉梅勒他们还是首次听到这个消息于是梅勒说他将在控 制数据存储经费上寻求他们的支持,以便为卡纳夏获得可观的利益 預頌圣鉉儐歲龈讶骅籴買闥 龅数据存储及围绕于此的问题在本章稍后部分讨论 近来高利润大企业的破产风暴,在美国高级公有企业中引出了强制性的严苛报告规 章这些规章要求 IT 部门提供几乎是实时的财务报告能力 卡纳夏是适用于财务报告新政 策的企业集团之一梅勒坦率地提到目前财务系统的集中化管理非常不灵活,当前的系统 不具备提供更多财务报告的能力,而且其中最快的报告也是按月递交的梅勒随即指出加 速财务汇报速度会在他的日程表里成为高优先级的任务 执行主管们对此纷纷首肯 渗釤呛 俨匀谔鱉调硯錦鋇絨钞梅勒还将卡纳夏基础设施状态的可观察性引入议题,这是完整业务视图中重要的一部 分梅勒倾向于建立一个汇报机制,让相关的经理和高层管理人员能够获得他们所管辖的 领域的业务智能 (Business Intelligence ,BI) ,这样便可探知系统的基础设施是否对重要的业 务标准 —— 例如订单的履行能力 —— 起着消极的作用。
梅勒的言下之意是,卡纳夏的旧系 统显然是用户对这个汽车制造公司不满的某些根本原因他认为,把对公司的基础设施性 能的度量引入现有 BI ,会对重建用户满意度起到重要作用 铙誅卧泻噦圣骋贶頂廡缝勵罴成百上千个低层次决策所累积的后果已经束缚了卡纳夏,因为基础设施不能满足业务 过程需求, 并侵吞了 IT 预算的大部分 在许多情况下, 购买决策的制定仅仅是因为这项技 术是“很棒的 ”或者“最时兴的 ”在我的任期内, ”梅勒坚决地声明, “我们会一直强调经费 不可超过允许的限度进一步地,项目如何匹配其下的业务过程,项目的投资回报 (Return On Investment , ROI) 将决定系统基础设施经费应投向何方 ”擁締凤袜备訊顎轮烂蔷報赢无于是谈到了钱的主题 —— 预算经费问题梅勒被告知: “你不会指望预算能大幅提高, 直到满足所有的需求, 是不是?我们没有多少钱来增添预算经费 ”梅勒在回应中指出一个 企业的系统架构应该被看成是一笔投资:一笔重要的投资,其价值能够与日俱增,而不是 日益损耗性能不佳的领域需要被修补或者替换尤其应该关注那些让投入、增值或开销 节省成为可能的领域 贓熱俣阃歲匱阊邺镓騷鯛汉鼉。
会后,凯罗和梅勒都深受鼓舞他们都投入到对有关企业架构的努力中,这方面过去 曾经是惨淡失败的他们一同意识到失败的主要原因是未能鼓励首席执行官参与,并持续 参与架构过程正如卡纳夏的高层管理人员所考虑的,本次会议明确了财务汇报、灾难恢 复和费用节制等问题应在最先考虑之列梅勒和凯罗知道他们拥护建立架构,他们也知道 架构将会得到改造,以便满足卡纳夏的业务考虑 坛摶乡囂忏蒌鍥铃氈淚跻馱釣基础设施的架构方法 对系统中的各部分及其相互作用做一个历史性的回顾是非常必要的 我们建议理解一个系统最有效的方法是建立一个明细表,记录系统外露的接口(interface)和系统履行的契约(contract)聚焦于契约和接口能容易地从关注于机器转移到关 注必须为企业提供的功能上沿架构层上溯,契约应直接映射于系统对象所保障的业务 过程 蜡變黲癟報伥铉锚鈰赘籜葦繯正确地创建和实现一个新的系统架构或改造现有的架构,会涉及到管理过程,通过这 个过程组织结构会在获得新架构的同时,也管理架构的组件装配这里包含管理各涉众间 的差异,也包含管理各个零件和部件此举的目的是改善创建和 (或)选择新应用的过程,以及将它们集成到已有系统中的过程,通过提高现有基础设施的效率来节省 IT 操作的费用。
買鲷鴯譖昙膚遙闫撷凄届嬌擻其它其他关于系统架构的关注点 以下是一些在建立支持企业的系统架构时需要考虑在内的关注点应用程序、 机器和网络所需支持的业务过程 这是企业系统架构的主要关注点 因此,3 / 10 一个架构师需要把公司的所有业务过程映射到用以支撑这些过程的应用和基础设施上这 个映射应下放到符合业务要求的最低水平无论如何,业务需求和实现间百分之百的吻合 总是不可能的綾镝鯛駕櫬鹕踪韦辚糴飙铳麦整个架构中折中部分通常受损的领域有数据和安全架构,以及数据质量数据架构 受损是因为使用者缺乏知识和经验,不知道改变程序可能造成的后果安全架构受损的原 因是安全性常会被员工看成一种不必要的麻烦数据完整性受损的原因是人们被迫在过短 时限内制造过多的数据,而无法对数据进行适当的交叉 检查驅踬髏彦浃绥譎饴憂锦諑琼针系统架构的涉众这些相关人员包括如下各类:创建已有架构的人员负责管理和加强架构的人员业务中通过变更现行的系统架构,会造成积极或消极影响的人员 参与到有效功能操作并持续存在于协作中的业务贸易伙伴和其它其他企业 直接通过因特网处理的任何客户涉众的需要和关注点对系统架构应当作何改变和新架构是否成功,会产生巨大的影 响。
新架构所包含的环境上下文 (context)在这里,环境上下文指系统架构定位的全局的企业现实如果你的公司限于单个国家、语言、货币,那么你的环境上下文可能会相对简 单卡纳夏是一个全球化的企业,它的相关涉众使用不一样的语言,居住于多个时区;它 的企业文化是许多区域文化的复杂混合总之,这种分布性是增强卡纳夏竞争力的一个积 极因素猫虿驢绘燈鮒诛髅貺庑献鵬缩系统架构处理的数据关于数据架构的详细内容请参见第 11章 数据架构”工作于现有的系统架构企业中往往不具备能对业务系统架构具有一致概观的个人或团队梅勒发现自己所处 的境况正是如此卡纳夏的系统架构没有被规划过公司发展多年,却从未在它的应用、 网络和机器设备上认真地花费过任何时间或努力这类在发展期间从未有一个一致履行的 系统架构的公司可能有所谓的烟囱式架构 (stovepipe architecture)锹籁饗迳琐筆襖鸥娅薔嗚訝摈不佳的架构以设备大杂绘和散布于企业物理各分支的软件为特征设备和软件是为了 短期的、战术化的解决方案而获取的,为着解决某个时刻团体所面临的问题互联性至多 只是事后产生的想法烟囱式架构通常是偏重功能规划的大型项目的结果,通常其设计目 的是实现企业的某个特定的功能。
这些系统经常是临危受命的,公司的有效运作必须依靠 它们一般来说,这些系统牵涉到运行它的应用程序和硬件更换这些系统往往被认为是 代价高昂以至于难以承受烟囱式架构会伴生一些问题 構氽頑黉碩饨荠龈话骛門戲鷯系统不能很好地适应它们所应支持的业务过程,这可能由于以下原因:。