0% found this document useful (0 votes)
44 views97 pages

Project Report ON: Library Management System

This document is a project report on developing a Library Management System. It includes an introduction describing the need for an automated library system. It then covers analyzing requirements such as identifying user needs, feasibility study, and hardware/software requirements. The report describes designing the system including entity relationship diagrams, data flow diagrams, and interface screens. It also covers testing the system and implementing it in a library. The conclusion discusses benefits and potential expansions to the system.

Uploaded by

Anurag
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views97 pages

Project Report ON: Library Management System

This document is a project report on developing a Library Management System. It includes an introduction describing the need for an automated library system. It then covers analyzing requirements such as identifying user needs, feasibility study, and hardware/software requirements. The report describes designing the system including entity relationship diagrams, data flow diagrams, and interface screens. It also covers testing the system and implementing it in a library. The conclusion discusses benefits and potential expansions to the system.

Uploaded by

Anurag
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 97

PROJECT REPORT

ON
LIBRARY MANAGEMENT SYSTEM
SUBMITTED IN PARTIAL FULFILLMENT OF THE
REQUIREMENT FOR THE AWARD OF
THE DEGREE IN MASTER OF SCIENCE
(COMPUTER SCIENCE)

Session : 2019-21

SUBMITTED TO:- SUBMITTED BY:-


Mrs. Poonam Bhawna
Assistant Professor Roll No. 3065720020
CS Department M.Sc. (C.S.) 4th Sem.

Pt. J. L. N. Govt. College


Faridabad
ACKNOWLEDGEMENT

I would like to acknowledge my sincere thanks towards my college and its Computer
Science Faculties for their valuable guidance and suggestions that have resulted in
successful completion of project. I would like to give my sincere thanks to Mrs.
Poonam under whose guidance this project completed.

I am grateful to all those who have directly or indirectly helped me in completion of the
project.

Bhawna
M.Sc. (C.S) 4th Sem.
Roll No. 3065720020
Department of Computer Science Certificate

Pt. J.L.N. Govt. College Faridabad

This is to certify that Bhawna Roll No. 3065720020, Class - M.Sc (Computer Science) 4 th
Sem. has carried out the project work titled “Library Management System” under the
supervision of Mrs. Poonam.

This project work is originally work carried out by the student and has not been submitted to
any other college/institute to the best of knowledge.

Mrs. Poonam
Supervisor

Dr. Vijya Shridhar Principal


(Head of Dept. of Computer Science) Govt. College Faridabad

TABLE OF CONTENTS

1. Introduction

1.1 Introduction to Company


1.2 Introduction to Project

1.3 Introduction to Modules

2. Analysis

2.1 Identification of Need

2.2 Feasibility Study

2.3 Problem Specification

2.4 Requirement Specification

2.4.1 Client requirements

2.4.2 Hardware requirements

2.4.3 software requirements

3. Selected Software

4. Design

4.1 Software Paradigm

4.2 Normalization

4.3 Data Dictionary

4.4 Relationship Diagram

4.5 E-R Diagrams

4.6 Data Flow Diagrams.

5. Output Screens (Forms)

6. System Testing and Implementation

6.1 Test Data

6.2 Validations

7. Conclusion
8. Scope for Expansion

9. Bibliography

INTRODUCTION
Virtual Private Network (VPN)

The “Virtual Private Network (VPN)” has emerged as one of the

leading technologies at present and has attracted the attention of many

organizations looking to both expand their networking capabilities and

reduce their costs.

This paper deals with the upcoming technology, VPN - Virtual Private

Network which has proved itself to be lot reliable in transferring data

between remote places via a secured network thus paving way for Data

Security

The VPN has the ability of providing connection between the user

(client) & the server of the organization not within the workplace itself but

from home too with the data being transferred & received in a highly

secured way. For example Telecommuters and those who travel often might

find VPNs to be a more convenient way to stay "plugged in" to the corporate

Intranet.

This paper deals with the ideas of implementing a VPN connection

featuring the general working of the whole process, protocols involved,


basic concepts of VPN, establishing the tunneling mechanism, the methods

of data encryption and decryption along with the discussion on enhancement

models.

This project throws light on the concept behind in establishing the

VPN connection taking into consideration the Key Aspects of VPN namely,

 Data Authentication

 Data Integrity

 Data Accountability and

 Data Confidentiality

Each stage explains of the ways in which these get invoked. Hitherto

the Architecture of the same along with its types has been discussed. The

role of the various Protocols namely PPTP, L2TP and IPSEC are clearly

explained citing a “Transport Mode” configuration of IPSEC on a Windows

2000 server. We have also discussed the configuration of Routers giving a

sample program for the same.

A VPN supports at least three different modes of use:

 Remote access client connections

 LAN-to-LAN internetworking

 Controlled access within an Intranet


We have also discussed about providing Certification, Authentication.

A certificate authority (CA) is a third-party organization that verifies

the information or identity of computers on a network, and issues digital

certificates of authenticity.

. Digital certificates are used in a network security system to

guarantee that the two parties exchanging information are really who they

claim to be. A certificate authority keeps a complete list of all certificates it

has ever issued and information on their status: valid, expired, or revoked.

Evolution of vpn:

Previously people found it very difficulty to transfer

