Top Banner
CHAPTER -1 INTRODUCTION: In the recent era of globalization, technological advancement has increased dramatically in every sector including mainstream educational organisations. One of the advanced technologies web-based application is the largely used application all over the world which is very popular technology for it’s nature of global acces. To make global exposure of an organization it is highly necessary to have website which is fully furnished with all information which is required for every type user.Generally in a website it contains the complete information of the institution along with the better facility to communicate with the governing bodies.Information includes the types of courses ofeered ibn the institution. Besides this the students those who are interested to take admission to this college can get the information about the last year cut-off rank in the o-jee counseling branch wise. The students of our college can get updated news about the schedule of internal as well as semester exams. Apart from this the students can down load the previous year questions from our college web-site along with this challan forms for deposition of different types of college fees.
86
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduction 2012 Documentation

CHAPTER -1

INTRODUCTION:

In the recent era of globalization, technological advancement has increased

dramatically in every sector including mainstream educational organisations. One of the

advanced technologies web-based application is the largely used application all over the

world which is very popular technology for it’s nature of global acces.

To make global exposure of an organization it is highly necessary to have

website which is fully furnished with all information which is required for every type

user.Generally in a website it contains the complete information of the institution along

with the better facility to communicate with the governing bodies.Information includes the

types of courses ofeered ibn the institution.

Besides this the students those who are interested to take admission to this college can get the information about the last year cut-off rank in the o-jee counseling branch wise.

The students of our college can get updated news about the schedule of internal as well as

semester exams. Apart from this the students can down load the previous year questions from our

college web-site along with this challan forms for deposition of different types of college fees.

Many features in the front page have been changed from the previous web-site. The popup

menu looks very attractive. There is a space provided for the current events which shows the recent

events, along with this there is notice board where the news is flashed regularly.

Thus in this project there are several features added which are required must for an

organization. Overall the project is complete up gradation of college web-site which have efficient

database connectivity having dynamic retrieving facility.

1

Page 2: Introduction 2012 Documentation

CHAPTER- 2

SYSTEM ANALYSIS

2.1.PURPOSE OF THE SYSTEM

This system provides the solutions of the limitations of existing system and enhance

the performance .It also gives the better handling facicity to the Administrator by providing

the authorized user for different. Department, as a reswult of which every department

people will submit t the required notification and these notices will be approved by the

Administrator and will be finally published in the desired place.

Existing system is a completely static one ,but in the current

sytem we are makig it dynamic in every aspect

2.2Existing System:

The existing system doesn’t provide the use friendly features of the home page.

Many features of the the home page require the dynamicness but which is lacked in

the existing system.

Existing system does not provide the the current event to be occurred.

It also does not provide the current news or notice.

It does not provide the down load facility for the students which is very necessary

for a student.

2

Page 3: Introduction 2012 Documentation

2.3 PROPOSED SYSTEM:

Basically in this project we have focused on the dynamicity of the web site as a result of

which the looks of the every page will be attractive

It provides the best services in comparison to the older one...

The students of our college can get updated news about the schedule of internal as well as

semester exams. .

Apart from this the students can down load the previous year questions from our college

web-site along with this challan forms for deposition of different types of college fees.

Besides this the students those who are interested to take admission to this college can get the information about the last year cut-off rank in the o-jee counseling branch wise.

Many features in the front page have been changed from the previous web-site. The popup menu looks very attractive.

There is a space provided for the current events which shows the recent events, along with this there is notice board where the news is flashed regularly.

3

CHAPTRE-3

Page 4: Introduction 2012 Documentation

FEASIBILITY STUDY

FEASIBILITY is the measure of how beneficial or practical the development of an

Information System will be to the client. Feasibility study is an important phase in the

software development process. It enables the developer to have an assessment of the

product being developed. It refers to the feasibility study of the product in terms of

outcomes of the product, operational use and technical support required for implementing

it.

Feasibility study should be performed on the basis of various criteria and parameters. The

various feasibility studies are:

There are four types of feasibility:

OPERATIONAL FEASIBILITY

TECHNICAL FEASIBILITY

ECONOMICAL FEASIBILITY

Economic Feasibility:

It is a measure of the cost effectiveness of a project or a solution. It refers to the

benefits or out comes. If the benefits are more or less the same as the older system, then it

is not feasible to develop the product. This product is highly efficient and user friendly as it

is developed (WINDOWS), the Front End (HTML, JSCRIPT), the Back end (SQLServer).

It consists of two tests:

Is the anticipated value of the benefits greater than projected cost development?

4

Page 5: Introduction 2012 Documentation

Does the organization have adequate cash flow to fund the project during the development

period?

A new system must increase income, either through cost savings or by increased revenues

and this is determined by cost-benefit analysis.

OPERATIONAL COST: These are the costs that will be incurred after the system is put

into production. Helpful in estimating the anticipated financial benefits. Financial benefits

are the expected annual savings or increase in net connection and browsers which will cost

approximately Rs.200/-.

DEVELOPMENT COST: It includes Salaries and wages, equipment and installation,

software and licenses, consulting fees and payments to third party, training facilities,

utilities and tools, supportive staff, travel and miscellaneous. For developing the website

the labour cost will be around Rs.200/day.

MAINTAINENCE: To renew the registration of DNS (Domain Naming System) to

upload the website on the net. Maintaining the website after uploading would estimate

around Rs.300/-.

Operational Feasibility:

It is a measure of how well the solution will work in the organization. It is a measure of

how people feel about the system. It measures the urgency of the problem or acceptability

of a solution. It refers to the feasibility of the product to be operational. Some products may

work very well at design and implementation but may fail in the real time environment. It

includes the study of additional human resource required and their technical expertise.

The product is operationally viable as it is designed specifically for the application

developers. Our product is highly operationally feasible because of its user friendliness,

graphical user interface and it is developed in such a way, it makes even the novices feel

comfortable in using it.

There are two aspects of operational feasibility to be considered:

Is the problem worth solving

How does the management feel about the problem?

5

Page 6: Introduction 2012 Documentation

As the website provides the information which are self explanatory, the user finds that the

site will be operationally feasible. The problem statement and the solution steps are

designed in a very easy way by following user oriented interfaces.

Technical Feasibility:

Evaluating the technical feasibility is the trickiest part of a feasibility study. This is

because, at this point in time, not too many detailed design of the system, making it

difficult to access issues like performance, costs on (on account of the kind of technology

to be deployed) etc. A number of issues have to be considered while doing a technical

analysis.

Understand the different technologies involved in the proposed system before commencing

the project we have to be very clear about what are the technologies that are to be required

for the development of the new system. Find out whether the organization currently

possesses the required technologies. Is the required technology available with the

organization?.

It refers to whether the software that is available in the market fully supports the present

application. It studies the pros and cons of using particular software for the development

and its feasibility. A new system brings a new technology into a company.

6

Page 7: Introduction 2012 Documentation

HARDWARE REQUIREMENTS:

512 MB RAM

100 mbps of Bandwidth

P4 processor

SOFTWARE REQUIREMENT

Tomcat

Jdk 1.6

Ms office

Tomcat :

It is aweb Server which plays important role for Dynamic Web-page.

Jdk 1.6:

It is a java standard development toolkit for all java application.

Ms office:

It provide Ms Access for creation of Data base.

7

Page 8: Introduction 2012 Documentation

CHAPTER-4

SYSTEM REQUIREMENT SPECIFICATION

Software Requirements Specification (SRS) is a complete description of the

behavior of the system to be developed. It includes a set of use cases that describe all of the

interactions that the users will have with the software. Data flow diagrams are also known

as functional requirements. In addition to these, the SRS also contains nonfunctional (or

supplementary) requirements. Non-functional requirements are requirements which impose

constraints on the design or implementation (such as performance engineering

requirements, quality standards, or design constraints).

