文档
本项目根据其技术实现分为微服务和单体应用。使用的主要技术如下:
Spring MVC框架提供了构建Web应用程序的全功能MVC模块。使用Spring 可插入的MVC架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架,它解决了WEB开发中常见的问题(参数接收、文件上传、表单验证、国际化等等),而且使用简单。支持RESTful风格的URL请求。采用了松散耦合可插拔组件结构,比其他MVC框架更具扩展性和灵活性。
Sprint Boot的优势在于简化依赖,简化配置,简化部署。Spring Boot内嵌了tomcat,我们只需要将项目打成jar包,可以一键式启动项目。降低了对运行环境的基本要求。
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
Web Service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的交互操作的应用程序。
XML由于其具有可扩展性、自描述性,使得XML日益成为数据交换的标准。由于XML具有可扩展性,允许使用者自定义标记,因此成为标准制订者的有力工具,人们利用XML定义了各式各样的标准。
AngularJS是一个比较完善的前端MVVM框架,包含模板、数据双向绑定、路由、模块化、服务、过滤器、依赖注入等所有功能。同时其模板功能强大丰富,并且是声明式的,自带了丰富的Angular指令。
EasyExcel是一个基于Java的简单、省内存的读写Excel的开源插件。在尽可能节约内存的情况下支持读写百兆的Excel。
Hibernate 是一个高性能的对象关系型持久化存储和查询的服务,它为在数据库中直接储存和检索 Java 对象提供简单的 APIs,可以操控数据库中对象复杂的关联,非常适合用来处理本模块中病例报告-流调任务-个案调查表-暴露地点-病例人员的复杂对应关系。
JSP和Freemarker模板能以模板化的方式简单、高效地添加动态网页内容,将设计好的组件容易实现重复利用,减少重复开发,针对60多个病种的个案调查表,可以通过封装的模板页面,快速实现功能。
Ehcache是基于Java编写的设计于提高在数据从数据库中取出来的高花费、高延迟采取的一种缓存方案,非常适合用来缓存数据字典、组织架构等需要频繁查询的数据,这些缓存极大的提高了模块的运行速度。
MyBatis是最简单、灵活的持久化框架,专注于SQL本身,是一个足够灵活的DAO层解决方案。SQL写在XML里,从程序代码中彻底分离,降低耦合度,便于统一管理和优化,可重用。
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Vue.js则是基于虚拟DOM,双向数据绑定,可以预先通过JavaScript进行各种计算,把最终的DOM预处理操作计算出来。
Redis在本系统项目中用于存储系统中各种数据字典,性能极高。Redis能读的速度是110000次/s,写的速度是81000次/s 。
MySQL的优点则是运行速度快体积小,命令执行的速度快。使用成本低。且开源的。与其他大型数据库的设置和管理相比,其复杂程度较低,易于使用。
Ocloud是自研的基础开发平台,封装了通用的前后端组件与方法,具备高复用性的特点,能快速构建出前后端分离的系统,保证系统规范、风格统一,加快系统开发进度。
MyBatis-Plus是最简单、灵活的持久化框架,专注于SQL本身,是一个足够灵活的DAO层解决方案。启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作,内置Sql注入剥离器,有效预防Sql注入攻击,内置通用Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分CRUD操作,更有强大的条件构造器,满足各类使用需求 。
EntityFrameworkCore的优势在于简化业务逻辑实现,屏蔽底层数据库的变化。使得开发者可以更注重于系统业务本身的实现而不必受困于不同数据库之间的各种差异。同时大大提高了业务逻辑的可读性和项目的可维护性。
Nuget则是与VisualStudio 高度集成的包管理器,可以很方便地搜索和管理项目的各种依赖项,对于丢失的依赖,会自动进行还原和修复。
Oracle的优点则引入了共享SQL和多线索服务器体系结构。减少了ORACLE的资源占用,并增强了ORACLE的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。提供了基于角色(ROLE)分工的安全保密管理。支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术。
MongoDB是一个基于分布式文件存储的数据库,支持大容量的存储。为WEB应用提供可扩展的高性能数据存储解决方案,能够更便捷的获取数据。
Bootstrap是基于HTML、CSS、JavaScript开发的简洁、直观、强悍的前端开发框架,使得Web开发更加快捷。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。
微服务包括传染病动态监测信息系统-专病管理模块、医院消毒与感染控制监测模块;慢性非传染病疾病监测系统;爱国卫生系统;健康危害因素监测管理信息系统-营养与食品卫生信息管理平台,学校卫生信息管理平台;应急准备与作业管理系统;业务数据分析与展现系统。