information from one place to another namely in the case of a WAN where

there was every single possibility of the data being hacked midway between

the two terminals. Further this security measure involved a great deal of

money if we were to use a long distance leased line , both these factors

standing as major barriers to data transfer in WAN.

Alternatively the VPN came into existence making use of the

concept of using a public network say for example the ISDN invoking some

new technology and by providing greater security. The factors by which

VPN provides low cost are


 By eliminating the need for expensive long-distance leased

lines. With VPNs the organization needs only a relatively short

dedicated connection to the service provider. This could be a

local broadband connection such as DSL service.

 Another way VPN reduce costs is by lessening the need for

long-distance telephone charges for remote access. Recall that

to provide remote access service, VPN clients need only call

into the nearest service provider’s access point. In some case

this may require a long distance call, but in many cases a local

call will suffice.

A more subtle way that VPNs may lower costs is through offloading

of the support burden. With VPNs, the service provider rather than the

organization must support dial-up access for example. Service providers can

in theory charge much less for their support than it costs a company

internally because the public provider’s cost is shared amongst potentially

thousands of customers.
Project formulation

Objective of the project:

The “Virtual Private Network (VPN)” has emerged as one of

the leading technologies at present and has attracted the attention of many

organizations looking to both expand their networking capabilities and

reduce their costs.

The VPN has the ability of providing connection between the

user (client) & the server of the organization not within the workplace itself

but even from home too with the data being transferred & received in a

highly secured way. For example Telecommuters and those who travel often

might find VPNs to be a more convenient way to stay "plugged in" to the

corporate Intranet.

This paper deals with the ideas of implementing a VPN connection

featuring the general working of the whole process, protocols involved,

basic concepts of VPN, establishing the tunneling mechanism, the methods


of data encryption and decryption along with the discussion on enhancement

models citing block diagrams and flow charts at apt places.

Key aspects - VPN:

The construction & successful execution of VPN involves

certain key points that have got to be remembered throughout the process.

These stand as pillars to make the VPN the “Technology most wanted” at

present. They include Data Integrity: 1. the condition existing when data is

unchanged from its source and has not been accidentally or maliciously

modified, altered, or destroyed. 2. The condition in which data are

identically maintained during any operation, such as transfer, storage, and

retrieval. 3. The preservation of data for their intended use. 4. Relative to

specified operations, the a priori expectation of data quality.

 Data Authentication: A process used to verify data integrity, e.g.,

verification that data received are identical to data sent, or verification

that a program is not infected by a virus.


 Data Confidentiality: is a set of services used to protect data against

unauthorized disclosure. It comprises the content confidentiality and

message flow confidentiality services.

Content confidentiality prevents the disclosure of the plain text

content of a message to any party other than the intended recipient(s). It is

provided on a per-message basis using an asymmetric or symmetric

encryption technique. The encrypted content is unintelligible to any MTA

handling the message.

If the originator chooses an asymmetric algorithm, the

recipient's public key is used to encrypt the message content. The recipient

uses its private key to decrypt the content. If an asymmetric encryption

algorithm is used, the message can only be addressed to a single recipient

(i.e., the recipient whose private key is paired with the public key used to

perform the encryption).

If the originator chooses a symmetric algorithm, delivery to

multiple recipients is possible. The originator encrypts the content using a

symmetric encryption key. This key may be distributed to each message

recipient by placing the key in the encrypted-data of the message token for
that recipient. The key may also be distributed by some other means (e.g.,

by prior agreement).

The message originator can encrypt the content using any

symmetric or asymmetric algorithm understood by both the originator and

the recipient. All information relevant to the algorithm, such as the

algorithm's object identifier and any input parameters, can be conveyed in

the message envelope or the signed-data of the message token.

Message flow confidentiality allows the message originator to

conceal the flow of a message through the MHS, protecting against

information that may be derived from its observation. This service counters

the threats of traffic analysis and loss of anonymity of the communicating

parties. It is provided by a technique called double enveloping.

 Data Accountability: 1. The property that ensures that the actions of

an individual or an institution may be traced uniquely to that

individual or institution. 2. In information systems (IS), the process of

tracing IS activities to a responsible source. 3. In communication

security, the principle that an individual is entrusted to safeguard and


control equipment, keying material, and information and is

answerable to proper authority for the loss or misuse of that

equipment or information.

MODULAR DESCRIPTION

The Centralised Management System consists of a login screen and 3

modules

There are basically 3 modules

 Administration module

 Marketing module

 Training module

Administration module exists for

 Office details
 Staff details

Office details

 Enquiry

 Student Registration

 Course and Fees Details

 Salary details

Staff Details

 Staff attendance

Marketing module exists for

 Adding Clients

 Client list

 Placement details

Training Details exists for

 Course details

 Project training

Course Details consists of

 J2EE Training

 Call center Training

 Software Testing
 Networking

Project Training consists of

 List of projects

PROJECT DEVELOPMENT

Requirement analysis

Software specification
Operating System : Windows XP & above

Front end : java servlet, html 4.0, Apache Tomcat

server

Back end : Ms Access

Server : Java Web Server 2.0

Hardware specification

CPU type : Pentium IV

Memory : 512 MB RAM

Hard disk : 80 GB

Key board : 110 keys

