Electronic Postcard Application with CORBA (part I)

Name

Short: CORBA client
Long: Electronic Postcard Application with CORBA (part I)

Objective

The purpose of this lab is to implement a part of a distributed application using CORBA.

Time allocation

Four hours are allocated to complete this lab assignment.

Exercise

You will have to implement an application in C++ or Java that uses the CORBA objects Database and Writer provided.
Follow the links to see the IDL files with the interface of Database and Writer objects. The Database object is located on mir54 and the Writer runs on mir51. Both objects are accessible through a NameService running on mir14 on port 10000. The objects are bound to the NameService with the names Database.trapo and Writer.trapo

There are several ways of building the interface for the application using CORBA. A simple text based interface will be accepted if you just want to pass this lab. However, a web-based graphical interface can still be added afterwards. For example, HTML can be generated from a CGI program, an applet or a servlet. For this lab, we encourage you to reuse the servlet-based interface which you developed for the 2nd assignment.

TO DO

  1. Install the lab.
  2. Compile, run and understand the Hello World example of your choice. See below the link to the ORBacus documentation for a step-by-step explanation of this process.
  3. Modify the example to use the Database object:
  4. Implement the Electronic Postcard service using the CORBA objects.
  5. Build a graphical interface for the Electronic Postcard service. This step is optional and command-line user-interfaces are accepted.
  6. When you run your client, don't forget to specify the location of the NameService as an argument in the command line:
    client -ORBInitRef NameService=corbaloc::mir14:10000/NameService
    These command line arguments should be specified internally in the source file in case you want to reuse the servlet-based interface developed in the 2nd assignment.

Important!!

The Database and Writer objects are different programs than the CardDatabase and CardWrite servers which you used in the 2nd assignment. You should pay attention when you use the Database object, as it starts counting the cards from 0, as opposed to the CardDatabase server which counts the cards from 1.

Reporting your work

The lab is reported by showing the assistant the working application. All members of the lab group should be present when reporting.

Appendices