Virtual Desktop Governor (1)

15
Virtual Desktop Governor Virtual Desktop Governor Virtual Desktop Governor is an extensive management, administration and auditing system empl oyed to manage PC’s on a network in any pl ace that provides public access to computers. This can be a Cyber Cafe, Computer Lab, PC Gaming Center, school or library. Generally speaking our software is designed to be used at any place where people are allowed to use PC for a payment or for free and where strict authorized accesses to PC’s are warranted. LAN Virtual Desktop Governor is a powerful and interactive system that is highly comprehensive and intuitive. Its powerful security features gives you complete control over your networ k and min imi zes sys tem mai ntenance time and per mit s logging in of use r activities. Currently this software operates strictly within Win32 based operating systems only. It employs lots of native library calls via executables to achieve its current tasks. Later this software will be enhanced to accommodate more operating systems as an extension plan. The suite consists of two modules: LAN Station This is the administrative module that will be installed at the administrators end. LAN Station is a local security agent for Virtual Desktop Governor. By utilizing LAN Station you can take total control over a remote LAN Terminal and eliminate all unauthorized and unexpect ed use of the system. You can fi t the program into your business environment by displaying your own images and specific messages. LAN Terminal By installing LAN Terminal on client computers you can take total control over a remote PC and eliminate all unauthorized and unexpected use of the client systems. It also provides us with an effective means of logging the activities of a user on the PC. Every user can have customized desktops and can be availed restrictive access to applications depending on their privileges.

Transcript of Virtual Desktop Governor (1)

Page 1: Virtual Desktop Governor (1)

8/8/2019 Virtual Desktop Governor (1)

http://slidepdf.com/reader/full/virtual-desktop-governor-1 1/15

V i r t u a l D e s k t o p G o v e r n o rV i r t u a l D e s k t o p G o v e r n o r

Virtual Desktop Governor is an extensive management, administration and auditing system

employed to manage PC’s on a network in any place that provides public access to

computers. This can be a Cyber Cafe, Computer Lab, PC Gaming Center, school or library.

Generally speaking our software is designed to be used at any place where people are

allowed to use PC for a payment or for free and where strict authorized accesses to PC’s are

warranted. LAN Virtual Desktop Governor is a powerful and interactive system that is highly

comprehensive and intuitive. Its powerful security features gives you complete control over

your network and minimizes system maintenance time and permits logging in of user

activities. Currently this software operates strictly within Win32 based operating systems

only. It employs lots of native library calls via executables to achieve its current tasks. Later

this software will be enhanced to accommodate more operating systems as an extension

plan.

The suite consists of two modules:

LAN Station

This is the administrative module that will be installed at the administrators end. LAN

Station is a local security agent for Virtual Desktop Governor. By utilizing LAN Stationyou can take total control over a remote LAN Terminal and eliminate all unauthorized

and unexpected use of the system. You can fit the program into your business

environment by displaying your own images and specific messages.

LAN Terminal

By installing LAN Terminal on client computers you can take total control over a remote

PC and eliminate all unauthorized and unexpected use of the client systems. It also

provides us with an effective means of logging the activities of a user on the PC. Every

user can have customized desktops and can be availed restrictive access to applications

depending on their privileges.

Page 2: Virtual Desktop Governor (1)

8/8/2019 Virtual Desktop Governor (1)

http://slidepdf.com/reader/full/virtual-desktop-governor-1 2/15

FeaturesFeatures 

• User/Group Security Administration

• Time Management and Scheduling

• Desktop Management

• User Activity Monitoring and Logging

• Remote Administration and Controlling

• Instant Blocking and Banning of a User

• Billing and Auditing

 TechnologiesTechnologies: JFC, Multithreading, IO Streams, Sockets, JDBC

**Project Development Environment:Project Development Environment:

HardwareHardware

Pentium IV Processor

512 MB RAM

40GB HDD

1024 * 768 Resolution Color Monitor

SoftwareSoftware

Windows 2003/2000/XP

Java Platform Standard Edition (Java SE) 1.6

NetBeans 6.0 IDE

MySQL Database Server