Drive summary
Floppy Drive : 1.44 MB fdd

CDROM : 52 X

Monitor : 15”color monitor

System Analysis
Feasibility study

The main objective of the feasibility study is to test the

technical and economic feasibility of developing a computer system. The

proposed system must be evaluated from a technical, social and economic

feasibility of developing a computer system. The proposed system must be

evaluated from a technical viewpoint. Then they must be tested for

economic feasibility.

Assessing technical feasibility

The technical feasibility of the project is assessed as the server

is solely responsible for the client privileges. Also the clients receives their

status in the organization. Any client in the network can access the server

but only the users in the server maintenance.

Assessing social feasibility

Certificate are transferred confidentially through the IP Tunnel.

If the user is certified he can access the modules other than that is forbidden

to him.Cost minimization and effictive dataflow rate than exsisting system

make this system more efficient.


Existing system

The management reports of the company that are highly

confidential have to be transmitted from branch office to head Office. This

can be done by

 The Leased line Connection.

This type of connection is highly secure. The data transferred

can be of large quantity. It is also reliable as the connection established is

for that particular organization and hence most suitable but considering the

cost involved is so high that the need for alter nature is a must.

 Dialup connection

In this case, there must be a connection, established every time

it is required by the organization. Hence even though it is cost effective .

There is no assurance that a connection is established when required and the

amount of data that can transferred is less switch on router user mode

prompt.

 Frame Relay

In this case the bandwidth is divided among the mutually

agreed organizations by using statistical division multiplexing. The cost

involved is less. But the bandwidth divided among the organizations is not

effectively used.
 Electronic Mail

In this case the company has to relay on the internet for the data

transfer. The information on the internet can be easily hacked by hackers and

hence the information should be transferred in a secure channel and also

keep the cost in mind.


PROPOSED

SYSTEM
PROPOSED SYSTEM

The need of using a VPN is to provide the service of internet in

a highly secure way. This process a router, ATM switch and internet to

connect too or more LAN or WAN network lopologies located at various

sites.

In order to establish this we have built our own software. This

software is divided into two the Server side or the Head Office program and

the Client side or the Branch Office program. The Client comprises of the

“Data Collecting Forms” and the Server side comprises of the “Report Box”

wherein the data sent get appended for each transaction.


Proposal:

We plan to implement an server that can receive requests for a bit

stream transfer. This bit stream will be encrypted using Encryption

algorithm. When received by a client, the bit stream will be decrypted using

a public key and a private key pair. This decrypted message will then be

displayed on the screen. If successful, the message will be a random fortune

provided by the Server administrator who is running the server. This project

serves two purposes: First, it allows the programmers to explore more

deeply the topic of data encryption and securities. Second, it allows the

programmers to see how clients and servers interact in the network

environment and how to specify the proper protocols.

ENHANCEMENT MODELS :

Scalability – This is one of the most important features that is in need. It

refers to the inclusion of new clients within the network. If this provision is

not provided the whole of the network may prove to be of little use in future

when the organization is expanding.

Remote Back up Server – This extends its way out to creating a back up for

every single file created within the WAN automatically.An advanced


version of this might be creating a back up for every request from the client

to the server( vice-versa) and the response of the same to it.This proves to be

of much help in cases of system crash down.

Remote Monitoring – This feature as the name suggests would monitor or

keep track of all the activities done by every single individual or client

within the network. This helps in avoiding the misuse of the systems

providing additional security within the network.

Providing Certification - In order for the two (or more) LANs to interact

with each other we need to provide Certification. This certification may be

either user level or the server level or both so as to provide security. This has

got to be done using Software

Providing Acknowledgement - In cases we maybe unsure if the data sent

has reached the correct destination and that too without any error in the

transmission path. This maybe over come by providing acknowledgement

signals back to the front end once the data have reached the destination . Our

task here is to generate a code which shall verify if the data have been

received without any corruption and then generate an acknowledgement

signal to the other end.


Software description

Overview of java technology

History of java:

Java language was developed by James Gosling and his team at sun

micro systems and released formally in 1995. Its former name is oak. Java
Development Kit 1.0 was released in 1996. To popularize java and is freely

available on Internet.

Overview of java:

Java is loosely based on C++ syntax, and is meant to be Object-

Oriented Structure of java is midway between an interpreted and a compiled

language. Java programs are compiled by the java compiler into Byte Codes

which are secure and portable across different platforms. These byte codes

are essentially instructions encapsulated in single type, to what is known as a

java virtual machine (JVM) which resides in standard browser.

Jvm verifies these byte codes when downloaded by the browser for

integrity. Jvm available for almost all OS. JVM converts these byte codes

into machine specific instructions at runtime.

Features of java:

 Java is object-oriented language and supports encapsulation,

inheritance, polymorphism and dynamic binding, but does not

support multiple inheritance. Every thing in java is an object

except some primitive data types.


 Java is portable architecture neutral that is java programs once

compiled can be executed on any machine that is enabled.

 JAVA is distributed in its approach and used for internet

programming.

 Java is robust, secured, high performing and dynamic in nature.

 Java supports multithreading. There for different parts of the

program can be executed at the same time

Java and internet:

Java is strongly associated with internet and known as internet

programming language. Internet users can use java to create applet programs

