`

SSD08 Exercise05 个人解答

阅读更多

 

CORBA Distributed To-Do List

Readings:

Background

Build a distributed to-do list using Java and CORBA. Various clients should be able to connect to a server managing various to-do list objects to query list items, add list items, delete list items, and clear to-do lists. The server should also have management functionality that allows member registration. Each to-do list item has a description, and a start time and an end time in which users must complete their items. Users should be able to add any number of items to their to-do lists.

Tasks

For this programming exercise, we will be using JavaSoft's Java IDL, which is a CORBA ORB written completely in Java. The advantages of Java's IDL are that it is free and very portable. Its disadvantage is that its functionality is minimal. However, it supports static method invocations, and it has a naming service, which is all we need for this programming exercise. The Java IDL compiler (idlj ) is packaged with the latest version of Java (1.4.2 as of the time of this writing). You may find documentation for the idlj compiler here.

Your to-do list should implement the following functionality. Each piece of functionality outlined below must be accessible from the client using the CORBA naming service. Each user's to-do list must be a separate object that is managed using CORBA.

User Registration
New users may register. New users must supply a user name and a password. If the supplied user name is already in use by some other user, print an error message. Upon successful registration, print a message stating so. A new user registration should create a new to-do list object for the user.
Adding Items
Registered users may add items to their to-do list. Each item has a start time and an end time. Parameters should include the start and end times, and a label. The user should receive a message indicating a successful addition or an error if one occurs.
Querying Items
Registered users may look up all items in their to-do list in a given interval of time. The parameters should include the start and end times of the search interval. Return a list of the entries found in the specified time range. In the list, include the start time, end time, and label of each item.
Deleting Items
Registered users may delete items from their to-do list. The parameters should uniquely identify the entry to be deleted.
Clearing Items
Registered users may clear all items from their to-do list.

Interface

Your client must be accessible via a simple console-based menu.

Implementation

To complete this assignment, you will need to manage multiple CORBA objects using the CORBA naming service. For each user that successfully registers, you must create a new to-do list and add it to the CORBA naming service. To that end, you will need to write a to-do list creator that creates to-do lists and adds them to the CORBA naming system. The to-do list creator must be also be accessible using the CORBA naming service. Therefore, if there are n to-do list system users, CORBA must manage n+1 CORBA objects — one to-do list object for each user plus the creator object. You will need to perform the following tasks to complete this assignment.

  • Write a to-do list creator object that creates to-do lists upon a successful user registration and adds the to-do list objects to the CORBA naming service.
  • Casting the to-do list object to a generic Java object and generating the IDL description of the interfaces.
  • Write a simple CORBA client that exercises the main methods of the to-do list and to-do list creator CORBA object.
  • Deploying and running the system. You should run a test involving two or more agenda objects, keeping track of the agendas of different users. The client should use the CORBA naming service to find the appropriate agenda object.

Submission

Coding Style and Documentation

You are expected to design classes in an object-oriented manner using good programming practices.

Your code must be written using Java coding conventions . Your code must be well documented and contain a README file with instructions on compiling and running each program.

The files you should turn in are listed below.

  • Submit all files necessary to run your to-do list.
  • A README file.

To help yourself do your best on this assessment, consult this general list of grading guidelines.

分享到:
评论
3 楼 qianjigui 2009-06-11  
Feedback for SSD8 Corba Distributed To-Do List (v2.0)
Total Score: 100/100
Good work.
2 楼 qianjigui 2009-05-23  
这个练习,我的大量数据是直接从练习4中迁移过来的。
难点在于学习IDL等系列技术。
1 楼 qianjigui 2009-05-22  
要是说有什么可以借鉴的话,建议大家看看我写在里面的很多脚本。
这些脚本极大地提高了我的测试速度。

相关推荐

    SSD06 Exercise05 个人解答

    【标题】"SSD06 Exercise05 个人解答"主要涵盖了两个关键知识点:源码分析和工具使用。在这个练习中,作者分享了他对某个特定编程问题或项目的解答,这通常涉及深入理解代码的运作机制,包括算法、数据结构以及编程...

    SSD06 Exercise02 个人解答

    【标题】"SSD06 Exercise02 个人解答"主要涵盖了两个关键概念:源码分析和工具使用。这可能是某个课程或项目练习的一部分,其中作者Qianjigui分享了他在解决特定编程问题或实现某功能时的经验和理解。 在源码分析...

    SSD04 Exercise05 个人解答

    综上所述,SSD04 Exercise05 个人解答不仅仅是完成了一个具体的编程练习,更重要的是,通过这个过程,我学习到了如何有效地阅读和分析源码,如何深入理解编程语言特性和算法的运作,以及如何熟练运用开发工具来提升...

    SSD06 Exercise04 个人解答

    标题 "SSD06 Exercise04 个人解答" 暗示这可能是一个关于软件开发或编程练习的解答,特别是涉及到性能分析或者优化的环节。描述中的 "NULL" 没有提供额外的信息,但我们可以从标签 "源码" 和 "工具" 中推测,这个...

    SSD06 Exercise03 个人解答

    标题“SSD06 Exercise03 个人解答”暗示了一个编程练习或课程作业,其中可能涉及 SSD(固态存储)相关的技术,而 Exercise03 可能是该系列练习中的第三个部分。描述提到的“Ubuntu8.04+Gcc+Gdb”是一个古老的Linux...

    SSD04 Exercise03 个人解答

    【标题】"SSD04 Exercise03 个人解答"主要涵盖了两个关键概念:源码分析和工具使用。这可能是某个课程或项目中的一个练习,其中"SSD04"可能代表课程编号或者阶段,而"Exercise03"则指示这是第三次实践任务。解答者...

    SSD04 Exercise06 个人解答

    标题“SSD04 Exercise06 个人解答”暗示了一个编程练习或项目,其中涉及到对Microsoft Calendar Control 10.0的使用。这个控制组件通常用于Windows应用程序开发,特别是使用Visual Basic 6 (VB6) 或其他支持ActiveX...

    SSD04 Exercise04 个人解答

    【标题】"SSD04 Exercise04 个人解答"主要涵盖了两个关键知识点:源码理解和工具使用。在这个练习中,作者分享了他们对于特定编程问题的解决方案,可能涉及编程语言的深入理解、代码调试技巧以及如何有效地利用开发...

    SSD06 Exercise01 个人解答

    NULL 博文链接:https://qianjigui.iteye.com/blog/256678

    SSD04 Exercise08 个人解答

    【SSD04 Exercise08 个人解答】 在这个学习实践中,我们主要关注的是与源码分析和工具使用相关的知识。这个题目可能源自于一个软件开发或计算机科学的课程,其中"SSD04"可能是课程代码,而"Exercise08"指的是第八个...

    SSD04 Exercise01 个人解答

    这是我的解答 博文链接:https://qianjigui.iteye.com/blog/248917

    ssd6exercise答案

    【SSD6 Exercise答案解析】 在信息技术领域,SSD6可能是“Software Engineering Studio 6”的简称,这是一门关于软件工程的课程,常见于大学的国际软件学院中。本课程可能涉及软件开发的全过程,包括需求分析、设计...

Global site tag (gtag.js) - Google Analytics