



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Assignment for Distributed Programming using Java IntroductionThe VideoQueasy store already has an extensive Web site, but is contemplating moving towards an online system to support ecommerce activities. In particular, they are looking at making online hire of videos that will be delivered to the home. At some later stage (when everyone is on broadband) they may deliver the videos through streaming media rather than home delivery. The VideoQueasy store is aware that customers often want snack food while they are watching movies, and so has come to an arrangement with local take-away stores such as Hungry Jills so that customers can order food at the same time as they order videos. VideoQueasy is aware that there are a variety of competing technologies such as Web pages, RPC systems such as Web services, remote object systems such as CORBA, and distributed object systems. In order to future proof itself against technology changes it wants a traditional client-server system as its initial implementation. However, the implementation must be structured in such a way that other middleware technologies can be plugged in with the minimum of changes. This assignment has graded levels. The simplest version will be given a Pass if done satisfactorily, but to gain higher grades more features will have to be added. DetailsYou will need to implement a client and one or more servers using a socket-based protocol. A customer (client) will need to be able to make the following requests to the VideoQueasy server: l What categories of video are in stock? The response should be a list such as Horror, Humour, Drama, etc l For a given category, what movies are available? l What is the availability of a particular movie? l What is the cost and rental period of a particular movie? l What take-away shops are there? l What is the menu for a particular shop? l Add to a shopping cart a video or some take-away items l Check out the shopping cart and give credit card information Presentation l You should not assume any particular way of presenting results l A user interface may be a GUI interface, a text-based interface or maybe another program with no interface at all. l Dont change the messages just to suit whatever presentation you want to use DeliverablesYou should hand in the following l A statement of which level of assessment you are aiming at, and the parts you have completed l A specification of all messages between client and server(s). This specification should include enough details about message formats that someone else could implement a client or server (in any language, not just Java) to handle the messages. Note that a clear and unambiguous specification is regarded as one of the most important parts of this assignment l Finite state transition diagrams where appropriate l UML diagrams showing the classes and their linkages l Hard-copy listings of all classes for each client and server l Electronic copies of all classes for each client and server l Instructions about how to install and run each client and server You will be asked to demonstrate your system during a tutorial. Assignment levelsGeneral comments: l Your clients can use a text-based interface, reading from System.in and writing to System.out, or can use a graphical interface with AWT or Swing objects. It does not matter which you choose, the mark will not depend on the user-interface style l The quality of classes and of code for methods will be assessed. Poor quality code will lose marks. In particular, sloppy indentation will be regarded as an indicator of erroneous code. l Consistency between specifications, diagrams and code will be checked Pass level A client talking to a single server. The server handles all of the VideoQueasy requests. The server keeps lists of the videos and their types. It also has a list of take-away stores and their menus. All of this can be done using local files and/or lists and tables kept in memory. All clients and servers will be written in Java. However, you should not assume that the other end of a communication channel will be in Java - it could be in some other language such as C# or Perl. So do not use any Java-specific techniques such as serialising Java objects. This level demonstrates that you can specify a protocol for communication between a client and a single server and implement this protocol in a simple way. Extra level The specification given above will gain a Pass grade if done satisfactorily. Higher grades will be given on completion of additional functionality. Each additional function will gain an extra grade (to a maximum of HD). The additional functions are Interoperability This assignment is to be done in groups of one or two. However, for the message specification a group can cooperate with another group. The groups can agree on a common specification and perform completely independant implementations. If the client from one group can use the server from another and vice versa then this will demonstrate interoperability JDBC All databases are managed by a database system such as Access, Oracle or MySQL. The server communicates with the database by JDBC calls. This level shows that you can manage a typical 3-tier system with presentation, logic and database handled separately. Multiple servers Each take-away shop runs its own server. VideoQueasy will forward certain requests (such as the menu) directly to the shops server rather than maintaining information on its own server. This level demonstrates that you can deal with a multi-tier system with many servers at the backend Security All sensitive accesses are performed using security mechanisms, such as encryption and validation. Each server should be able to validate its identity using certificates This level shows that you can handle the authorisation, security and privacy issues that can arise Web access Web access to the VideoQueasy service should be made available. This will mean a CGI script/Java servlet/etc that can act as a client to the VideoQueasy server. This will involve a set of Web pages and HTTP backends to handle form requests. This is in addition to an ordinary client, not as a replacement This level will add alternative access mechanisms to the service, which makes it Web-accessible to humans Version control The client should be downloadable from a Web page as a JNLP (Java Network Loader Protocol) application. This will allow the client code to be downloaded/upgraded and run. This level will help with version control issues. In order to use it, you will need to understand and use a formal specification document. XML Messages should be sent as XML messages, using JAXB to marshal and unmarshal them. This will give practice in using XML, including writing DTDs. Final level The final level will be the sum of all extensions. For example, adding separate take-away shop servers with JDBC backends and a Web frontend will be worth
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校教育与职业技能培训协议
- 企业运营成本控制方案库
- 艺术流派及发展历程概述:美术课堂教学设计
- 直接引语与间接引语的转换规则:六年级英语语法课教案
- 小猪学样550字(11篇)
- 纪念塔课件教学
- 银滩之旅250字(12篇)
- 关于七夕节的英语作文11篇
- 2025年事业单位招聘统计类试卷:统计学在美学中的
- 2025年商务英语(BEC)中级考试真题模拟卷:模拟实战演练
- 九上英语单词表人教版
- 2025年北京车牌租赁合同范本
- 2024年高考新课标Ⅱ卷语文试题讲评课件
- 4S店企业职业卫生培训
- 静脉配液治疗操作核对流程
- 检验科糖尿病
- 产科医疗安全与质量控制制度
- 石油化工设备维护与检修手册
- 拆迁工程成本控制方案
- DB31-T 1502-2024 工贸行业有限空间作业安全管理规范
- 合肥新华书店招聘笔试题库2024
评论
0/150
提交评论