1、项目概述(原型展示)
通过静态页面来展示功能,它就是一个后台系统。整个项目分为后台管理系统和移动端(APP),其中移动端就是给会员来使用,就是给体检机构的客户来使用。就是通过微信在手机上预约。如:
2、项目概述(技术架构)
Zookeeper:来实现dubbo的服务注册中心
Dubbo:来实现分布式的远程调用
Spring Security:来实现权限控制
Git:来实现版本管理工具
Apache POI:用来做Excel报表
Echarts:百度公司提供的图形报表
阿里云短信服务:在项目里涉及到发送短信
七牛云(存储服务):它是线上的云存储,在项目里需要用到图片和文件的存储
整个项目是分为后台系统和前端系统,而我们前端系统所看到的的页面最终需要展示在微信的公众号里面。
3、项目概述(功能架构)
传智健康管理后台是给体检机构内部员工使用,移动端是给体检客户和会员使用。
管理后台和移动端最终都会通过Dubbo来调用到服务层所提供的服务,这些服务都是基于Dubbo框架发布出来的。服务层通过MyBatis框架来操作MySql数据库。
整个项目就是基于SOA(Service-Oriented-architecture)即面向服务的架构,这么一种设计方式。体现面向服务就是后台与移动端来消费这些服务层的服务,具体是通过Dobbu框架来实现消费服务
4、项目概述(软件开发流程)
项目定义阶段:
可行性研究与计划:就是拿到项目后分析是否有利润可赚,然后开始设
计一个计划表,在哪个阶段达到什么样的成果
需求分析:就是对项目的业务场景进行分析,最终需要形成需求文档即
(PRD)文档
开发阶段:
设计:根据需求文档做出来设计文档,重要的工作是原型的设计,即管
理后台的原型与前台的原型设计,还有数据库的设计,即表结构的设计,如有哪些表、字段、字段类型、字段含义等等
编码:开发人员的价值,根据设计文档通过代码的方式体现出来
测试:测试人员完成
维护阶段:
运行维护:上线运维,这个时候就会把项目给部署上去
5、环境搭建(项目结构)
Health_parent:父工程,就是统一管理项目所依赖的jar包的版本,同时
还会聚合子工程,聚合之后只需要在父工程来执行相关
maven的命令,这些命令都会作用在相关的子模块里面
Health_common:打包方式为jar包,存放实体类与工具类等通用组件
Maven的打包方式一般有三种:
Jar包:packing属性的标签,项目在发布的时候就会打包成jar
War包:把一些web工程打包成war,需要把它部署在tomcat去运行
Pom包:父工程的打包方式
Health_interface:主要存放服务层的接口。基于Dubbo来发布服务,要发
布服务首先要有服务的接口,这个服务需要提供的一方使用到,消费的一方也使用到。打包方式为jar包。
Health_service_provider:主要存放Dubbo的服务。服务的提供方,服务
层的工程,这个工程需要单独发布服务,打包方式为war包。当调用服务的时候有可能会做数据库操作,所以Dao文件与Mapper映射文件也存放在这里,作为服务的提供方需要单独启动服务,就是单独运行在tomcat服务器里面,来单独发布服务。
Health_backend:后台系统,需要单独启动服务,是Dubbo服务的消费方。
管理后端的功能,需要单独运行,打包方式为war,作为服
务的消费方。因为它要消费服务,所以backend工程就会通
过Dubbo远程调用health_service_provider工程里的服务。
Health_mobile:移动端,单独启动服务,作为服务的消费方需要单独部署,
打包方式war。
6、环境搭建_maven项目搭建(health_parent)
首先创建一个空的项目:
由于它是父工程打包方式必须指定一下,打包方式为pom,来表示它是一个父工程,如:
通过标签所定义的坐标并不会被子工程直接继承过去,要是子模块想使用jar包,需要显示的去引入,只不过不需要在指定version,如:
这个标签的作用是这个项目里面所用到的所有jar包在这里统一来管理这些版本,而具体的这些子模块使用的jar包需要自己去引入,只不过不需要去指定版本了,版本是由父工程统一来锁定的。因为每一个模块所使用的的jar包是不同的。
7、环境搭建_maven项目搭建(health_common)
搭建health_common工程:
点击health_parent右键新建一个Module,如:
查看health_parent的pom.xml配置,会自动添加health_common聚合的配置,如:
8、环境搭建_maven项目搭建(health_interface)
配置health_interface子模块同上。在health_interface的pom.xml需要指定依赖health_common工程就行,就是用health_common的jar包。
9、环境搭建_maven项目搭建(health_service_provider)
作为服务的提供方,需要单独来发布服务,打包方式为war包,存放服务的实现类、Dao接口和Mapper映射文件。
由于它是war包,因此在创建的时候需要选择webapp骨架。
由于它是单独部署,因此需要使用tomcat,在health_service_provider1中的pom.xml中进行配置tomcat7插件, 后边在启动的时候就可以基于这个tomcat7插件。
这种方式是不容易造成端口冲突,如果使用传统的方式去配置tomcat,除了访问的端口还涉及到其它的端口,很容易发生冲突。在这个项目里是需要启动多个tomcat的。
Java目录一般为源码包,resource目录一般为资源包。
9、环境搭建小结
这个项目最终要启动3个tomcat:
Health_service_provider1、health_backend、health_mobile
Health_service_provider1需要启动tomcat来单独部署到里面去并发布服务。health_backend和health_mobile都是作为dubbo服务的消费方,都需要通过网络(Dubbo)远程来访问provider,其实就是来消费它的服务。
传智健康管理后台对应health_backend,移动端对应health_mobile,服务层的服务都在health_service_provider里面。