An SRS is basically an organization's understanding (in writing) of a

customer or potential client's system requirements and dependencies at a particular point in

time (usually) prior to any actual design or development work. It's a two-way insurance

policy that assures that both the client and the organization understand the other's

requirements from that perspective at a given point in time.

The SRS document itself states in precise and explicit language those functions and

capabilities a software system must provide, as well as states any required constraints by

which the system must abide. The SRS also functions as a blueprint for completing a

project with as little cost growth as possible. The SRS is often referred to as the "parent"

document because all subsequent project management documents, such as design

specifications, statements of work, software architecture specifications, testing and

validation plans, and documentation plans, are related to it.

It's important to note that an SRS contains functional and nonfunctional requirements only;

it doesn't offer design suggestions, possible solutions to technology or business issues, or

any other information other than what the development team understands the customer's

system requirements to be.

A well-designed, well-written SRS accomplishes four major goals:

8

Page 9: Introduction 2012 Documentation

It provides feedback to the customer. An SRS is the customer's assurance that the

development organization understands the issues or problems to be solved and the

software behavior necessary to address those problems. Therefore, the SRS should

be written in natural language, in an unambiguous manner that may also include

charts, tables, data flow diagrams, decision tables, and so on.

It decomposes the problem into component parts. The simple act of writing down

software requirements in a well-designed format organizes information, places

borders around the problem, solidifies ideas, and helps break down the problem into

its component parts in an orderly fashion.

It serves as an input to the design specification. As mentioned previously, the SRS

serves as the parent document to subsequent documents, such as the software design

specification and statement of work. Therefore, the SRS must contain sufficient

detail in the functional system requirements so that a design solution can be devised.

It serves as a product validation check. The SRS also serves as the parent document

for testing and validation strategies that will be applied to the requirements for

verification.

SRS’s are typically developed during the first stages of "Requirements

Development," which is the initial product development phase in which information is

gathered about what requirements are needed--and not. This information-gathering stage

can include onsite visits, questionnaires, surveys, interviews, and perhaps a return-on-

investment (ROI) analysis or needs analysis of the customer or client's current business

environment.

The actual specification, then, is written after the requirements have been

gathered and analyzed. The first step in developing anything is to state the requirements.

This applies just as much to leading edge research as to simple

9

Page 10: Introduction 2012 Documentation

programs and to personal programs, as well as to large team efforts. Being

vague about your objective only postpones decisions to a later stage where changes are

much more costly.

The problem statement should state what is to be done and not how it is to be done. It

should be a statement of needs, not a proposal for a solution. A user manual for the desired

system is a good problem statement. The requestor should indicate which features are

mandatory and which are optional, to avoid overly constraining design decisions.

The requestor should avoid describing system internals, as this restricts implementation

flexibility. Performance specifications and protocols for interaction with external systems

are legitimate requirements. Software engineering standards, such as modular construction,

design for testability, and provision for future extensions, are also proper.

Many problems statements, from individuals, companies, and government agencies,

mixture requirements with design decisions. There may sometimes be a compelling reason

to require a particular computer or language; there is rarely justification to specify the use

of a particular algorithm. The analyst must separate the true requirements from design and

implementation decisions disguised as requirements.

The analyst should challenge such pseudo requirements, as they restrict flexibility. There

may be politics or organizational reasons for the pseudo requirements, but at least the

analyst should recognize that these externally imposed design decisions are not essential

features of the problem domain.

A problem statement may have more or less detail. A requirement for a conventional

product, such as a payroll program or a billing system, may have considerable detail.

10

Page 11: Introduction 2012 Documentation

A requirement for a research effort in a new area may lack many details, but presumably

the research has some objective, which should be clearly stated. Most problem statements

are ambiguous, incomplete, or even inconsistent. Some requirements are just plain wrong.

Some requirements, although precisely stated, have unpleasant consequences on the system

behavior or impose unreasonable implementation costs. Some requirements seem

reasonable at first but do not work out as well as the request or thought. The problem

statement is just a starting point for understanding the problem, not an immutable

document.

The purpose of the subsequent analysis is to fully understand the problem and its

implications. There is no reasons to expect that a problem statement prepared without a

fully analysis will be correct.

The analyst must work with the requestor to refine the requirements so they

represent the requestor’s true intent. This involves challenging the requirements and

probing for missing information.

The psychological, organizational, and political considerations of doing this

are beyond the scope of this book, except for the following piece of advice: If you do

exactly what the customer asked for, but the result does not meet the customer’s real needs,

you will probably be blamed anyway.

11

Page 12: Introduction 2012 Documentation

CHAPTER- 5

SYSTEM DESIGN

Several popular software engineering approaches are based on the notion of data flow. The

structured analysis/structured design (SA/SD) methodology is representative of the data

flow approach. SA/SD begins with a single process or function that represents the overall

purpose of the desired software. SA/SD recursively divides complex processes, until one is

left with many small functions that are easy to implement.

Analysis is concerned with understanding and modeling the application and domain within

which it operates. The initial input to the analysis phase is problem statement, which

describes the problem to be solved, and provides a conceptual view of the proposed

system. Subsequent dialog with the customer and real-world background knowledge are

additional inputs to analysis. The output from analysis is a formal model that captures the

three essential aspects of the system: the objects and their relationships, the dynamic flow

of control, and the functional transformation of data subject to constraints.

The following steps are performed in constructing the object model:

Identify objects processes.

Prepare data dictionary.

Identify associations between objects.

Identify attributes of objects and links.

Organize or simplify object.

Verify access paths.

Iterate and refine the model.

Group processes into modules.

During analysis, the focus is on what needs to be done, independent of how it

is done. During design, decisions are made about how the problem will be solved, first at

high level, then at increasingly detailed levels.

12

Page 13: Introduction 2012 Documentation

System design is the first design stage in which the basic approach to solving

the problem is selected. During system design, the overall structure and style are decided.

The system architecture is the overall organization of the system into components called

subsystems. The architecture provides the context in which more detailed decisions are

made in later design stages. By making high level decisions that apply to the entire system,

the system designer partitions the problem into subsystems so that further work can be

done by several designers working independently on different subsystems.

The system designer must make the following decisions:

Organize the system into subsystems.

Identify the concurrency inherent in the problem.

Allocate subsystems to processors and tasks.

Choose an approach for management of data stores.

Handle access to global resources.

Choose the implementation of control in software.

Handle boundary conditions.

Set trade-off priorities.

1. Breaking the System into Subsystems:

The first step in system design is to divide the system into small number of

components. Each major component of a system is called a sub system. Each subsystem

encompasses aspects of the system that share some common property – similar

functionality, the same physical location, or execution on the same kind of hardware. A

subsystem not an object nor a function but a package of classes, associations, operations,

events, and constraints that are interrelated and that have a reasonably well-defined and

small interface with other subsystems. A subsystem usually identified by the services it

provides. A service is a group of related functions that share some common purpose such

as I/O processing. A subsystem defines a coherent way of looking at one aspect of the

problem.

Each subsystem has a well-defined interface to the rest of the system.

13

Page 14: Introduction 2012 Documentation

GUI subsystem

Protocol Implementations

Input Output System

The interface specifies the form of all interactions and the information flow

across subsystem boundaries but does not specify how the sub system is implemented

internally. Each subsystem then can be designed independently without affecting the

others. The decomposition of systems into subsystems may be organized as a sequence of

horizontal layers or vertical partitions.

A layered system is an ordered set of virtual worlds, each built in terms of the

ones below it and providing the basis of implementation for the ones above it. The objects

in each layer can be independent, although there is often some correspondence between

objects in different layers. Knowledge is one-way only: a subsystem knows about the

layers below it, but has no knowledge of the above layers. Each layer may have its own set

of classes and operations. Each layer is implemented in terms of the classes and operations

of lower layers.