**Note: These are not to be mistaken as “System Requirements”.

Page 3: Virtual Desktop Governor (1)

8/8/2019 Virtual Desktop Governor (1)

http://slidepdf.com/reader/full/virtual-desktop-governor-1 3/15

T e c h n o l o g y R e q u i r e m e n t s f o r t h eT e c h n o l o g y R e q u i r e m e n t s f o r t h e 

P r o j e c tP r o j e c t

Swings (JFC)Swings (JFC)

A Java toolkit for developing graphical user interfaces (GUIs). It includes elements such as

menus, toolbars and dialog boxes. Swing is written in Java and is thus platform

independent, unlike the Java Abstract Window Toolkit (AWT), which provides platform-

specific code. Swing also has more sophisticated interface capabilities than AWT and offers

such features as tabbed panes and the ability to change images on buttons. Swing is

included in the Java Foundation Classes (JFC) which is provided in the Java Developers

Toolkit (JDK).

Swing calls the operating system at a lower level than AWT. Whereas AWT routines use

native code, Swing was written entirely in Java and is platform independent.

The Java Foundation Classes (JFC) is a graphical framework for building portable Java-based

graphical user interfaces (GUIs). JFC consists of the Abstract Window Toolkit (AWT), Swing

and Java 2D. Together, they provide a consistent user interface for Java programs,

regardless whether the underlying user interface system is Windows, Mac OS X or Linux.

AWT is the older of the two interface libraries, and was heavily criticized for being little more

than a wrapper around the native graphical capabilities of the host platform. That meant

Page 4: Virtual Desktop Governor (1)

8/8/2019 Virtual Desktop Governor (1)

http://slidepdf.com/reader/full/virtual-desktop-governor-1 4/15

that the standard widgets in the AWT relied on those capabilities of the native widgets,

requiring the developer to also be aware of the differences between host platforms.

An alternative graphics library called the Internet Foundation Classes was developed in

more platform-independent code by Netscape. Ultimately, Sun merged the IFC with other

technologies under the name "Swing", adding the capability for a pluggable look and feel of 

the widgets. This allows Swing programs to maintain a platform-independent code base, but

mimic the look of a native application.

IO StreamsIO Streams

Most programs use data in one form or another, whether it is as input, output, or both. Thesources of input and output can vary between a local file, a socket on the network, a

database, variables in memory, or another program. Even the type of data can vary

between objects, characters, multimedia, and others.

Data for a program may come from several sources. Data created by a program may be

sent to several destinations. The connection between a program and a data source or

destination is called a stream. An input stream handles data flowing into a program. An

output stream handles data flowing out of a program.

The Java Development Kit (JDK) provides APIs for reading and writing streams of data.

These APIs have been part of the core JDK since version 1.0, but are often overshadowed

by the more well-known APIs, such as JavaBeans, JFC, RMI, JDBC, and so on. However,

input and output streams are the backbone of the JDK APIs

Page 5: Virtual Desktop Governor (1)

8/8/2019 Virtual Desktop Governor (1)

http://slidepdf.com/reader/full/virtual-desktop-governor-1 5/15

To bring data into a program, a Java program opens a stream to a data source, such as a

file or remote socket, and reads the information serially. On the flip side, a program can

open a stream to a data source and write to it in a serial fashion. Whether you are reading

from a file or from a socket, the concept of serially reading from, and writing to different

data sources is the same.

Prior to JDK 1.1, the input and output classes (mostly found in the java.io package) only

supported 8-bit byte streams. The concept of 16-bit Unicode character streams was

introduced in JDK 1.1. While byte streams were supported via the java.io.InputStream and

 java.io.OutputStream classes and their subclasses, character streams are implemented by

the java.io.Reader and java.io.Writer classes and their subclasses.

Most of the functionality available for byte streams is also provided for character streams.

The methods for character streams generally accept parameters of data type charparameters, while byte streams, you guessed it, work with byte data types. The names of 

the methods in both sets of classes are almost identical except for the suffix, that is,

character-stream classes end with the suffix Reader or Writer and byte-stream classes end

