引子 昨天在网上看到一个帖子,帖子的内容大概是说领导要求一个苦B程序员实现一个单点登录的系统,将各个业务系统联系起来,但不能修改其他业务系统的源码。 其实,在企业信息化过程中,通常有多个应用系统,每个应用系统中,有独立用户管理模块,用来保存每个用户对应的账号,权限等信息,为了减少每个人登录系统时,记忆密码的麻烦,经常会用到单点登录功能。 我们公司用的就是CAS单点登录系统,我们抛开CAS这种成熟的单点登录系统,从头开始思考和设计一下单点登录如何实现。 需求简述 单点登录系统保存了用户的登录名和密码,上网用户
来源:先国 ---- 业务中台的运营工作要以什么样的方式,把自己的运营工作转换成对业务开展的支持呢?这离不开核心业务系统。 一般而言,几乎所有的成规模的企业,都具备“业务作业系统、客户管理系统、网络渠道管理、管理数据集成”等基本核心系统,即使没有独立自主的开发能力,也有市场上较为成熟的SaaS服务商能够提供第三方软件开发服务。 核心业务系统是业务中台开展业务运营工作的重要载体,是业务中台部门开展工作的重要场景,也是业务中台部门开展工作的直接成果。那么,该如何基于核心业务系统,搭建业务中台部门的运营体
在2021年2月7日,中国人民银行发布了《金融信息系统多活技术规范》,将其作为指导金融行业标准。可以说金融业关系国计民生,维护金融信息系统安全是国家信息安全的重点,因发生灾难导致金融服务中断,可能对企业内部管理、公民、法人和其他组织的金融权益甚至国家金融稳定和秩序产生影响。为规范和引导在金融信息系统合理运用多活技术实现业务承载和灾难恢复,有效防范金融信息系统风险,保护金融机构客户的合法权益,特编制这一标准。本文针对这一标准并结合外部实践经验进行探讨。
前面为了不干扰主要的知识点,一直在回避一个问题:怎么看待在组织外面和组织打交道的人?例如,以“中原城镇银行”为目标组织,它服务的储户算什么?
测试背景,是新系统还是旧系统改造,评估测试重点,新系统预估可能的性能瓶颈在哪里,旧系统有哪些历史性能问题,旧系统本次进行了哪些改造等。
在软件开发过程中,理解和建立业务模型是第一步,但如何从业务模型顺利过渡到系统模型同样重要。本文将为您介绍从业务模型到系统模型的转换过程,涵盖理解业务需求、建立业务模型、识别系统需求、创建系统模型等关键步骤。
首先,我们应该明确进行需求分析的目的。我认为,进行业务需求分析的直接目的就是为了进行信息系统的开发,所谓的需求,就是信息系统建设的需求。如果一个业务不需要信息系统就能有效开展,就不需要进行需求分析,直接开展业务就行。进行需求分析,是为开发信息系统服务。是为了让系统开发者明白,需要开发一个怎样的信息系统。如,需要什么样的功能,有什么样的输入输出,有什么样的交互界面,业务处理的规则是什么等等。当然,在需求分析过程中,有可能使得业务人员更加清晰其原来对业务的考虑,进而对其业务进行重新定义。但归根结底,进行业务需求分析还是为了开发出一个信息系统,支持业务的开展。
随着电力行业信息化建设的快速发展,尤其是随着云原生和分布式技术在电力信息化建设中的大范围推广和应用,电力行业云上业务系统变得更加复杂,业务系统内部节点和互相之间的健康关联影响也越来越动态多变,给资源管理、系统监控、运行维护工作带来了极大挑战。
随着云原生技术的发展,业务系统从原有的单体架构逐步转换为微服务架构。微服务架构使应用的开发和业务的扩展变得更加便利,同时也带来了许多新的安全问题。那么,生长在云原生环境下的业务系统面临着哪些安全隐患?攻击者如何利用这些隐患对业务系统进行攻击?针对所存在的隐患和可能面临的攻击如何进行异常检测和安全防护?各位读者将在《云原生安全:攻防实践与体系构建》书籍中找到答案。
建模竞赛题比起《软件方法》书中的题目要更难一些,可以作为熟悉了《软件方法》中的基本知识之后的进一步练习。题目颇有些陷阱,应一些同学的要求,挑部分题目给出答案并详细讲解,知识点其实都在书中。
需求是业务和技术的桥梁,是行业知识向数字化转换的过程,业务是需求的输入,需求是设计的输入。即需求的关键元素必须从业务分析的元素演化而来,后续的高阶设计需要从需求一脉相承,一以贯之,每个元素需要有完整的生命周期和演化链,这是一个有机的整体。以业务对象为例,在业务分析阶段,业务客体是业务对象,在需求阶段,业务客体演化为对象实体,在设计阶段,对象演化成为数据库物理模型中的表或者视图。
作为互联网公司的研发工程师,微服务的架构思想对于各位读者朋友来说,已经不是陌生东西。我们当中的大多数人,或多或少经历过从单体应用到微服务化的系统拆分和演进过程。我们按照庞大系统的业务功能和特征,将其从一个单体的大应用,逐渐地拆分成很多的子系统的协同配合完成业务功能,甚至拆分后的某些子系统服务,还可能再拆分出来更多的更细颗粒度的子系统服务。拆分后的服务之间,采用PRC调用方式的通信,也就越来越多。随之而来的,跨系统服务之间的数据一致性的问题就会越来越突出了。比如电商系统中营销活动系统的积分和优惠券的发放和扣减,比如电商系统的核心下单核心链路上,首页瀑布流,商详页,下单页等等商品价格全链路一致性等等,支撑这些业务功能的实现,往往可能需要依赖来自N个不同的业务系统服务提供的数据读写服务能力来完成。
电商系统演进的主要驱动力是业务发展带来的规模和复杂度的挑战,不同阶段解决的主要矛盾不同。
业务分析阶段是由业务分析师 基于自身的业务知识和类似产品的参考,再结合客户、领域专家的咨询和指导输出业务分析阶段的成果,主要包括 领域模型 和 业务模型
业务(Business):在大多数情况下,表示一个组织、公司或个人所从事的商业活动、服务或工作,有相应的流程和规则。可以理解为达成某种目的(如盈利、增长、满足客户需求等)所进行的各种活动,涉及到如何创建价值、满足需求和实现目标。业务相关活动所涉及的问题范围,即问题域(Business Domain),问题域通常也就是公司为其客户提供的服务。以支付业务为例:
业务系统的演进主要取决于业务场景,业务场景的定义和认知是随着公司发展而形成的,基本上有着一定体量的大公司技术架构都相对稳定,业务架构则主要是对业务发展产生影响,好的业务架构能够保证业务更好的发展。本次嘉宾将会为大家分享饿了么业务架构的演进之路。
在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。此君说的架构和彼君理解的架构未必是一回事。因此我们在讨论架构之前,我们先讨论架构的概念定义,概念是人认识这个世界的基础,并用来沟通的手段,如果对架构概念理解不一样,那沟通起来自然不顺畅。
在大多数情况下,表示一个组织、公司或个人所从事的商业活动、服务或工作,有相应的流程和规则。可以理解为达成某种目的(如盈利、增长、满足客户需求等)所进行的各种活动,涉及到如何创建价值、满足需求和实现目标。
各个企业都认可信息技术部门对于企业发展的重要地位,但是,该部门往往不具有与核心部门同等的部门话语权。该问题的核心是,IT信息部门在现有模式下已经被更高的领导层定位成了业务支持部门,是一个花钱的成本中心。
灾难备份是指为了减少灾难发生的概率,以及减少灾难发生时或发生后造成的损失而采取的各种防范措施。
今天分享下SOA服务架构规划的整体方法论,并基于多年前的一个项目案例进行说明。在传统的企业架构规划里面往往并没有特意强调服务架构规划,仅仅是在应用架构规划里面增加了应用集成架构分析和接口梳理。
重点3:老大、愿景、需求都是基于现状寻找最值得的改进。改进过后,又是新的现状了,还是基于现状寻找最值得的改进。进一步说也可以说,需求只有真假对错,没有变化。说需求有变化,那是从一个静止时间点来看的。
通常我们做架构评估的时候,一般会对关联系统的性能,容错弹性,业务扩展性等进行论证,但很少会考虑各个系统的业务价值以及这些业务价值和前述架构特性之间的关系。
写在前面
业务架构大家都在做,到底什么是业务架构,业务架构有什么用,如果要做业务架构需要注意些什么?
在复杂的软件开发过程中,业务模型、系统模型和软件模型是三个关键层次。它们不仅定义了不同的抽象层次,还代表了开发过程中的不同阶段。本文旨在探讨这三个模型之间的边界,并强调它们之间的相互关系和协作。
问:又看了一遍 如何提高代码的扩展性 的分享,里面提到你们团队会做概要设计。能分享一下概要设计抓的点是哪些吗?需要产出哪些方面的文档?
在一个软件开发环境里面会包含三种角色,分别是人、系统和机器。这里的人是指我们的程序员,系统就是程序员开发出的软件系统,然后把这个系统发布到机器上面并运行起来。
通过制定性能测试实施指南,从技术角度对性能测试实施过程中所涉及到的关键技术进行规范,能更好地从技术上来规避系统上线后的风险、评估线上系统的真实能力、根据业务模型摸底线上能力以提前应对。
用户需求及规格说明书主要有两种组织方式,一是由用户需求说明书和需求规格说明书组成,分别从业务需求描述和系统需求的角度进行分析;二是融合业务需求和系统需求两部分为一体。
企业与其供应商之间进行业务往来时,需要传输大量的业务数据。这些数据形式多样,结构复杂,传输起来难度很大。如何高效地传输企业业务数据成为企业发展过程中需要克服的重点问题。
内容来源:2017 年 12 月 2 日,饿了么研发总监石佳宁在“IAS2017互联网架构峰会”进行《饿了么交易系统应用架构演进》演讲分享。
随着微服务架构的普及,微服务系统所面临的安全问题受到越来越多的关注。而API安全是微服务系统安全的重要组成部分。本文从业务安全层面介绍微服务架构中API所面临的安全问题和解决思路。
前台 比较好理解,指的是 面向C端的应用,比如像微信、淘宝这样的应用。不过,你要注意,前台不仅仅是指前端,它还包含和前端配套的服务端。
这里记录,我每周碰到的,或想到的,引起触动,或感动的,事物的思考及笔记。不见得都对,但开始思考记录总是好的。
概念:通过技术的手段模拟大量用户同时访问被测应用,观察、记录和分析系统的各项性能指标的过程。
用户的原始需求往往是零散和碎片化的,产品经理的职责就是:告诉用户,系统长什么样子;告诉开发,他要实现什么功能。
潘老师,对于基础数据维护和报表在业务用例是不要体现的吧? 潘加宇(704837756)23:02:29 这个问题问得很简单,却暴露出开发人员在业务建模中相当根本的思路错误,这个思路错误会导致我们的业务建模变成假的业务建模。 首先,这个问题本身问得不正确。"基础数据维护和报表"听起来像是你要开发的某个系统的功能(业务实体的责任),业务用例是一个组织对外提供的各种服务。一个组织提供的服务不会体现某个业务实体的责任。 那么,我猜想你问的问题是:在业务建模中,维护基础数据、出报表等业务流程中的活动应该放在哪个业务用例的下面描述?还是把它们单独归纳成一个业务用例? 如果你的问题确实如我所说,那么回答如下;"维护基本数据、出报表"不能简单地视为同一种活动来处理。这样的思考方式已经是"以你的系统为中心组织的业务建模"了,估计就会想画出这样的错误图:
简而言之,应用架构图分为两类,一类为多系统应用架构,用来分层次说明不同系统间的业务逻辑关系、信息流、系统边界等等。一类为单系统应用架构,用来分层次说明系统主要组成模块和功能点之间的业务逻辑关系。
软件开发的主要目的是为行业的业务问题提供技术解决方案,例如为航空公司的飞机实现自动导航,为汽车公司的汽车生产进行产销平衡,等等。从范围上看,软件开发所覆盖的范围可以划分为两个领域:我们要开发的软件系统属于解决方案域,而软件系统来自于和最终服务于的业务领域(例如飞机导航、汽车生产等等)属于问题域。问题域存在问题,软件系统为问题域的问题提供技术上的解决方案。
架构设计存在两类系统的设计:大型系统和简单系统的架构设计。如何进行简单系统(单系统)设计我们看到的文章很多,大型系统设计相对较少。如何进行大型系统设计?是我们今天讨论的话题。
本章,我就针对最近十几年电商平台的架构变化过程,来具体说明下,为了支持业务的快速发展,架构是如何一步步演进的。
无论你是什么首席架构师也好,技术负责人也好,你必须要承认,所有的技术和架构都是为业务服务的,脱离了业务,架构就是一团废纸。
这里还有往下的一步就是如何把这个业务模型配置到工具中去。这个步骤其实在我写第二个专栏的时候,在第6章的最后是写了具体的操作过程的。后来我想这个应该是所有性能测试工程师的日常工作内容,所以从难度和重要性上来说,都过于平常了,而性能测试工程师对这一过程应该是非常熟悉的,没必要再啰嗦一遍,就像性能工具的基本操作一样,所以就没放到专栏上去。
“ 在之前的文章中我们探讨了在支付系统中如何设计有效地防重失效机制,今天继续探讨在搭建支付系统时另一个比较关键的问题:渠道参数路由化配置如何设计?”
本人从事过3年的移动业务运营支撑系统开发,行业术语叫做boss系统,后又转入游戏行业进行游戏开发。 现设计一个业务运营支撑系统的架构如下: 详细解释各模块如下: gateway/dispatch :
公司业务系统的账户资金对接了第三方存管业务,第三方存管指的是银行与证券公司根据相关的法律法规,为投资者提供的客户交易结算资金管理服务。根据银行要求,在每个交易日闭市后业务系统都要将客户的资金变动情况生成清算文件发送给银行进行资金的清结算。
对于软件开发团队而言,软件开发的全过程是:做什么 -> 怎么做 -> 做 -> 成果检验 -> 交付部署;其中,“做什么”对应的是需求分析过程,“怎么做”对应于软件架构设计过程,“做”对应于开发过程,“成果检验”对应于测试,部署由运维团队执行后,如果达到用户的要求,则软件上线后进入软件的运行生命周期。
领取专属 10元无门槛券
手把手带您无忧上云