Layered architecture comes in two forms: closed and open. In a closed

architecture, each layer is built only in terms of the immediate lower layer. In an open

architecture, a layer can use features of any lower layer to any depth. We decomposed our

system into three subsystems as layers. The three layers are closed architecture form. The

three layers are GUI layer, Network protocol layer and I/O layer. The purpose of GUI layer

is to provide an efficient user interface to the user to interact with the system. It is built

upon network layer, which provides basic http web services. The lowest layer is the I/O

layer that provides services like reading or writing HTML documents to and from disk or

an URL.

When top-level subsystems are identified, the designer should show the

information flow among the sub systems.

14

Page 15: Introduction 2012 Documentation

There are several architectural frameworks that

are common in existing systems. They are batch transformation, continuous transformation,

interactive interface, dynamic simulation, real-time system and transaction manager.

In the architectural frameworks specified above, our system will best suit in

interactive interface architecture, since there are large number of interactions between

system and user.

An interactive interface is a system that is dominated by interactions between

the system and external agents, such as humans, devices or other programs. The external

agents are independent of system, so their inputs can’t be controlled, although the system

may solicit responses from them.

2. Identifying Concurrency:

One important goal of system design is to identify which objects must be

active concurrently and which objects have activity that is mutually exclusive. The latter

objects can be folded together in a single thread of control or task. But there is no part that

is concurrent in our system. In our project there is a little amount of concurrency such as

reading from an URL and loading in multiple instances of a browser. We will design these

aspects with multithreading features.

3. Allocating Subsystems to Processor:

In this step system designer estimates the hardware resources required and

the implementation choice of either hardware or software. In our system all the subsystems

will be implemented in software. The hardware requirements are general such as Pentium –

III, 128 MB of RAM, and clock speed 900 MHz

4. Management of Data Stores:

In this stage the system designer decides what format is used to store the data

stores. There are DBMS systems or file systems and others. Here in our project there are no

data stores except “aspx” documents. We then definitely prefer files to store and retrieve

“aspx” documents.

15

Page 16: Introduction 2012 Documentation

Choosing Software Control Implementation:

During the analysis, all interactions are shown as events between objects.

5. Choosing Software Control Implementation:

During the analysis, all interactions are shown as events between objects. But

the system designer must choose among several ways to implement control in software.

There are two kinds of control flows in a software system: internal and external. External

control is the flow of externally visible events among the objects in the system. There are

three kinds of control for external events: procedure driven, event driven sequential and

concurrent. Internal control is the flow of control within a process.

During the object design the designer carries out the strategy chosen during system design

and fleshes out the details. There is a shift in emphasis from application domain concepts

toward computer concepts. The objects discovered during the analysis serve as the skeleton

of the design, but the object designer must choose among different ways to implement

them with an eye toward minimizing execution time, memory, and other measures of cost.

In particular, the operations identified during the analysis must be expressed as algorithms,

with complex operations decomposed into simpler internal operations. The classes,

attributes and associations from analysis must be implemented as specific data structures.

New object classes must be introduced to store intermediate results during program

execution and to avoid the need for recomputation. Optimization of the design should not

carry to excess, as ease of implementation, maintainability, and extensibility are also

important concern.

The major steps in this stage are designing object classes and procedures for operations

discovered during analysis.

6. Functional Modeling:

The functional model shows how the values are computed, without regard for

sequencing, decisions, or object structure. The functional model shows, which values

depend on which other values, and the functions that relate them. Data flow diagrams are

useful for showing functional dependencies. Functions are expressed in various ways,

including natural language, mathematical equations, and pseudo code.

16

Page 17: Introduction 2012 Documentation

The following steps were performed in constructing the functional model:

Identify input and output values.

Build data flow diagrams showing functional dependencies.

Describe functions.

Identify constraints.

Specify organization criteria.

As mentioned in the previous section our system does not manipulate large

data flows. There is not much concentration on functional model. Only the object model is

highlighted in our system. Even though we showed basic data flow as a sample below.

Structured design is a data flow based methodology. The approach begins

with a system specification that identifies inputs and outputs and describes the functional

aspects of the system. The next step is the definition of the modules and their relationships

to one another in a form called a structure chart, using a data dictionary, DFD, and other

structured tools. Structured design partitions a program into small, independent modules.

They are arranged in a hierarchy that approximates a model of the business area and is

organized in a top – down manner.

7. Modules:

Well-structured designs improve the maintainability of a system. A structured

system is one that is developed from the top down and modular, that is, broken down into

manageable components. In this project we modularized the system so that they have

minimal effect on each other.

MM module: This module manages only the client particulars. In this module marketing

manager will do addition, deletion, updating of client information and views client details

and status.

PM Module: This module controls the work information and their scheduling and

assigning them to team leaders.

TL Module: This module contains the services to team leaders to view, schedule and

assign them to operators and QC. And also gives detailed reports of their performance and

status.

17

Page 18: Introduction 2012 Documentation

OP Module: This module handles operator service feature to browse their allotted jobs and

time logs of their work.

QCM Module: This module purpose is to view all the assigned jobs and their

updations like bugs, reverted times etc.

3.2 SOFTWARE ARCHITECTURE:

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

system – manual or automated – including the processes, stores of data, and delays in the

system. Data flow diagrams are the central tools 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. Systems design is the process or art of defining the

architecture, components, modules, interfaces, and data for a system to satisfy specified

requirements. One could see it as the application of systems theory to product

development.

Data flow diagram (DFD) is a picture of the movement of data between

external entities and the processes and data stores within a system. A graphical tool used to

analyze the moment of data through a system manual or automated including 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 known as dataflow graph or a

bubble chart. The data flow diagram is a modeling tool that allows us to picture a system as

a network of functional processes. The Data Flow Diagram (DFD) is a statement of user

requirements, which portrays the system in terms of its component pieces with all the

interfaces indicated. This diagram consists of terminators, data flows, control flows, data

stores and process bubbles.

Some of the guidelines for constructing a DFD are:

Choose meaningful names for the processes, flows, stores and terminators.

18

Page 19: Introduction 2012 Documentation

Each process bubble must have at least one input and one output.

All the data flows and control flows should be labeled.

DFD should be internally consistent and also consistent with any associated DFDs.

Input and output dataflow of a parent bubble (e.g. level 0 diagram) should be equivalent

to input and output dataflow of the child diagram (Higher level DFD).

Check the correctness. Apply conservation of data rule. All inputs to a process should

be used to produce the output and the inputs must be sufficient to produce the output.

There are two types of data flow diagrams

1. Physical DFD

The physical DFD is the model of the current system and is used to ensure that the current

system has been clearly understood. Physical DFD’s show actual devices, departments, etc

involved in the current system.

2. Logical DFD

Logical DFD’s 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 system’s architecture.

Dataflow:

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

Figure 4.1 Data Move

Process:

Process is nothing but people, procedures, or devices that use or produce data. The physical

component is not identified.

Figure 4.3 Process

Source:

External sources or destination of data may be people, programs, organizations or other

entities.

19

Page 20: Introduction 2012 Documentation

Figure 4.4 Source

Data Store:

Here data stored or referenced by a process in the system.

Figure 4.5 Data Store

Output

The output of any particular module is represented by the following symbol.

20

Admin_login

Student_Redg. Form User Interface

Data Store

ADMIN

STUDENT

LEVEL - 0

Admin details Dataflow

LEVEL - 1

Page 21: Introduction 2012 Documentation

ACCESS

SELECT ONE NAME

CLICK CLICK

20

21

Admin Login Form

Enter AdminUser & Password

Check admin

NOYES

Datastored

MANAGE DATABASE

FACULTY DATA STORED BY ADMIN

CHOOSE DEPTT. FACILITIESUSER

LEVEL-2

LIST OF FACULTIES

FACULTIES LAB