with the suffix InputStream and OutputStream. For example, to read files using character

streams, you would use the java.io.FileReader class; for reading it using byte streams you

would use java.io.FileInputStream.

Unless you are working with binary data, such as image and sound files, you should use

readers and writers.

Page 6: Virtual Desktop Governor (1)

8/8/2019 Virtual Desktop Governor (1)

http://slidepdf.com/reader/full/virtual-desktop-governor-1 6/15

MultithreadingMultithreading

Multitasking is performing two or more tasks at the same time. Nearly all operating systems

are capable of multitasking by using one of two multitasking techniques: process-based

multitasking and thread-based multitasking.

Process-based multitasking is running two programs concurrently. Programmers refer to a

program as a process. Therefore, you could say that process-based multitasking is program-

based multitasking.

Thread-based multitasking is having a program perform two tasks at the same time. For

example, a word processing program can check the spelling of words in a document while

you write the document. This is thread-based multitasking.

A good way to remember the difference between process-based multitasking and thread-

based multitasking is to think of process-based as working with multiple programs and

thread-based as working with parts of one program.

The objective of multitasking is to utilize the idle time of the CPU. Think of the CPU as the

engine of your car. Your engine keeps running regardless of whether the car is moving. Your

objective is to keep your car moving as much as possible so you can get the most miles

from a gallon of gas. An idling engine wastes gas.

The same concept applies to the CPU in your computer. You want your CPU cycles to be

processing instructions and data rather than waiting for something to process. A CPU cycle

is somewhat similar to your engine running.

It may be hard to believe, but the CPU idles more than it processes in many desktop 

computers. Let’s say that you are using a word processor to write a document. For the most

part, the CPU is idle until you enter a character from the keyboard or move the mouse.

Multitasking is designed to use the fraction of a second between strokes to process

instructions from either another program or from a different part of the same program.

Making efficient use of the CPU may not be too critical for applications running on a desktop

computer because most of us rarely need to run concurrent programs or run parts of the

same program at the same time. However, programs that run in a networked environment,

such as those that process transactions from many computers, need to make a CPU’s idle

time productive.

Page 7: Virtual Desktop Governor (1)

8/8/2019 Virtual Desktop Governor (1)

http://slidepdf.com/reader/full/virtual-desktop-governor-1 7/15

NetworkingNetworking

The java.net package provides a powerful and flexible infrastructure for networking.

 java.net provides the classes for implementing networking applications. Using the socket

classes, you can communicate with any server on the Internet or implement your own

Internet server. A number of classes are provided to make it convenient to use Universal

Resource Locators (URLs) to retrieve data on the Internet.

The classes of the java.net package

Page 8: Virtual Desktop Governor (1)

8/8/2019 Virtual Desktop Governor (1)

http://slidepdf.com/reader/full/virtual-desktop-governor-1 8/15

The exceptions of the java.net package

JDBCJDBC

JDBC is an API for the Java programming language that defines how a client may access a

database. It provides methods for querying and updating data in a database. JDBC is

oriented towards relational databases.

JDBC was first introduced in the Java 2 Platform, Standard Edition, version 1.1 (J2SE),

together with a reference implementation JDBC-to-ODBC bridge, enabling connections to

any ODBC-accessible data source in the JVM host environment.

JDBC has been part of the Java Standard Edition since the release of JDK 1.1. The JDBC

classes are contained in the Java package java.sql. JDBC allows multiple implementations

to exist and be used by the same application. The API provides a mechanism for

dynamically loading the correct Java packages and registering them with the JDBC Driver

Manager. The Driver Manager is used as a connection factory for creating JDBC connections.

JDBC connections support creating and executing statements. These may be update

statements such as SQL's CREATE, INSERT, UPDATE and DELETE, or they may be query

statements such as SELECT. Additionally, stored procedures may be invoked through a

JDBC connection. JDBC represents statements using one of the following classes:

• Statement – the statement is sent to the database server each and every time.

Page 9: Virtual Desktop Governor (1)

8/8/2019 Virtual Desktop Governor (1)

