java atm模拟系统_Java RPC模式开发一个银行atm模拟系统
采用rpc模式開(kāi)發(fā)一個(gè)銀行atm模擬系統(tǒng)。
系統(tǒng)主要提供一個(gè)服務(wù)Card,該服務(wù)接口可以提供登錄、查詢(xún)、取錢(qián)、存錢(qián)等功能。服務(wù)接口的設(shè)計(jì)和實(shí)現(xiàn)自定義。
Atm客戶(hù)端功能需求:
1、ATM可以實(shí)現(xiàn)用戶(hù)登錄、查詢(xún)、取錢(qián)、存錢(qián)操作。所有操作以rpc的方式透明地調(diào)用服務(wù)器端的遠(yuǎn)程服務(wù)對(duì)象完成。客戶(hù)端不能直接訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)系統(tǒng)。
2、用戶(hù)輸入銀行賬戶(hù)和密碼,可以登錄,若登錄失敗則提示不能登錄。
3、登錄后可以顯示主菜單菜單分別為查詢(xún)余額、取錢(qián)、存錢(qián)和退出。
4、從3的界面中選擇查詢(xún),則顯示賬戶(hù)余額,并可以退回到主菜單界面重新顯示主菜單。
5、從3的界面中選擇取錢(qián),則輸入取錢(qián)金額。若取錢(qián)金額超過(guò)余額,則提示錯(cuò)誤,否則提示取錢(qián)成功,并顯示余額,同樣本界面可以退回到主菜單界面重新顯示主菜單。
6、從3的界面中選擇存錢(qián),則輸入存錢(qián)金額,然后提示取錢(qián)成功,并顯示余額,同樣本界面可以退回到主菜單界面重新顯示主菜單。
7、從3的界面中選擇退出則退出系統(tǒng)。
服務(wù)器端功能需求:
1、銀行卡數(shù)據(jù)保存在數(shù)據(jù)庫(kù)中,請(qǐng)自行設(shè)計(jì)數(shù)據(jù)庫(kù)的相關(guān)結(jié)構(gòu)。
2、可以通過(guò)rpc的方式接受客戶(hù)端的調(diào)用完成相關(guān)的數(shù)據(jù)存取。
rpc框架功能需求:
1、采用多線(xiàn)程功能,使得該rpc框架可以接受任意多次并發(fā)調(diào)用。
2、改造rpc框架,為rpc增加一個(gè)可配置的rpc服務(wù)可用性擴(kuò)展,通過(guò)配置文件可以至少配置兩臺(tái)以上的服務(wù)器同時(shí)提供服務(wù)端的調(diào)用,例如:在配置文件中可以配置兩臺(tái)服務(wù)器的地址和端口。客戶(hù)端無(wú)須指定rpc調(diào)用的服務(wù)器地址和端口,可以簡(jiǎn)單使用負(fù)載均衡隨機(jī)或輪詢(xún)算法的方式選擇一臺(tái)服務(wù)器進(jìn)行rpc調(diào)用。整個(gè)rpc負(fù)載均衡調(diào)用的過(guò)程對(duì)于客戶(hù)端的程序應(yīng)該完全透明。
(提示:在本地一臺(tái)機(jī)器調(diào)試的時(shí)候,可以通過(guò)簡(jiǎn)單運(yùn)行兩個(gè)服務(wù)端程序,但是服務(wù)打開(kāi)的端口不同的方式來(lái)模擬兩臺(tái)服務(wù)器)
3、當(dāng)一臺(tái)RPC遠(yuǎn)程調(diào)用網(wǎng)絡(luò)連接失敗,可以自動(dòng)轉(zhuǎn)向另一臺(tái)服務(wù)器進(jìn)行調(diào)用,當(dāng)兩臺(tái)服務(wù)器均不能聯(lián)通則報(bào)一個(gè)錯(cuò)誤。
4、為rpc服務(wù)器端調(diào)用增加一個(gè)簡(jiǎn)單的可配置的AOP,使得程序開(kāi)發(fā)人員今后可以方便的對(duì)銀行卡服務(wù)的一個(gè)或多個(gè)功能(如登錄、取錢(qián)等)進(jìn)行切面編程。
5、以AOP的方式,做擴(kuò)展如下:
在登錄功能后執(zhí)行一個(gè)檢查同一個(gè)賬戶(hù)是否連續(xù)失敗次數(shù)是否超過(guò)3次,如超過(guò)3次,則鎖定賬戶(hù),該賬戶(hù)今后將不能再次登錄。
在取錢(qián)操作后,執(zhí)行一個(gè)登錄日志功能,將取錢(qián)賬戶(hù)、取錢(qián)金額、取錢(qián)日期、取錢(qián)前/后賬戶(hù)余額寫(xiě)入數(shù)據(jù)庫(kù)日志。
6、為了簡(jiǎn)化項(xiàng)目開(kāi)發(fā),可以假設(shè)本rpc服務(wù)端上固定只運(yùn)行一個(gè)Card服務(wù),且無(wú)須考慮注冊(cè)中心的功能。
總結(jié)
以上是生活随笔為你收集整理的java atm模拟系统_Java RPC模式开发一个银行atm模拟系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 新时代十年军队国防发展的军队组织形式
- 下一篇: 当代宪法呈现出多种发展趋势,下列哪些选项