一、引言


在开发设计一个产品的时候,需要对这个产品的架构要做一个精细的设计,要把功能模块化,好让各个模块直接互不影响、独立开发。现在拿一个互联网产品P2P为例,来描述一下架构的基本设计。

二、架构


在互联网产品中,一般包括:后台管理系统(manager)、门户网站(portal)。对于manager和portal有共通性的功能,抽取出来成公共的模块(common),而对于common的jar依赖,可以用maven来管理,所以就可以在common的基础上,把所有的项目要进行依赖管理独立出来交给maven(parent:只做依赖管理,不做任何开发),具体的结构图如下:

互联网产品架构 互联网产品组织架构_架构

对于上图中的各个模块的打包方式如下:

模块

打包方式

备注

Parent

pom

只做依赖管理,不做任何开发

Common

jar

把manager和portal共同性的功能放在这里

Manager

jar

Portal

jar

Web

war

我们在开发的时候,把一个项目根据功能模块,拆分成一个一个的子项目,可是在运行的时候,要把它们当成一个整体来运行,也就意味着在运行的时候只能运行一个项目,也就是一个war包,如果是两个war包,它们就是两个独立的应用,这就不对了,所以只能把Web打成war包,Manger和Portal打成jar包。

三、步骤


(1)、在Eclipse中创建Maven项目(Parent:这里需要注意的是:打包方式是pom)

互联网产品架构 互联网产品组织架构_jar_02


互联网产品架构 互联网产品组织架构_架构_03

(2)、在Eclipse中创建Maven项目(Common:这里需要注意的是:打包方式是jar)

互联网产品架构 互联网产品组织架构_war_04

(3)、在Eclipse中创建Maven项目(Manager和Portal:这里需要注意的是:打包方式是jar)

互联网产品架构 互联网产品组织架构_架构_05


互联网产品架构 互联网产品组织架构_架构_06

(4)、在Eclipse中创建Maven项目(Web:这里需要注意的是:打包方式是war)

互联网产品架构 互联网产品组织架构_jar_07


这里web项目创建完,会报错,是因为该项目没有web.xml文件。解决办法:右击项目–>properties,然后见下图

互联网产品架构 互联网产品组织架构_pom_08


互联网产品架构 互联网产品组织架构_war_09


互联网产品架构 互联网产品组织架构_pom_10


互联网产品架构 互联网产品组织架构_war_11

(5)、创建完项目的目录机构

互联网产品架构 互联网产品组织架构_互联网产品架构_12

(6)、为Web项目添加Manger和Portal依赖

互联网产品架构 互联网产品组织架构_jar_13


互联网产品架构 互联网产品组织架构_pom_14

(7)、为Manger和Portal项目添加Common依赖,同(6)
(8)、为Common项目添加parent

互联网产品架构 互联网产品组织架构_pom_15