Java RMI 程序任务
程序任务包括为一个叫 Banana 的计算机制造商和经销商做一个分布式系统。Banana 公司制造智能手机,笔记本电脑和台式电脑,他们的产品在他们旗下的各家商店中销售。
基本任务:
1.每家 Banana 旗下的商店都有自己的分服务器(Branch server)。分服务器可以存储商店销售的产品和库存。并且还能储存顾客名字和购买历史等顾客信息。
2. 每个商店都具备分客户端(branch clients),这些客户端能够让销售员运行查看库存、顾客信息和确认订单等操作。
3.学生必须用 JAVA RMI 来编写分服务器和分客户端。学生在编程的时候应当重视系统的构架。
中等任务:
1. 所有 Banana 公司的产品(如智能手机、手提电脑和台式电脑)应该在 Banana Headquarters 上编译和储存。每种产品的数量在 Banana HQ 中的 Product Server 中储存。
2.若顾客在某特定的 Banana 商店中想买某种商品,但此时商店缺货;或者顾客想买的商品数量大于商店现时库存,销售人员可以通过 Branch Client 查看 Banana HQ 中是否有此商品并且要求额外供货。
3.学生必须使用 JAVA RMI 编写 Product Server,并且编辑你所做的 Branch Server 和 Branch Client 来添加此功能。
进阶任务:
1.Banana 旗下的商店猛烈增长,Banana HQ 上的单一 Product Server 由于来自商店的请求过多而出现过载。所有到 Banana HQ 的信息都应当通过一个 Load Balancer,并由此发散到多个 Product Servers 中去。
2.学生必须使用 JAVA RMI 编写 Load Balancer,并且编辑你所做的 Branch Server 和 Product Server 来适应此功能。提示:为了简化程序,学生可以让每个 Product Server 处理单一的产品。例如:一个 Product Server 只包含智能手机产品,另一个 Product Server 只包含手提电脑产品。这样 Load Balancer 就能够根据产品类型来处理请求。
报告(占比 40%)
报告内容必须包含图解,内容不能少于 1500 字。报告内容包括:1.概述:总结你所做的任务。(4%)2.设计:(1)描述你所选择的系统框架并且阐述它相对于其他可供选择的系统框架的优
点与缺点。(2)阐述此系统构架如何处理不同的要求。(8%)
3.组成:(1)提供安装和用户指南。(2)阐述各自组成部分如何符合任务要求的。(3)在所作的 Class Diagram 中标出各组成部分的关系和联系通道。(12%)
4.分析:(1)分析系统,指出系统的优势与劣势,有哪部分做得较好,有哪部分做得较差。(2)在你编程的过程中你遇到了哪些问题?这些问题有令你改变你原本的设计吗?(8%)
5.总结:(1)如果你有额外的时间来做这个系统,你选修改系统的哪部分内容或者你会添加什么内容?(2)如果你重新设计并编程,你会改变哪些部分?(可从技术、设计过程和时间管理等方面的改变阐述)(4%)
6.引用:(1)必须指出并引用报告中任何不是独立完成的部分。(4%)