and run them locally using java enabled browser search as hot java. Applets

can be downloaded from remote machine via internet and run it on local

machine.

Java and World Wide Web:

World Wide Web is an open ended information retrieval system

designed to be used in the distributed environment. This system contains

web pages that provide both information and controls. We can navigate to a
new web page in any direction. This is made possible worth HTML java was

meant to be used in distributed environment such as internet. So java could

be easily incorporated into the web system and is capable of supporting

animation graphics, games and other special effect. The web has become

more dynamic and interactive with support of java. We can run a java

program on remote machine over internet with the support of web.

Java Environment:

Java environment includes a large no. of tools which are part of the

system known as java development kit (JDK) and hundreds of classes,

methods, and interfaces grouped into packages forms part of java standard

library (JSL).

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 are then interpreted on each

platform by the runtime environment. Java also provides stringent compile

and runtime checking and automatic memory management in order to ensure

solid code.
Java Virtual Machine:

When we compile the code, java compiler creates machine code (byte

code) for a hypothetical machine called java virtual machine (jvm). The jvm

will execute the byte code and overcomes the issue of portability. The code

is written and compile for one machine and interpreted all other machines.

This machine is called java virtual machine.

About HTML:
HTML (hyper text markup language) is a language used to

create hyper text documents that have hyper links embedded in them. It

consists of tags embedded in the text of a document with HTML. We can

build web pages or web document s. it is basically a formatting language and

not a programming language. The browser reading the document interprets

mark up tags to help format the document for subsequent display to a reader.

HTML is a language for describing structured documents. HTML is a

platform independent. WWW (World Wide Web) pages are written using

HTML. HTML tags control in part the representation of the WWW page

when view with web browser. The browser interprets HTML tags in the web

document and displays it. Different browsers show data differently.

Examples of browsers used to be web pages include:

 Netscape

 Internet Explorer

JavaDataBaseConnectivity (JDBC)

Overview of New Features

Result set enhancements:

The JDBC 1.0 API provided result sets that had the ability to scroll in

a forward directionally. Scrollable result sets allow for more flexibility in the
processing of results by providing both forward and backward movement

through their contents. In addition, scrollable result sets allow for relative

and absolute positioning. For example, it’s possible to move to the fourth

row in a scrollable result set directly, or to move directly to the third row

following the current row, provided the row exists. The JDBC API allows

result sets to be directly updatable, as well.

Advanced data types:

Increased support for storing persistent Java programming language

objects (Java objects) and a mapping for SQL99 data types such as binary

large objects, and structured types, has been added to the JDBC API. An

application may also customize the map-ping of SQL99 structured types into

Java programming language classes.

Row sets:

As its name implies, a row set encapsulates a set of rows. A row set

may or may not maintain an open database connection. When a row set is

‘disconnected’ from its data source, updates performed on the row set are

propagated to the underlying database using an optimistic concurrency

control algorithm. Row sets add support to the JDBC API for the JavaBeans

component model. A row set object is a bean. A row set implementation


may be serializable. Row sets can be created at design time and used in

conjunction with other JavaBeans components in a visual builder tool to

construct an application.

Creating a result set:

The example below illustrates creation of a result set that is forward-

only and uses read-only concurrency. No performance hints are given by the

example, so the driver is free to do whatever it thinks will result in the best

performance. The transaction isolation level for the connection is not

specified, so the default transaction isolation level of the underlying database

is used for the result set that is created. Note that this code is just written

using the JDBC 1.0 API, and that it produces the same type of result set that

would have been produced by the JDBC 1.0 API.

Connection con =

DriverManager.getConnection("jdbc:my_subprotocol:my_subname");

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery("SELECT emp_no, salary from employees")


INTRODUCTION TO J2EE

Today, more and more developers want to write distributed

transactional applications for the enterprise and leverage the speed, security,

and reliability of server-side technology. If you are already working in this

area, you know that in today's fast-moving and demanding world of

ecommerce and information technology, enterprise applications have to be

designed, built, and produced for less money, faster, and with fewer

resources than ever before.

To reduce costs and fast-track enterprise application design and


TM
development, the Java 2 Platform, Enterprise Edition (J2EETM)

technology provides a component-based approach to the design,

development, assembly, and deployment of enterprise applications. The

J2EE platform gives you a multitiered distributed application model, the

ability to reuse components, a unified security model, and flexible

transaction control. Not only can you deliver innovative customer solutions

to market faster than ever, but your platform-independent J2EE


component-based solutions are not tied to the products and APIs of any

one vendor.

This tutorial takes an examples-based approach to describing the

features and functionalities available in J2EE SDK version 1.4. Whether

you are a new or an experienced enterprise developer, you should find the

examples and accompanying text a valuable and accessible knowledge

base for creating your own enterprise solutions.

If you are new to J2EE applications development, this chapter is

a good place to start. Here you will learn the J2EE architecture, become

acquainted with important terms and concepts, and find out how to

approach J2EE applications programming, assembly, and deployment.

Distributed Multitiered Applications:

The J2EE platform uses a multitiered distributed application

model. This means that application logic is divided into components

according to function, and the various application components that make

up a J2EE application are installed on different machines depending on

which tier in the multitiered J2EE environment the application component


belongs. Figure 1 shows two multitiered J2EE applications divided into the

