3-dynamic parallel access
DESCRIPTION
a project reprtTRANSCRIPT
INTRODUCTI
ON
CHAPTER – 1
INTRODUCTION
1.1. ABOUT THE PROJECT
The concept of this project is to access the shared files in Linux
Environment in Windows Environment. Users can access shared files in
Windows to Windows and Linux to Linux Environment but can’t access
files in Linux in Windows. The Server machine is installed with Linux and
Clients are installed with Windows operating system. The files in server
machine is put into a distributed directory and then downloaded into client
machines.
The project modules involved are
Member Adder
Look up
User Admin
Resource Register
Resource Server
File Sender
Resource Prober
1.1.1. MODULE DESCRIPTION
Member Adder Module
In this Module, all the clients that want to communicate with server
are added to the server .The IPAddress of all the client machines are
registered in the server machine.
Lookup Module
In this Module, we check whether client have established connection
with the Server. Only if there is connection between client and server, they
can communicate.
User admin Module
Only authorized users are allowed to access the shared files.
Authorized users are validated by a database. Using MYSQL as Backend,
The User table is created with three fields named Username, password,
groupname.
Resource Register Module
Administrators have all privileges, and users have certain restricted
privileges, files should be hidden from their usage. This validation done by
using MYSQL Resource Table. MYSQL Resource Table is created with
following fields resource name, comment, hostname. In this module, the
files that can be accessed are Shared and stored in Resource table.
Resource Server Module
In this module, Distributed ddroot directory is created.
File Sender Module
In this module, The Shared files in the Resource table are stored in the
Distributed directory.
Resource Prober Module
In this Module, the file in Distributed directory is downloaded into
Client Machine. After downloading the files, users can access the files in
Windows Environment.
1.2. SYSTEM ANALYSIS
1.2.1EXISTING SYSTEM
Though solutions exist for Windows platforms that emulate the
concept of service agents, no reliable cross-platform software exists
similar to the one we have developed. The available solutions include:
1. Commercial software
2. Free downloads
The few commercial solutions that exist lack the following
requirements:
1. Price factor
2. Too compelling and intricate registration and maintenance
procedures
3. 100 % customized for a single company’ requirements so that
modification to suit alternative requirements becomes difficult.
4. Security.
Drawbacks of Existing System
The Available Software is either prohibitively expensive or
doesn’t satisfactorily possess all the features required. It is not
advisable for corporates to rely on anonymous downloaded software
freely available over the internet, for the risks involved with respect to
the company’s valuable trade secrets and data are enormous.
1.2.2. PROPOSED SYSTEM
In short, the requirements for this undertaking are:
1. Software that is excellent with respect to performance.
2. Doesn’t necessitate dependence on expensive commercial
software.
3. Customized report and registration features.
4. High security
5. Reliability and support.
6. Offers a user-friendly interface.
7. Fast and easy probing of a network’ services without
straining the network’s resources.
Quality Assurance is software that fulfills all the above
requirements. The services can be seamlessly accessed and the files
downloaded for the network users.
An essential criterion for the success of software is a simple,
user-friendly Graphical User Interface (GUI). The project should be
robust (bullet-proof) so that the service agent does not go down
should any wrong data be input, or any other crisis like an attempted
violation of access rights occurs.
1.3. SYSTEM CONFIGURATION
HARDWARE CONFIGURATION
Processor : Pentium IV
Motherboard : Intel Motherboard
Main Memory : 256 MB
Hard disk : 40 GB
Floppy disk : 1.44 MB
CD-ROM : 54x Max-speed
Monitor : Display type: 15.0’’ color
Keyboard : Multi-media Keyboard
SOFTWARE CONFIGURATION
Server configuration
Operating System : Linux
Language : Java
Software Required : Samba
Client configuration
Operating System : Windows
Language : Java 2.0
Software Required : Telnet
Backend : MySQL
LITERATURE
SURVEY CHAPTER – 2
LITERATURE SURVEY
2.1. LINUX FEATURES
There are many reasons to use LINUX.
Free
LINUX is licensed under the free software foundations GNU General
Public License (GPL). According to the terms of the License, anything
using it must take available the source code used to build the software,
and anything using source code from the software must be licensed under
the GPL. This perpetuates the availability of the source code
Open source
This implies that the source code used to create the application is
made available at no change to the General Public. Users configuration to
the source code, which may be, in tern, merged into the distributed binary
form of the application, are generally welcome. This is the way LINUX
has come to thrive in.
Network
A network is a group of computers and devices connected together in
order to communicate and work with each other. LINUX was built with
networking in mind and all distributions include the necessary programs
and utilities to attached to and function on a network.
Power
LINUX has the ability to transform your legacy hardware into a
powerful, well turned machine. Take that old 486 or Pentium and turn it
into a fully multitasking crash free system.
Interactive
LINUX allows user to interact with the system, entering commands
that are executed immediately (rather than the mainframe method of
queuing commands to be run in a batch).
Multi-user
Linux allows multiple people to access the same computer at the same
time, differentiate between them, and understand which process belongs
to whom.
Multitasking
Linux is capable of carrying out more than one task at the same time.
Multiprocessing System
Linux also supports multiple CPUs on the same computer. System
with multiple processors performs faster than single CPU system because
the processors can combine forces to work on one task between multiple
processors via a technique called multithreading.
2.2. JAVA OVERVIEW
Java is a platform independent language and supports Unicode
character set. Java was developed in 1990’s and is a Microsoft product. It
contains application and applet programming.
Java is an Object-oriented multithreaded programming language. It is
designed to be small, simple and portable across different platforms as well
as operating systems. Java became popular because of its three components.
One of the components is Applet.
2.3. JAVA FEATURES
Secure
Java achieves protection by confining a Java program to the Java
execution environment and by making it inaccessible to other parts of the
computer. Hence Applets can be downloaded without any fear of viral
infection or malicious intent.
Portable
Many types of computers and operating systems are in use throughout
the world and are connected to the Internet. So, for downloading
programs through different platforms connected to the Internet portable,
executable code is needed. Java handles these problems efficiently
through its well-defined Architecture.
Object-Oriented
Java gives a clean, usable, realistic approach to objects. The object
model in Java is simple and easy to extend, while simple types, such as
Integers, are kept as high performance non-objects.
Robust
Most programs used today fail for one of the two reasons: Memory
management or Exceptional conditions. Thus the ability to create robust
programs was given a high priority in the design of Java. Java also
handles exceptional conditions by providing object oriented exception
handling.
Multithreaded
Java was designed to meet the real world requirements of creating
interactive, networked programs. To achieve this, Java supports
multithreaded programming, which allows the user to write programs that
performs many functions simultaneously Architecture Neutral
Interpreted and high Performance
Java enables the creation of cross-plat formed programs by compiling
the code into an intermediate representation called Java byte code. This
code can be interpreted on any system that has a Java Virtual Machine.
Most of the earlier cross-platform solutions are run at the expense of
performance. Java however was designed to perform well on very low
power CPU's.
Distributed
Java is designed for the distributed environment of the Internet,
because it handles TCP/IP protocols. Java includes features for Intra-
address-space messaging in a package called Remote Method Invocation
(RMI).
Dynamic
Java programs carry with them extensive amounts of runtime
information that is used to verify and resolve accesses to objects at
runtime. Using this concept it is possible to dynamically link code.
Dynamic property of Java adds strength to the applet environment in
which small fragments of byte code may be dynamically updated on a
running system.
2.4. SWING COMPONENTS
Swing is a GUI component kit for building user interfaces and
handling end user input.
JButton
JButton is a push button that is a replacement for java.awt.Button.
Instances of JButton, like Swing labels, can display text, an icon, or both.
Like AWT buttons, Swing button fire action events when they are
activated. An action listener can register with a button, and the listener’s
action Performed method will be invoked whenever the button is
activated.
JLabel
Swing labels can be used for many purposes. For example, in addition
to serving as a component that can display an icon, labels are also
typically used as cell reindeers for Swing tables.
JListSwing lists, represented by the JList class, display a list of selectable
objects and support three selection modes: single selection, single
interval selection, and multiple interval selection.
JTextField
The JTextField component displays a single line of editable text,
using a single font and a single color. Horizontal alignment either LEFT,
CENTER, or RIGHT can be specified for a text field’s text. By default,
pressing the Enter key (KeyEvent.VK_ENTER) while a text field has
focus causes the field to fire action event. The JTextField class is nearly
source compatible with the java.awt.TextField class.
JTextArea
Swing text areas, represented by the JTextArea class, can display
multiple lines of plain text, which is defined as text with one font and one
color. Text areas can wrap lines, either on character or word boundaries.
The JTextArea class is nearly source compatible with the
java.awt.TextArea class.
JCheckBox
Check boxes are two state buttons that typically display text and have
a visual indicator as to whether the check box is currently selected or
deselected. Check boxes are usually displayed in groups but normally do
not exhibit mutually exclusive selection behavior. The JCheckBox class
has no properties of its own all properties are inherited from the Abstract
Button class.
JComboBox
Instances of JComboBox are not editable by default, but a simple call
to JComboBox.setEditable (true) is all that’s required to enable editing.
JRadioButton
Radio buttons and check boxes are nearly identical, except for the
control they display to depict their selection status. Additionally, radio
buttons are almost always used to present an array of mutually exclusive
check boxes are typically used for choices that are not mutually
exclusive. The JRadioButton class has no properties of its own all
properties are inherited from the Abstract Button class.
JScrollBar
The user positions the knob in the scrollbar to determine the contents
of the viewing area. The program typically adjusts the display so that the
end of the scrollbar represents the end of the displayable contents, or
100% of the contents. The start of the scrollbar is the beginning of the
displayable contents, or 0%. The position of the knob within those
bounds then translates to the corresponding percentage of the displayable
contents.
Typically, as the position of the knob in the scrollbar changes a
corresponding change is made to the position of the JViewport on the
underlying view, changing the contents of the JViewport. Instances of
JScrollBar fire adjustment events when a scrollbar’s value is modified.
JMenuBar
JMenu
Swing menus are buttons that display a popup menu they are
activated. If a menu resides in a menu bar, it is referred to as a top-
level, whereas menus that are contained in a menu are referred to as
pull-right menus.
MenuItem
Menu items are buttons by virtue of the fact that JMenuItem
extends Abstract Button, and therefore menu item can display text
and an icon. Menu items also inherit the ability to fire action events
when they are activated. Because Abstract Button ultimately
extends java.awt.Container, menu items can also contain types of
AWT and Swing components.
JCheckBoxMenuItem
JCheckBoxMenuItem is a simple extension of JMenuItem that
draws a checkbox control on the left hand side (by default) of the
drawn in the menu item.
JRadioButtonMenuItem
Swing radio button menu items are similar to checkbox menu
item; both JCheckBoxMenuItem and JRadioButtonMenuItem are
simple extension of JMenuItem.
Flow Layout
A flow layout arranges components in a left-to-right flow, much
like lines of text in a paragraph. Each line is centered.
Grid Layout
The Grid Layout object is a layout manager that lays out a
container's components in a rectangular grid. The container is
divided into equal-sized rectangles, and one component is placed
in each rectangle.
Border Layout
A border layout lays out a container, arranging and resizing its
components to fit in five regions:
north, south, east, west, and center.
Each region may contain no more than one component, and is
identified by corresponding constant:
NORTH, SOUTH, EAST, WEST, and CENTER.
DATABASE STRUCTURE
Table Name: User table
Field Name Data Type
User name Varchar (15)
Password Varchar (15)
Group name Varchar (13)
Table Name: Resource Table
Field Name Data Type
Resources name Blob
Comment Varchar (20)
Group name Varchar (13)
Host Varchar (15)
DESIGN
METHODOLOGY
CHAPTER - 3
DESIGN METHODOLOGY
3.1. INPUT DESIGN
Input design is the process of converting user-oriented inputs to a
computer-based format. The quality of the system input determines the
quality of system output. Input design determines the format and validation
criteria for data entering to the system.
Inputs originate with system users; human factors play a significant
role in input design. The inputs in this project are as simple as possible and
design to reduce the possibility of incorrect data being entered by using
validation in each and every module. Users pass input through components
created using swing.
The input design of this project is constructed with the following
principles
Capture only validated data.
Restricted user entry.
The main objectives considered during input design are:
Nature of input processing.
Flexibility and thoroughness of validation rules.
Handling of priorities within the input documents.
Screen design to ensure accuracy and efficiency of input
relationship with files.
Careful design of the input also involves attention to error
handling, controls, batching and validation procedures.
As the project is system oriented and we deal with service agent, the
input is just the username, password and the group name of the
administrator. The user should not login into the project in order to improve
the security of the system. In some cases the enabling options that would
affect the performance of your system can be the input. The member adder
module checks for the system in the network by identifying the port number
and the IP address for the systems. The ResourceProber module identifies
the shared files in the network by searching the resource table
3.2. OUTPUT DESIGN
Output design generally refers to the results and information that are
generated by the system. For many end users, outputs are the main reason
for developing the system and the basis on which they will evaluate the
usefulness of the application. Most end users will noticeably operate the
information system or enter data through workstation, but they will use the
output from the system.
When designing output, system analyst must determine what
information is to be presented and decide where to display, print the
information and select the output medium. The data produced as output
should be accurate and reliable and the output must furnish relevant data.
The output should be maintained according to the users needs.
Quality Assurance is done in Java, so the output is the GUI interface,
which is user-friendly. The project is provided with a separate GUI tool for
enabling the client machines to the server for the connection to be
established between the server and the client machines. The output is also
provide an interface for registering the files in the network so that the
administrator can download the shared files from the server which is to be
stored in the database. The shared files are downloaded and used effectively
in the local client machines.
SYSTEM TESTING
CHAPTER - 4
SYSTEM TESTING AND IMPLEMENTATION
4.1. UNIT TESTING
Unit testing focuses verification effort on the smallest limit of
software design. Using the unit test plan prepared in the design phase of the
system, important control paths are tested to uncover the errors within the
module. This testing was carried out during the coding itself. In this testing
each module is going to be working satisfactorily as the expected output
from the module.
Examples for some tests performed:
Click on all links
System displays appropriate screen. No error message saying ‘not found’
is given. If we press a button appropriate screen should open otherwise ‘not
found’ error will be displayed.
Use of empty values in mandatory fields.
Display error: Entry missing. If username without password is given then
‘enter correct password’ message will be displayed.
Use of wrong data type values.
Display error: Enter numeric or alpha according to the entry. If numeric
value is entered in user name field error message will be displayed.
4.2. INTEGRATION TESTING
Integration testing is the systematic technique for constructing the
program structure while at the same time conducting test to uncover errors
associated with the interface. The objective is to take tested modules and
build the program structure that has been dictated by design. All modules are
combined in this testing step. Then the entire program is tested as a whole. If
a set of errors is encountered correction is difficult because the isolation of
causes is complicated by vastness of the entire program.
Using integrated test plans prepared in the design phase of the system
developed as a guide, the integration was carried out. All the errors found in
the system were corrected for the next testing steps.
Security checks done are,
1) Login with wrong user id
Display error ‘No such user exist’
2) Provide wrong password
Display error ‘Password incorrect’
3) Other than administrator trying to access user groups
Display error ‘Invalid command or Insufficient Access Level’
4) Provide wrong IP address of server
Display error ‘Server not responding’
5) Provide wrong port number
Display error ‘error sending message login, list’
4.3. VALIDATION TESTING
At the end of the integration testing, software is completely assembled
as a package, interfacing errors have been uncovered and corrected and final
series of software validation testing begins. Validation testing can be defined
in many ways, but a simple definition is that validation succeeds then the
software functions in a manner that can be reasonably accepted by the user.
Software validation is achieved through a series of black box tests that
demonstrate conformity the requirements.
After validation test has been completed, one of the following two possible
conditions exists:
The function or performance characteristics confirm to specification
and are accepted.
A deviation from specification is uncovered and a deficiency list is
created. Deviation or errors discovered at this step in this project is
corrected prior to the completion of the project is the help of users by
negotiating to establish a method of resolving deficiencies.
Thus, the proposed system under consideration has been tested by using
validation testing and found to be working satisfactory.
IMPLEMENTATION
CHAPTER - 5
IMPLEMENTATION
5.1. SYSTEM IMPLEMENTATION
Implementation is the process of having the system personal checks
out and put flew equipment to use, train the users to use the new system and
construct any file that are needed to take it. The final and important phase in
the system life cycle is the implementation of the new system. The file
conversion is the most time consuming and expensive activity in the
implementation stage.
System implementation refers to the step necessary to install a new
system input into operation. The implementation has different meaning,
ranging from the conversion of a basic application to complete replacement
of computer system. Implementation includes all those activities that take
place to convert from old system to new. The new system may be totally
new placing an existing module or automated system or it may be major
modification to an existing system. The method of implementation and time
scale to be adopted is found out initially.
5.2. USER TRAINING
The system is tested properly and at the same time the users are
trained in the new procedure. Proper implementation is essential to provide a
reliable system to meet organization requirements. Successful
implementation may not guarantee improvement in the organization using
the new system, but it will prevent improper installation.
The implementation involves the following things:
Careful planning
Investigation of the system and constraints
Design the methods to achieve the charge over
Training the staff in the changed place
CONCLUSION
CHAPTER – 6
CONCLUSION
The application has been successfully developed, fulfilling the
necessary requirements, as identifies in the background study and
requirements analysis phase.
The design of the system and the database are flexible and has a consistent
flow for easy understanding. This is to ensure that enhancements can easily
accommodate, without having to make major changes to the application.
The software is developed with scalability in mind. Additional
modules can be easily added when necessary. The software is developed
with modular approach. All modules in this project have been tested
separately and put together to form the main system. Finally the system is
tested with real data and everything worked successfully.
Finally, to conclude, the software development was completed and
accepted by the management as well as user staff.
APPENDIX
1
7.1. DATAFLOW DIAGRAM
7.2. SYSTEM DIAGRAM
APPENDIX 2
SNAP SHOTS
REFERENCE
REFERENCE
The relevant referred books for the project are the following
1. The complete reference for Java2 – 3rd Edition by Patrick
Naughton & Herbert Schildt.
2. Java Foundation Classes by Matthew T. Nelson
3. Programming Java-An introduction to programming using Java
by Decker, Hirsh field, 2nd edition
4. Core Java –Cay S.Horstmann, Gary Cornell.