系統(tǒng)拆分培訓概要課件_第1頁
系統(tǒng)拆分培訓概要課件_第2頁
系統(tǒng)拆分培訓概要課件_第3頁
系統(tǒng)拆分培訓概要課件_第4頁
系統(tǒng)拆分培訓概要課件_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、系統(tǒng)整合培訓LOGO* CONTENTS PAGE 目錄頁1系統(tǒng)拆分概述系統(tǒng)拆分技術(shù)準備如何拆分?達到目標234* TRANSITION PAGE 過渡頁為什么要拆分?拆分遵循的原則第一章 系統(tǒng)拆分概述第一章 系統(tǒng)拆分概述1. 隨著業(yè)務的發(fā)展,模塊之間的耦合性越來越強第一節(jié) 為什么要拆分?1. 系統(tǒng)按照業(yè)務拆分按照高內(nèi)聚、 低耦合的條件進行拆分2. 開發(fā)人員越來越多,相互之間代碼版本也難以管理4.系統(tǒng)越大,硬件要求也會越來越高,但是硬件是有極 限的, 隨著數(shù)據(jù)量以及并發(fā)量的不斷上升,其解決方案 的成本也會隨之直線上漲 3. 難于維護,難于擴展第二節(jié) 拆分遵循的原則2. 盡量減少系統(tǒng)之間的通信第

2、二章 技術(shù)準備第二章 系統(tǒng)拆分技術(shù)準備?CAS單點登錄Shiro單點登錄流程圖第一節(jié) CAS單點登錄Maven繼承管理依賴包及拆分的子項目依賴關(guān)系說明Dubbo使用Rabbit MQ使用第二章 技術(shù)準備左圖是一個最基礎(chǔ)的 CAS 協(xié)議, CAS Client 以 Filter 方式保護 Web 應用的受保護資源,過濾從客戶端過來的每一個 Web 請求,同時, CAS Client 會分析 HTTP 請求中是否包含 Service Ticket( 左圖中的 Ticket) ,如果沒有,則說明該用戶是沒有經(jīng)過認證的,于是, CAS Client 會重定向用戶請求到 CAS Server ( Ste

3、p 2 )。 Step 3 是用戶認證過程,如果用戶提供了正確的 Credentials , CAS Server 會產(chǎn)生一個隨機的 Service Ticket ,然后,緩存該 Ticket ,并且重定向用戶到 CAS Client (附帶剛才產(chǎn)生的 Service Ticket ), Service Ticket 是不可以偽造的,最后, Step 5 和 Step6 是 CAS Client 和 CAS Server 之間完成了一個對用戶的身份核實,用 Ticket 查到 Username 第二章 技術(shù)準備第二節(jié) ShiroShiro能做什么? 認證、授權(quán)、加密、會話管理、 與Web集成、

4、緩存等。Authentication:身份認證/登錄,驗證用戶是不是擁有相應的身份;(在我們系統(tǒng)是用CAS做身份認證, shiro做授權(quán)功能)Authorization:授權(quán),即權(quán)限驗證,驗證某個已認證的用戶是否擁有某個權(quán)限;即判斷用戶是否能做事情,常見的如:驗證某個用戶是否擁有某個角色?;蛘呒毩6鹊尿炞C某個用戶對某個資源是否具有某個權(quán)限;Session Manager:會話管理,即用戶登錄后就是一次會話,在沒有退出之前,它的所有信息都在會話中;會話可以是普通JavaSE環(huán)境的,也可以是如Web環(huán)境的;Cryptography:加密,保護數(shù)據(jù)的安全性,如密碼加密存儲到數(shù)據(jù)庫,而不是明文存儲;W

5、eb Support:Web 支持,可以非常容易的集成到Web 環(huán)境;Caching:緩存,比如用戶登錄后,其用戶信息、擁有的角色/權(quán)限不必每次去查,這樣可以提高效率;第二章 技術(shù)準備Concurrency:shiro 支持多線程應用的并發(fā)驗證,即如在一個線程中開啟另一個線程,能把權(quán)限自動傳播過去;Testing:提供測試支持;Run As:允許一個用戶假裝為另一個用戶(如果他們允許)的身份進行訪問;Remember Me:記住我,這個是非常常見的功能,即一次登錄后,下次再來的話不用登錄了。記住一點,Shiro 不會去維護用戶、維護權(quán)限;這些需要我們自己去設(shè)計/提供;然后通過相應的接口注入給S