VIEW FACULTY PROFILE

RETRIEVING INRFORMATION BY A USER

Page 22: Introduction 2012 Documentation

CHAPTER- 6

CODING & IMPLEMENTATION

Technologies Used for Coding:

Java Technology :

Initially the language was called as “oak” but it was renamed as “Java” in 1995.It is

developed by James Gosling found some problems in C,C++ i.e. system dependent,not so

much secure,difficult etc. So he wants to devlop such a language which is simple,

platform independent, secure, robust, distributed, portable, multithreaded, scalable

and dynamic (these are advantages over C and C++). The most important in Java is its

Byte code and JVM:

Byte code of Java

JVM translate java program into byte code makes it much easier to run a program in

a wide variety of environments. Byte code is a highly optimized set of instructions

designed to be executed 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.The

reason is, once the run-time package exists for a given system, any Java program can run

on it. 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 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)

JVM is known as heart of java. This 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.

22

Page 23: Introduction 2012 Documentation

Java Source Java byte code JavaVM

Java .Class

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

verification makes sure that the code that’s has been generated by the compiler will not

corrupt the machine that it’s 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.

Overall Description:

Fig 6.1 Picture showing the development process of JAVA Program

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 javac. The Java compiler produces a file called a. class file, which contains the byte

code. The .Class file is then loaded across the network or loaded locally on your machine

into the execution environment is the Java virtual machine, which interprets and executes

the byte code.

HTML:

Hypertext Markup Language (HTML), the languages of the World Wide Web

(WWW), allows users to produces Web pages that include text, graphics and pointer to

other Web pages (Hyperlinks).HTML is often used markup language for developing web

pages. It is a tag based language. It provides suitable features by denoting certain text as

headings, paragraphs, lists, and so on ,and to supplement that text with interactive forms,

embedded images, and other objects. HTML is written in the form of labels (known as

tags), surrounded by angle brackets. HTML can also describe, to some degree, the

appearance and semantics of a document, and can include embedded scripting language

code which can affect the behavior of web browsers and other HTML processors.

HTML is not a programming language but it is an application of ISO Standard 8879,

SGML (Standard Generalized Markup Language), but specialized to hypertext and adapted

to the Web. 23

Page 24: Introduction 2012 Documentation

The idea behind Hypertext is that instead of reading text in rigid linear structure, we

can easily jump from one point to another point. We can navigate through the information

based on our interest and preference. A markup language is simply a series of elements,

each delimited with special characters that define how text or other items enclosed within

the elements should be displayed. Hyperlinks are underlined or emphasized works that load

to other documents or some portions of the same document.

It is a versatile language and can be used on any platform or desktop. It provides

tags (special codes) to make the document look attractive. HTML tags are not case-

sensitive. Using graphics, fonts, different sizes, color, etc., can enhance the presentation of

the document. Anything that is not a tag is part of the document itself. The various tags are

used in HTML are as follows

Basic HTML Tags:

<! -- -->................................................. specifies comments

<A>………. </A>.................................... Creates hypertext links

<B>………. </B>.................................... Formats text as bold

<BIG>……….</BIG> ..................... Formats text in large font.

<BODY>…</BODY> ..................... All tags and text in the HTML document

<CENTER>...</CENTER> ..................... Creates text

<DD>…</DD>........................................ Definition of a term

<DL>...</DL>.......................................... Creates definition list

<FONT>…</FONT> .................... Formats text with a particular font

<FORM>...</FORM>.............................. Encloses a fill-out form

<FRAME>...</FRAME> .................... Defines a particular frame in a set of

frames

<H#>…</H#>.......................................... Creates headings of different levels(1 – 6 )

<HEAD>...</HEAD> ........................... Information about a document

<HR>...</HR>.......................................... Creates a horizontal rule

<HTML>…</HTML> ..................... Contains all other HTML tags

<META>...</META>.............................. Meta-information about a document

24

Page 25: Introduction 2012 Documentation

<SCRIPT>…</SCRIPT> ..................... Contains client-side or server-side script

<TABLE>…</TABLE> ..................... Creates a table

<TD>…</TD>......................................... Indicates table data in a table

<TR>…</TR>.......................................... Designates a table row

<TH>…</TH>......................................... Creates a heading in a table

Attributes:

The attributes of an element are name-value pairs, separated by "=", and written

within the start label of an element, after the element's name. The value should be enclosed

in single or double quotes, although values consisting of certain characters can be left

unquoted in HTML (but not XHTML).Leaving attribute values unquoted is considered

unsafe. Most elements take any of several common attributes: id, class, style and title. Most

also take language-related attributes: Lang and Dir. The id attribute provides a document-

wide unique identifier for an element. This can be used by style sheets to provide

presentational properties, by browsers to focus attention on the specific element or by

scripts to alter the contents or presentation of an element. The class attribute provides a

way of classifying similar elements for presentation purposes. For example, an HTML

document (or a set of documents) may use the designation class="notation" to indicate that

all elements with this class value are all subordinate to the main text of the document (or

documents). Such notation classes of elements might be gathered together and presented as

footnotes on a page, rather than appearing in the place where they appear in the source

HTML.

Advantages of HTML:

A HTML document is small and hence easy to send over the net. It is small because

it does not include formatted information.

HTML is platform independent.HTML tags are not case-sensitive.

25

Page 26: Introduction 2012 Documentation

SPRING FRAMEWORK:

The Spring Framework is an open source application framework and Inversion of Control container for the Java platform. The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform. A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments. Spring includes:

Flexible dependency injection with XML and annotation-based configuration styles. Advanced support for aspect-oriented programming with proxy-based and AspectJ-

based variants . Support for declarative transactions, declarative caching, declarative validation, and

declarative formatting . Powerful abstractions for working with common Java EE specifications such as

JDBC, JPA, JTA and JMS . First-class support for common open source frameworks such as Hibernate and

Quartz . A flexible web framework for building RESTful MVC applications and service

endpoints . Rich testing facilities for unit tests as well as for integration tests .

Spring is modular in design, allowing for incremental adoption of individual parts such as the core container or the JDBC support. While all Spring services are a perfect fit for the Spring core container, many services can also be used in a programmatic fashion outside of the container.

Supported deployment platforms range from standalone applications to Tomcat and Java EE servers such as WebSphere. Spring is also a first-class citizen on major cloud platforms with Java support, e.g. on Heroku, Google App Engine, Amazon Elastic Beanstalk and VMware's Cloud Foundry. The Spring Framework comprises several modules that provide a range of services:

Inversion of Control container : The configuration of application components and lifecycle management of Java objects done mainly via Dependency Injection.

Aspect-oriented programming : It enables implementation of cross-cutting routines.

Data access : It working with relational database management systems on the Java platform using JDBC and object-relational mapping tools and with NoSQL databases.

Transaction management : It unifies several transaction management APIs and coordinates transactions for Java objects.

26

Page 27: Introduction 2012 Documentation

Model-view-controller : An HTTP- and servlet-based framework providing hooks for extension and customization for web applications and RESTful web services.

Remote Access framework : configurative RPC-style export and import of Java objects over networks supporting RMI, CORBA and HTTP-based protocols including web services (SOAP).

Convention-over-configuration : A rapid application development solution for Spring-based enterprise applications is offered in the Spring Roo module.

Batch processing : A framework for high-volume processing featuring reusable functions including logging/tracing, transaction management, job processing statistics, job restart, skip, and resource management.

Authentication and authorization: The configurable security processes that support a range of standards, protocols, tools and practices via the Spring Security sub-project (formerly Acegi Security System for Spring).

Remote Management : The configurative exposure and management of Java objects for local or remote configuration via JMX.

Messaging : The configurative registration of message listener objects for transparent message-consumption from message queues via JMS, improvement of message sending over standard JMS APIs.

Testing : It support classes for writing unit tests and integration tests.

