java remote computin
TRANSCRIPT
-
7/29/2019 Java Remote Computin
1/49
AProject Report
On
J ava Remote Computing(J RC)
B.Tech-SEM VII
Prepared AtDepartment Of Information Technology
Faculty of Technology, Dharmsinh Desai University
College Road, Nadiad-387001
Prepared ByPanchal Krunal G. (IT-55)
Parikh Snehal N.(IT-58)
Guided ByAsst. Prof. S. J . J oshi
Department of Information TechnologyFaculty of Technology
Dharmsinh Desai University
Department of Information TechnologyFaculty of Technology,
Dharmsinh Desai UniversityCollege Road, Nadiad-387001
-
7/29/2019 Java Remote Computin
2/49
DHARMSINH DESAI UNIVERSITYNADIAD-387001, GUJ ARAT
CERTIFICATE
This is to certify that the project carried out in the subject of Software Design Project
entitled J ava Remote Computing and provided in this report is a bonafied report
of the work carried out by:
1. Mr.Krunal G. Panchal, ID No: 096067
2. Mr.Snehal N. Parikh, ID No: 096070
of Department of Information Technology, semester VII, under the guidance
and supervision at Dharmsinh Desai University, Nadiad (Gujarat). They
were involved in the project during academic year 2012-2013.
Asst.Prof. S.J .Joshi
(Project Guide)
Department of Information Technology,
Faculty of Technology,
Dharmsinh Desai University, Nadiad
Date:
Prof. R.S.Chhajed
Head, Department of Information Technology,Faculty of Technology,
Dharmsinh Desai University, Nadiad
Date:
-
7/29/2019 Java Remote Computin
3/49
DDU(Faculty of Tech.,Dept. of IT) i
CANDIDATES DECLARATION
We declare that pre-final semester report entitled J ava Remote Computing is our
own work conducted under the supervision of the guideAsst. Prof.S.J.Joshi from
Faculty Of Technology, DDU,Nadiad.
We further declare that to the best of our knowledge the report for B.Tech
SEM-VII does not contain part of the work which has been submitted either
in this or any other university without proper citation.
Candidates Signature:
Candidates Name- Parikh Snehal N.
Branch:IT Student ID: 096070
Candidates Signature:
Candidates Name- Panchal Krunal G.
Branch:IT Student ID: 096070
Submitted To:
Asst Prof. S.J.Joshi
Department of Information Technology,
Faculty of Technology,
Dharmsinh Desai University, Nadiad
State: Gujarat
-
7/29/2019 Java Remote Computin
4/49
DDU(Faculty of Tech.,Dept. of IT) ii
ACKNOWLEGEMENT
It is indeed a great pleasure to express our thanks and gratitude to all
those who helped us during this project. This project would have been materialized
without the help from many who asked us good questions and rescued from various
red tape crisis.
Theoretical knowledge is of no importance if one doesnt know the way of its
implementation. We are thankful to our institute that provided us an opportunity to
apply our theoretical knowledge through the project. We feel obliged in submitting
this project as part of our curriculum.
We would like to take the opportunity to express our humble gratitude to our
guideMs. Siddhi. J . J oshi, Assistant Professor, Faculty of IT Department, D.D.I.T.,
under whom we undertook our project. Her constant guidance and willingness to
share her vast knowledge made us enhance our knowledge and helped us to completethe assigned tasks to perfection. Without her effort and full support, this project may
not have succeeded.
Although, there may be still many who are unacknowledged in this humble
vote of thanks, there are none who remain unappreciated.
Project Member
Panchal Krunal G.
Parikh Snehal N.
-
7/29/2019 Java Remote Computin
5/49
Abstract
DDU(Faculty of Tech.,Dept. of IT) iii
ABSTRACT
J ava Remote Computing(JRA) is a client/server software package allowing
remote network access to graphical desktop. This software enables you to get a viewof the remote machine desktop and thus control it with your local mouse and
keyboard. It can be used to perform remote system control and administration tasks in
Unix, Windows and other assorted network environments.It also provides features
like filetransfer,text-chating,audio-chating with proper authentication using SSL .
This software requires a TCP/IP connection between the server and the viewer,
which works on LANs. Each computer has a unique IP address and may also have a
name in the DNS. User will need to know the IP address or name of the server when a
viewer wants to connect to it.
The server is designed to make the client as simple as possible, so it is usually
up to the server to perform any necessary translations. For example, the server must
provide pixel data in the format the client wants. Each desktop is like a virtual X
display, with a root window on which several X applications can be displayed.
Servers mirror the real display to a remote client, which means that the server is not
'multi-user'. It does, however, provide the primary user of a PC with remote access to
their desktop. The server processing includes retrieving the pixel information and
sending it.The input side is based on a standard workstation model of a keyboard, and
multi-button pointing device. Input events are sent to the server by the client
whenever the user presses a key or whenever the mouse is moved. It also requests for
all the possible specific parameters that the server can handle, for instance the color
mode, pointer events and so on.
-
7/29/2019 Java Remote Computin
6/49
Table of Contents
DDU(Faculty of Tech.,Dept. of IT) iv
TABLE OF CONTENTS
Abstract v
Table of Contents vi
List of Figures viii1.0 Introduction 8
1.1 Project Details 8
1.2 Purpose 9
1.3Scope 9
1.4Objective 10
1.5Technology and Literature Review 11
2.0 Project Management 12
2.1 Feasibility Study 13
2.1.1 Technical feasibility 13
2.1.2 Operational feasibility 13
2.1.3 Economic Feasibility 13
2.1.4 Time Scheduling Feasibility 13
2.1.5 Implementation Feasibility 14
2.2Project Planning 15
2.2.1 Project Development Approach 15
2.2.2 Project Plan 15
2.2.3 Milestones and Deliverables 15
2.2.4 Group Dependencies 16
2.3 Project Scheduling 17
3.0 System Requirements Study 16
3.1 Study of Current System 16
3.2 User Characteristics 17
3.3 Hardware and Software Requirements 18
3.4 Constraints 19
3.5 Assumptions and Dependencies 19
-
7/29/2019 Java Remote Computin
7/49
Table of Contents
DDU(Faculty of Tech.,Dept. of IT) v
4.0 System Analysis 20
4.1Requirements of New System (SRS) 20
4.1.1 Functional Requirements 21
4.1.2 Non functional Requirements 234.2 Use-Case Diagram 24
4.3 Features of New System 25
5.0System Design 26
5.1System Architecture Design 26
5.1.1 Class Diagram 26
5.1.2 Sequence Diagrams 27
5.1.3 Activity Diagram 29
5.1.4 Component Diagram 30
5.1.5 Deployment Diagram 31
6.0Implementation Planning 32
6.1Implementation Environment 32
6.2Modules specification 33
6.3 Coding Style followed 34
7.0Testing 35
7.1Testing Plan 36
7.2Testing Methods 37
7.3 Test Cases 38
8.0User Manual 39
8.1 Operating Instructions 40
9.0Limitation and Future Enhancement 43
10.0 Conclusion and Discussion 44
10.1 Conclusions 44
10.2 Discussion 45
10.3 Summary 46
11.0 Bibliography 47
11.1 Websites 47
11.2 References 47
-
7/29/2019 Java Remote Computin
8/49
List of Figures
DDU(Faculty of Tech.,Dept. of IT) vi
List of Figures:
Fig 1.5.3 Single Network with server 09
Fig 2.1 Gantt Chart 12
Fig 4.2.1 Use-Case Diagram 21Fig 5.1.1 Class-Diagram 26
Fig 5.1.2.1 Sequence Diagram:-Starting the Server 27
Fig 5.1.2.2 Sequence Diagram:-Connecting the Server 27
Fig 5.1.2.3 Sequence Diagram:-Remote Control 28
Fig 5.1.2.4 Sequence Diagram:-File Transfer 29
Fig 5.1.2.5 Sequence Diagram:- Chat 29
Fig 5.1.3 Activity Diagram 30
Fig 5.1.4 Component-Diagram 31
Fig 5.1.5 Deployment Diagram 32Fig 7.1 Test-Phases 33
Fig 8.1.1 Initial GUI 37
Fig 8.1.2 Starting server 40
Fig 8.1.3.1 Remote Control 41
Fig 8.1.3.2 Changing Resolution 42
Fig 8.1.4 Chat 43
Fig 8.1.5 File Transfer 43
List of Tables:
Table 7.3.1 Test Cases 36
-
7/29/2019 Java Remote Computin
9/49
Introduction
DDU(Faculty of Tech.,Dept. of IT) 7
1.INRODUCTION
1.1 PROJ ECT DETAILS
Java Remote Computing is a Desktop Application which allows the user to access
computer located remotely.It also provides features like text,audio-chatting,file-
transfer,with proper authentication and security.
It uses TCP-IP connection via Lan.
1.2 PURPOSE
Java Remote Computing provides businesses the ability to login and access
computers remotely. Utilizing software enables personnel to transfer files quickly
and easily, and communicate by instant message, text chat, or voice intercom
from any PC.As with many IT departments having the ability to remotely manage
computers, expands the breath of service level and reach that can be provided by
a centralized support groups.
e.g Client complains network operator about some configuration issues.
Network operator using this software will solve the issue instantly from a remotedistance and utilizes other modules like chatting,file-transfer,audio,resolution for
better communication.
This saves time,transportation cost and customer is also satisfied with the instant
service.
1.3 PROJ ECT SCOPE
This project works for windows operating system, Linux operating system and allother operating system for which Java Virtual Machine is developed.
-
7/29/2019 Java Remote Computin
10/49
Introduction
DDU(Faculty of Tech.,Dept. of IT) 8
1.4 OBJ ECTIVE
Using this application user can do:
Reducing the need to travel to provide computer support
Provides quicker response to remote issues.
Centralizing and streamlines computer support
Can help in reducing overall costs
User cant do:
User cant run this software without LAN connection.
Remotely Alt+Ctrl+Delete key is not working.
1.5 TECHNOLOGY AND LITERTURE
Application uses JAVA Language.
1.5.1 J AVA:
Java can create all kind of application that you could create with any otherprogramming language. Java technology is high-level programming and a platformindependent language. Java is designed to work in distributed environment on theinternet. It works on the concept of object-oriented programming model. J ava is awell-known technology which allows for software designed and written only once fora virtual machine to run on different computers supports various operating systems.
Application has NETBEANS as Front-end.
1.5.2 Availability of Netbeans:
Netbeans is easily available on Internet. Any one who knows Internet can
easily download the Netbeans. It is available in different versions. And also the video
tutorials are available on internet that can guide you to install it on your computer.
-
7/29/2019 Java Remote Computin
11/49
Introduction
DDU(Faculty of Tech.,Dept. of IT) 9
1.5.3 Local Area Network
A Local Area Network (LAN) is a network that connects computers and
devices in a limited geographical area such as home, school, computer laboratory,office building, or closely positioned group of buildings. Each computer or device on
the network is a node. Current wired LANs are most likely to be based on Ethernet
technology.
The defining characteristics of LANs, in contrast to WANs (Wide Area Networks),
include their higher data transfer rates, smaller geographic range, and no need for
leased telecommunication lines.
Fig 1.5.3 Single Network With Server
1.5.4 Ethernet Physical Layer
The Ethernet physical layer is the physical layer component of
the Ethernet family of computer network standards. The Ethernet physical layer
evolved over a considerable time span and encompasses quite a few physical media
interfaces and several magnitudes of speed. The speed ranges from 1 Mbit/s to
100 Gbit/s while the physical medium can range from bulky coaxial cable to twisted
pair to optical fiber. In general, network protocol stack software will work similarly
on all physical layers.
-
7/29/2019 Java Remote Computin
12/49
Introduction
DDU(Faculty of Tech.,Dept. of IT) 10
1.5.5 Threads
A thread is a program's path of execution. Most programs written
today run as a single thread, causing problems when multiple events or actions need
to occur at the same time. For example, a program is not capable of drawing pictureswhile reading keystrokes. The program must give its full attention to the keyboard
input lacking the ability to handle more than one event at a time. The ideal solution to
this problem is the seamless execution of two or more sections of a program at the
same time which is allowed by threads. Multithreaded applications deliver their potent
power by running many threads concurrently within a single program.
1.5.6 RMI
Remote Method Invocation(RMI) provides Java programs abstraction in
communication.In RMI we donot have to create sockets and care about closing thesockets..All things are done by RMI.We just have to get remote object from the RMI
server.
1.5.7 Bits Per Pixel
The number of bits of information stored per pixel of an image or
displayed by a graphics adapter. The more bits there are, the more colours can be
represented, but the more memory is required to store or display the image.
A colour can be described by the intensities of red, green and blue (RGB)
components. Allowing 8 bits (1 byte) per component (24 bits per pixel) gives 256
levels for each component and over 16 million different colours - more than the
human eye can distinguish. Microsoft Windows alls this truecolour. An image of
1024x768 with 24 bpp requires over 2 MB of memory. "High colour" uses 16 bpp (or
15 bpp), 5 bits for blue, 5 bits for red and 6 bits for green. This reduced colour
precision gives a slight loss of image quality at a 1/3 saving on memory.
-
7/29/2019 Java Remote Computin
13/49
-
7/29/2019 Java Remote Computin
14/49
Project Management
DDU(Faculty of Tech.,Dept. of IT) 12
Various types of Feasibility study are identified as under:
2.1.1 Technical FeasibilityThe Technical Feasibility test involves questions like
Is the current Computers configuration adequate for Usage?
Is the selected technique sufficient for future enhancements?
Is the skill set available with proper manpower for development and
maintenance?
Technically this project can be feasible because JAVA is a platform
independent & other required resources are for it is also available. The
development software Netbeans is also available for the project.
2.1.2 Operational Feasibility Performance: - The current operation mode provides the adequate
throughput.
Information: - The current operation mode provides end user & manager with
timely & useful formatted information.
Economy:-The current operational mode provides average cost information
service to the business.
Control: - The current operational mode provides effective control for security. Efficiency:-The current operational mode provides maximum use of available
resources.
Services:-The current operational mode provides reliable services including
flexibility & expandability.
2.1.3 Time Scheduling Feasibility>The fulfillment of the entire requirement within 3-month may not possible.>But some basic requirement can be possible to fulfill.
-
7/29/2019 Java Remote Computin
15/49
Project Management
DDU(Faculty of Tech.,Dept. of IT) 13
2.1.4 Economic Feasibility
The questions put forward in economic feasibility are: Are there sufficient cost benefits in creating the system? Are the costs of implementation of current system so great that the task
of project development is required?
This feasibility study measures the cost effectiveness of project. It takes into
consideration cost and benefit.
Conclusion: It is economically feasible to develop and implement this
application in JAVA using NETBEANS.
2.1.4 Implementation FeasibilityIf we concern about implementation, it very easy to implement this project inthe Netbeans.You dont need to install any special software for this.
2.2 PROJ ECT PLANNING
2.2.1 Project Development Approach and J ustification
I have used traditional approach for the Project Development, Because it is
structured planning & it goes through step by step.
Project initiation stage.
Project planning and design stage.
Project execution and construction stage.
Project monitoring and controlling systems.
Project completion.
-
7/29/2019 Java Remote Computin
16/49
Project Management
DDU(Faculty of Tech.,Dept. of IT) 14
2.2.2 Project Plan
1. Gather the definition.2. Check whether the definition is feasible or not in given deadline.
3. Requirement gathering.
4. Analysis on gathered requirements.
5. Designing.
6. Coding.
7. Testing.
8. Management.
2.2.3Milestone & Deliverables
1. (M): Searching of project definition.(D): Found concrete definition.
2. (M): Get the Requirements.
>>Do the analysis on requirements.(D): Completion of perfect requirement gathering.
3. (M): Do the Designing.
>>According to requirement draw the following diagrams: Class
Sequence
Activity
Component Diagram
(D): Completion of Design phase.
Once we examine that the project is feasible, I undertake project planning.
2.2.4 Group Dependencies:
Both the members of the project should be dedicated to the project and
should in turn help each other in whatever problems concerning the project.
They should report periodically to the project leader or the concerned faculty
for the project reporting.
-
7/29/2019 Java Remote Computin
17/49
Project Management
DDU(Faculty of Tech.,Dept. of IT) 15
2.3 Project Scheduling
2.3.1 Project Scheduling Chart
Fig 2.3.1 Gantt Chart
-
7/29/2019 Java Remote Computin
18/49
System Requirement
DDU(Faculty of Tech.,Dept. of IT) 16
3. SYSTEM REQUIREMENT STUDY
After initial discussions with the SDP lab teacher and preliminary
investigation, the requirement study of the project was done. A pre-requirement of
investigation was prepared which revealed the exact amount of efforts required in
people-person months, the cost that would be incurred, the risks and the mitigating
factors.
Different parameters were taken into consideration while considering the cost factor
incurred in the project:
Hardware cost: There are no hardware cost.
Software cost: This cost includes the cost incurred on the licensing of tools and
software used in the project e.g. Netbeans.
Systems analysis & requirements definition
After doing a preliminary investigation the following functional and non-functional
requirements were found and a SRS (System Requirements Specification) was
prepared.
A software process model is a simplified description/abstract representation of a
software process which is presented from a particular per2spective. A process model
for software engineering is chosen based on the nature of the project and application,
the methods and tools to be used, and the controls and deliverables that are required.
All software development can be characterized as a problem solving loop in which
four distinct stages are encountered:
Status quo
Problem definition
Technical development
Solution integration
Status Quo represents the current state of affairs.
Problem Definition identifies the specific problem to be solved.
Technical Development solves the problem through the application of sometechnology.
Solution Integration delivers the results (e.g. documents, programs, data, and new
product) to those who requested the solution in the first place.
-
7/29/2019 Java Remote Computin
19/49
System Requirement
DDU(Faculty of Tech.,Dept. of IT) 17
3.1 STUDY OF CURRENT SYSTEM
Currently available systems are:
Windows Remote desktop.
Remote desktop uses Remote Desktop Protocol control remote
computer. But it is for windows only.
Team viewer
This software is used widly across the globe. It is free for home users
and non free for commercial use. For commercial use licence has to be bought
which is very costly.
3.2 USER CHARATERISTICS
>>Two users at a time can use this application.
3.3HARDWARE AND SOFTWARE REQUIREMENTS
Minimum configuration for our system is as below:
3.3.1 Hardware Requirement
Computer
3.3.2 Software Requirement
Operating System: Windows 2000/XP/Windows 7
Netbeans
The organization has enough licenses to meet the software requirement of Netbeansand other tools required to develop the application. So no additional hardware or
software is required.
-
7/29/2019 Java Remote Computin
20/49
System Requirement
DDU(Faculty of Tech.,Dept. of IT) 18
3.4 CONSTRAINTS
3.4.1 Hardware Limitations
There is no hardware configuration heterogeneity in this case of themodule or the complete system being developed.
3.4.2 Higher Order Language Requirements
There arent any high order language requirements that can be considered as aconstraint. All such language requirements are accurately met in such elite technicalorganizations.
Here I am using JAVA(J2SE) as a front end.
3.4.3 Reliability Requirements Reliability requirements of the system are one of the prime ones in the list.
The system needed to be highly reliable in terms of performance but at this
stage where the complete system is far from completion we cannot gauge
its reliability all we could do is to make the individual module we have
developed to be as reliable as possible.
3.4.4 Safety and Security Considerations
Safety and security too are other major concerns of any client. In this case
we are using SSL layer providing maximum security.
3.4.5 Criticality of Applications
Since software involves remote control module, authentication is very
important .Every user has to provide specific one time password (OTP)
to access the various features of the software.
3.5 ASSUMPTIONS AND DEPENDENCIES
Here I had assumed that the user has an internet connection.And the jar file of the
software should be properly installed in the computer.
-
7/29/2019 Java Remote Computin
21/49
System Analysis
DDU(Faculty of Tech.,Dept. of IT) 19
4. SYSTEM ANALYSIS
4.1SOFTWARE REQUIRMENT SPECIFICATION
Requirement Specification sets out the system services and constraints in detail which are
abstract in requirement definition. It should state what the system should do, not how it
should be implemented. It can be described as functional and non-functional requirements.
Functional requirements of proposed system are as below:-
4.1.1 Functional Requirements
R.1: Manage own accountR.1.1: Generate connection Id and password
Description:Whenever client starts the software on his machine,he should specifyhis own username and desired password respectively.User has to providepassword every time,no need to remember it.
Input : Username and password
Output : Account created.
R.2: Controlling Remote computerR2.1: Connecting remote computer
Description: After performing authentication by entering Username,password andIp-address of the remote pc,client is able to see the remote pc screen on his owncomputer constantly.
Input : Username,password and Ip address of the remote pc to be connected.
Output: Screen of the remote computer is shown in a window.
R.2.2: Controlling with mouse
Description: Whenever client presses mouse keys on the window of remotecomputers screen this same event should be performed on the remote computersimultaneously and the resulted screen sould be displayed.
Input: Clicking,pressing mouse buttons and dragging mouse wheel.
Output: The mouse events are performed on the remote computer.
-
7/29/2019 Java Remote Computin
22/49
System Analysis
DDU(Faculty of Tech.,Dept. of IT) 20
R.2.3:Controlling with keyboard
Description:Whenever client presses keyboard keys during focussing of
softwares window,the respected key event should be performed on the remote pcas if keys were pressed on the remote computer.
Input:Any keyboard keys.
Output:Respected key event should be performed on the remotely connectedcomputer.
R.3: Managing resolution
Description:Client can decide to keep the resolution of window in which he wantsto see the remote computer screen.
Input:Selection of needed resolution.
Output:The required resolution remote screen is visible.
R.4: Managing display of the screen
Description: Client is given a option to choose black&white,full colour mode,256colour or 15 bit colour mode display.
Input: Select desired colour option.
Output:The desired colour mode is visible.
R.5: Chat facility
Description:Client should be able to chat with the remote computer.
Input: Open chat window.
Output:Client can chat with the remote computer.
R.6: File Transfer
Description:In this client gives the path of the file which he want to send to theremote computer and that file should be transferred.
Input: File which client wants to transfer.
Output: File is transferred to remote computer.
-
7/29/2019 Java Remote Computin
23/49
System Analysis
DDU(Faculty of Tech.,Dept. of IT) 21
4.1.2 Non-Functional Requirements
4.1.2.1 Product Requirements:
System should provide user-interface, which is easy to understand.
System must take very less time when it is being executed.
4.1.2.2 Security
System must be equipped with SSL.
4.1.2.3 External Requirements:
System must provide different access rights to users based on user
levels.
System should maintain co-ordination between Project Development.
4.1.2.4 Reliability Requirements
Loss of communication with other agencies must not be allowed.
Loss of data must not be allowed.
Only the authenticated persons should be allowed to perform the
critical operations.
4.1.2.5 Performance Requirements:
Time taken during the processing must be less.
Memory utilization must be less.
CMMI requirements have to be maintained.
-
7/29/2019 Java Remote Computin
24/49
System Analysis
DDU(Faculty of Tech.,Dept. of IT) 22
4.2 Use-case Diagram
Fig 4.2.1 Use-Case Diagram
4.3 FEATURES OF NEW SYSTEM
More secure.
User friendly.
Easily maintained.
Faster with remote reboot options.
-
7/29/2019 Java Remote Computin
25/49
System Design
DDU(Faculty of Tech.,Dept. of IT) 23
5. SYSTEM DESIGN
This presents the logical data model that defines entities required for this application.
Overview
The proposed system is going to be developed using Java 2.java is platform
independent. Thus it will run under any operating system like Windows or Linux. The
system explorer is mainly concentrated on the development of an application that is
used to explore computers in a network. The main part of the application is a GUI that
is used to browse other machines in the network. The GUI should be developed using
Java Swing.The system should be modularized into a client part and a server part so that
each part could be run separately. The server part should acts as the file server for the
local client as well as the remote server. The client part should provide a GUI for easy
user interaction. All request from the client are passed to the local server only.
Requests to the remote server are forwarded by the local sever.
.
-
7/29/2019 Java Remote Computin
26/49
System Design
DDU(Faculty of Tech.,Dept. of IT) 24
5.1 SYSTEM ARCHITECURE DESIGN
5.1.1 Class Diagram
Figure 5.1.1 Class Diagram
-
7/29/2019 Java Remote Computin
27/49
System Design
DDU(Faculty of Tech.,Dept. of IT) 25
5.1.2 Sequence Diagrams
5.1.2.1Starting the server
Fig 5.1.2.1 Starting the Server
5.1.2.2Connecting the server
Fig 5.1.2.2 Connecting the Server
-
7/29/2019 Java Remote Computin
28/49
System Design
DDU(Faculty of Tech.,Dept. of IT) 26
5.1.2.3Remote control
Fig 5.1.2.3 Remote-Control
-
7/29/2019 Java Remote Computin
29/49
System Design
DDU(Faculty of Tech.,Dept. of IT) 27
5.1.2.4File-Transfer
Fig 5.1.2.4 File-Transfer
5.1.2.5Chat
Fig 5.1.2.5 Chat
-
7/29/2019 Java Remote Computin
30/49
System Design
DDU(Faculty of Tech.,Dept. of IT) 28
5.1.3 Activity Diagram
Fig 5.1.3 Activity Diagram
-
7/29/2019 Java Remote Computin
31/49
System Design
DDU(Faculty of Tech.,Dept. of IT) 2
5.1.4 Component Diagram
Fig 5.1.4 Component Diagram
-
7/29/2019 Java Remote Computin
32/49
System Design
DDU(Faculty of Tech.,Dept. of IT) 3
5.1.5 Deployment Diagram
Figure 5.1.5 Deployment Diagram
-
7/29/2019 Java Remote Computin
33/49
Implementation
DDU(Faculty of Tech.,Dept. of IT) 31
6. Implementation
6.1 GUI Coding
The GUI is built using JAVA Swing . Swing has many GUI components like
jframe,jpanel,jbutton,jtextarea,jtextfield,jbutton, jcheckbox jinternel frame,
jcombobox, and many others. Swing provides different pluggable look and feel like
nimbus look and feel, metal look and feel , GTk look and feel and the platforms look
and feel. Our application uses nimbus look and feel for the GUI.
try
{
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels())
{
if ("Nimbus".equals(info.getName()))
{
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
}
catch (Exception e)
{
}
The application uses bo the socket programming and RMI for transfer of data
between two computers. RMI is a great technology developed by sun microsystem
which comes with JDK JRE. The RMI (Remote Method Invocation) is that you dont
need to create socket and other lower level things all you need to care about sending a
parameter to the function on the Remote RMI server and receive a return value to
your computer.
-
7/29/2019 Java Remote Computin
34/49
Implementation
DDU(Faculty of Tech.,Dept. of IT) 32
The application can connect to at most one remote server at time. The user can either
remote controll and chat or Transfer file and chat.
IDE used for the coding is NetBeans . It is very user friendly ide supports intellisens
Debugging refectoring the code ,templates and many more.
- First part Server status is a Text Area where the information regarding the
server is displayed like IP address,port number ,and whether SSl is enabled or
not.
- Second part consists.of the buttons to start or stop server ,connect or
disconnect to remote server and to start remote controlling.
- The third part of the GUI is a text area which displays information regarding
the connected remote server like ipaddress, port, whether ssl is enabled or not.
File transfers output is displayed on this area.
- The fourth part consist of two buttons select file and send file. If you are
connected to any server than you can send file from your computer to another
computer.
- Server configuration window can be opened by clicking on the start server and
will propt you for the ip address of your computer and port on which you want
to start the server. You can selece ssl enable option if you want to enable ssl .
-
Client configuration window will open when you click on the connect serverbutton. Then it will prompt for the ip address and port number at which the
remote server is running.
- Remote control window has one button that is start button. By clicking onthe
start button the gui will prompt you for the the resolution and type of the
screen in which you want see your remote computer . After giving the
configuration it will start transfering screen from remote computer to your
computer.
- Chat window can be opened by selectin g chat option from the Extras menu
from main GUI. For chat you need server running at bothe side and connectedto each other. The chat area will automatically scroll down whene new text is
added to it.
-
7/29/2019 Java Remote Computin
35/49
Implementation
DDU(Faculty of Tech.,Dept. of IT) 33
6.2 Program-Modules Specifications
Below are the classes which make the GUI part of the application.
1>Server_gui(main gui)
2>Server_configuration(gui for server ip address and port)
3>Client_configuration(to connect to remote pc this config must be set)
4>Screen_config(resolution and type of screen)
5> Chat
6>Client (For remote conrolling)
Below are the classes that are for server
1>Servives interface(declares service provided by the server to user)
2>Services(implementation of the services listed in above interface)
3>Server(for starting and stopping server)
4> Connect(to connect ot disconnect the remote computer)
- The remote server send the captured screen to the user who is controlling the user
can use his mouse or keyboard to control the remote pc.
- When using mouse to control the mouse cordinates are transfered to the remote
server and type event is passed to the server like dragging event, mouse move event,
click event ,press event or double click event.
- When using keyboard to control remote pc it will pass the keycode to the server
and the type of keyevent like keypress or keyrelease.
-
7/29/2019 Java Remote Computin
36/49
Implementation
DDU(Faculty of Tech.,Dept. of IT) 34
6.3 Coding standards:
1> All the local variables are lowercase.
2> All the static variables start with the uppercase letter.
3> All the constatnts are made up of uppercase letters.
4> Variables are given the name on the basis of the work they perform.
5> Modularity is the approach used in our application to increase maintainability.
6> All the class perform different tasks. No two class share one task.
7> Comments are given before starting the classs,method.
-
7/29/2019 Java Remote Computin
37/49
Implementation
DDU(Faculty of Tech.,Dept. of IT) 35
7. TESTING
Software testing is both a discipline and a process. Though software testing is part of
the software development process, it should not be considered part of software
development. It is a separate discipline from software development. Software
development is the process of coding functionality to meet defined end-user needs.
Software testing is an iterative process of both validating functionality, and, even
more important, attempting to break the software. The iterative process of software
testing consists of:
Designing tests Executing tests Identifying problems
Getting problems fixed
Fig 7.1 Testing Phases
UNITTESTING
MODULETESTING
SUB-SYSTEMTESTING
SYSTEMTESTING
ACCEPTANCETESTING
-
7/29/2019 Java Remote Computin
38/49
-
7/29/2019 Java Remote Computin
39/49
Testing
DDU(Faculty of Tech.,Dept. of IT) 37
7.3 TEST CASES
7.3.1 Purpose
Purpose of test cases is to test our application in each and every possible
condition.
Here we give some input to application and try to find expected output.
Table 7.3.1:-
Test Cases Expected Output Actual Output Result
1 Start server onport 7000
Server is started. Server Started. Pass.
2 Start server on
port 7000
Server started. Server not started.
Authentication failed.
Fail.
3 Connect Server
without
connecting server.
Will-not connect. Server not started. Fail.
4 Connect remote
server after
starting it.
Will start server. Will connect. Pass
5 Transfer file
without
connecting.
Will-not transfer file. Will-not transfer file. Fail.
6. Transfer file after
connecting server.
Will transfer file. Will transfer file. Pass
7 Open chat after
connecting server.
Should start chat. Will-not open chat. Fail.
8 Open chat after
starting and
connecting server.
Should open chat. Will open chat window. Pass.
-
7/29/2019 Java Remote Computin
40/49
Testing
DDU(Faculty of Tech.,Dept. of IT) 38
7.3.2 Other Test cases :
7.3.2.1 Server-side:-
1>Starting server on already occupied ports or incorrect ports like -8000 will notcreate server and give proper error message.
2>If server is already started and trying to start it again will give appropriate
message.
3>Stopping server without starting server will give appropriate message.
7.3.2.2 Client-side:-
1>Connecting to a computer where server is not running will give message to
start the server at other side.
2>Connecting to a computer which is not part of the local area network will
prompt you to give proper IP address.
3>Connecting with proper ip address but incorrect port number will also give
error message.
4>If server is running at other side as well as ip address and port number are
correct will also give error message if username or password are not correct.
9 Starting Remote
Control without
connecting server.
Will-not open
remote control
window.
Will-not open remote
control window.
Fail.
10 Start remote
control windowafter connecting
server.
Will open remote
control window.
Will open remote control
window.
Pass
11 Press
Alt+Ctrl+Delete
Will perform this
event.
Will-not perform this
event.
Fail.
12 Open About
Menu
Will open menu. Will open about menu. Pass.
-
7/29/2019 Java Remote Computin
41/49
Testing
DDU(Faculty of Tech.,Dept. of IT) 39
7.3.2.3 Remote-controlling:-
1>If remote controlling window is running and if the server is disconnected or
stopped will close the client window and will let you try again.
2>Application will not let you transfer file to remote server If remote controlling
window is opened and running.
3>Application will let you chat with other side as well as control remote pc atone time.
7.3.2.4 File-transfer:-
1>To transfer file server should be started and connected otherwise will not send
the file.
2>Application will not let you open remote controlling window if file transfer is
being done. But chat window can be opened at any time.
3>File with size Folders are not transmitted.
7.3.2.5 Chat:-
1>If both side server are not created and connected to each other chat window
will exit and give you proper message.
2>If server is stopped or disconnected chat window will prompt you to start the
Server or connect the server.
-
7/29/2019 Java Remote Computin
42/49
User Manual
DDU(Faculty of Tech.,Dept. of IT) 4
8. User Manual
8.1 Operating instructions for user:
(Before reading instructions first user should have installed JRE 6.0 or later version in
his/her computer.)
8.1.1 Initial instructions:>>Java Remote Computing(J RA) works only in a Local Area Network. It will not
work on the internet.(Future version will !)
>> To use JRA you must have JRA.jar file at both the end computer in LAN and your
pc's firewall should allow this application. Otherwise it will create some errors.(It
may not display screen)
>>To start the application just double click on the .jar file or goto cmd and change
the directory to the directory where your jar file is and execute "java -jar JRA.jar"
command.
>>Now wait until your GUI starts properly.
Fig 8.1.1 Initial GUI
-
7/29/2019 Java Remote Computin
43/49
User Manual
DDU(Faculty of Tech.,Dept. of IT) 41
8.1.2 Starting and Connecting Server:
>> Once the GUI has been started first you have to start the server by clicking on the
'start server' button. It will prompt for the IP port number, user id ,password and SSL
enable options. Ip is just for user's conveniency .It will be displayed at the server
status area so user doesn't have to every time check ip from network connections.
Fig 8.1.2 Starting the Server
>>ID and Password are for authentication and ssl is for security.
>>Once server has been started you can control it from another pc by connecting it.
>>To control the remoter pc you must first start the server at the remote pc.
>>Now click on the 'connect server' button, it will prompt you for ip ,port ,user id
and password which you just gave on the remote pc.
>>If connection successfull' messege comes then you can use 'remote control' buttonto start remote controlling or you can send files from file transfer panel.
-
7/29/2019 Java Remote Computin
44/49
-
7/29/2019 Java Remote Computin
45/49
User Manual
DDU(Faculty of Tech.,Dept. of IT) 43
8.1.4 Chatting
>>U can chat to you peer client easily with authenticated connection.
Fig 8.1.4 Chat
8.1.5 File Transfer
>>U can send files of GBs data to your peer client easily in seconds.
Fig 8.1.5 File-Transfer
>>Help option is provided in the software for any further assistance.
-
7/29/2019 Java Remote Computin
46/49
Limitation And Future Enhancement
DDU(Faculty of Tech.,Dept. of IT) 44
9. LIMITATION AND FUTURE ENHANCEMENT
9.1 Limitation
Application will not allow transfer of ALT+Ctrl+Deletekey combination.
Using this application we can not control remote pc connected on internet.
9.2 Future Enhancement.
Future versions will be more faster . Will be updating audio-video conferencing. Future versions will work on internet.
-
7/29/2019 Java Remote Computin
47/49
Conclusion and Discussion
DDU(Faculty of Tech.,Dept. of IT) 45
10.CONCLUSION AND DISCUSSION
10.1 CONCLUSION
So, Here the conclusion is that the project,J ava Remote Computing is working
successfully.
Here the project can be further enhanced for the higher level.
10.2 DISCUSSION
10.2.1 Self Analysis of Project Viabilities
As I have been assigned a 4 months period, I can cover all the aspects of J2SE in oneand half month . So I have a confidence to complete the project in the given timeperiod.
(S.A): It is great experience to work in platform like JAVA. Many usefulapplication and games can be created using JAVA.
(P.V): The project viability is achieved because the project is succeeded & it is verycost effective. The cost effective is because we are using JAVA technology which isopen source.
The project "JAVA REMOTE COMPUTING after being tested and was
found to be achieving what is meant for. Security is the main consideration in this
project. The system is protected from any unauthorized access by giving user name
and password during log in process the system is made in such a way that it can be
modified with very less time. This is also very user-friendly. The software which I
developed was implemented and tested with real data and were found to be error free.
Also, it is found that the system will work successfully.
The system is found 100% error free and is ready for implementation.
-
7/29/2019 Java Remote Computin
48/49
-
7/29/2019 Java Remote Computin
49/49
Bibliography
11.BIBLIOGRAPHY
11.1Websites www.sun.oracle.com
www.teamviewer.com
www.sourceforge.org
www.google.com
11.2References
The Complete Refernce J2SEBy Herbert Schillt
Core-Java Head First
By Cathay Seira
Core-Java
By Cay Horstman