62

3-Dynamic Parallel Access

Embed Size (px)

DESCRIPTION

a project reprt

Citation preview

Page 1: 3-Dynamic Parallel Access
Page 2: 3-Dynamic Parallel Access

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

Page 3: 3-Dynamic Parallel Access

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

Page 4: 3-Dynamic Parallel Access

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

Page 5: 3-Dynamic Parallel Access

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

Page 6: 3-Dynamic Parallel Access

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

Page 7: 3-Dynamic Parallel Access

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

Page 8: 3-Dynamic Parallel Access

Software Required : Telnet

Backend : MySQL

Page 9: 3-Dynamic Parallel Access

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

Page 10: 3-Dynamic Parallel Access

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.

Page 11: 3-Dynamic Parallel Access

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

Page 12: 3-Dynamic Parallel Access

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

Page 13: 3-Dynamic Parallel Access

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

Page 14: 3-Dynamic Parallel Access

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

Page 15: 3-Dynamic Parallel Access

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

Page 16: 3-Dynamic Parallel Access

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

Page 17: 3-Dynamic Parallel Access

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

Page 18: 3-Dynamic Parallel Access

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)

Page 19: 3-Dynamic Parallel Access

Table Name: Resource Table

Field Name Data Type

Resources name Blob

Comment Varchar (20)

Group name Varchar (13)

Host Varchar (15)

Page 20: 3-Dynamic Parallel Access

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

Page 21: 3-Dynamic Parallel Access

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

Page 22: 3-Dynamic Parallel Access

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.

Page 23: 3-Dynamic Parallel Access
Page 24: 3-Dynamic Parallel Access

SYSTEM TESTING

Page 25: 3-Dynamic Parallel Access

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

Page 26: 3-Dynamic Parallel Access

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’

Page 27: 3-Dynamic Parallel Access

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.

Page 28: 3-Dynamic Parallel Access

IMPLEMENTATION

Page 29: 3-Dynamic Parallel Access

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.

Page 30: 3-Dynamic Parallel Access

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

Page 31: 3-Dynamic Parallel Access

CONCLUSION

Page 32: 3-Dynamic Parallel Access

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.

Page 33: 3-Dynamic Parallel Access
Page 34: 3-Dynamic Parallel Access

APPENDIX

1

7.1. DATAFLOW DIAGRAM

Page 35: 3-Dynamic Parallel Access
Page 36: 3-Dynamic Parallel Access

7.2. SYSTEM DIAGRAM

Page 37: 3-Dynamic Parallel Access
Page 38: 3-Dynamic Parallel Access

APPENDIX 2

SNAP SHOTS

Page 39: 3-Dynamic Parallel Access
Page 40: 3-Dynamic Parallel Access
Page 41: 3-Dynamic Parallel Access
Page 42: 3-Dynamic Parallel Access
Page 43: 3-Dynamic Parallel Access
Page 44: 3-Dynamic Parallel Access
Page 45: 3-Dynamic Parallel Access
Page 46: 3-Dynamic Parallel Access
Page 47: 3-Dynamic Parallel Access

REFERENCE

REFERENCE

The relevant referred books for the project are the following

1. The complete reference for Java2 – 3rd Edition by Patrick

Page 48: 3-Dynamic Parallel Access

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.