+ All Categories
Home > Documents > Remote Desktop12

Remote Desktop12

Date post: 07-Apr-2018
Category:
Upload: raggu-singh
View: 219 times
Download: 0 times
Share this document with a friend

of 73

Transcript
  • 8/6/2019 Remote Desktop12

    1/73

    1

    Remote System Visual Monitoring And Control

    Project submitted as part of fulfillment of the Degree of

    MASTERS IN COMPUTER APPLICATION (MCA)

    To

    ICFAI School of Information Technology

    By

    Swetango Banerjee (08 MCA 124)

    Under the guidance of

    Prof. M. Venkatesam

    (Faculty ICFAI University)

    ICFAI School of Information Technology, Plot No.-65,

    Nagarjuna Hills, Punjagutta, Hyderabad- 500 082, A.P

  • 8/6/2019 Remote Desktop12

    2/73

    2

    DECLARATION

    We hereby declare that the project entitled Remote System Visual Monitoring and Control

    has been developed by us during March 2009 to June 2009 at ISIT, Hyderabad as partial

    fulfillment of the Masters in Computer Application (MCA).

    We also declare that this report is the result of our own effort and is not a copy of any

    published or unpublished report and has been submitted by anyone to any other

    University/Institution.

    Swetango Banerjee

    (08 MCA 124)

  • 8/6/2019 Remote Desktop12

    3/73

    3

    ABSTRACT

    The project will implement drop in, open source replacement for the remote desktop

    connection application and remote ActiveX control. (The look, API and features will be

    reproduced faithfully, within the limits of the current state of the art in open source RDP

    clients).

    It will help to see the desktop of the remote system spread across the multiple monitors.

    Remote Desktop Protocol (RDP) allows a client to communicate with a Windows Server. With

    RDP, we can run application on a server from a remote client. RDP uses authentication and

    encryption to prevent traffic from leak.

  • 8/6/2019 Remote Desktop12

    4/73

    4

    INTRODUCTION

    Remote Desktop, enables you to connect to your computer across the Internet from virtually

    any computer. Once connected, Remote Desktop gives you mouse and keyboard control over

    your computer while showing you everything that's happening on the screen. With Remote

    Desktop, you can leave your computer at the office without losing access to your files,

    applications.

    It allows multi accessing system. That means at a time a client can monitoring and

    control number of systems within the intranet.

    File Transfer:

    One of the benefits of Remote Desktop is that you can transfer files between a local and

    remote computer. To do this, use the Remote Desktop Connection application that ships with

    XP. If you are connecting from Remote desktop server machine

    Follow these steps to complete the file transfer:

    1. Run the Remote Desktop Connection.2. Enter the IP address of the computer you want to connect to.3. Than press connect button4. Then select file transfer button and then select send files option in the menu.5. Then it will send the files to the remote host.

    Server authentication:

    In Remote Desktop Connection, server authentication verifies that you are connecting

    to the correct remote computer or server. This security measure helps prevent you from

    connecting to a different computer or server than you intend to connect to. This also prevents

    you from unintentionally exposing confidential information.

  • 8/6/2019 Remote Desktop12

    5/73

    5

    OBJECTIVE

    The project entitled Remote System Visual Monitoring and Control is the application is

    used for monitoring and controls the remote hosts.

    The Remote System Probe provides a powerful solution for remotely accessing and

    monitoring all of an organizations Windows, Linux, and UNIX servers. The Remote System

    Probe utilizes standard and secure server management protocols, such as RDP to perform

    automated server discovery, monitoring, and performance trend reporting. The probe can be

    installed as single or multiple instances across a distributed environment for strategic server

    monitoring deployments.

    Existing System:

    This Remote System allows user to monitoring and control the remote desktop of

    another host within the network.

    Problems in Existing System:

    Existing Remote System doesnt provide to access the multiple Remote hosts in a single

    system. Existing system allows user to access any other Remote host desktop, that desktop

    automatically locks. Existing system allows user to operating one system in one position at a

    time.

    Solution for problems in existing system:

    It allows user to access the multiple remote hosts desktops in a single system. This

    system allows user to Monitoring and control one system at different locations at same time.

    This system provides security to Remote hosts.

  • 8/6/2019 Remote Desktop12

    6/73

    6

    Computational Environment

    Hardware Specifications:

    The above system runs on Windows 95, 98, ME, NT 4.0, 2000, XP, 2003 Server and Vista.

    System Requirement :

    Pentium 3, 128 MB RAM, 20GB HDD, 32 Bit PCI-Ethernet card.

    Software Specifications:

    Front End: JAVA Swings.

    IDE : Net Beans 6.5.

  • 8/6/2019 Remote Desktop12

    7/73

    7

    Feasibility Report

    Fact Finding Techniques:

    In this system we are going to develop a facility to a user that he will not face any difficulty

    at the time of usage like data missing, one way contacts, one view contacts. As we are

    developing this system with an encoding technique of images the user will not be bothered

    on which camera support is using, as well in sound. As we are maintaining one technique of

    speed controlling the frame relay will not be a problem for the user like over speed display,

    hanged display.

    Feasibility Study :

    A feasibility study is a high-level capsule version of the entire System analysis and Design

    Process. The study begins by classifying the problem definition. Feasibility is to determine if its

    worth doing. Once an acceptance problem definition has been generated, the analyst develops

    a logical model of the system. A search for alternatives is analyzed carefully. There are 3 parts in

    feasibility study.

    Operational Feasibility :

    Question that going to be asked are

    y Will the system be used if it developed and implemented.y If there was sufficient support for the project from the management and from the

    users.

    y Have the users been involved in planning and development of the Project.

  • 8/6/2019 Remote Desktop12

    8/73

    8

    y Will the system produce poorer result in any respect or area?This system can be implemented in the organization because there is adequate support

    from management and users. Being developed in Java so that the necessary operations are

    carried out automatically.

    Technical feasibility :

    y Does the necessary technology exist to do what is been suggestedy Does the proposed equipment have the technical capacity for using the new system?y Are there technical guarantees of accuracy, reliability and data security?y The project is developed on Pentium IV with 256 MB RAM.y The environment required in the development of system is any windows platformy The observer pattern along with factory pattern will update the results eventuallyy The language used in the development is JAVA 1.5 & Windows Environment

    Financial and Economical Feasibility :

    The system developed and installed will be good benefit to the organization. The system will be

    developed and operated in the existing hardware and software infrastructure. So there is no

    need of additional hardware and software for the system.

  • 8/6/2019 Remote Desktop12

    9/73

    9

    MODULES DESCRIPTION

    Number of Modules:1. User Interface module2. Remote Monitoring module3. Remote Controlling module

    User Interface Module:

    Rich user interface is developed in order to communicate. It allows user to input remote

    host IP address and port number of Remote Server and username, password of the remote

    system. It allows user to show the multiple remote desktops at different windows.

    Remote Monitoring module:

    Remote Monitoring (RMON) is a standard monitoring specification that enables various

    network monitors and console systems to exchange network-monitoring data. RMON provides

    network administrators with more freedom in selecting network-monitoring probes and

    consoles with features that meet their particular networking needs. This module performs the

    monitoring multiple remote desktops at a system. This module captures the Remote host

    desktop at every 10 seconds.

    Remote Controlling module:

    This module enables you to observe or control any number of remote Mac or Virtual

    Network Computing (VNC)enabled computers. New features for managing Mac computers

    include easy drag and drop of files, remote copy

  • 8/6/2019 Remote Desktop12

    10/73

    10

    And paste of text and images, and Curtain Mode for concealing sensitive information from

    users. And thanks to innovative screen sharing, you can provide help and training to users

    without leaving your desk.

    For anyone managing a group of Mac computers, Remote Desktop is an innovative application

    that streamlines your workflow while reducing support costs, improving system management,

    and increasing security.

  • 8/6/2019 Remote Desktop12

    11/73

    11

    SDLC METHDOLOGIES

    This document play a vital role in the development of life cycle (SDLC) as it describes the

    complete requirement of the system. It means for use by developers and will be the basic

    during testing phase. Any changes made to the requirements in the future will have to go

    through formal change approval process.

    SPIRAL MODEL was defined by Barry Boehm in his 1988 article, A spiral Model of Software

    Development and Enhancement. This model was not the first model to discuss iterative

    development, but it was the first model to explain why the iteration models.

    As originally envisioned, the iterations were typically 6 months to 2 years long. Each phase

    starts with a design goal and ends with a client reviewing the progress thus far. Analysis

    and engineering efforts are applied at each phase of the project, with an eye toward the

    end goal of the project.

    The steps for Spiral Model can be generalized as follows:

    y The new system requirements are defined in as much details as possible. Thisusually involves interviewing a number of users representing all the external or

    internal users and other aspects of the existing system.

    y A preliminary design is created for the new system.y A first prototype of the new system is constructed from the preliminary design. This

    is usually a scaled-down system, and represents an approximation of the

    characteristics of the final product.

    y A second prototype is evolved by a fourfold procedure:1. Evaluating the first prototype in terms of its strengths, weakness, and risks.

  • 8/6/2019 Remote Desktop12

    12/73

    12

    2. Defining the requirements of the second prototype.3. Planning an designing the second prototype.4. Constructing and testing the second prototype.

    y At the customer option, the entire project can be aborted if the risk is deemed toogreat. Risk factors might involved development cost overruns, operating-cost

    miscalculation, or any other factor that could, in the customers judgment, result in a

    less-than-satisfactory final product.

    y The existing prototype is evaluated in the same manner as was the previousprototype, and if necessary, another prototype is developed from it according to the

    fourfold procedure outlined above.

    y The preceding steps are iterated until the customer is satisfied that the refinedprototype represents the final product desired.

    y The final system is constructed, based on the refined prototype.y The final system is thoroughly evaluated and tested. Routine maintenance is

    carried on a continuing basis to prevent large scale failures and to minimize down

    time.

  • 8/6/2019 Remote Desktop12

    13/73

    13

    The following diagram shows how a spiral model acts like:

    Fig - Spiral Model

  • 8/6/2019 Remote Desktop12

    14/73

    14

    ADVANTAGES :

    y Estimates(i.e. budget, schedule etc .) become more relistic as work progresses,because important issues discoved earlier.

    y It is more able to cope with the changes that are software development generallyentails.

    y Software engineers can get their hands in and start woring on the core of a projectearlier.

    APPLICATION DEVELOPMENT :

    N-TIER APPLICATIONS

    N-Tier Applications can easily implement the concepts of Distributed Application Design and

    Architecture. The N-Tier Applications provide strategic benefits to Enterprise Solutions. While 2-

    tier, client-server can help us create quick and easy solutions and may be used for Rapid

    Prototyping, they can easily become a maintenance and security night mare

    The N-tier Applications provide specific advantages that are vital to the business continuity of

    the enterprise. Typical features of a real life n-tier may include the following:

    y Securityy Availability and Scalabilityy Manageabilityy Easy Maintenancey Data Abstraction

  • 8/6/2019 Remote Desktop12

    15/73

    15

    The above mentioned points are some of the key design goals of a successful n-tier application

    that intends to provide a good Business Solution.

    DEFINITION

    Simply stated, an n-tier application helps us distribute the overall functionality into various tiers

    or layers:

    y Presentation Layery Business Rules Layery Data Access Layery Database/Data Store

    Each layer can be developed independently of the other provided that it adheres to the

    standards and communicates with the other layers as per the specifications.

    This is the one of the biggest advantages of the n-tier application. Each layer can potentially

    treat the other layer as a Block-Box.

    In other words, each layer does not care how other layer processes the data as long as it sends

    the right data in a correct format.

  • 8/6/2019 Remote Desktop12

    16/73

    16

    Fig 1.1-N-Tier Architecture

    1. THE PRESENTATION LAYERAlso called as the client layer comprises of components that are dedicated to presenting

    the data to the user. For example: Windows/Web Forms and buttons, edit boxes, Text

    boxes, labels, grids, etc.

    2. THE BUSINESS RULES LAYERThis layer encapsulates the Business rules or the business logic of the encapsulations. To

    have a separate layer for business logic is of a great advantage. This is because any

    changes in Business Rules can be easily handled in this layer. As long as the interface

    between the layers remains the same, any changes to the functionality/processing logic

    in this layer can be made without impacting the others. A lot of client-server apps failed

    to implement successfully as changing the business logic was a painful process.

  • 8/6/2019 Remote Desktop12

    17/73

    17

    3. THE DATA ACCESS LAYERThis layer comprises of components that help in accessing the Database. If used in the

    right way, this layer provides a level of abstraction for the database structures. Simply

    put changes made to the database, tables, etc do not affect the rest of the application

    because of the Data Access layer. The different application layers send the data requests

    to this layer and receive the response from this layer.

    4. THE DATABASE LAYERThis layer comprises of the Database Components such as DB Files, Tables, Views, etc.

    The Actual database could be created using SQL Server, Oracle, Flat files, etc.

    In an n-tier application, the entire application can be implemented in such a way that it

    is independent of the actual Database. For instance, you could change the Database

    Location with minimal changes to Data Access Layer. The rest of the Application should

    remain unaffected.

  • 8/6/2019 Remote Desktop12

    18/73

    18

    SYSTEM ANALYSIS

    D

    ata FlowD

    iagrams :

    A graphical tool used to describe and analyze the moment of data through a system

    manual or automated including the process, stores of data, and delays in the system. Data Flow

    Diagrams are the central tool and the basis from which other components are developed. The

    transformation of data from input to output, through processes, may be described logically and

    independently of the physical components associated with the system. The DFD is also know as

    a data flow graph or a bubble chart.

    DFDs are the model of the proposed system. They clearly should show the requirements

    on which the new system should be built. Later during design activity this is taken as the basis

    for drawing the systems structure charts. The Basic Notation used to create a DFDs are as

    follows:

    1. Dataflow: Data move in a specific direction from an origin to a destination.

  • 8/6/2019 Remote Desktop12

    19/73

    19

    2. Process: People, procedures, or devices that use or produce (Transform) Data. The

    physical component is not identified.

    3. Source:External sources or destination of data, which may be People, programs,

    organizations or other entities.

    4. Data Store:Here data are stored or referenced by a process in the System.

  • 8/6/2019 Remote Desktop12

    20/73

    20

    Context Level Diagram or 0th

    Level Diagram

    Remote System

    Visual

    Monitoring and

    Control

    Remote Desktop Controlling

    and Monitoring

    File Transfer

    User Interface

  • 8/6/2019 Remote Desktop12

    21/73

    21

    Level 1 Diagram (User Interface)

    Level 2 Diagram (File Transfer)

    1.0

    User

    Interface

    Client Remote Desktop

    Response

    Input IP

    Address

    Capture

    2.0

    File

    Transfer

    Client Remote Desktop

    Response

    Request

  • 8/6/2019 Remote Desktop12

    22/73

    22

    Level 3Diagram (Controlling And Monitoring)

    3.0

    Remote Desktop

    Controlling and

    Monitoring

    Client

    Input IP

    Address

    Response

    3.1

    Open or Close

    Programs

    3.2

    Error Handling

    and

    Troubleshooting

    3.4

    Add or

    Remove

    Pro rams

    3.3

    Shut

    Down/Restart

    /Log Off

  • 8/6/2019 Remote Desktop12

    23/73

    23

    FLOW CHART

    Client

    Connect to Server

    Monitoring Remote

    Desktop

    Controlling Remote

    Desktop

    Validate

    Fail

    Success

  • 8/6/2019 Remote Desktop12

    24/73

    24

    Use Case Diagrams :

    Use case Diagrams represent the functionality of the system from a users point of view. Use

    cases are used during requirements elicitation and analysis to represent the functionality of the

    system. Use cases focus on the behavior of the system from external point of view.

    Actors are external entities that interact with the system. Examples of actors include users like

    administrator, bank customer etc., or another system like central database.

    Client Usecase :

  • 8/6/2019 Remote Desktop12

    25/73

    25

    Server Usecase :

  • 8/6/2019 Remote Desktop12

    26/73

    26

    Client Sequence Diagram-1:

  • 8/6/2019 Remote Desktop12

    27/73

    27

    Client Sequence Diagram-2

  • 8/6/2019 Remote Desktop12

    28/73

    28

    Deployment Diagram

    Component Diagram

    Connect To Remote System

    Remote Host Status

    Monitoring

    Controling

    Server

    RDP Protocol

    Client client

  • 8/6/2019 Remote Desktop12

    29/73

    29

    Technology Description

    RDP (Remote Desktop Protocol):

    Remote Desktop Protocol (RDP) is a multi-channel protocol that allows a user to connect to anetworked computer. Clients exist for most versions ofWindows (including handheld versions),

    Linux/Unix, Mac OS X and other modern operating systems. The server listens by default on TCP

    port 3389. Microsoft refers to the official RDP server software as Terminal Services or Remote

    Desktop Services. The official client software is referred as either Remote Desktop Connection

    (RDC) or Terminal Services Client (TSC). Mac OS X's client is simply called Remote Desktop.

    Features

    y 32-bit color support. 8-, 15-, 16-, and 24-bit color are also supported.y 128-bit encryption, using the RC4 encryption algorithm (this is the default security; older

    clients may use encryption of lesser strength). But because of the man-in-the-middle

    vulnerability in pre-version 6.0 implementations, in many circumstances the traffic can

    be decrypted along the way.

    y Transport Layer Security support.y Audio Redirection allows users to run an audio program on the remote desktop and

    have the sound redirected to their local computer.

    y File System Redirection allows users to use their local files on a remote desktop withinthe terminal session.

    y Printer Redirection allows users to use their local printer within the terminal session asthey would with a locally or network shared printer.

    y Port Redirection allows applications running within the terminal session to access localserial and parallel ports directly.

    y The clipboard can be shared between the remote computer and the local computer.

    The following features were introduced with the release of RDP 6.0:

    y Remote Programs: Application publishing with client-side file type associations.

  • 8/6/2019 Remote Desktop12

    30/73

    30

    y Seamless Windows: Remote applications can run on a client machine that is served by aRemote Desktop connection.

    y Terminal Server Gateway: Enables the ability to use a front-end IIS server to acceptconnections (over port 443) for back-end Terminal Services servers via an https

    connection, similar to how RPC over https allows Outlook clients to connect to a back-

    end Exchange 2003 server. Requires Windows Server 2008

    y Support for remoting the Aero Glass Theme (or Composed Desktop), including ClearType font smoothing technology.

    y support will be able to display full Windows Presentation Foundation effects on a localmachine.

    y Rewrite of device redirection to be more general-purpose, allowing a greater variety ofdevices to be accessed.

    y All of Terminal Services will be fully configurable and scriptable via WindowsManagement Instrumentation.

    y Improved bandwidth tuning for RDP clients.y Support for Transport Layer Security (TLS) 1.0 on both server and client ends (set as

    default).

    yMultiple monitor support. Spread session across two monitors.

    FEATURES OF THE LANGUAGE USED:

    About Java:

    Initially the language was called as oak but it was renamed as Java in 1995. The primary

    motivation of this language was the need for a platform-independent (i.e., architecture neutral)

    language that could be used to create software to be embedded in various consumer electronic

    devices.

  • 8/6/2019 Remote Desktop12

    31/73

    31

    Java is a programmers language. Java is cohesive and consistent.

    Except for those constraints imposed by the Internet environment, Java gives theprogrammer, full control.

    Finally, Java is to Internet programming where C was to system programming.

    Swings :

    Swing, which is an extension library to the AWT, includes new and improved components that

    enhance the look and functionality of GUIs. Swing can be used to build Standalone swing Gui

    Apps as well as Servlets and Applets. It employs a model/view design architecture. Swing is

    more portable and more flexible than AWT.

    Swing is built on top of AWT and is entirely written in Java, using AWTs lightweight component

    support. In particular, unlike AWT, t he architecture of Swing components makes it easy to

    customize both their appearance and behavior. Components from AWT and Swing can be

    mixed, allowing you to add Swing support to existing AWT-based programs. For example, swing

    components such as JSlider, JButton and JCheckbox could be used in the same program with

    standard AWT labels, textfields and scrollbars. You could subclass the existing Swing UI, model,

    or change listener classes without having to reinvent the entire implementation. Swing also has

    the ability to replace these objects on-the-fly.

    y 100% Java implementation of componentsy Pluggable Look & Feely Lightweight componentsy Uses MVC Architecture

  • 8/6/2019 Remote Desktop12

    32/73

    32

    Model represents the data

    View as a visual representation of the data

    Controller takes input and translates it to changes in data

    yThree partsComponent set (subclasses of JComponent)

    Support classes

    Interfaces

    In Swing, classes that represent GUI components have names beginning with the letter J. Some

    examples are JButton, JLabel, and JSlider. Altogether there are more than 250 new classes and

    75 interfaces in Swing twice as many as in AWT.

    Java Swing class hierarchy

    The class JComponent, descended directly from Container, is the root class for most of Swings

    user interface components.

  • 8/6/2019 Remote Desktop12

    33/73

    33

    Swing contains components that youll use to build a GUI. I am listing you some of the

    commonly used Swing components. To learn and understand these swing programs, AWT

    Programming knowledge is not required.

    Applications and Applets

    An application is a program that runs on our Computer under the operating system of that

    computer. It is more or less like one creating using C or C++. Javas ability to create Applets

    makes it important. An Applet is an application designed, to be transmitted over the Internet

    and executed by a Java compatible web browser. An applet is actually a tiny Java program,

    dynamically downloaded across the network, just like an image. But the difference is, it is an

    intelligent program, not just a media file. It can react to the user input and dynamically change.

    FEATURES OF JAVA

    Security

    Every time you that you download a normal program; you are risking a viral infection.

    Prior to Java, most users did not download executable programs frequently, and those who

    did scan them for viruses prior to execution. Most users still worried about the possibility of

    infecting their systems with a virus. In addition, another type of malicious program exists

    that must be guarded against. This type of program can gather private information, such as

    credit card numbers, bank account balances, and passwords.Java answers both of these

    concerns by providing a firewall between a networked application and your computer.

  • 8/6/2019 Remote Desktop12

    34/73

    34

    When you use a Java-compatible Web browser, you can safely download Java applets

    without fear of virus infection or malicious intent.

    Portability

    For programs to be dynamically downloaded to all the various types of platforms connected to

    the Internet, some means of generating portable executable code is needed .As you will see,

    the same mechanism that helps ensure security also helps create portability. Indeed, Javas

    solution to these two problems is both elegant and efficient.

    The Byte code

    The key that allows the Java to solve the security and portability problem is that the output of

    Java compiler is Byte code. Byte code is a highly optimized set of instructions designed to

    execute by the Java run-time system, which is called the Java Virtual Machine (JVM). That is, in

    its standard form, the JVM is an interpreter for byte code.

    Translating a Java program into byte code helps makes it much easier to run a program in a

    wide variety of environments. The reason is, once therun-time package exists for a given

    system, any Java program can run on it.

    Although Java was designed for interpretation, there is technically nothing about Java that

    prevents on-the-fly compilation of byte code into native code. Sun has just completed its Just In

    Time (JIT) compiler for byte code. When the JIT compiler is a part of JVM, it compiles byte code

    into executable code in real time, on a piece-by-piece, demand basis. It is not possible to

    compile an entire Java program into executable code all at once, because Java performs various

  • 8/6/2019 Remote Desktop12

    35/73

    35

    run-time checks that can be done only at run time. The JIT compiles code, as it is needed,

    during execution.

    Java Virtual Machine (JVM)

    Beyond the language, there is the Java virtual machine. The Java virtual machine is an

    important element of the Java technology. The virtual machine can be embedded within a web

    browser or an operating system. Once a piece of Java code is loaded onto a machine, it is

    verified. As part of the loading process, a class loader is invoked and does byte code verification

    makes sure that the code thats has been generated by the compiler will not corrupt the

    machine that its loaded on. Byte code verification takes place at the end of the compilation

    process to make sure that is all accurate and correct. So byte code verification is integral to the

    compiling and executing of Java code.

    .Java .Class

    The above picture shows the development process a typical Java programming uses to produce

    byte codes and executes them. The first box indicates that the Java source code is located in a.

    Java file that is processed with a Java compiler called JAVA. The Java compiler produces a file

    called a. class file, which contains the byte code. The class file is then loaded across the network

    JavaJava bytecode

    Java

    Javac

  • 8/6/2019 Remote Desktop12

    36/73

    36

    or loaded locally on your machine into the execution environment is the Java virtual machine,

    which interprets and executes the byte code.

    Java Architecture

    Java architecture provides a portable, robust, high performing environment for development.

    Java provides portability by compiling the byte codes for the Java Virtual Machine, which is then

    interpreted on each platform by the run-time environment. Java is a dynamic system, able to

    load code when needed from a machine in the same room or across the planet.

    Compilation of Code

    When you compile the code, the Java compiler creates machine code (called byte code) for a

    hypothetical machine called Java Virtual Machine (JVM). The JVM is supposed to execute the

    byte code. The JVM is created for overcoming the issue of portability. The code is written and

    compiled for one machine and interpreted on all machines. This machine is called Java Virtual

    Machine.

  • 8/6/2019 Remote Desktop12

    37/73

    37

    Compiling and interpreting Java Source Code

    During run-time the Java interpreter tricks the byte code file into thinking that it is running on a

    Java Virtual Machine. In reality this could be an Intel Pentium Windows 95 or Suns ARC station

    running Solaris or Apple Macintosh running system and all could receive code from any

    computer through Internet and run the Applets.

    6RXUFH

    &RGH

    ..

    :LQGRZV

    0DFLQWRVK

    63$5&

    -DYD

    %\WHFRGH

    -DYD

    ,QWHUSUHWHU

    3&

    -DYD

    ,QWHUSUHWHU

    -DYD

    ,QWHUSUHWHU

  • 8/6/2019 Remote Desktop12

    38/73

    38

    SIMPLE

    Java was designed to be easy for the Professional programmer to learn and to use effectively. If you are

    an experienced C++ programmer, learning Java will be even easier. Because Java inherits the C/C++

    syntax and many of the object oriented features of C++. Most of the confusing concepts from C++ are

    either left out of Java or implemented in a cleaner, more approachable manner. In Java there are a small

    number of clearly defined ways to accomplish a given task.

    Object-Oriented

    Java was not designed to be source-code compatible with any other language. This allowed the Java

    team the freedom to design with a blank slate. One outcome of this was a clean usable, pragmatic

    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

    The multi-platform environment of the Web places extraordinary demands on a program, because the

    program must execute reliably in a variety of systems. The ability to create robust programs was given a

    high priority in the design of Java. Java is strictly typed language; it checks your code at compile time and

    run time. Java virtually eliminates the problems of memory management and de-allocation, which is

    completely automatic. In a well-written Java program, all run time errors can and should be managed

    by your program.

  • 8/6/2019 Remote Desktop12

    39/73

    39

    What is networking?

    Computers running on the Internet communicate to each other using either the Transmission Control

    Protocol (TCP) or the User Datagram Protocol (UDP), as this diagram illustrates:

    When you write Java programs that communicate over the network, you are programming at the

    application layer. Typically, you don't need to concern yourself with the TCP and UDP layers. Instead,

    you can use the classes in thejava.net package. These classes provide system-independent network

    communication. However, to decide which Java classes your programs should use, you do need to

    understand how TCP and UDP differ.

    TCP

    When two applications want to communicate to each other reliably, they establish a

    connection and send data back and forth over that connection. This is analogous to making a

    telephone call. If you want to speak to Aunt Beatrice in Kentucky, a connection is established

    when you dial her phone number and she answers. You send data back and forth over the

    connection by speaking to one another over the phone lines. Like the phone company, TCP

    guarantees that data sent from one end of the connection actually gets to the other end and in

    the same order it was sent. Otherwise, an error is reported.

  • 8/6/2019 Remote Desktop12

    40/73

    40

    TCP provides a point-to-point channel for applications that require reliable communications.

    The Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), and Telnet are all

    examples of applications that require a reliable communication channel. The order in which the

    data is sent and received over the network is critical to the success of these applications. When

    HTTP is used to read from a URL, the data must be received in the order in which it was sent.

    Otherwise, you end up with a jumbled HTML file, a corrupt zip file, or some other invalid

    information.

    Definition: TCP (Transmission Control Protocol) is a connection-based protocol that provides a reliable

    flow of data between two computers.

    UDP

    The UDP protocol provides for communication that is not guaranteed between two applications on the

    network. UDP is not connection-based like TCP. Rather, it sends independent packets of data, called

    datagram, from one application to another. Sending datagram is much like sending a letter through the

    postal service: The order of delivery is not important and is not guaranteed, and each message is

    independent of any other.

    Definition: UDP (User Datagram Protocol) is a protocol that sends independent packets of data, called

    datagrams, from one computer to another with no guarantees about arrival. UDP is not connection-

    based like TCP.

    For many applications, the guarantee of reliability is critical to the success of the transfer of

    information from one end of the connection to the other. However, other forms of

  • 8/6/2019 Remote Desktop12

    41/73

    41

    communication don't require such strict standards. In fact, they may be slowed down by the

    extra overhead or the reliable connection may invalidate the service altogether.

    Consider, for example, a clock server that sends the current time to its client when requested to

    do so. If the client misses a packet, it doesn't really make sense to resend it because the time

    will be incorrect when the client receives it on the second try. If the client makes two requests

    and receives packets from the server out of order, it doesn't really matter because the client

    can figure out that the packets are out of order and make another request. The reliability of

    TCP is unnecessary in this instance because it causes performance degradation and may hinder

    the usefulness of the service.

    Another example of a service that doesn't need the guarantee of a reliable channel is the ping

    command. The purpose of the ping command is to test the communication between two

    programs over the network. In fact, ping needs to know about dropped or out-of-order packets

    to determine how good or bad the connection is. A reliable channel would invalidate this

    service altogether.

    The UDP protocol provides for communication that is not guaranteed between two applications

    on the network. UDP is not connection-based like TCP. Rather, it sends independent packets of

    data from one application to another. Sending datagram is much like sending a letter through

    the mail service: The order of delivery is not important and is not guaranteed, and each

    message is independent of any others.

  • 8/6/2019 Remote Desktop12

    42/73

    42

    Note: Many firewalls and routers have been configured not to allow UDP packets. If you're having

    trouble connecting to a service outside your firewall, or if clients are having trouble connecting to your

    service, ask your system administrator if UDP is permitted.

    Understanding Ports

    Generally speaking, a computer has a single physical connection to the network. All data destined for a

    particular computer arrives through that connection. However, the data may be intended for different

    applications running on the computer. So how does the computer know to which application to forward

    the data? Through the use of ports.

    Data transmitted over the Internet is accompanied by addressing information that identifies the

    computer and the port for which it is destined. The computer is identified by its 32-bit IP

    address, which IP uses to deliver data to the right computer on the network. Ports are identified

    by a 16-bit number, which TCP and UDP use to deliver the data to the right application.

    In connection-based communication such as TCP, a server application binds a socket to a

    specific port number. This has the effect of registering the server with the system to receive all

    data destined for that port. A client can then rendezvous with the server at the server's port, as

    illustrated here:

    Definition: The TCP and UDP protocols use ports to map incoming data to a particular process running

    on a computer.

  • 8/6/2019 Remote Desktop12

    43/73

    43

    In datagram-based communication such as UDP, the datagram packet contains the port number

    of its destination and UDP routes the packet to the appropriate application, as illustrated in this

    figure:

    Port numbers range from 0 to 65,535 because ports are represented by 16-bit numbers. The port

    numbers ranging from 0 - 1023 are restricted; they are reserved for use by well-known services such as

    HTTP and FTP and other system services. These ports are called well-known ports. Your applications

    should not attempt to bind to them.

    Networking Classes in the JDK

    Through the classes injava.net, Java programs can use TCP or UDP to communicate over the Internet.

    The URL, URL Connection, Socket, and Server Socket classes all use TCP to communicate over the

    network. The Datagram Packet, Datagram Socket, and Multicast Socket classes are for use with

    UDP.

    What Is a URL?

    If you've been surfing the Web, you have undoubtedly heard the term URL and have used URLs

    to access HTML pages from the Web.

  • 8/6/2019 Remote Desktop12

    44/73

    44

    It's often easiest, although not entirely accurate, to think of a URL as the name of a file on the

    World Wide Web because most URLs refer to a file on some machine on the network. However,

    remember that URLs also can point to other resources on the network, such as database

    queries and command output.

    Definition: URL is an acronym for Uniform Resource Locatorand is a reference (an address) to a

    resource on the Internet.

    The following is an example of a URL which addresses the Java Web site hosted by Sun

    Microsystems:

    As in the previous diagram, a URL has two main components:

    y Protocol identifiery Resource name

    Note that the protocol identifier and the resource name are separated by a colon and two

    forward slashes. The protocol identifier indicates the name of the protocol to be used to fetch

    the resource. The example uses the Hypertext Transfer Protocol (HTTP), which is typically used

    to serve up hypertext documents. HTTP is just one of many different protocols used to access

    different types of resources on the net. Other protocols include File Transfer Protocol (FTP),

    Gopher, File, and News.

  • 8/6/2019 Remote Desktop12

    45/73

    45

    The resource name is the complete address to the resource. The format of the resource name

    depends entirely on the protocol used, but for many protocols, including HTTP, the resource

    name contains one or more of the components listed in the following table:

    Host NameThe name of the machine on which the resource lives.

    FilenameThe pathname to the file on the machine.

    Port NumberThe port number to which to connect (typically optional).

    Reference A reference to a named anchor within a resource that usually

    identifies a specific location within a file (typically optional).

    For many protocols, the host name and the filename are required, while the port number and

    reference are optional. For example, the resource name for an HTTP URL must specify a server

    on the network (Host Name) and the path to the document on that machine (Filename); it also

    can specify a port number and a reference. In the URL for the Java Web site java.sun.com is the

    host name and the trailing slash is shorthand for the file named /index.html.

    Sequence of socket calls for connection-oriented protocol:

    System Calls

    Socket - create a descriptor for use in network communication. On success, socket system call returns a

    small integer value similar to a file descriptor Name.

    Bind- Binda local IP address andprotocol port to a socket

  • 8/6/2019 Remote Desktop12

    46/73

    46

    When a socket is created it does not have any notion of endpoint address. An application calls bind to

    specify the local; endpoint address in a socket. For TCP/IP protocols, the endpoint address uses the

    socket address in structure. Servers use bind to specify the well-known port at which they will await

    connections.

    Connect - connect to remote client

    After creating a socket, a client calls connect to establish an actual connection to a remote server. An

    argument to connect allows the client to specify the remote endpoint, which include the remote

    machines IP address and protocols port number. Once a connection has been made, a client can transfer

    data across it.

    Accept () - accept the next incoming connection

    Accept creates a new socket for each new connection request and returns the descriptor of the new

    socket to its caller. The server uses the new socket only for the new connections it uses the original

    socket to accept additional connection requests once it has accepted connection, the server can transfer

    data on the new socket.

    Return Value:

    This system-call returns up to three values

    An integer returns code that is either an error indication or a new socket description

    The address of the client process

    The size of this address

  • 8/6/2019 Remote Desktop12

    47/73

    47

    Listen - place the socket in passive mode and set the number of incoming TCP connections the system

    will en-queue. Backlog - specifies how many connections requests can be queued by the system while it

    wants for the server to execute the accept system call it us usually executed after both the socket and

    bind system calls, and immediately before the accept system call.

    Send , send to, recv and recvfrom system calls

    These system calls are similar to the standard read and write system calls, but additional arguments are

    requested.

    Close - terminate communication and de-allocate a descriptor. The normal UNIX close system call is also

    used to close a socket.

  • 8/6/2019 Remote Desktop12

    48/73

    48

    Testing

    Testing ConceptsTesting Methodologies:

    Black box Testing: White box Testing. Gray Box Testing.

    Levels Of Testing:

    Unit Testing. Module Testing. Integration Testing. System Testing. User Acceptance Testing.

    Types of Testing:

    Smoke Testing. Sanitary Testing. Regression Testing. Re-Testing. Static Testing. Dynamic Testing.

  • 8/6/2019 Remote Desktop12

    49/73

    49

    Alpha-Testing. Beta-Testing. Monkey Testing. Compatibility Testing. Installation Testing. Adhoc Testing.

    TCD (Test Case Documentation)

    STLC

    Test Planning. Test Development. Test Execution. Result Analysis. Bug-Tracing. Reporting.

    Microsoft Windows Standards

    Manual Testing

    Automation Testing (Tools)

    Win Runner. Test Director.

  • 8/6/2019 Remote Desktop12

    50/73

    50

    Testing:

    y The process of executing a system with the intent of finding an error.y

    Testing is defined as the process in which defects are identified, isolated, subjected forrectification and ensured that product is defect free in order to produce the quality

    product and hence customer satisfaction.

    y Quality is defined as justification of the requirementsy Defect is nothing but deviation from the requirementsy Defect is nothing but bug.y Testing --- The presence of bugsy Testing can demonstrate the presence of bugs, but not their absencey Debugging and Testing are not the same thing!y Testing is a systematic attempt to break a program or the AUTy Debugging is the art or method of uncovering why the script /program did not execute

    properly.

    Testing Methodologies:

    y Black box Testing: is the testing process in which tester can perform testing on anapplication without having any internal structural knowledge of application.

    Usually Test Engineers are involved in the black box testing.

    y White box Testing: is the testing process in which tester can perform testing on anapplication with having internal structural knowledge.

    Usually The Developers are involved in white box testing.

  • 8/6/2019 Remote Desktop12

    51/73

    51

    y Gray Box Testing: is the process in which the combination of black box and white boxtonics are used.

    Levels of Testing:

    Module1 Module2 Module3

    Units Units Units

    i/p Integra

    tion o/p i/p Integra

    tion o/p

    System Testing: Presentation + business +Databases

    bUAT: useracceptance testing

  • 8/6/2019 Remote Desktop12

    52/73

    52

    STLC (SOFTWARE TESTING LIFE CYCLE)

    Test Planning:

    1. Test Plan is defined as a strategic document which describes the procedure how to perform

    various testing on the total application in the most efficient way.

    2. This document involves the scope of testing,

    3. Objective of testing,

    4. Areas that need to be tested,

    5. Areas that should not be tested,

    6. Scheduling Resource Planning,

    7. Areas to be automated, various testing toolsused.

    Test Development:

    1. Test case Development (check list)

    2. Test Procedure preparation. (Description of the Test cases).

    1. Implementation of test cases. Observing the result.

  • 8/6/2019 Remote Desktop12

    53/73

    53

    Result Analysis :

    1. Expected value : is nothing but expected behavior of application.

    2. Actual value : is nothing but actual behavior of application

    Bug Tracing :

    Collect all the failed cases, prepare documents.

    Reporting :

    Prepare document (status of the application)

    Types Of Testing:

    c>Smoke Testing: is the process of initial testing in which tester looks for the availability of all

    the functionality of the application in order to perform detailed testing on them. (Main check is

    for available forms)

    c>Sanity Testing: is a type of testing that is conducted on an application initially to check for

    the proper behavior of an application that is to check all the functionality are available before

    the detailed testing is conducted by on them.

  • 8/6/2019 Remote Desktop12

    54/73

    54

    c>Regression Testing: is one of the best and important testing. Regression testing is the

    process in which the functionality, which is already tested before, is once again tested

    whenever some new change is added in order to check whether the existing functionality

    remains same.

    c>Re-Testing: is the process in which testing is performed on some functionality which is

    already tested before to make sure that the defects are reproducible and to rule out the

    environments issues if at all any defects are there.

    cStatic Testing: is the testing, which is performed on an application when it is not been

    executed.ex: GUI, Document Testing

    cDynamic Testing: is the testing which is performed on an application when it is being

    executed.ex: Functional testing.

    cAlpha Testing: it is a type of user acceptance testing, which is conducted on an application

    when it is just before released to the customer.

    c Beta-Testing: it is a type of UAT that is conducted on an application when it is released to

    the customer, when deployed in to the real time environment and being accessed by the real

    time users.

  • 8/6/2019 Remote Desktop12

    55/73

    55

    cMonkey Testing: is the process in which abnormal operations, beyond capacity operations

    are done on the application to check the stability of it in spite of the users abnormal behavior.

    cCompatibility testing: it is the testing process in which usually the products are tested on the

    environments with different combinations of databases (application servers, browsersetc) In

    order to check how far the product is compatible with all these environments platform

    combination.

    cInstallation Testing: it is the process of testing in which the tester try to install or try to

    deploy the module into the corresponding environment by following the guidelines produced in

    the deployment document and check whether the installation is successful or not.

    cAdhoc Testing: Adhoc Testing is the process of testing in which unlike the formal testing

    where in test case document is used, with out that test case document testing can be done of

    an application, to cover that testing of the future which are not covered in that test case

    document. Also it is intended to perform GUI testing which may involve the cosmotic issues.

    TCD (Test Case Document):

    Test Case Document Contains

    y Test Scope (or) Test objectivey Test Scenarioy Test Procedurey Test case

  • 8/6/2019 Remote Desktop12

    56/73

    56

    This is the sample test case document for the Case Investigate details of Client project:

    Test scope :

    y Test coverage is provided for the screen Login check form of a Administrationmodule of Forensic Manager application

    y Areas of the application to be tested

    Test Scenario :

    y When the office personals use this screen for the data entry, adding sections, courts,grades and Case Registration information on s basis and quit the form.

    Test Procedure :

    y The procedure for testing this screen is planned in such a way that the data entry, statuscalculation functionality, saving and quitting operations are tested in terms of GUI

    testing, Positive testing, Negative testing using the corresponding GUI test cases,

    Positive test cases, Negative test cases respectively

  • 8/6/2019 Remote Desktop12

    57/73

    57

    Test Cases :

    y Template for Test Case

    T.C.No Description Exp Act Result

    Guidelines for Test Cases:

    1. GUI Test Cases:

    y Total no of features that need to be checky Look & Feely Look for Default values if at all any (date & Time, if at all any require)y Look for spell check

    Example for Gui Test cases:

  • 8/6/2019 Remote Desktop12

    58/73

    58

    T.C.No Description Expected

    value

    Actual value Result

    1

    Check for all the

    features in the scree

    The screen

    must

    contain all

    the feature

    2

    Check for the

    alignment of the

    objects as per the

    validations

    The

    alignment

    should be i

    proper way

    2. Positive Test Cases:

    y The positive flow of the functionality must be consideredy Valid inputs must be used for testingy Must have the positive perception to verify whether the requirements are justified.

  • 8/6/2019 Remote Desktop12

    59/73

    59

    3. Positive Test Cases:

    yThe positive flow of the functionality must be considered

    y Valid inputs must be used for testingy Must have the positive perception to verify whether the requirements are justified.

    Example for Positive Test cases:

    T.C.No Description Expected value Actual value Result

    1 Input UserNam

    and Password

    Redirect t

    HomePage

    Redirect to Hom

    Page

    Redirect to Hom

    Page

    2

    4. Negative Test Cases:

    y Must have negative perception.y Invalid inputs must be used for test.

  • 8/6/2019 Remote Desktop12

    60/73

    60

    Example for Negative Test cases:

    T.C.No Description Expected value Actual value Result

    1 Input usernam

    and password

    Login Page Login Page Login Page

    2

  • 8/6/2019 Remote Desktop12

    61/73

    61

    Screen Shots

    Client 1:

  • 8/6/2019 Remote Desktop12

    62/73

    62

    Server Started at Another host :

  • 8/6/2019 Remote Desktop12

    63/73

    63

    Achieve Connections :

  • 8/6/2019 Remote Desktop12

    64/73

    64

    Connect To Server :

  • 8/6/2019 Remote Desktop12

    65/73

    65

    File Transfer :

  • 8/6/2019 Remote Desktop12

    66/73

    66

    Configuration :

  • 8/6/2019 Remote Desktop12

    67/73

    67

    Info about Remote Desktop Product :

  • 8/6/2019 Remote Desktop12

    68/73

    68

    Server Widow in Client-1 :

  • 8/6/2019 Remote Desktop12

    69/73

    69

    Exit :

  • 8/6/2019 Remote Desktop12

    70/73

    70

    Future Enhancements

    It is not possible to develop a system that makes all the requirements of the user. User

    requirements keep changing as the system is being used. Some of the future enhancements

    that can be done to this system are:

    y As the technology emerges, it is possible to upgrade the system and can be adaptable todesired environment.

    y Because it is based on object-oriented design, any further changes can be easilyadaptable.

    y Based on the future security issues, security can be improved using emergingtechnologies.

    y Case Registration module can be added

  • 8/6/2019 Remote Desktop12

    71/73

    71

    BENEFITS OF THE PROJECT

    Our project has got several benefits, some of these are:

    1) Our project provides a sophisticated interface for systemadministrators to monitor and control the systems within the

    intranet.

    2) The project has been developed in JAVA which provides portabilityand provides a better security mechanism from unauthorized access.

    3) The Graphical User Interface helps in easy connecting and monitoringof the remote system, which makes the application more likely to be

    used.

  • 8/6/2019 Remote Desktop12

    72/73

    72

    CONCLUSION

    The tasks which were assigned to us are working properly according to the

    requirements. The procedures are working properly used for the project.

    The project is basically a computerized version of Remote Desktop for

    administrators who want to monitor and control remote systems. Our application

    provides these facilities in a more convenient and easier way.

  • 8/6/2019 Remote Desktop12

    73/73

    BIBLIOGRAPHY

    References:

    i. Java Complete Reference by Herbert Schildt.ii. Java Reference Library by O Reilly and Flanagan.

    iii. Java RMI - OReilly.iv. Java and XML by Brett Mc Laughlin.v. Wikipedia, URL: http://www.wikipedia.org.vi.

    Answers.com, URL: http://www.answers.com.

    vii. Google, URL: http://www.google.com.viii. http://www.startwright.com/project.htm.

    ix. http://it.toolbLox.com/wiki/index.php/WareHouseManagement .x. http://www.sun.com.


Recommended