我所理解的架构是一个围绕业务目标和自身资源所构建的一套动态变化的系统,这套系统像是一个加工厂,同时承载着价值输出和自我净化的能力,DRAIS产品应该只是系统的一个输出。所以当谈到DRAIS架构时,其实应该站在系统的角度来全面思考,这样我们就避免工作中的一叶障目或是避重就轻。组织的架构、业务的架构、数据的架构、技术的架构无一例外地影响着最终得到结果。今天则只是从业务架构的层面再次深入去思考。
做业务架构时的出发点应该是长期的业务方向和愿景,而非阶段性的目标。因为前者关注持续发展,而后者关注阶段性交付。这就很自然地让我们在开展具体工作时无意识地产生不一样的关注点和不一样的决策。以系统发展的思维来思考架构,有助于我们更加宏观更加全面地考虑所有对业务目标产生影响的因素,而非具体而单一的业务流程的梳理、技术框架的选择、工作计划的制定和检查。因此,从需求出发去理解清楚不同用户以及他们特定的业务场景和特定场景下的业务目标是第一步,也是DRAIS架构的原点,这一步的输出是一个个具体的场景。到这里我们在思考价值。
接下来是要对不同业务场景和业务目标共性的抽取,找到具有共性的流程,共性的业务对象以及对象之间共性的关联,而这一步的输出是整个平台共性功能框架和共性数据结构输出的来源,到这里我们思考的是复用能力的问题。通过抽象我们把复杂的问题简单化,抓住事物主要矛盾,确保整个事情在宏观上的正确性。这样的决定有助于我们选择合适的组织架构,技术路线和管理策略。
这个时候我们需要停下来思考一个很重要的问题,那就是不同场景下的差异化需求应当如何得到满足,如何才能避免差异化诉求和不确定性给共性能力带来的冲击和挑战呢。核心点在于努力保护共性部分的内容不被破坏。不管外界有多大不确定性,我们的方向不能改变,我们的核心框架不能改变。这里我们思考的是如何在既有的核心内容之上的扩展。对复杂不确定的内容分而治之,让复杂性被分割在不同的局部和内部。而采用一致的方式与整个平台进行衔接。用这样的思想指导我们具体数据库混合设计,接口服务化设计,前端场景组件化设计。指导项目工作和产品工作的合理分配和无缝衔接,甚至包括与外部平台的衔接。
回到开始的所说的,DRAIS架构本身是动态的,因此每个环节都在发生变化,但是我们需要清楚知道这些变化的位置和相互影响,并努力将负面影响降低到最低。









网友评论