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