學習的第一天
課程計劃
一共14天課程
第一天:電商行業的背景。淘淘商城的介紹。搭建專案工程。Svn的使用。
第二天:框架的整合。後臺管理商品列表的實現。分頁外掛。
第三天:後臺管理。商品新增。商品類目的選擇、圖片上傳、富文字編輯器的使用。
第四條:商品規格的實現。
第五天:商城前臺系統的搭建。首頁商品分類的展示。Jsonp。
第六天:cms系統的實現。前臺大廣告位的展示。
第七天:cms系統新增快取。Redis。快取同步。
第八天:搜尋功能的實現。使用solr實現搜尋。
第九天:商品詳情頁面的展示。
第十天:單點登入系統。Session共享。
第十一天:購物車訂單系統的實現。
第十二天:nginx。反向代理工具。
第十三天:redis叢集的搭建、solr叢集的搭建。系統的部署。
專案總結。
今天的內容:
電商行業的背景。
淘淘商城的介紹。
工程專案的搭建。
Svn的使用。
電商行業介紹
電商行業發展
近年來,中國的電子商務快速發展,交易額連創新高,電子商務在各領域的應用不斷拓展和深化、相關服務業蓬勃發展、支撐體系不斷健全完善、創新的動力和能力 不斷增強。電子商務正在與實體經濟深度融合,進入規模性發展階段,對經濟社會生活的影響不斷增大,正成為我國經濟發展的新引擎。
中國電子商務研究中心資料顯示,截止到2012年底,中國電子商務市場交易規模達7.85萬億人民幣,同比增長30.83%。其中,B2B電子商務交易額 達6.25萬億,同比增長27%。而2011年全年,中國電子商務市場交易額達6萬億人民幣,同比增長33%,佔GDP比重上升到13%;2012年,電 子商務佔GDP的比重已經高達15%。預計2013年我國電子商務規模將突破十萬億大關。
圖1.2009-2014年中國電子商務市場交易規模(萬億元)
11.11
電商行業技術特點
技術新
技術範圍廣
分散式
高併發、叢集、負載均衡、高可用
海量資料
業務複雜
系統安全
淘淘商城
淘淘商城簡介
電商行業的模式:
B2B:企業到企業,商家到商家。代表:阿里巴巴、慧聰網。
B2C:商家到客戶。代表:京東、淘寶商城(B2B2C)。
C2C:客戶到客戶。淘寶集市。
O2O:線上到線下。
淘淘商城的模式
淘淘網上商城是一個綜合性的B2C平臺,類似京東商城、天貓商城。會員可以在商城瀏覽商品、下訂單,以及參加各種活動。
管理員、運營可以在平臺後臺管理系統中管理商品、訂單、會員等。
客服可以在後臺管理系統中處理使用者的詢問以及投訴。
功能模組
功能描述
後臺管理系統:管理商品、訂單、類目、商品規格屬性、使用者管理以及內容釋出等功能。
前臺系統:使用者可以在前臺系統中進行註冊、登入、瀏覽商品、首頁、下單等操作。
會員系統:使用者可以在該系統中查詢已下的訂單、收藏的商品、我的優惠券、團購等資訊。
訂單系統:提供下單、查詢訂單、修改訂單狀態、定時處理訂單。
搜尋系統:提供商品的搜尋功能。
單點登入系統:為多個系統之間提供使用者登入憑證以及查詢登入使用者的資訊。
技術架構
傳統架構
思考:有什麼問題?
模組之間耦合度太高,其中一個升級其他都得升級
開發困難,各個團隊開發最後都要整合一起
系統的擴充套件性差
不能靈活的進行分散式部署。
解決方法:
優點:
把模組拆分成獨立的工程,單點執行。如果某一個點壓力大可以對這一個點單獨增加配置。其他的點不受影響。
缺點:
系統之間互動需要額外的工作量來進行介面的開發。
把系統拆分成多個工程,要完成系統的工程需要多個工程協作完成。這種形式叫做分散式。
分散式的架構
分散式架構:
把系統按照模組拆分成多個子系統。
優點:
把模組拆分,使用介面通訊,降低模組之間的耦合度。
把專案拆分成若干個子專案,不同的團隊負責不同的子專案。
增加功能時只需要再增加一個子專案,呼叫其他系統的介面就可以。
可以靈活的進行分散式部署。
缺點:
系統之間互動需要使用遠端通訊,介面開發增加工作量。
技術選型(主要技術)
Spring、SpringMVC、Mybatis
JSP、JSTL、jQuery、jQuery plugin、EasyUI、KindEditor(富文字編輯器)、CSS+DIV
Redis(快取伺服器)
Solr(搜尋)
httpclient(呼叫系統服務)
Mysql
Nginx(web伺服器)
開發工具和環境
Eclipse 4.5.0(Mars),自帶maven外掛,需要手工安裝svn外掛。
Maven 3.3.3(開發工具自帶)
Tomcat 7.0.53(Maven Tomcat Plugin)
JDK 1.7
Mysql 5.6
Nginx 1.8.0
Redis 3.0.0
Win7 作業系統
SVN(版本管理)
人員配置
產品經理:3人,確定需求以及給出產品原型圖。
專案經理:1人,專案管理。
前端團隊:5人,根據產品經理給出的原型製作靜態頁面。
後端團隊:20人,實現產品功能。
測試團隊:5人,測試所有的功能。
運維團隊:3人,專案的釋出以及維護。
後臺管理系統工程搭建
Maven
依賴管理、jar包、工程之間的依賴。
專案構建。實現專案的一步構建。
工程聚合、繼承、依賴。
Maven的工程型別:
war包工程
Jar包工程
Pom工程。
父工程的搭建
父工程應該是一個pom工程。在父工程中定義依賴的jar包的版本資訊。Maven外掛的版本。
安裝本地倉庫
使用.m2覆蓋本地倉庫的內容。
建立maven工程
修改pom檔案
建立一個common工程
也需要繼承taotao-parent工程。
建立工程
Pom檔案
後臺管理工程建立
搭建一個聚合工程:
工程結構
傳統工程結構:
Maven管理的工程結構:
不使用maven:工程部署時需要手動複製jar包。完成工程構建。非常繁瑣。
使用maven進行工程構建:
使用maven可以實現一步構建。
繼承:
依賴:
後臺管理系統工程結構:
taotao-parent -- 管理依賴jar包的版本,全域性,公司級別
|--taotao-common --- 通用元件、工具類
|--taotao-manage -- 後臺系統
|--com.taotao.manage.web
|--com.taotao.manage.service
|--com.taotao.manage.mapper
|--com.taotao.manage.pojo
Taotao-manager工程
工程搭建
修改pom檔案
Taotao-manager-pojo模組
建立工程
Pom檔案
不需要修改,taotao-manager-pojo模組不依賴任何jar包。
Taotao-manager-mapper模組
建立工程
Pom檔案修改
Taotao-manager-service模組
建立工程
Pom檔案
Taotao-manager-web模組
建立工程
Pom檔案
建立web.xml
測試maven工程
執行的工程
要執行工程,需要執行聚合工程也就是taotao-manager。
Tomcat外掛
在taotao-manager工程的pom檔案中新增如下內容:
啟動工程
使用maven命令:
clean tomcat7:run
tomcat7指定使用tomcat7的外掛。
注意:
需要把taotao-parent工程安裝到本地倉庫。Install
需要把taotao-common安裝到本地倉庫。
Svn
地址:
使用者名稱:user
密碼:user
商品管理
Controller
com.taotao.controller
Service
com.taotao.service
Mapper
com.taotao.mapper
Pojo
com.taotao.pojo
。。。。。。
前臺工程
Taotao-parent
Taotao-common
Taotao-manager(pom工程)聚合工程
Taotao-controller(war包)
Taotao-service(jar包)
Taotao-mapper(jar包)
Taotao-pojo(jar包)