tiers described in the bullet list below. The J2EE application parts shown in

Figure 1 are presented in J2EE Application Components.

 Client tier components run on the client machine

 Web tier components run on the J2EE server

 Business tier components run on the J2EE server

 Enterprise information system (EIS) tier software runs on the

EIS server

While a J2EE application can consist of the three or four tiers

shown in blow Figure J2EE multitiered applications are generally

considered to be three-tiered applications because they are distributed over

three different locations: client machines, J2EE server machine, and the

database or legacy machines at the back-end. Three-tiered applications that

run in this way extend the standard two-tiered client and server model by

placing a multithreaded application server between the client application

and back-end storage.


Multitiered Applications

J2EE Application Components:

J2EE applications are made up of components. A J2EE

component is a self-contained functional software unit that is assembled

into a J2EE application with its related classes and files and communicates

with each other components. The J2EE specification defines the following

J2EE components:

 Application clients and applets are client components.


 Java Servlet and JavaServer PagesTM (JSPTM) technology

components are web components.

 Enterprise JavaBeansTM (EJBTM) components (enterprise beans)

are business components.

J2EE components are written in the Java programming language and

compiled in the same way as any Java programming language program.

The difference when you work with the J2EE platform, is J2EE

components are assembled into a J2EE application, verified that they are

well-formed and in compliance with the J2EE specification, and deployed

to production where they are run and managed by the J2EE server.

Overview of the system

The VPN has the ability of providing connection between the

user(client) & the server of the organization not within the workplace itself

but even from home too with the data being transferred & received in a

highly secured way


VPN ARCHITECTURE:
The diagram below illustrates a VPN remote access solution. A
remote node (client) wanting to log into the company VPN calls into the
local server connected to the public network. The VPN client establishes the
connection to the VPN server maintained at the company site. Once the
connection has been established , the remote client can communicate with
the company network just as securely over the public network as if it
resided on the internal LAN itself.

A simple extension of the VPN remote access architecture shown


above allows an entire remote network (rather than a single remote client) to
join the local network. Rather than a client-server connection a server-server
VPN connection joins two networks to form an extended Intranet or
extranet.
VPN PROTOCOLS:

The implementation of VPN involves the use of three major protocols

which aid in fulfilling all the KeyAspects necessary for VPN discussed

previously.

Point-to-Point Tunneling Protocol (PPTP):

PPTP is a protocol specification developed by several companies.

People generally associate PPTP with Microsoft because nearly all flavors of

Windows include built-in support for the protocol. The initial releases of

PPTP for Windows by Microsoft contained security features that some

experts claimed were too weak for serious use. Microsoft continues to

improve its PPTP support, though.

PPTP's primary strength is its ability to support non-IP protocols. The

primary drawback of PPTP is its failure to choose a single standard for

encryption and authentication. Two products that both fully comply with the

PPTP specification may be totally incompatible with each other if they


encrypt data differently, for example.

Layer Two Tunneling Protocol (L2TP):

The original competitor to PPTP in VPN solutions was L2F -- a

protocol implemented primarily in Cisco products. In an attempt to improve

on L2F, the best features of it and PPTP were combined to create new

standard called L2TP. L2TP exists at the data link layer (layer two) in the

OSI model thus the origin of its name.

Like PPTP, L2TP supports non-IP clients. It also fails to define an

encryption standard. However, L2TP supports non-Internet based VPNs

including frame relay, ATM, and SONET.


SECURITY

Internet Protocol Security (IPsec)

IPsec is actually a collection of multiple related protocols. It can be

used as a complete VPN protocol solution, or it can used simply as the

encryption scheme within L2TP or PPTP. IPsec exists at the network layer

(layer three) in OSI unlike the SSL and TLS which exist only on the

application layer and thereby provides security over the entire

communication link.

IPsec extends standard IP for the purpose of supporting more secure

Internet-based services (including, but not limited to, VPNs). IPsec

specifically protects against "man in the middle attacks" by hiding IP

addresses that would otherwise appear on the wire.


The IPsec can work in either between two end systems namely the

Client and the Server or between two Routers . The former case is called the

“Transport Mode” and the latter the “Tunnel Mode”.

The Transport Mode enforces the IPsec policies for traffic between

systems and supports Windows 2000 security. This is the default mode for

IPsec.

The Tunnel Mode enforces IPsec policies for all Internet traffic and

supports legacy operating systems predominantly. This supports point-to-

point security and specifies tunnel end point at both the Routers.

In order to explain the scenario of the IPsec we shall consider the

communication between two computers, the Transport Mode, shown below.


There are two types of providing authentication SHA – Secured Hash
Algorithm and MD5- Message Digest 5. But as in our case we deal with
SHA.

NOTE: We will be able to show how to enable the IPsec in a Windows


2000 Server or Client having Microsoft Management Console (mmc) if we
are given that option.

Working Process of VPN:


A remote employee wants to connect into the corporate network and
access their company’s internal web.

Step 1. The remote user dials into their local ISP and logs into the ISP’s
network as usual.
Step 2. When connectivity to the corporate network is desired, the user
initiates a tunnel request to the destination Security server on the corporate
network. The Security server authenticates the user and creates the other end
of tunnel.