http://slidepdf.com/reader/full/virtual-desktop-governor-1 9/15

• PreparedStatement – the statement is cached and then the execution path is pre

determined on the database server allowing it to be executed multiple times in an

efficient manner.

• CallableStatement – used for executing stored procedures on the database.

Update statements such as INSERT, UPDATE and DELETE return an update count that

indicates how many rows were affected in the database. These statements do not return

any other information.

Query statements return a JDBC row result set. The row result set is used to walk over the

result set. Individual columns in a row are retrieved either by name or by column number.

There may be any number of rows in the result set. The row result set has metadata that

describes the names of the columns and their types.

 JDBC Drivers

JDBC Drivers are client-side adaptors (they are installed on the client machine, not on the

server) that convert requests from Java programs to a protocol that the DBMS can

understand.

JDBC Driver Types

There are commercial and free drivers available for most relational database servers. These

drivers fall into one of the following types:

• Type 1 that calls native code of the locally available ODBC driver.

The JDBC type 1 driver, also known as the JDBC-ODBC bridge, is a database driver

implementation that employs the ODBC driver to connect to the database. The driver

converts JDBC method calls into ODBC function calls.

The driver is platform-dependent as it makes use of ODBC which in turn depends on

native libraries of the underlying operating system the JVM is running upon. Also,

use of this driver leads to other installation dependencies; for example, ODBC must

be installed on the computer having the driver and the database must support an

ODBC driver. The use of this driver is discouraged if the alternative of a pure-Java

Page 10: Virtual Desktop Governor (1)

8/8/2019 Virtual Desktop Governor (1)

http://slidepdf.com/reader/full/virtual-desktop-governor-1 10/15

driver is available. The other implication is that any application using a type 1 driver

is non-portable given the binding between the driver and platform.

• Type 2 that calls database vendor native library on a client side. This codethen talks to database over network.

The JDBC type 2 driver, also known as the Native-API driver, is a database driver

implementation that uses the client-side libraries of the database. The driver

converts JDBC method calls into native calls of the database API.

The type 2 driver is not written entirely in Java as it interfaces with non-Java code

that makes the final database calls. The driver is compiled for use with the particular

operating system. For platform interoperability, the Type 4 driver, being a full-Java

implementation, is preferred over this driver.

Page 11: Virtual Desktop Governor (1)

8/8/2019 Virtual Desktop Governor (1)

http://slidepdf.com/reader/full/virtual-desktop-governor-1 11/15

However the type 2 driver provides more functionality and better performance than

the type 1 driver as it does not have the overhead of the additional ODBC function

calls.

• Type 3, the pure-java driver that talks with the server-side middleware thatthen talks to database

The JDBC type 3 driver, also known as the Pure Java Driver for Database

Middleware, is a database driver implementation which makes use of a middle tier

between the calling program and the database. The middle-tier (application server)

converts JDBC calls directly or indirectly into the vendor-specific database protocol.

This differs from the type 4 driver in that the protocol conversion logic resides not at

the client, but in the middle-tier. Like type 4 drivers, the type 3 driver is written

entirely in Java. The same driver can be used for multiple databases. It depends on

Page 12: Virtual Desktop Governor (1)

8/8/2019 Virtual Desktop Governor (1)

http://slidepdf.com/reader/full/virtual-desktop-governor-1 12/15

the number of databases the middleware has been configured to support. The type 3

driver is platform-independent as the platform-related differences are taken care by

the middleware. Also, making use of the middleware provides additional advantages

of security and firewall access.

• Type 4, the pure-java driver that uses database native protocol

The JDBC type 4 driver, also known as the Direct to Database Pure Java Driver, is a

database driver implementation that converts JDBC calls directly into the vendor-

specific database protocol.

The type 4 driver is written completely in Java and is hence platform independent. It

is installed inside the Java Virtual Machine of the client. It provides better

Page 13: Virtual Desktop Governor (1)

8/8/2019 Virtual Desktop Governor (1)

http://slidepdf.com/reader/full/virtual-desktop-governor-1 13/15

performance over the type 1 and 2 drivers as it does not have the overhead of 

conversion of calls into ODBC or database API calls. Unlike the type 3 drivers, it does

not need associated software to work.

As the database protocol is vendor-specific, separate drivers, usually vendor-

supplied, need to be used to connect to the database.

Page 14: Virtual Desktop Governor (1)

8/8/2019 Virtual Desktop Governor (1)

http://slidepdf.com/reader/full/virtual-desktop-governor-1 14/15

S o f t w a r e R e q u i r e m e n t s f o r t h e P r o j e c tS o f t w a r e R e q u i r e m e n t s f o r t h e P r o j e c t

Java SE 1.6Java SE 1.6

Java Platform, Standard Edition or Java SE is a widely used platform for programming in the

Java language. It is the Java Platform used to deploy portable applications for general use.

In practical terms, Java SE consists of a virtual machine, which must be used to run Java

programs, together with a set of  libraries (or "packages") needed to allow the use of  file 

systems, networks, graphical interfaces, and so on, from within those programs.

NetBeans IDENetBeans IDE

NetBeans is a free, open-source Integrated Development Environment for softwaredevelopers. You get all the tools you need to create professional desktop, enterprise, web,

and mobile applications with the Java language, C/C++, and even dynamic languages such

as PHP, JavaScript, Groovy, and Ruby. The NetBeans IDE is easy to install and use straight

out of the box and runs on many platforms including Windows, Linux, Mac OS X and Solaris.

The NetBeans Platform is a reusable framework for simplifying the development of other

desktop applications. When an application based on the NetBeans Platform is run, the

platform's Main class is executed. Available modules are located, placed in an in-memory

registry, and the modules' startup tasks are executed. Generally, a module's code is loaded

into memory only as it is needed.

Applications can install modules dynamically. Any application can include the Update Center

module to allow users of the application to download digitally-signed upgrades and new

features directly into the running application. Reinstalling an upgrade or a new release does

not force users to download the entire application again. The platform offers services

common to desktop applications, allowing developers to focus on the logic specific to their

application. Among the features of the platform are:

• User interface management (e.g. menus and toolbars)

• User settings management

• Storage management (saving and loading any kind of data)

• Window management

• Wizard framework (supports step-by-step dialogs)

Page 15: Virtual Desktop Governor (1)

8/8/2019 Virtual Desktop Governor (1)

http://slidepdf.com/reader/full/virtual-desktop-governor-1 15/15

NetBeans refers to both a platform for the development of applications for the network and

an integrated development environment (IDE) developed using the NetBeans Platform.

The NetBeans Platform allows applications to be developed from a set of modular software 

components called modules. A module is a Java archive file that contains Java classes

written to interact with the NetBeans Open APIs and a manifest file that identifies it as a

module. Applications built on modules can be extended by adding new modules. Since

modules can be developed independently, applications based on the NetBeans platform can

be extended by third party developers.

MySQL Database ServerMySQL Database Server

MySQL, the most popular Open Source SQL database management system, is developed,

distributed, and supported by Sun Microsystems, Inc. MySQL is a open source relationaldatabase management system that stores data in separate tables rather than putting all the

data in one big storeroom. This adds speed and flexibility.

The SQL part of “MySQL” stands for “Structured Query Language.” SQL is the most common

standardized language used to access databases and is defined by the ANSI/ISO SQL

Standard. The SQL standard has been evolving since 1986 and several versions exist. In

this manual, “SQL-92” refers to the standard released in 1992, “SQL:1999” refers to the

standard released in 1999, and “SQL:2003” refers to the current version of the standard.

We use the phrase “the SQL standard” to mean the current version of the SQL Standard at

any time.

MySQL Server was originally developed to handle large databases much faster than existing

solutions and has been successfully used in highly demanding production environments for

several years. Although under constant development, MySQL Server today offers a rich and

useful set of functions. Its connectivity, speed, and security make MySQL Server highly

suited for accessing databases on the Internet.

he MySQL Database Software is a client/server system that consists of a multi-threaded

SQL server that supports different backends, several different client programs and libraries,

administrative tools, and a wide range of application programming interfaces (APIs).