The Spring Framework serves as the foundation for the wider family of Spring open source projects, including:

Spring Security Spring Integration Spring Batch Spring Data Spring Web Flow Spring Web Services

SPRING SECURITY: Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications.Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications.Spring Security is one of the most mature and widely used Spring projects. Founded in 2003 and actively maintained by SpringSource since, today it is used to secure numerous demanding environments including government agencies, military applications and central banks. It is released under an Apache 2.0 license so you can confidently use it in your projects.

Spring Security is also easy to learn, deploy and manage. Our dedicated security namespace provides directives for most common operations, allowing complete application security in just a few lines of XML.

27

Page 28: Introduction 2012 Documentation

We also offer complete tooling integration in SpringSource Tool Suite, plus our Spring Roo rapid application development framework. The Spring Community Forum and SpringSource offer a variety of free and paid support services. Spring Security is also integrated with many other Spring technologies, including Spring Web Flow, Spring Web Services, SpringSource Enterprise, SpringSource Application Management Suite and SpringSource tc Server.

SPRING WEBFLOW: Spring Web Flow is a Spring MVC extension that allows implementing the "flows" of a web application. A flow encapsulates a sequence of steps that guide a user through the execution of some business task. It spans multiple HTTP requests, has state, deals with transactional data, is reusable, and may be dynamic and long-running in nature.

Spring Web Flow provides a declarative flow definition language for authoring flows on a higher level of abstraction. It allows it to be integrated into a wide range of applications without any changes (to the flow programming model) including Spring MVC, JSF, and even Portlet web applications. The following are common issues observed in stateful web applications with navigation requirements:

1. Visualizing the flow is very difficult. 2. The application has a lot of code accessing the HTTP session. 3. Enforcing controlled navigation is important but not possible. 4. Proper browser back button support seems unattainable. 5. Browser and server get out of sync with "Back" button use. 6. Multiple browser tabs causes concurrency issues with HTTP session data.

SPRING WEB SERVICES: Spring Web Services is a product of the Spring community focused on creating document-driven Web services. Spring Web Services aims to facilitate contract-first SOAP service development, allowing for the creation of flexible web services using one of the many ways to manipulate XML payloads.Spring Web Services is a product of the Spring community focused on creating document-driven Web services. Spring Web Services aims to facilitate contract-first SOAP service development, allowing for the creation of flexible web services using one of the many ways to manipulate XML payloads.

Key Features:

Makes the Best Practice an Easy Practice: Spring Web Services makes enforcing best practices easier. This includes practices such as the WS-I basic profile, Contract-First development, and having a loose coupling between contract and implementation.

Powerful mappings: You can distribute incoming XML request to any object, depending on message payload, SOAP Action header, or an XPath expression.

28

Page 29: Introduction 2012 Documentation

XML API support: Incoming XML messages can be handled in standard JAXP APIs such as DOM, SAX, and StAX, but also JDOM, dom4j, XOM, or even marshalling technologies.

Flexible XML Marshalling: The Object/XML Mapping module in the Spring Web Services distribution supports JAXB 1 and 2, Castor, XMLBeans, JiBX, and XStream. And because it is a separate module, you can use it in non-Web services code as well.

Reuses your Spring expertise: Spring-WS uses Spring application contexts for all configuration, which should help Spring developers get up-to-speed nice and quickly. Also, the architecture of Spring-WS resembles that of Spring-MVC.

Supports WS-Security: WS-Security allows you to sign SOAP messages, encrypt and decrypt them, or authenticate against them.

Integrates with Acegi Security: The WS-Security implementation of Spring Web Services provides integration with Spring Security. This means you can use your existing configuration for your SOAP service as well.

Built by Maven: This assists you in effectively reusing the Spring Web Services artifacts in your own Maven-based projects.

Apache license. You can confidently use Spring-WS in your project.

SPRING MVC FRAMEWORK: Spring MVC helps in building flexible and loosely coupled web applications. The Model-view-controller design pattern helps in seperating the business logic, presentation logic and navigation logic. Models are responsible for encapsulating the application data. The Views render response to the user with the help of the model object . Controllers are responsible for receiving the request from the user and calling the back-end services.

The figure below shows the flow of request in the Spring MVC Framework.

29

Page 30: Introduction 2012 Documentation

When a request is sent to the Spring MVC Framework the following sequence of events happen.

The DispatcherServlet first receives the request. The DispatcherServlet consults the HandlerMapping and invokes the Controller

associated with the request. The Controller process the request by calling the appropriate service methods and

returns a ModeAndView object to the DispatcherServlet. The ModeAndView object contains the model data and the view name.

The DispatcherServlet sends the view name to a ViewResolver to find the actual View to invoke.

Now the DispatcherServlet will pass the model object to the View to render the result.

The View with the help of the model data will render the result back to the user.

JDBC(Java Database Connectivity)

JDBC is a Java API for executing SQL statements. (As a point of interest, JDBC is a trademarked name and is not an acronym; nevertheless, JDBC is often thought of as standing for Java Database Connectivity.

It consists of a set of classes and interfaces written in the Java programming language. JDBC provides a standard API for tool/database developers and makes it possible to write database applications using a pure Java API.JDBC establish a connection with a database, Send SQL statements and Process the results.

Types of JDBC Driver

The JDBC drivers that we are aware of at this time fit into one of four categories: JDBC-ODBC bridge plus ODBC driver Native-API partly-Java driver JDBC-Net pure Java driver Native-protocol pure Java driver

JDBC-ODBC Bridge:

If possible, use a Pure Java JDBC driver instead of the Bridge and an ODBC driver. This completely eliminates the client configuration required by ODBC. It also eliminates the potential that the Java VM could be corrupted by an error in the native code brought in by the Bridge (that is, the Bridge native library, the ODBC driver manager library, the ODBC driver library, and the database client library).

30

Page 31: Introduction 2012 Documentation

What Is the JDBC- ODBC Bridge? :

The JDBC-ODBC Bridge is a JDBC driver, which implements JDBC operations by translating them into ODBC operations. To ODBC it appears as a normal application program. The Bridge implements JDBC for any database for which an ODBC driver is available. The Bridge is implemented as the Sun.jdbc.odbc Java package and contains a native library used to access ODBC. The Bridge is a joint development of Innersole and Java Soft.

JDBC connectivity:

The JDBC provides database-independent connectivity between the J2EE platform

and a wide range of tabular data sources.

JDBC technology allows an Application Component Provider to: Perform

connection and authentication to a database server, Manager transactions, Move SQL

statements to a database engine for preprocessing and Executestoredprocedures.

DATABASE:

A database management system (DBMS) is computer software designed for the

purpose of managing databases, a large set of structured data, and run operations on the

data requested by numerous users. Typical examples of DBMSs include Oracle, DB2,

Microsoft Access, Microsoft SQL Server, Firebird, PostgreSQL, MySQL, SQLite,

FileMaker and Sybase Adaptive Server Enterprise. DBMSs are typically used by Database

administrators in the creation of Database systems. Typical examples of DBMS use include

accounting, human resources and customer support systems.

Originally found only in large companies with the computer hardware needed to support

large data sets, DBMSs have more recently emerged as a fairly standard part of any

company back office.

31

Page 32: Introduction 2012 Documentation

DATABASE TOOL/MY SQL:

MySQL  is the world's most used relational database management system (RDBMS) that runs as a server providing multi-user access to a number of databases The SQL phrase stands for Structured Query Language.The MySQL development project has made its source code available under the terms of the GNU General Public License, as well as under a variety of proprietary agreements. MySQL was owned and sponsored by a single for-profit firm, the Swedish company MySQL AB, now owned by Oracle Corporation.

Free-software-open source projects that require a full-featured database management

system often use MySQL. Applications which use MySQL databases

include: TYPO3, Joomla, WordPress,phpBB, Drupal and other software built on

the LAMP software stack. MySQL is also used in many high-profile, large-scale World

Wide Web products.

Structured Query Language (SQL) is the language used to manipulate relational

databases. SQL is tied very closely with the relational model. In the relational model, data

is stored in structures called relations or tables. SQL statements are issued for the purpose

of:

Data definition: Defining tables and structures in the database (DDL used to create, alter

and drop schema objects such as tables and indexes).

Data Manipulation: Used to manipulate the data within those schema objects (DML

Inserting, Updating, Deleting the data, and Querying the Database).

A schema is a collection of database objects that can include: tables, views, indexes

and sequences.

FEATURES OF MYSQL:

As of April 2009, MySQL offered MySQL 5.1 in two different variants: the open source MySQL Community Server and the commercialEnterprise Server. MySQL 5.5 is offered under the same licences.[28] They have a common code base and include the following features:

A broad subset of ANSI SQL 99, as well as extensions Cross-platform support Stored procedures Triggers

32

Page 33: Introduction 2012 Documentation

Cursors Updatable Views Information schema Strict mode X/Open XA distributed transaction processing (DTP) support; two phase commit as

part of this, using Oracle's InnoDB engine. Independent storage engines (MyISAM for read speed, InnoDB for transactions

and referential integrity, MySQL Archive for storing historical data in little space) Transactions with the InnoDB, and Cluster storage engines; savepoints with InnoDB SSL support Query caching Sub-SELECTs (i.e. nested SELECTs) Replication support (i.e. Master-Master Replication & Master-Slave Replication) with