Step 3. The user then sends data through the tunnel which encrypted by the
VPN software before being sent over the ISP connection.
Step 4. The destination Security server receives the encrypted data and
decrypts. The Security server then forwards the decrypted data packets onto
the corporate network. Any information sent back to the Remote user is also
encrypted before being sent over the Internet.
The figure below illustrates that VPN software can be used from any
location through any existing ISP’s dial-in service.
Certificate Authority:

A certificate authority (CA) is a third-party organization that verifies

the information or identity of computers on a network, and issues digital

certificates of authenticity. Certificate authorities usually have some kind of

agreement with a financial institution which provides the information used

to confirm an individual's identity. Digital certificates are used in a network

security system to guarantee that the two parties exchanging information are

really who they claim to be.

Depending on how a network's security system is configured, the

certificate can include its owner's public key and name, the expiration date

of the certificate, or other information. There are many certificate authorities

on the Internet, though VeriSign is the best-known example.

A certification authority accepts requests for certificates and grants

them once it determines that the request is genuine. (There may also be the

small matter of a fee.) It plays the role of what is generally known as a

'trusted third party', certifying the identity of one party to another.

A certificate authority keeps a complete list of all certificates it has

ever issued and information on their status: valid, expired, or revoked.


Any user should be able to request the status of any certificate a CA

has issued. Any user should also be able to look up a certificate by user

name (or host name, for a server) from a certificate authority.

Any organization can issue certificates, and it is frequently

advantageous for organizations to issue their own certificates for their own

members of staff. In such an instance, the company itself is the CA. In order

for these certificates to be trusted by third parties, the company will itself

seek a certificate from another CA - who may in turn need to have a

certificate issued by another CA.

There are three main practical uses for digital certificates:

 to prove identity for purposes of electronic commerce

 to prove identity for purposes of access control

 to prove identity to prevent spoofing

Certificate Revocation List (CRL)


Digital Certificates occasionally need to be revoked before their specified

expiry date. There are many reasons, including:

 a woman marries and changes her surname


 a member of staff (with a company certified certificate) resigns

or is fired

 the owner's public key is compromised

If any of these happen, the certificate can no longer be trusted. A CRL

is the mechanism by which people can be certain that a certificate is still

valid. It is nothing more than a list of digital certificate serial numbers stored

in a special directory (probably an LDAP directory), although it could

contain additional information such as the reason for revocation. If the serial

number is in the list, the associated certificate has been revoked.

PKI
PKI stands for Public Key Infrastructure. It is the software used to manage

and control the large scale use of public key cryptography.

Public key cryptography uses a special mathematical relationship

between two numbers to provide a pair of encryption keys. One of these

keys is used to encrypt a message that can only be decrypted by the other

related key. One is kept secret by the owner while the other is made public.
Routers
Routers are devices that inter connect complex LAN’s and WAN’s

that operate at Layer 3 of OSI model. It employees logical addressing

technique for routing data.The routers can handle large networks. The

information to reach the remote networks is maintained on the routing table,

based on which the routing decisions are made. The routing table can be

built using.

Static Routing
This is done by entering the CLI command line interface)

manually creating the various routes available.

Dynamic Routing
IGRP are some dynamic routing protocols.

RIP - The route is decided by taking into account the

administrative distance that is given in metric or *** count.

IGRP – The route is decided by the environment conditions like

bandwidth, delay etc.

The VPN created would generally have the features such as

 Encryption

 Strong authentication
 Address translation for security

Router configuration:
This involves the analysis of all the client and servers so as to identify

the various IP addresses and then configure them into the router by means of

# functions. This serves the purpose of Data Accountability.

Figure shows a connection of two Routers showing the various IP

addresses of all the systems within the Network

Router connection in VPN


Let’s consider from the figure that we need to configure the Router. A

within the network. Here the configuration refers to the preparing of the

Routing table which is very essential in establishing Data Accountability.

SERVER PROCESS

The server is dedicated for the application and contains the entire list

of clients. It provides the clients the to access the modules only if they

receive certificates.

Certification for Client

The certificate for accessing the application is provided to the client by

examining the status of the clients with respect to management. The users

can access the modules in the following manner.

Administrator - Admin Module

Marketing Manager – Marketing Module


Faculty - Training Module

The clients receive the certificate ID if they are authorized. Else the request

will be rejected.

System design and development

Data base design


CERTIFICATE LOGIN

CLIENT LOGIN
ENQUIRY TABLE

CLIENT DETAILS

REGISTRATION
SALARY DETAILS
TRAINING

Data Flow diagram:

Level 0: The client tries to invoke a remote server.

Request Router searches for


the exact network
Client

Level 1: The request reaches the remote server through VPN

Sends the
Client Request Remote server is invoked
Router by the client and responds
to Client

Context Flow diagram:

Client Server The software VPN establishes a invoked


invokes Guides the client to connection

server the server

DFD Level 2:
Overall module:

ADMIN LOGIN

MARKETING LOGIN

SERVER

TRAINING LOGIN
User module

Client Server DB

Certificate

Login

Admin module
Admin login
Office
Staff
details
Admin main
Enquiry

Attendance
Registration

Course details

Salary details

Marketing module:

Marketing login

Marketing main

Client details
Add client

Add placement Placement details


Training module

