基于领域驱动与微服务的OA系统研究与实现

发布时间:2021-06-10 07:20
  办公自动化系统以其高效、便捷的特点在企业竞争中发挥着越来越重要的作用。办公自动化系统飞速发展的同时,也受到各种各样的网络非法攻击,造成重要数据丢失,隐私泄露等信息安全问题。此外,办公自动化系统的复杂度越来越高,而可扩展性却越来越低,因此,本文提出利用微服务架构与领域驱动设计优化办公自动化系统,以此提升办公自动化系统的安全性与可扩展性。主要研究内容如下:首先,针对传统的办公自动化系统安全性不足的问题,提出采用微服务架构开发新型办公自动化系统,实现高效安全的身份认证。微服务架构的认证与鉴权采用用户名和密码生成登录用户唯一Token令牌的方式标明用户身份,在用户使用系统的过程中持续认证用户身份;微服务架构的认证与鉴权为Token令牌设置有效时间来保证令牌的时效性,令牌失效将禁止访问系统页面;微服务架构的认证与鉴权加入了API网关校验Token令牌的有效性与时效性;微服务架构的认证与鉴权在API网关中进行Token令牌的注销,防止Token令牌的滥用。其次,针对系统复杂度高导致的办公自动化系统可扩展性较低的问题,本文结合领域驱动设计理念设计并实现办公自动化系统,提高办公自动化系统可扩展性和可维... 

【文章来源】:中国矿业大学江苏省 211工程院校 教育部直属院校

【文章页数】:81 页

【学位级别】:硕士

【部分图文】:

基于领域驱动与微服务的OA系统研究与实现


领域驱动设计

实体,人员,底层,核心


提升系统性能,会将客户信息customer和账户信息account两类数据保存到同一张数据库表中,客户和账户两个实体可根据需要从一个持久化对象中生成,这就是多对一的场景。(2)值对象本质上是一个集合,这个集合中有若干个用于描述目的、具有整体概念和不可修改的属性[53]。在领域建模的过程中,值对象可以保证属性归类的清晰和概念的完整性,避免属性零碎。比如人员实体原本包括:姓名、年龄、性别以及人员所在的盛市、县和街道等属性,可以将盛市、县和街道等属性拿出来构成一个“地址属性集合”,这个集合就是值对象了。如图2-2。图2-2人员实体Figure2-2Personneloftheentity实体和值对象是微服务底层的最基础的对象,一起实现实体最基本的核心领域逻辑[54]。值对象在某些场景下有很好的价值,但是并不是所有的场景都适合值对象。开发中需要根据团队的设计和开发习惯,以及实体与值对象的优势和局限分析,选择最适合的方法[55]。DDD提倡从领域模型设计出发。传统的数据模型设计通常是一个表对应一个实体,一个主表关联多个从表,当实体表太多的时候就很容易陷入无穷无尽的复杂的数据库设计,领域模型就很容易被数据模型绑架。值对象的诞生无ID,不可变,无生命周期。值对象之间通过属性值判断相

架构图,事件,架构,领域


2DDD-OA理论基础11图2-3领域事件总体技术架构Figure2-3Domaineventsoveralltechnicalarchitecture(1)事件构建和发布。事件基本属性至少包括:事件唯一标识、发生时间、事件类型和事件源,其中事件唯一标识是全局唯一的,保证事件能够无歧义地在多个限界上下文中传递。事件基本属性主要记录事件自身以及事件发生背景的数据。事件中还有一项更重要的业务属性,用于记录事件发生那一刻的业务数据,这些数据会随事件传输到订阅方,以开展下一步的业务操作。事件基本属性和业务属性一起构成事件实体,事件实体依赖聚合根。领域事件发生后,事件中的业务数据不再修改,因此业务数据可以以序列化值对象的形式保存,这种存储格式在消息中间件中也比较容易解析和获龋事件发布之前需要先构建事件实体并持久化。事件发布的方式有两种,一是通过应用服务或者领域服务发布到事件总线或者消息中间件,二是从事件表中利用定时程序或数据库日志捕获技术获取增量事件数据,发布到消息中间件。(2)事件数据持久化。事件数据持久化用于系统之间的数据对账和实现发布方和订阅方事件数据的审计。遇到消息中间件、订阅方系统宕机或者网络中断等问题时,在问题解决后仍可继续后续业务流转,保证数据的一致性。事件数据持久化有两种方案,在实施过程中根据具体的业务场景进行选择。一是持久化到本地业务数据库的事件表中,利用本地事务保证业务和事件数据的一致性,二是持久化到共享的事件数据库中[62]。(3)事件总线。事件总线是实现微服务内聚合之间领域事件的重要组件,提供了事件分发和接收等服务。事件总线是进程内模型,在微服务内聚合之间遍历订阅者列表,采取同步或异步的模式传递数据。如果是微服务内的订阅者(其


本文编号:3221944

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/shengwushengchang/3221944.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户772f4***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com