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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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,
<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
<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
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.
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
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
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.
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
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
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
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.
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)