Java Remote Computin

Embed Size (px)

Citation preview

  • 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