TRAINING LOGIN PROJECTS


LIST

J2EE
TRAINING MODULE BATCH

CALL
COURSE CENTER
DETAIL
S/W
TESTING

NETWORKING

ER-Diagram:
System Testing

Software testing is a critical element of software quality

assurance and represents the review of specification, design and code

generation. Once the source code has been generated the program should be

executed before the customer gets it with the specific intent of finding and

removing all errors, tests must be conducted systematically and tests must be

signed using disciplined techniques.

Testing techniques provides systematic guidance for designing tests.

To uncover the errors in program in behavior function and performance. The

following steps have to be followed.

 Execute the internal logic of the software components.

 Execute the input and output domains of the program to uncover

errors.

During testing the system is used experimentally to ensure that the

software does not fail, i.e. it will run according to the speciation and in the

way the users expects. Preparation of the data plays a vital role in the system

testing. Different set of data are generated and the system under study is

tested using data. While testing using data errors are again uncovered and

corrected using different testing techniques.


Types of testing

The following are the different types of testing

 Unit Testing

 Integration Testing

 Validation Testing

 Output Testing

 User Acceptance Testing

Unit Testing

Unit testing focuses verification efforts on smallest unit of

design and the module. This is known as module testing. Each module is

tested separately. Different modules of the project such as remote desktop

connecting, spy mode activity, client system controls are tested separately.

Each module, like remote desktop connecting is to be tested as they were

connected with their required clients. Similarly the spy mode activity

module and client system controls modules should be tested. Each and

every function of every module is tested and is found to be working

satisfactorily as regard to the expected output from the module.


Integration Testing

Integration testing is for the design and construction of the

software architecture. Data can be lost across the interfaces; one module

may have an adverse effect on other. Thus integration testing is a

systematic testing for constructing tests to uncover errors within the

interface. Integration testing enables to decide whether the IP address has

been displayed and whether the desktop is connected. Again it checks for

the remote client for the proper continues signals. In this project all the

modules are combined and the program is tested as a whole.

Validation Testing

Validation testing is where requirements established as a part of

software requirements analysis is validated against the software that has

been constructed. The validation that has been identified such as project

team and bug administration has been tested. This test provides the final

assurance that the software meets all functional, behavioral and


performance requirements. The errors, which are uncovered during

integration testing, are corrected during this phase.

Output testing
No system could be useful it does not produce the required output in

the specific format. The outputs generated or displayed by the system under

consideration are tested along the users about the format required by them.

Output testing does not result in any correction the system.

User Acceptance Testing

User acceptance of the system is the key factor of success. The system

under consideration is tested for user acceptance by constantly; keeping in

touch with the prospective system users at time of developing and making

changes whatever required.

System implementation
The final and most important phase I the system life cycle is the

implementation of the new system. The term implementation has different

meanings ranging from connection of a basic application to a complete


replacement includes all the activities that take place to connect from old

system to new. The new system may be totally replacing an existing

manual or automated system or it may be major modification to an existing

system.

The method of implementation and time scale to be adopted are

found out initially. Next the system is properly tested and at the same time

the users are trained in the new produce. Proper implementation is

essential to provide a reliable system to meet organization requirements.

Successful implementation may not guarantee improvement in the

organization using the new system but it

will prevent improper installation. The implementation involves the

following formalities.

 Careful planning

 Investigation of the system

 Design the methods to achieve the changes

 Training the staff in the changed phase

 Evaluation of the change over method


SOURCE CODE

MAIN
<html>
<body bgcolor="pink">
<form method="post" action="secure.jsp">
<center>
<h3>VIRTUAL PRIVATE NETWORK </H3>
<BR>
<h2>Login Form</h2>

<br>
<table cellspacing="30">
<tr><td>Login</td><td><input type="text" name="user"></td></tr>
</td></tr>
<tr><td>Password</td><td><input type="password"
name="pass"></td></tr>
<tr><td><input type="submit" value="Submit"></td><td><input
type="reset" value="Reset"><tr>
</table>
</center>
</form>
</body>
</html>

CERTIFICATE
<%@page import="java.sql.*"%>

<%
String user=request.getParameter("user");
String pass=request.getParameter("pass");
String id;
System.out.println(pass);
Connection con=null;
PreparedStatement pr=null;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:central");
pr=con.prepareStatement("select cid from cert where pwd=? and name=?");
pr.setString(1,pass);
pr.setString(2,user);
ResultSet rs=pr.executeQuery();
if(rs.next())
{
String cid = rs.getString(1);
System.out.println(cid);
%>
<jsp:forward page="id.jsp?id=<>" />

<%
System.out.println(rs.getString(1));
}
con.close();
}
catch(Exception ae)
{
out.println("Exception in Login form" +ae);
}

%>
</body>
</html>
CID
<html>
<head> cer </head>
<body>
certificate
<% String id=request.getParameter("id");
System.out.println(id);

%>

<form method="get" action="login.html" >

<input type="text" value="<%= id %>" >


<input type="submit" value=" ok " >

</form>
</body>
</html>
LOGIN

<html>
<body bgcolor="Peachpuff">
<form method="post" action="reg.jsp">
<center>
<h3>CENTRALIZED MANAGEMENT SYSTEM </H3>
<BR>
<h2>Login Form</h2>

