• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Last Minute Checks before submission!

 
Jason Then
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi folks,

I have almost completed the assignment, and wanted to get an idea of some last minute checks that some of you who are certified performed before submitting your assignment.

This is what I have done so far to ensure its validity:
- The application is built using a modified version of Roel's cool ant script, which performs ~3400 pre-build tests using TestNG.
- I have written my own parallel tests (using the @Test annotation) for my Data class, and have also incorporated both Alecsandru Cocarla's and Roberto Perillo's modified test code into my suite.
- I am also performing automated User Interface testing using windowlicker.
- The ant script also performs some post-build tests using the class supplied by Roel.
- As far as manually testing the application goes, I can successfully start up an RMI registry (with runme.jar on the classpath). I can then start up a server instance to connect to it, and then start up multiple client instances to connect to the server locally.
- I haven't tested the application across multiple boxes yet, is this necessary?

My choices.txt document is about 550 lines (at 80 char column width), and userguide.txt is around 300 lines.

Is there anything that you did to ensure you didn't get automatically failed? What is the most common source of automatic failure? Is there anyone who has experienced such a thing on this forum and can provide some advice?
It's a little scary submitting something I've put quite a bit of effort into... and I'm worried that I might have missed one little thing...

Any tips for the essay exam too?? I guess it's kinda different now, because you have to complete the essay first before submitting your assignment..

Cheers,
Jason

 
Michael Grossenbacher
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Jason

I am not sure about it, but I start my registry within my server class like this:

java.rmi.registry.Registry registry = LocateRegistry.createRegistry(rmiPort);
registry.rebind("YourService", new YourServiceImpl());

It is not explicitely written in the instructions, but when you only are allowed to run your application with the arguments "server" or "client" (or without argument) then how would you start your registry in your submission?

have a nice day,
Mike
 
Roberto Perillo
Bartender
Posts: 2271
3
Eclipse IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Howdy, Jason!

Well champ, one thing you can do too is to make sure every single "must" was followed. For instance, the server code must not be used when running the application locally. Another thing is to try to test your application in a local network, to make sure that at least one client that is not the same machine where the server is running is able to connect to the server.

I know it is a little bit scary, but if you followed every "must" requirement, designed your application as object-oriented as possible and your locking mechanism is working correctly, then I don't see a reason for you to get failed. The locking mechanism is by far the biggest reason why people get failed.

For your essay exam, you'll get 4 generic questions. One good tip is to provide implementation details (for instance, names of classes, where you used particular design patterns, etc) because the main reason for this exam is to show them that you are the person that build everything that is being delivered. So, if you have every single detail of your solution in mind, then it should be easy.
 
Roberto Perillo
Bartender
Posts: 2271
3
Eclipse IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Oh, one thing I forgot:

- As far as manually testing the application goes, I can successfully start up an RMI registry (with runme.jar on the classpath). I can then start up a server instance to connect to it, and then start up multiple client instances to connect to the server locally.


So you are starting your server taking 2 steps? Well, when you say java -jar runme.jar server, then you can open a window where the user will provide parameters to start the server (for instance, the database path and port number where the server will be started). After that, you can keep the window opened so that your user can click one button to stop the server, or you can just have a shutdown hook so the user just have to hit Ctrl + C on the console to stop the server (which was my case).

And here's how you can start your server:



Where SERVER_NAME is a String containing the name of your server so it can be identified in the lookup on the client side.
 
Jason Then
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Roberto and Michael,

When my server starts, there's no GUI. And yes I start the application in a two step process - I explicitly run rmiregistry.exe before starting my server (I specified in the documentation that you needed to do this).
I didn't know about the LocateRegistry.createRegistry lol... but that is probably a better solution and I'll change that now.

There's no requirement to have a GUI for the server is there? I think it might be better to not have one - just use Ctrl+C to stop.

Cheers,
Jason
 
Jason Then
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Another question, my assignment has Sun branding all over it - i.e. in the headers i've got

"Sun Certified Developer for Java 2 Platform, Standard Edition
Programming Assignment (CX-310-252A)"

This wouldn't be an issue would it?? I mean the package name is suncertify after all... and the properties file is suncertify.properties
 
Roberto Perillo
Bartender
Posts: 2271
3
Eclipse IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Jason Then wrote:When my server starts, there's no GUI. And yes I start the application in a two step process - I explicitly run rmiregistry.exe before starting my server (I specified in the documentation that you needed to do this).


Oh champ, you can't do this. The assessors must not be required to run anything other than the application in one of the 3 modes. If the assessor has to run rmiregistry.exe, then you'll be automatically failed. You can use the code I suggested above in order to start your server. This way, it will start listening on the port you specify without having to run anything.

There's no requirement to have a GUI for the server is there?


Oh, no. I also didn't have a GUI for my server.

Another question, my assignment has Sun branding all over it


That's OK... after all, it's Sun anyway!
 
Jason Then
Greenhorn
Posts: 17
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ok, good thing I checked haha

Thanks Roberto!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic