互联网产品的项目架构
一、引言
在开发设计一个产品的时候,需要对这个产品的架构要做一个精细的设计,要把功能模块化,好让各个模块直接互不影响、独立开发。现在拿一个互联网产品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)
(2)、在Eclipse中创建Maven项目(Common:这里需要注意的是:打包方式是jar)
(3)、在Eclipse中创建Maven项目(Manager和Portal:这里需要注意的是:打包方式是jar)
(4)、在Eclipse中创建Maven项目(Web:这里需要注意的是:打包方式是war)
这里web项目创建完,会报错,是因为该项目没有web.xml文件。解决办法:右击项目–>properties,然后见下图
(5)、创建完项目的目录机构
(6)、为Web项目添加Manger和Portal依赖
(7)、为Manger和Portal项目添加Common依赖,同(6)
(8)、为Common项目添加parent
互联网产品的项目架构相关推荐
- 《程序员》7月刊特别策划:互联网产品设计十年
文 / 千鸟 1997年,号称中国互联网元年.同年7月,网易成立一个月之后,马上提供了免费个人主页服务.也就是说,从1997年7月起,"网页设计师"这个词已经出现在江湖上.论辈份, ...
- 云原生与微服务架构基础:01 | 为什么说云原生重构了互联网产品开发模式
为什么说云原生重构了互联网产品开发模式? 云原生的概念 云计算的前世今生 阶段1:虚拟化技术 阶段2:虚拟机的市场化应用 阶段3:容器化和容器编排的兴起 云原生到底是什么? 云原生出现的背景 云原生解 ...
- 互联网产品设计进阶(10)关注项目的赢利模式
整天都在思考项目的进展,忙碌了一天,终于有点时间来打理思绪.晚上收到一位编辑朋友送来的几本书,里面有一本最近比较热门的<设计原本>.读一本书时,我喜欢看书的前言,因为这里反映了作者的原始动 ...
- php项目分布式架构设计,【转】互联网项目架构之基于服务的分布式架构
以前一直找一篇通俗易懂的文章,今天终于找到了,记录下. 文章来源:赵小忠 文章地址:https://www.cnblogs.com/1315925303zxz/p/6371550.html 随着互联网 ...
- 互联网产品运营的组织架构
互联网产品运营的组织架构可以有很多种不同的设计方式,因此无法给出一个确切的组织架构.但是,通常情况下,互联网产品运营团队的组织架构包括以下几个部分: 产品经理:负责产品的规划.设计和开发. 运营经理: ...
- 互联网项目架构演变历史
互联网项目架构演变 目录 互联网项目架构演变 一.起源--单机版项目 二.改进版本1--Memcache缓存 三.改进版本2--MySQL主从读写分离 四.改进版本3--MySQL集群 五.目前互联网 ...
- 微服务架构 之 互联网项目架构演变过程 (单点架构,模块化架构,分布式架构,soa架构,微服务架构)
一.什么是单点系统(传统架构)? 1.传统的SSH,SSM 架构,分为三层架构 web控制层.业务逻辑层.数据库访问层. 2. 传统架构也就是单点应用,就是大家在刚开始初学JavaEE技术的时候SSH ...
- 推荐|5种商业AI产品的技术架构设计!
来源: 达观数据 概要:今天我们就特别推荐达观数据的几个商业产品设计技术架构,希望对于广大技术有帮助. 做任何一个商业产品设计,技术架构都是首先要考虑的,特别是面对海量数据的AI商业项目更是如此.今天 ...
- 互联网产品开发中的“快”字诀
当今互联网的发展,已不是大鱼吃小鱼的时代,而是快鱼吃慢鱼的时代.互联网产品的制胜原则就是一个字--"快".在各种形态的产品研发中,我们始终贯彻如一的价值观之一就是"快&q ...
最新文章
- 记录一下有关ChArUco标定板
- 皮一皮:到底是土还是士...
- docker-compose 部署elk+解决时间不对导致kibana找不到logstash定义的index + docker-compose安装...
- dtft变换的性质_[2018年最新整理]DTFT变换.ppt
- python爬京东(带GUI)
- 瑞银报告:Waymo在2030年占据全球60%无人出租车市场
- 从 JVM 层面理解 i++ 和 ++i 的真正区别!
- 将服务费用DIY到底----走出软件作坊:三五个人十来条枪 如何成为开发正规军(十)...
- UCHOME出现问题(转帖)
- 声纹技术(四):声纹识别的工程部署
- HTML常用排版标签
- c/c++ 头文件(.h)、源文件(.cpp)书写及接口与实现分离实例
- java获取一年的周数、单周开始时间与结束时间、一年所有周开始时间与结束时间、月开始时间与结束时间
- (新版)SJTU-OJ-1011. John and Cows
- 中心移动平均_移动流量资费再降20%以上!
- 计算机图形几何算法详解勘误
- 计算机网络之五层体系结构
- 计算机操作系统第四章虚拟存储器
- Android项目开发教程之OpenGL ES
- 1497: 变态杀人狂
热门文章
- 是不是网站服务器限速最高11,限制网速多少合适(100m访客限速多少kb合适)
- STM32H750 QSPI FLASH使用小结
- android 多媒体框架服务之StagefrightPlayer和OMXCodec实现原理学习
- Matlab GUI 如何编写下拉菜单
- IE/Firefox 自动关闭窗口
- python自动写作ai_论文自动写作之自动添加参考文献
- Flash 存储器接口标准:CFI和JEDEC
- JS的传递数据不刷新页面的应用
- Spark Streaming之DStream的基本工作原理
- 【汇正财经】股票面值和股票净值是什么?怎么计算?