You are working in charge of a group of programmers at a software company. Your task is to assess and research CORBA and to produce a report to be given to the programmers detailing your technical recommendations regarding how and when CORBA should be used. As part of this, you will need to develop the CORBA programs below. You will not need to demonstrate the programs, but you will still need to develop them in order to gain the experience based on which you will write your report.
1. Follow the instructions on the attached "Getting Started with CORBA" sheet to compile and run a simple CORBA program.
2. Modify the program you have been provided with to create a system that works as follows:
a. The server stores a single numeric value (called the "counter"), which starts at 0.
b. The server offers two methods: "add" and "get".
c. The "add" method takes an integer and adds it to the counter.
d. The "get" method returns the current value of the counter.
e. The client should give the user the option of adding a value (of their choice) to the counter, or getting the value of the counter and having it printed on the screen.
You should test this program by running it with several clients connected to the server at once. As you work, make a log of the work that you do on this program (including failed attempts); it will be useful for writing your report.
3. Modify your code so that if an attempt is made to add a number that would take the counter higher than 20, an error is returned to the client via a CORBA exception. You will need to investigate for yourself the method by which exceptions are dealt with in CORBA.
4. CORBA offers a method by which "persistent data", such as the counter in the program above, can be stored so that it is maintained even if the server object detaches from the ORB. Investigate this method and find out how to use it. You do not need to implement it in your program but doing so may help your understanding.