书签 分享 收藏 举报 版权申诉 / 6
上传文档赚钱

类型为什么构建架构工作台.docx

  • 上传人(卖家):阳光照进你心里
  • 文档编号:3287152
  • 上传时间:2022-08-16
  • 格式:DOCX
  • 页数:6
  • 大小:20.38KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《为什么构建架构工作台.docx》由用户(阳光照进你心里)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    为什么 构建 架构 工作台
    资源描述:

    1、为什么构建架构工作台?在ArchGuard中,我们想治理的是架构的三种形态:设计态、开发态和运行态。对应于:设计新的企业(应用)架构。诸如于描述和设计系统的当前架构。理解和管控系统的现状。诸如于通过可视化的手段展示系统的现状、以规则来管理系统。观测系统架构的运行。同样,对于诸多中大型组织师的架构相关的部门来说,他们同样存在上述的这些问题。并且,我相信他们也面临着同我们构建ArchGuard时一样的困境:架构是多维的。包含技术、数据、安全、运维与系统等缺乏统一的架构语言。用于沟通的人类语言,诸如于什么是组件?系统的架构千奇百怪。架构风格或模式差异,如微服务架构、插件化架构等。缺乏业务上下文。作为

    2、一个外部架构师,帮助治理时缺乏一些上下文。细节是魔鬼。架构的世界丰富多彩,没有办法展现出来,比如一个小小的接口,可能会反转我们对于理解的假设。我们(ArchGuard团队)目前的架构能力有限(这个不会写出来的)资深架构师太少。所以,在实现这样一个标准化的架构模式系统之前,不如尝试构建一个更灵活的形式:架构工作台。它可以帮助我们更好地探索系统,也更符合我们的初期体验。什么是架构工作台对于工作台这一概念来说,作为一个活跃的DSL创造者,我比较熟悉的是MartinFowler在领域特定语言中对于语言工作台的定义:语言工作台是一个环境,其设计初衷就是帮助人们构建新的DSL,以及有效地运用这些DSL所需

    3、的高质量工具。也因此在定义上,我们参考了老马的定义,并借鉴了现代化的工作台理念,主要有:RStudio的代码文档化、Jupyter的交互性分析。所以,我们的定义是:架构工作台是一个环境,其设计初衷用于帮助人们设计架构、演进架构、观测架构,并有效地运用架构所需要的高质量工具,如交互式的架构开发和分析。代码文档化,用于帮助我们更好地管理架构代码,将它融入软件开发生命周期里,如架构文档、用户故事、持续集成等。而交互性分析,则是用于帮助我们有效减少定制的代码,进而演变为提供的是API接口,与其定制化的代码。对于架构工作台来说,它应用包含了以下一些核心功能与特性:设计架构、演进架构与观测架构。构建架构的

    4、数字挛生说明性编程与显式设计在这些特性中,我们认为构建架构的数字事生是这个工作台最应该被重视的部分,而基础块则是:设计架构、演进架构与观测架构。基础:设计架构、演进架构与观测架构在治理架构时,我们通常会关注于如何设计,如何演进,以及观测架构在运行时的状态。设计架构。这样的功能其并不能理解,难点是,如何提供高效的设计机制?采用UI拖拉拽的方式,又或者是DSL,都有各种的博弈。总体来说使用代码会更加友好。而为了直观的展示架构的设计,我们会通过架构图来表示,这也就是系统的核心。演进架构。其核心是构建架构治理模型和设计架构的适应度函数,以引导系统进行有序的变更。从实现的层面来说,就是从对实现出来的软件

    5、架构(即代码等)进行分析,设计度量指标,并提供高质量的工具,来引导架构回归到合理的状态。观测架构。即观察架构的应用的运行状态,主要依靠于各类的APM(appIicationperformancemanagement,应用性能监测)工具。在云原生时代,相关的工具也非常的流行,如SkywaIking等。一个基础的架构工作台,应该考虑上述的三个要素。进阶:构建架构的数字挛生理想的架构工作台,它应该提供一个可交互的架构的映射版本。它意味着:它是对系统或对象在其整个生命周期中的虚拟表示,我们可以根据实时数据进行更新,并使用模拟、机器学习和推理来帮助决策。从概念上来说,它提供了一个非常美好的未来,难点就在

    6、于如何实现这样的系统?我们正在设计ArchGuard的数字季生版本,则围绕于这三种形态的架构形式(从实现的层面考虑的):设计态。关注于边界、概念与交互。开发态。关注于层级、依赖与模块。运行态。关注于性能、链路层级与资源使用。这个版本相当于是设计态,在实现的时候,还会受到开发能力和数据上的制约。未来,我们是不是也应该代码及其架构李生的双向绑定?核心:说明性编程与显性设计我们所熟悉的各类架构相关的规范,它存在着诸多的问题,诸如于:规范不直观、规范没有自动化等。为了有效的演进架构,我们需要有效地结合规范、代码、设计,也就是说明性编程与显性设计,它们都是来自于PL(编程语言)/DSL(领域特定语言)中

    7、的概念。说明性编程(iIIustrativeprogramming)是用于加强执行结果的解释性,如在架构治理的场景下,通过生成架构图来理解DSL编写的结果。另外一类觉的方式,有诸如于Excel中的表格和图表等。详细可以查看文末MartinFowler的相关文章。显式设计。显式是通过明确编写要完成的指示来完成所需更改的手动方法。显示设计则是指引我们如何构建好系统的描述语言,诸如于ADL(架构描述语言)的DSLo除了,使用贴进架构描述的语言,还有用于支撑DSL的工具支撑,如编辑器智能感知。这两个特性是围绕于架构即代码这一理念所改善的,诸如于PlantUML、Graphviz这一类图表即代码(Dia

    8、gramsascode)也具备了这样的特质。其它特质当然,为了让这个系统更好用,我们还需要其它的一系列特性:架构演进的模拟验证。在构建了架构的数字挛生之后,我们就可以易于扩展的功能。即采用微内核架构,即插件化、微前端化等。依旧还有诸多东西可以探索,等待我们构建完第一个版本后,再展开讨论。我们应该如何去设计与实现的?我们现在ArchGuard中实践一个这样的系统,它相当地令人激动。作为一个早期的版本,它勉强可以工作,如下是我们构建系统的一些思路。1 .大数据的工作台作为灵感由于,系统是一个类似于数据分析的系统,所以我们的诸多流感来源于大数据领域。在工作台上,起初,我们的想法是构建一个采用RStu

    9、dio似的可编译报告,并提供类似于Jupyter的交互体验。可由于Jupyter的交互体验太差,下载的文件又没有可读性,不能方便地编辑+运行。所以,我们采用了Markdown作为数据格式,方便于开发人员编写文档,也可以在任意的IDE中打开和编辑。在UI上,则是采用ProseMirror主编辑器,即Markdown的编辑器,采用MonacoEditor作为副编辑器,即代码的编辑器。2 .构建基于REPL的抽象考虑到了IDE支持,我们采用了Kotlin来构建内部DSL,这样就无需外部DSL需要构建编辑器支持。接着,就采用了KotlinScriptingCompiler作为底层的REPL(read-

    10、evaI-printloop,也称为交互式顶层构件),简单来说,就是Kotlin语言的命令行模式。从形态上来说,类似于MySQLWorkbench的形式,又或者说是Python的CLI模式。随后,便是抽象系统(ArchGuard)、设计态的架构、架构适应度函数的DSLo3 .请求和响应程序的运行在有了编译器后端的支持及KotIinDSL的IDE之后,我们需要构建双者的桥梁。于是,我们采用WebSocket作为通信方式,返回结果上按不同的类型处理。诸如于:集成后端API的运行结果。图形结果。MermaidD3.jsEchart.js是针对于不同图形展示。执行对应的扫描。与通常的C/S结构开发无异。图形化的结果,用于支持我们的说明性编程与显性设计。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:为什么构建架构工作台.docx
    链接地址:https://www.163wenku.com/p-3287152.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库