one master per slave, many slaves per master, no automatic support for multiple masters per slave.

Full-text indexing and searching using MyISAM engine Embedded database library Partial Unicode support (UTF-8 and UCS-2 encoded strings are limited to the BMP) ACID compliance when using transaction capable storage engines (InnoDB and

Cluster) Partititoned tables with pruning of partitions in optimiser Shared-nothing clustering through MySQL Cluster Hot backup (via mysqlhotcopy) under certain conditions

.

Distinguishing features:

MySQL implements the following features, which some other RDBMS systems may not:

Multiple storage engines, allowing one to choose the one that is most effective for each table in the application (in MySQL 5.0, storage engines must be compiled in; in MySQL 5.1, storage engines can be dynamically loaded at run time).

Native storage engines (MyISAM, Falcon, Merge, Memory (heap), Federated, Archive, CSV, Blackhole, Cluster, EXAMPLE, Maria, andInnoDB, which was made the default as of 5.5).

Partner-developed storage engines used to be a partner-developed storage engine, but with recent acquisitions, Oracle now owns both MySQL core and InnoDB.

33

Page 34: Introduction 2012 Documentation

Community-developed storage engines (memcache engine, httpd, PBXT, Revision Engine).

Custom storage engines Commit grouping, gathering multiple transactions from multiple connections

together to increase the number of commits per second. (PostgreSQL has an advanced form of this functionality).

Limitations:

MySQL does not currently comply with the SQL standard for some of the implemented functionality, including issues like silent ignore of standard SQL syntax, including silent ignore of check constraints, foreign key references, and other features used to enforce business logic consistency. Triggers are currently limited to one per action / timing, i.e. maximum one after insert and one before insert on the same table. There are no triggers on views.

SQL command:

ALTER - Change an existing table, view or index definition (DDL)

AUDIT - Track the changes made to a table (DDL)

COMMENT-Add a comment to a table or column in a table (DDL)

COMMIT - Make all recent changes permanent (DML - transactional)

CREATE - Create new database objects such as tables or views (DDL)

DELETE - Delete rows from a database table (DML)

DROP - Drop a database object such as a table, view or index (DDL)

GRANT - Allow another user to access database objects such as tables or

INSERT - Insert new data into a database table (DML)

No AUDIT - Turn off the auditing function (DDL)

REVOKE - Disallow a user access to database objects such as tables and views

(DDL)

ROLLBACK -Undo any recent changes to the database (DML - Transactional)

SELECT - Retrieve data from a database table (DML)

TRUNCATE-Delete all rows from a database table (can not be rolled back) (DML)

UPDATE - Change the values of some data items in a database table (DML)

34

MYSQL COMMAND:

Page 35: Introduction 2012 Documentation

1. CREATE DATABASE2. CREATE TABLE3. ALTERTABLE4. INSERT5. REPLACE6. UPDATE7. SELECT8. DELETE9. VALUES10. SET11. WHERE12. IN13. RLIKE / MATCH (search)14. AND15. OR16. DISTINCT17. MAX

SERVLETS

Introduction:

The Java web server is Java Soft’s own web Server. To build customized

network servers for any Internet or Intranet client/server system. Servlets are made for

web server, how applets are for browser. Servlets provide a Java-based solution used to

address the problems currently associated with doing server-side programming,

including inextensible scripting solutions, platform-specific APIs, and incomplete

interfaces.

Servlets are objects that conform to a specific interface that can be plugged into a

Java-based server. Servlets are to the server-side what applets are to the client-side -

object byte codes that can be dynamically loaded off the net.

35

They differ from applets in that they are faceless objects (without graphics or a GUI

component). They serve as platform independent, dynamically loadable, pluggable

Page 36: Introduction 2012 Documentation

helper byte code objects on the server side that can be used to dynamically extend

server-side functionality. .

Advantages of the Servlet API:

One of the great advantages of the Servlet API is protocol independence.

The protocol being used to transmit on the net

How it is loaded

The server environment it will be running in

It’s extensible - you can inherit all your functionality from the base classes made

available to you.

It’s simple, small, and easy to use.

Features of Servlets:

Servlets are persistent. Servlet are loaded only by the web server and can

maintain services between requests.

Servlets are fast. Since Servlets only need to be loaded once, they offer much

better performance over their CGI counterparts.

Servlets are platform independent.

Servlets are extensible. Java is a robust, object-oriented programming language,

which easily can be extended to suit your needs

Servlets are secure.

Servlets can be used with a variety of clients.

JAVA SERVER PAGES

Java server Pages is a simple, yet powerful technology for creating and

maintaining dynamic-content web pages. Based on the Java programming language,

Java Server Pages offers proven portability, open standards, and a mature re-usable

component model .

36

The Java Server Pages architecture enables the separation of content generation

from content presentation. This separation not eases maintenance headaches; it also

Page 37: Introduction 2012 Documentation

allows web team members to focus on their areas of expertise. Now, web page designer

can concentrate on layout, and web application designers on programming, with

minimal concern about impacting each other’s work.

Features of JSP:

Portability:

Java Server Pages files can be run on any web server or web-enabled application server

that provides support for them. Dubbed the JSP engine, this support involves

recognition, translation, and management of the Java Server Page lifecycle and its

interaction components.

Components :

It was mentioned earlier that the Java Server Pages architecture can include reusable

Java components. The architecture also allows for the embedding of a scripting

language directly into the Java Server Pages file. The components current supported

include Java Beans, and Servlets.

Processing:

A Java Server Pages file is essentially an HTML document with JSP scripting or tags.

The Java Server Pages file has a JSP extension to the server as a Java Server Pages file.

Before the page is served, the Java Server Pages syntax is parsed and processed into a

Servlet on the server side. The Servlet that is generated outputs real content in straight

HTML for responding to the client.

37

Access Models:

Page 38: Introduction 2012 Documentation

A Java Server Pages file may be accessed in at least two different ways. A client’s

request comes directly into a Java Server Page. In this scenario, suppose the page

accesses reusable Java Bean components that perform particular well-defined

computations like accessing a database. The result of the Beans computations, called

result sets is stored within the Bean as properties. The page uses such Beans to generate

dynamic content and present it back to the client.

In both of the above cases, the page could also contain any valid Java code. Java

Server Pages architecture encourages separation of content from presentation.