6、hiro即可??梢钥吹剑簯么a直接交互的對象是Subject,也就是說Shiro的對外API核心就是Subject;其每個API的含義:Subject:主體,代表了當前“用戶”,這個用戶不一定是一個具體的人,與當前應用交互的任何東西都是Subject,如網(wǎng)絡爬蟲,機器人等;即一個抽象概念;所有Subject 都綁定到SecurityManager,與Subject的所有交互都會委托給SecurityManager;可以把Subject認為是一個門面;SecurityManager才是實際的執(zhí)行者;SecurityManager:安全管理器;即所有與安全有關(guān)的操作都會與SecurityMana

7、ger 交互;且它管理著所有Subject;可以看出它是Shiro 的核心,它負責與后邊介紹的其他組件進行交互,如果學習過SpringMVC,你可以把它看成DispatcherServlet前端控制器;Realm:域,Shiro從從Realm獲取安全數(shù)據(jù)(如用戶、角色、權(quán)限),就是說SecurityManager要驗證用戶身份,那么它需要從Realm獲取相應的用戶進行比較以確定用戶身份是否合法;也需要從Realm得到用戶相應的角色/權(quán)限進行驗證用戶是否能進行操作;可以把Realm看成DataSource,即安全數(shù)據(jù)源。也就是說對于我們而言,最簡單的一個Shiro 應用:1、應用代碼通過Subj

8、ect來進行認證和授權(quán),而Subject又委托給SecurityManager;2、我們需要給Shiro 的SecurityManager 注入Realm,從而讓SecurityManager 能得到合法的用戶及其權(quán)限進行判斷。從以上也可以看出,Shiro不提供維護用戶/權(quán)限,而是通過Realm讓開發(fā)人員自己注入。第二章 技術(shù)準備第二章 技術(shù)準備第三節(jié) Maven繼承管理依賴包及拆分的子項目依賴關(guān)系說明Maven 是一套標準的項目構(gòu)建和管理工具,使用統(tǒng)一規(guī)范的腳本進行項目構(gòu)建,簡單易用,如果能充分利用maven中的繼承關(guān)系管理依賴包,可避免重復寫入依賴相同的包。第二章 技術(shù)準備判斷是否提供ta

9、rgetBeanName初始化參數(shù),如果沒有提供則直接使用filter的name做為beanName舉例:base-data工程包含base-data-api,base-data-core,base-data-web等3個模塊base-common:主要提供基礎(chǔ)功能類和通用工具類,供其他項目依賴,參照每個項目根目錄下的readmebase-data-api:這個是對其他子系統(tǒng)提供的服務接口,客戶端通過dubbo來調(diào)用服務接口.base-data-core:這個子模塊依賴base-data-api,base-common,主要提供業(yè)務實現(xiàn),主要包含base-data-api的實現(xiàn)類,dao和da

10、o實現(xiàn)類,service接口及service實現(xiàn)類,以及操作表的xml配置文件和xml對應的model類.base-data-web:依賴base-data-core.注意:core模塊不提供接口,其他子系統(tǒng)也不能依賴它.其他子系統(tǒng)只能依賴api模塊,web模塊可提供手機端url請求調(diào)用。第二章 技術(shù)準備第二章 技術(shù)準備第四節(jié) Dubbo使用服務端dubbo配置:客戶端dubbo配置:第二章 技術(shù)準備第五節(jié) Rabbit MQ使用第二章 技術(shù)準備 生產(chǎn)者生產(chǎn)消息 消費者消費消息第二章 技術(shù)準備第三章 如何拆分?1 根據(jù)對舊系統(tǒng)的分析,將舊系統(tǒng)拆分成如下工程:base-data,cmct,eb-base,eb-bi,eb-finance,eb-site,eb-storage, Framework,hr,interflow,workflow,所有web模塊都依賴framework,每個子系統(tǒng)都要有舊系統(tǒng)的布局框架頁面2 有一個集中權(quán)限管理系統(tǒng),完成對各個子系統(tǒng)進行集中授權(quán)。3 拆分過程注意事項:a) wuyizhiye改成ffzx. b)代碼不依賴license. c)每個子系統(tǒng)中保留framework內(nèi)的workbench相關(guān)整體布局的頁面及公共的頁面(無權(quán)訪問,出錯頁面等頁面) d)不引入無用的依賴包 e)字段前綴F和FK去掉,如果去掉后名字和關(guān)鍵字重復,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論