• Post Reply Bookmark Topic Watch Topic
  • New Topic

How to start is good?  RSS feed

nick ng
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hi all,
My assignment is "Bodgitt and Scarper, LLC. home improvement contractors",
and I have read it several times carefully.
I have bought also the Apress SCJD book, and read some topics like RMI
and javadoc which I am not familiar with.
The structure up til now is"
scjdDevProj {root dir}
-src {added by me}
|-Data.java {interface provided by Sun}
-classes {added by me}
|-instructions.html {assignment}
-db-2x1 {database file}
Now, the problem is I don't know how to start implementation:
1. Is my structure precise? Where should the code for client, server be
put, is there any rule depends on package requirement (eg.
suncertify.db) in the assignment.

Are the programs for them separated, or combined together into a single
"Data.java" file.
2. I proposed to implement in this procedure: DB access sys (Client &
Server) -> Network Communication (RMI) -> Client GUI -> Javadoc ->
Pack up, is it good and simplest?
3. Is "B&S" a difficult one as compared with others? Which part is most
4. How to compile them together once only and get run with .jar?
Leo Tien
Ranch Hand
Posts: 156
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
(1) I don't know what sun said in your assignment, in my assignment the structure like this:

(2)My procedure is:
Client GUI(Main Frame) and DB access layer(locking mechanism) --> RMI(Client & Server) --> other GUI(configurations, include client and server)
Now, I'm implementing RMI.
(4)You can use "jar" command to view how to use it and make a running jar file on console.
George Marinkovich
Ranch Hand
Posts: 619
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Nick,
You got the right book, it should answer a lot of your questions and point you in the right direction toward getting started.
1. Leo's given you good advice on how to structure your project. But remember the final word on the how you should package your application when you're ready to submit should come directly out of your assignment instructions (packaging section). When you're ready to submit, follow those packaging instructions exactly and you'll be OK.
I think you'll want to package all the *.class files into a runme.jar and test the executable in each of its operating modes from the command line.
2. I think most people tackle the database stuff first. That's what I did in my own case. Then working only on the standalone operation of the application, I added a GUI that featured a JTable and got most of the required GUI functionality working (e.g., searching and booking). Then I added the RMI stuff. Then I started testing the server and network client operating modes of the executable. Then I got serious about the locking scheme and started multi-threaded testing. There are many paths to the same destination, pick the one that makes the most sense to you.
3. From what I can tell, B&S Contractors is no easier or harder than the previous assignment, URLyBird. The good news is that more and more people are working on the B&S assignment and fewer people are working on the URLyBird assignment, so most of what people discuss on the forum will be relevant to your project. The hardest part of the project for me was figuring out how I wanted to implement my locking scheme. I thought I understood locking many times before I actually understood it (I think!).
4. Do something like this to compile the code:
javac -d xxx/classes xxx/code/suncertify/db/*.java xxx/suncertify/other_package_one/*.java xxx/other_package_two/*.java
And then, something like this to jar the executable:
jar cvfm xxx/runme.jar xxx/Manifest.MF -C xxx/classes .
Your assignment instructions have the directions on how to run the runme.jar executable in its various operating modes.
Spend some time with Max's book, it will help you to answer many questions that you will have about the project.
Hope this helps,
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!