Steps in the execution of a JSP Application:

1. The client sends a request to the web server for a JSP file by giving the name of

the JSP file within the form tag of a HTML page.

2. This request is transferred to the Java WebServer. At the server side Java

WebServer receives the request and if it is a request for a jsp file server gives

this request to the JSP engine.

3. JSP engine is program which can under stands the tags of the jsp and then it

converts those tags into a Servlet program and it is stored at the server side. This

Servlet is loaded in the memory and then it is executed and the result is given

back to the Java WebServer and then it is transferred back to the result is given

back to the Java WebServer and then it is transferred back to the client.

38

What is Model-View-Controller? :

Page 39: Introduction 2012 Documentation

. Let’s start by looking at how the Model, the View, and the Controller interact with one

another:

Figure 6.3Model 2/MVC architecture

As you can see from the above diagram, the user interacts with the Controller

components (usually represented by Servlets) by submitting requests to them. In turn, the

Controller components instantiate Model components (usually represented by JavaBeans or

other similar technology), and manipulate them according to the logic of the application.

Once the Model is constructed, the Controller decides which View (usually represented by

JavaServer Pages) to show to the user next, and this View interacts with the Model to show

the relevant data to the user.Using JavaServer Pages or Servlets alone is known as Model 1.

Model 2 was not particularly innovative or new;It uses Servlets to resemble

Controller and Java ServerPages for resembling views.Many people realized that it

follows the well-known MVC pattern that was developed back in the days of Smalltalk.

As such, Java programmers tend to use the terms Model 2 and MVC interchangeably.

39

What are ActionForms? :

Page 40: Introduction 2012 Documentation

Almost every web application has a requirement to accept input from users. Some

examples of user input are credit card information, billing and shipping address

information, or even something as small as a username and password. The HTML language

provides the necessary components to render the input fields in a browser, including text

boxes, radio buttons, check boxes, buttons, and many more. When building these types of

pages, the input components must be nested inside of an HTML form Elements. The Struts

framework relies on the org.apache.struts.action.ActionForm class as the key component

for handling these tasks.

The ActionForm class is used to capture input data from an HTML form and

transfer it to the Action class. Since the HTML input components don’t natively include an

input buffer and users quite often enter invalid data, web applications need a way to store

the input data temporarily, so that it can be redisplayed when an error occurs. In this sense,

the ActionForm class acts as a buffer to hold the state of what the user entered while it is

being validated. The ActionForm also acts as a “firewall” for your application in that it

helps to keep suspect or invalid input out of your business tier until it can be scrutinized by

the validation rules. Finally, the ActionForm is also used to transfer data from the Action

class back to the HTML form. This allows more consistency for your HTML forms,

because they are always pulling data from the ActionForm. When the user input data does

pass input validation, the ActionForm is passed into the execute() method of the Action

class. From there, the data can be retrieved from the ActionForm and passed on to the

business tier. Because the ActionForm imports packages from the Servlet API, you

shouldn’t pass the ActionForm to the business tier. Doing so would couple the business

methods to the Servlet API and make it more difficult to reuse the business tier

components. Instead, the data within the ActionForm should be transferred to an object

from the domain model instead of being passed as an argument to the business tier. A

common approach is to create a data transfer object and populate it with the data from the

ActionForm.

40

You don’t have to declare an ActionForm for every HTML form in your

application. The same ActionForm can be associated with one or more action mappings.

Page 41: Introduction 2012 Documentation

.Declaring ActionForm Properties as Strings:

All request parameters that are sent by the browser are Strings. This is true

regardless of the type that the value will eventually map to in Java. For example, dates,

times, Booleans, and other values are all strings when they are pulled out of the request.

They will also be converted into strings when they are written back out to the HTML

page.Therefore, it makes sense that all of the ActionForm properties where the input may

be invalid, should be of type String. The reason for this is to support displaying the data

back out in its original form to the user, when there is an error. For example, if a user

types in “12Z” for a property expecting to be an Integer, there’s no way to store “12Z” into

an int or Integer property. However, you can store it into a String until it can be validated.

This same value, which is stored in a String, can be used to render the input field with the

value, so the user can see their mistake. This is functionality that even the most

inexperienced users have come to expect and look for.

Using Dynamic ActionForms:

Using the ActionForm class has many advantages over performing the functionality

yourself in the Action class or some set of helper utility classes. Since the behavior that the

ActionForm class provides is needed in nearly every web application, as well as many

times in the same application, using the framework to perform the work can really reduce

the development time and your frustration level. Having stated the benefits of using

ActionForms, there are a few very important downsides to using them.

The first and foremost problem with using ActionForms is the sheer number of classes that

it can add to a project. Even if you share ActionForm definitions across many pages, the

additional classes make it more difficult to manage a project and provide maintenance.

This is why some developers might create a single ActionForm and implement the

properties for all of the HTML forms within these.

41

The problem with this of course, is that combining the fields into this one class makes it a

point of contention on a project that has more than just a few developers. Another major

Page 42: Introduction 2012 Documentation

liability is the requirement to define the properties in the ActionForm that need to be

captured from the HTML form. If a property is added or removed from the HTML form,

the ActionForm class may need to be modified and recompiled. For these asons, a new type

of ActionForm was added to the framework, which is dynamic innatureandallows you to

avoid having to create concrete ActionForm classes for yourapplicationThedynamic

ActionForm is implemented by the base class org.apache.struts.action.DynaActionForm,

which extends the ActionForm class.The properties that the ActionForm defines:

1. The validate() method

2. The reset() method

The properties for a DynaActionForm are configured in the Struts configuration file, which

you’ll see how to do in the next section. The reset() method is called at exactly the same

time during request processing as it is for a standard ActionForm. The one difference is

that you have a little less control over what you do during the method. However, you can

always subclass the DynaActionForm to override the reset behavior.

The validation of the presentation data is a little more complicated, because we’ll need to

wait until we talk about the Struts Validator components before talking about how

validation occurs in a dynamic form.

42

CHAPTER -7

Page 43: Introduction 2012 Documentation

REPORTS:

The reports are the out put screen of the web site .

Screen shots of each interface of the web site are given below,

Which gives the clear idea about the project.

Front page

43

Page 44: Introduction 2012 Documentation

Admin Login Page

Admin page

44

Page 45: Introduction 2012 Documentation

User Login page

Registration page

45

Page 46: Introduction 2012 Documentation

Feedback form

Gallery page

46

Page 47: Introduction 2012 Documentation

User profile page

Edit Profile Page

47

Page 48: Introduction 2012 Documentation

Chat login page

Chat Room

48

Page 49: Introduction 2012 Documentation

Approval mail automatic send from admin to user mail

Student Marksheet Upload Form page

49

Page 50: Introduction 2012 Documentation

Student Marksheet showing semester wise page

Student Marksheet Showing page

50

Page 51: Introduction 2012 Documentation

Change Password page for user and administrator

This option shows for Find people,view toppers,Search faculty,students,staff,alumini

51

Page 52: Introduction 2012 Documentation

CHAPTER-8

SYSTEM TESTING AND IMPLEMENTATION :

8.1 INTRODUCTION :

Software testing is a critical element of software quality assurance and represents

the ultimate review of specification, design and coding. In fact, testing is the one step in the

software engineering process that could be viewed as destructive rather than constructive.

A strategy for software testing integrates software test case design methods into a

well-planned series of steps that result in the successful construction of software. Testing is

the set of activities that can be planned in advance and conducted systematically. The

underlying motivation of program testing is to affirm software quality with methods that

can economically and effectively apply to both strategic to both large and small-scale

systems.

8.2. STRATEGIC APPROACH TO SOFTWARE TESTING :

The software engineering process can be viewed as a spiral. Initially system

engineering defines the role of software and leads to software requirement analysis where