<br>
<table cellspacing="30">
<tr><td>Login</td><td><select name="login">
<option value="Administrator">Administrator</option>
<option value="Marketing">Marketing</option>
<option value="Faculty">Faculty</option>
</select></td></tr>
<tr><td>Password</td><td><input type="password"
name="pass"></td></tr>
<tr><td><input type="submit" value="Submit"></td><td><input
type="reset" value="Reset"><tr>
</table>
</center>
</body>
</html>
LOGIN.JSP
<%@page import="java.sql.*"%>

<%
String log=request.getParameter("login");
String pass=request.getParameter("pass");
Connection con=null;
PreparedStatement pr=null;

try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:central");
pr=con.prepareStatement("select username from login1 where
password=?");
pr.setString(1,pass);
ResultSet rs=pr.executeQuery();
rs.next();
System.out.println(rs.getString(1));
System.out.println(log);
String s1=rs.getString(1);
System.out.println("before");
if(s1.equals(log))
{
System.out.println("a");
%>
<jsp:forward page="Admin.html"/>
<%
}
else
{
System.out.println("b");
%>
<jsp:forward page="Marketing.html"/>
<%
}
con.close();
}

catch(Exception ae)
{
out.println("Exception in Login form" +ae);
}

%>
</body>
</html>

ADMIN
<html>
<body bgcolor="Peachpuff" link="blue" alink="black">
<input type=button
name=b1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font
size=5><b>Office</b></font>
<ul>
<font size=4>
<li><b><a href="Enquiry1.html">Enquiry form</a></b><br></li>
<br>
<li><b><a href="Registration1.html">Registration form</a></b><br></li>
<br>
<li><b><a href="Course1.html">Course and fees details</a></b><br></li>
<br>
<li><b><a href="Salary.html">Salary details</a></b><br></li>
</font>
</ul>
<br>
<input type=button
name=b2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font
size=5><b>Staff</b></font>
<ul>
<font size=4>
<li><b><a href="staffattendance.html">Attendance</a></b><br></li>
<br>

</font>
</ul>
</body>
</html>
REGISTRATION
<%@page import="java.sql.*"%>
<%
String log=request.getParameter("login");
String pass=request.getParameter("pass");
Connection con=null;
PreparedStatement pr=null;

</body>
</html>

REGISTRATION 1
<%@page import="java.sql.*"%>
<html>
<body bgcolor="Peachpuff">
<CENTER><B><h3> J2EE BATCH I STUDENT LIST </H3>
<H4>TIME 10.AM TO 12.PM </H4></B></CENTER>
<CENTER>
<table BORDER="1" cellpadding="10">

<tr><td>RegNo</td><td>Name</td><td>Course</td><tr>
<%
try
{
Connection con=null;
Statement stat=null;
ResultSet rs=null;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:central");
stat=con.createStatement();
rs=stat.executeQuery("select regno,name,coursename from registration
where coursename='J2EE' and batchtimings='10am to 12pm'");
while(rs.next())
{
%>
<tr><td><%=rs.getString(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td></tr>
<%
}
}
catch(Exception e)
{
out.println("error");
}
%>
</table>
</body>
</html>

ADDPALCEMENT.JAVA
package centre;

import java.util.*;
import java.sql.*;
import java.lang.*;
public class addplacement
{
public Connection con=null;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
public void insert()
{
try
{
Query="insert into PlacementDetails values(' "+name+" ',' "+placement+" ','
"+company+" ',' "+person+" ',' "+dop+" ')";
st=con.createStatement();
st.executeQuery(Query);
}catch(Exception e){}
}
}
Screenshots

OUTPUT
CLIENT LOGIN
ADMIN PAGE
ENQUIRY
REGISTRATION
COURSE DETAILS
SALARY
MARKETING
ADD CLIENT
PLACEMENT
J2EE TRAINING
PROJECTS
CONCLUSION

The “Virtual Private Network (VPN)” has emerged as one of the


leading technologies at present and has attracted the attention of many
organizations looking to both expand their networking capabilities and
reduce their costs.
This paper deals with the upcoming technology, VPN - Virtual Private
Network which has proved itself to be lot reliable in transferring data
between remote places via a secured network thus paving way for

Data Security

The VPN has the ability of providing connection between the user
(client) & the server of the organization not within the workplace itself but
from home too with the data being transferred & received in a highly
secured way.

Digital certificates are used in a network security system to


guarantee that the two parties exchanging information are really who they
claim to be. A certificate authority keeps a complete list of all certificates it
has ever issued and information on their status: valid, expired, or revoked.
REFERENCES

 JAVA2 The Complete Reference - Herbert Schildt


 An Introduction to HTML - J.Arnold
 Java Server Programing - Subraman Allamaraj
And Cedric Buest
 Mastering JavaScript - James Jaworski
 HTML 3.2 UNLEASED - John December
And Mark Ginsburg
 JAVA handbook - TATA InfoTech
 Software Engineering - Richard Farley
 System analysis and design - Elias. M.Award
 Database System - Abraham
Silberschartz,
Henry F.Korth and
S.Sudarshan

Websites

 www.internetwk.com
 www.bitpipe.com
 www.howstuffworks.com
 www.securitydogs.com
 www.acronymfinder.com

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy