aspose file tools*
The moose likes Developer Certification (SCJD/OCMJD) and the fly likes Please Help -- confused about the design Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Developer Certification (SCJD/OCMJD)
Bookmark "Please Help -- confused about the design" Watch "Please Help -- confused about the design" New topic
Author

Please Help -- confused about the design

Garry Kalra
Ranch Hand

Joined: May 25, 2001
Posts: 111

<pre>
Hello everyone,
I am starting out with the assignment, but have got serious
confusions This is going to be my first major java application
although i am familiar with developments in C, C++, VB, etc and
have built a site called JavaAddicts (http://surf to/javaaddicts)
using JSP, MySQL and JDBC
On going through the assignments details given by Sun, this is
what i have understood (Also, I think this is the main thing i am
confused about)
The application can be run in two modes :
1) Networked mode
2) Non-Networked mode (Local mode)
The structure for the networked mode is as follows:
+=========================================+ +===========================+
| +========+ +=======================+ |====>| +=======================+ |
| | client |===>| Client side database | | | | Server side database | |
| | side | | client part | | | | part with networking | |
| | GUI | | | | | | support | |
| | | | Handles networking on | | RMI | | | |
| | |<===| behalf of the client | | | | | |<br /> | +========+ +=======================+ | | +=======================+ |<br /> | | | |<br /> | VM |<====| Another VM |<br /> +=========================================+ +===========================+<br /> Client Machine Server Machine<br /> Pls guide as to if the above is correct, and these are the only 3 major parts,<br /> if any more are required then pls guide <br /> The structure for the local mode is as follows:<br /> +=======================================================================+<br /> | +========+ +=======================+ +=======================+ |<br /> | | client |===>| Client side database |====>| Server side database | |
| | side | | client part | NO | part | |
| | GUI | | | RMI | | |
| | | | Handles networking on | | | |
| | |<===| behalf of the client |<====| | |
| +========+ +=======================+ +=======================+ |
| |
| VM |
+=======================================================================+
Single Machine
Pls guide as to if the above is correct, and these are the only 3 major parts,
if any more are required then pls guide
According to me the client side database client part handles the details
based on the selections of mode in the GUI as to whether the networking is
required or not
Since I am a starter i have no experience with Swing and RMI, pls guide me
if there are any resources available
Also i found out that the Data class provided had methods for adding, deleting
and modifying the records, but i don't think i require it because my
specifications state the searching of the database and booking seats Pls guide
as if adding and deleting of records functionality is to be provided
As i told you, that this is the first major project, so pls guide what
to build first, the GUI, the client part or the Server
Also if any people are just starting out I would like to be a part of them
Gaurav Kalra
</pre>

[This message has been edited by Garry Kalra (edited August 01, 2001).]
Rick Fortier
Ranch Hand

Joined: Jun 04, 2001
Posts: 147
It looks good. I used a four layer design on my assignment. I made the gui ignorant of the Data class, put all of the business and rule based logic in my middle layer which I called FlightServices, had a server layer to provide the RMI interface and locking, and put all of the file access in the Data class.
So Data doesn't know anything about locking, because this is not needed when running in local mode.
The FlightServices layer either instantiates a Data object or my server object. Both of them implement the same interface. FlightServices has methods such as searchForFlights, BookFlight, getListOfCities. So the gui does not have to know the details of the lock, read, modify, unlock mechanism. Also FlightServices only throws FlightServicesException-s.
Please read my article on The Mystery of the Unused Methods to answer your other questions.
HTH.
Garry Kalra
Ranch Hand

Joined: May 25, 2001
Posts: 111
Thanks Rick for your valuable comments and the link. I think you also used to post at the java-dev-test.
Garry Kalra
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Please Help -- confused about the design