the information domain, functions, behavior, performance, constraints and validation

criteria for software are established. Moving inward along the spiral, we come to design

and finally to coding. To develop computer software we spiral in along streamlines that

decrease the level of abstraction on each turn.

A strategy for software testing may also be viewed in the context of the spiral. Unit

testing begins at the vertex of the spiral and concentrates on each unit of the software as

implemented in source code. Testing progress by moving outward along the spiral to

integration testing, where the focus is on the design and the construction of the software

architecture.

52

Page 53: Introduction 2012 Documentation

UNIT TESTING

MODULE TESTING

SUB-SYSTEM TESING

SYSTEM TESTING

ACCEPTANCE TESTING

Component Testing

Integration Testing

User Testing

Talking another turn on outward on the spiral we encounter validation testing where

requirements established as part of software requirements analysis are validated against the

software that has been constructed. Finally we arrive at system testing, where the software

and other system elements are tested as a whole.

53

Page 54: Introduction 2012 Documentation

8.3. UNIT TESTING :

Unit testing focuses verification effort on the smallest unit of software design, the

module. The unit testing we have is white box oriented and some subjects the steps are

conducted in parallel.

1. WHITE BOX TESTING :

This type of testing ensures that

All independent paths have been exercised at least once

All logical decisions have been exercised on their true and false sides

All loops are executed at their boundaries and within their operational bounds

All internal data structures have been exercised to assure their validity.

To follow the concept of white box testing we have tested each form .we have

created independently to verify that Data flow is correct, All conditions are exercised to

check their validity, All loops are executed on their boundaries.

2. BASIC PATH TESTING :

Established technique of flow graph with Cyclomatic complexity was used to derive test

cases for all the functions. The main steps in deriving test cases were:

Use the design of the code and draw correspondent flow graph.

Determine the Cyclomatic complexity of resultant flow graph, using formula:

V(G)=E-N+2 or

V(G)=P+1 or

V(G)=Number Of Regions

Where V(G) is Cyclomatic complexity,

E is the number of edges,

N is the number of flow graph nodes,

P is the number of predicate nodes.

Determine the basis of set of linearly independent paths.

54

Page 55: Introduction 2012 Documentation

3. CONDITIONAL TESTING :

In this part of the testing each of the conditions were tested to both true and false

aspects. And all the resulting paths were tested. So that each path that may be generate on

particular condition is traced to uncover any possible errors.

4. DATA FLOW TESTING :

This type of testing selects the path of the program according to the location of

definition and use of variables. This kind of testing was used only when some local

variable were declared. The definition-use chain method was used in this type of testing.

These were particularly useful in nested statements.

5. LOOP TESTING :

In this type of testing all the loops are tested to all the limits possible.

The following exercise was adopted for all loops:

All the loops were tested at their limits, just above them and just below them.

All the loops were skipped at least once.

For nested loops test the inner most loop first and then work outwards.

For concatenated loops the values of dependent loops were set with the help of

connected loop.

Unstructured loops were resolved into nested loops or concatenated loops and

tested as above.

Each unit has been separately tested by the development team itself and all the

input have been validated.

55

Page 56: Introduction 2012 Documentation

CHAPTER-9

SYSTEM SECURITY

9 .1 INTRODUCTION

The protection of computer based resources that includes hardware, software, data,

procedures and people against unauthorized use or natural

Disaster is known as System Security.

System Security can be divided into four related issues:

Security

Integrity

Privacy

Confidentiality

SYSTEM SECURITY refers to the technical innovations and procedures applied to the

hardware and operation systems to protect against deliberate or accidental damage from a

defined threat.

DATA SECURITY is the protection of data from loss, disclosure, modification and

destruction.

SYSTEM INTEGRITY refers to the power functioning of hardware and programs,

appropriate physical security and safety against external threats such as eavesdropping and

wiretapping.

PRIVACY defines the rights of the user or organizations to determine what information

they are willing to share with or accept from others and how the organization can be

protected against unwelcome, unfair or excessive dissemination of information about it.

CONFIDENTIALITY is a special status given to sensitive information in a database to

minimize the possible invasion of privacy. It is an attribute of information that

characterizes its need for protection.

9.3 SECURITY SOFTWARE

System security refers to various validations on data in form of checks and controls to

avoid the system from failing.

56

Page 57: Introduction 2012 Documentation

It is always important to ensure that only valid data is entered and only valid operations are

performed on the system. The system employees two types of checks and controls:

CLIENT SIDE VALIDATION :

Various client side validations are used to ensure on the client side that only valid

data is entered. Client side validation saves server time and load to handle invalid data.

Some checks imposed are:

VBScript in used to ensure those required fields are filled with suitable data only.

Maximum lengths of the fields of the forms are appropriately defined.

Forms cannot be submitted without filling up the mandatory data so that manual

mistakes of submitting empty fields that are mandatory can be sorted out at the client

side to save the server time and load.

Tab-indexes are set according to the need and taking into account the ease of user while

working with the system.

SERVER SIDE VALIDATION

Some checks cannot be applied at client side. Server side checks are necessary to

save the system from failing and intimating the user that some invalid operation has been

performed or the performed operation is restricted. Some of the server side checks imposed

is:

Server side constraint has been imposed to check for the validity of primary key and

foreign key. A primary key value cannot be duplicated. Any attempt to duplicate the

primary value results into a message intimating the user about those values through the

forms using foreign key can be updated only of the existing foreign key values.

User is intimating through appropriate messages about the successful operations or

exceptions occurring at server side.

Various Access Control Mechanisms have been built so that one user may not agitate

upon another. Access permissions to various types of users are controlled according to

the organizational structure.

57

Page 58: Introduction 2012 Documentation

Only permitted users can log on to the system and can have access according to their

category. User- name, passwords and permissions are controlled o the server side.

Using server side validation, constraints on several restricted operations are imposed.

58

Page 59: Introduction 2012 Documentation

CHAPTER-10

CONCLUSION

The theme behind the project is “DYNAMIC WEB PAGE” is that the administrator can

approve the profile of faculty members,students,staffs and aluminies can be retrieved these

information of our department . So that it will be easy to have the information of a faculty,

student, alumini, staff easily.

Besides this the students the students can registered themand after registered they can view

their profile,upload their marksheets,and discuss any subject related topic in the chat room and

give their feedback also.

The students of our department can get updated news and events about the schedule of

internal as well as semester exams. Apart from this the students can down load the previous year

marksheets from our department web-site.

Many features in the front page have been changed from the previous web-site. The popup

menu looks very attractive. There is a space provided for the current events which shows the recent

events, along with this there is notice board where the news is flashed regularly.

Thus in this project there are several features added which are required must for our

department. Overall the project is complete up gradation of department web-site which have

efficient database connectivity having dynamic retrieving facility.

59

Page 60: Introduction 2012 Documentation

CHAPTER-11

BIBILOGRAPHY :

1.ASP.NET Bible - Mridula Parihar.

2. SQL Server2000 - Jeffrey R. Shapiro.

3. http://www.c-sharpcorner.com

4. http://www.programmersheaven.com

5. Spring.NET Application Framework

6. Jolt winners 2006

7. JAX Innovation Award Gewinner 2006

8. Spring Framework 3.1 goes GA

9. http://www.andygibson.net/blog/index.php/2008/08/28/is-spring-between-

the-devil- and-the-ejb Spring VS EJB3

10. "Pitchfork FAQ".

http://www.springsource.com/web/guest/pitchfork/pitchfork-faq. Retrieved

2006-06-06.

11. http://houseofhaug.wordpress.com/2005/08/12/hibernate-hates-spring

Hibernate VS Spring

12. Introduction to the Spring Framework

13. Johnson, Expert One-on-One J2EE Design and Development, Ch. 12. et

al.

14. Patterns of Enterprise Application Architecture: Front Controller

60