项目选用SOA架构,以达到高效、简洁、易用,方便维护和升级的目的。
项目中每个服务模块所需依赖的jar包是比较多的,jar包的管理同样应该高效简洁。我们应该使用Maven的聚合工程里来管理。
这是应用软件的框架演变。
服务层和表现层分开,他们之间的数据交互通信联系通过Dubbo中间件。服务层专注提供服务,这样的软件的前景一下就很开阔了。
用maven建立:
1)父工程:
parent(定义整个项目工程所需的jar包及版本号,作为所有工程的父类,打包方式为pom)
2)共用工程:
common(继承parent,打包方式改为jar)
对于某个服务项目来说:需要建立两个工程项目
1)服务层:manager,继承parent。为如下结构(以下工程直接建立为manager的maven moduls)
manager (打包方式改为pom)
|--manager-dao (maven moduls ,自动继承manager,打包方式改为jar)
|--manager-pojo (maven moduls,自动继承manager,打包方式改为jar)
|--manager-interface (maven moduls ,自动继承manager,打包方式改为jar,相当于单一工程的service包,这样的分离在中间件层声明服务接口很方便)
|--manager-service(maven moduls ,自动继承manager,打包方式改为war,相当于单一工程的服务实现包,server.impl包)
2)表现层:
manager-web(继承parent,打包方式改为war)
小结:需要在浏览器运行的工程打包方式为war,其余(除parent外)打包方式均为jar;服务层和表现层的运行需要在pom.xml文件设定不同的端口号保证服务的正常运行。
注意:某个子工程要引用共用工程一定要把依赖加到pom.xml中,版本要一致,这样才可以找到。