首页 文章 精选 留言 我的

精选列表

搜索[栈],共10002篇文章
优秀的个人博客,低调大师

把软件架构演进体现在

曾几何时,企业架构师要为了得到承认和支持而抗争,但这种时候正在过去。大多数企业现在已经意识到实现业务流程中敏捷性和效率需要业务目标、人力资源以及信息技术的结合。 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流程解耦,而不是不经意间延续下去。 ====================================分割线================================ 本文转自d1net(转载)

优秀的个人博客,低调大师

谷歌 AI Studio 推出全式“Vibe Coding”功能

谷歌 AI Studio宣布推出“Full-stack Vibe Coding”:用自然语言直接生成并运行完整应用(前端 + 后端 + AI 能力),开发门槛进一步被抹平。 目前 AI Studio 已内置 Full-stack 运行环境,支持: 服务器端逻辑(server-side) 安全密钥管理(secrets) npm 生态 部署能力 据介绍,此次更新旨在将提示词直接转化为生产级应用,核心在于引入 Google Antigravity 编程 Agent,加速从原型到部署的流程,并通过内置 Firebase 集成提供安全的云存储与用户认证功能。 新功能支持构建实时多人游戏及协作空间,Agent 可自动检测需求并配置 Cloud Firestore 数据库。系统兼容现代 Web 生态,能按需安装 Framer Motion 等库,并支持 Next.js 框架。此外,开发者可通过密钥管理器安全集成地图、支付等外部 API,实现跨设备进度同步。 借助更强大的上下文理解能力,该能执行精确的多步代码编辑。目前,谷歌内部已使用它构建数十万应用,未来还将集成 Workspace 服务,助力开发者快速打造功能完备的 AI 原生应用。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册