Known Descendants of Oliver Caulk Alias Olle Matthiasson alias Olof Isgra
Automatic Alias Doc.3
-
Upload
rahul-maanchala -
Category
Documents
-
view
219 -
download
0
Transcript of Automatic Alias Doc.3
-
7/28/2019 Automatic Alias Doc.3
1/56
TABLE OF CONTENTS
1. INTRODUCTION 2
1.1 INTRODUCTION TO PROJECT
2. SYSTEM ANALYSIS 3
2.1 EXISTING SYSYEM
2.2 PROPOSED SYSTEM
3. SYSTEM CONFIGURATION 9
3.1 HARDWARE REQUIRMENT
3.2 SOFTWARE REQUIRMENT
4. FEASIBILITY SYSTEM 10
4.1 ECONOMIC FEASIBILITY
4.2 OPERATIONAL FEASIBILITY
4.3 TECHNICAL FEASIBILITY
5. SOFTWARE PROCESS MODEL 12
6. SYSTEM DESIGN 14
6.1 CLASS DIAGRAM 15
6.2 USECASE DIAGRAM 16
6.3 SEQUENCE DIAGRAM 17
6.4 TABLES 18
7. IMPLEMENTATION 20
7.1 MODULE DESCRIPTION 20
7.2 CODEING 21
7.3 TECHNOLOGY 27
8. SYSTEM TESTING 40
9. INPUT & OUTPUT SCREENS 44
10 CONCLUSIONS 46
11. USER MANUAL 48
12. BIBLIOGRAPHY 51
1
-
7/28/2019 Automatic Alias Doc.3
2/56
Automatic Discovery of Personal
Name Aliases from the Web
1. Introduction:An individual is typically referred by numerous name aliases on
the web. Accurate identification of aliases of a given person name is
useful in various web related tasks such as information retrieval,
sentiment analysis, personal name disambiguation, and relation
extraction. We propose a method to extract aliases of a given personal
name from the web. Given a personal name, the proposed method first
extracts a set of candidate aliases. Second, we rank the extractedcandidates according to the likelihood of a candidate being a correct
alias of the given name. We propose a novel, automatically extracted
lexical pattern-based approach to efficiently extract a large set of
candidate aliases from snippets retrieved from a web search engine.
We define numerous ranking scores to evaluate candidate aliases
using three approaches: lexical pattern frequency, word co-
occurrences in an anchor text graph, and page counts on the web. To
construct a robust alias detection system, we integrate the different
ranking scores into a single ranking function using ranking support
vector machines. We evaluate the proposed method on three data
sets: an English personal names data set, an English place names data
set, and a Japanese personal names data set. The proposed method
outperforms numerous baselines and previously proposed name alias
extraction methods, achieving a statistically significant mean
reciprocal rank (MRR) of 0.67. Experiments carried out using location
names and Japanese personal names suggest the possibility of
extending the proposed method to extract aliases for different types of
named entities, and for different languages.
The aliases extracted using the proposed method are
2
-
7/28/2019 Automatic Alias Doc.3
3/56
successfully utilized in an information retrieval task and improve recall
by 20 percent in a relation-detection task.
2. System Analysis
2.1 Existing System:Accurate identification of aliases of a given person name is useful
in various web related tasks such as information retrieval, sentiment
analysis, personal name disambiguation, and relation extraction. We
propose a method to extract aliases of a given personal name from the
web. Given a personal name, the proposed method first extracts a set
of candidate aliases. Second, we rank the extracted candidates
according to the likelihood of a candidate being a correct alias of the
given name. We propose a novel, automatically extracted lexical
pattern-based approach to efficiently extract a large set of candidate
aliases from snippets retrieved from a web search engine.
2.2 Proposed System:The proposed method outperforms numerous baselines and previously
proposed name alias extraction methods. The aliases extracted using
the proposed method are successfully utilized in an information
retrieval task and improve recall by 20 percent in a relation-detection
task. The proposed method first extracts a set of candidate aliases.
Second, we rank the extracted candidates according to the likelihood
of a candidate being a correct alias of the given name.
2.2.1 Product Functionality
According to another embodiment of the present invention, a method comprises:
generating a set of pre-computed materialized sub-graphs; receiving a search query
having a search query term; in response to the receiving, accessing a set of pre-computed
materialized sub-graphs; wherein the accessing comprises: accessing the text index based
3
-
7/28/2019 Automatic Alias Doc.3
4/56
on the search query term to retrieve the corresponding term group identifier; and
accessing the corresponding materialized sub-graph based on the term group identifier;
executing a dynamic random-walk based search on only the corresponding materialized
sub-graph; based on the executing, retrieving nodes in the dataset; and transmitting the
nodes as results of the query.
Fig.2.2.1 Architecture of a BinRank system
Fig.2.2.1 shows a flowchart of a method 40 for query processing in accordance with an
embodiment of the invention. In block 42 materialized sub-graphs are pre-computed. Asearch query is then received in block44 and one of the pre-computed materialized sub-
graphs is accessed using a text index, in block 46. In block 48, an authority-based
keyword search is executed on the materialized sub-graph. In block 50, nodes are
retrieved from the dataset based on the keyword search. The retrieved nodes are
transmitted as the results of the query in block52.
4
-
7/28/2019 Automatic Alias Doc.3
5/56
Fig.2.2.2 flowchart for generating pre-computed materialized sub-graphs
According to one embodiment of the present invention, a method comprises: generating a
set of pre-computed materialized sub-graphs from a dataset by: grouping all terms in said
dataset; and for each group, executing a dynamic random-walk based search over the full
dataset using terms in said group as random walk starting points; based on said executing,
identifying important nodes; and using said nodes to construct a corresponding sub-
graph; receiving a search query having at least one search query term; accessing a
particular one of said pre-computed materialized sub-graphs; executing a dynamic
5
-
7/28/2019 Automatic Alias Doc.3
6/56
authority-based keyword search on said particular one of said pre-computed materialized
sub-graphs; retrieving nodes in said dataset based on said executing; and responding to
said search query with results including said retrieved nodes.
Fig.2.2.2 shows a flowchart of a process 54 for generating pre-computed materialized
sub-graphs in accordance with an embodiment of the invention. In block 56, all terms in
the dataset are partitioned. A partition identifier is stored for each term, in block 58. A
random walk is then executed over each partition in block 60. In block 62, important
nodes are identified for each partition based on the random walk. The important nodes are
used to construct a corresponding sub-graph for each partition in block64.
3. SYSTEM CONFIGURATION:
Requirement Specification plays an important role to create quality software solution;
Requirements are refined and analyzed to assess the clarity.
Requirements are represented in a manner that ultimately leads to successful
software implementation. Each requirement must be consistent with the overall objective.
The development of this project deals with the following requirements:
3.1 HARDWARE REQUIREMENTS:
The selection of hardware is very important in the existence and proper working of any
software. In the selection of hardware, the size and the capacity requirements are also
important.
Content Description
ProcessorPentium4
Hard Disk 40Gb
RAM 1Gb
6
-
7/28/2019 Automatic Alias Doc.3
7/56
3.2 SOFTWARE REQUIREMENTS
The software requirements specification is produces at the culmination of the analysis
tasks. One of the most difficult tasks is that, the selection of the software, once system
requirement is known by determining whether a particular software package fits the
requirements.
7
Content Description
OS Windows XP with SP2 or Windows Vista
Database My SQL
Technologies Core Java, Advance Java, HTML,Servlets,JSP.XML
IDE My Eclipse
Browser Mozilla Firefox, IE 6.
-
7/28/2019 Automatic Alias Doc.3
8/56
4. FEASIBILITY STUDY
INTRODUCTION
Preliminary investigation examine project feasibility, the likelihood the system will
be useful to the organization. The main objective of the feasibility study is to test the
Technical, Operational and Economical feasibility for adding new modules and
debugging old running system. All system is feasible if they are unlimited resources and
infinite time. There are aspects in the feasibility study portion of the preliminary
investigation:
Technical Feasibility
Operation Feasibility
Economical Feasibility
4.1 TECHNICAL FEASIBILITY
The technical issue usually raised during the feasibility stage of the investigation
includes the following:
Does the necessary technology exist to do what is suggested?
Do the proposed equipments have the technical capacity to hold the data required to use
the new system?
Will the proposed system provide adequate response to inquiries, regardless of the
number or location of users?
Can the system be upgraded if developed?
Are there technical guarantees of accuracy, reliability, ease of access and data security?
Earlier no system existed to cater to the needs of Secure Infrastructure
Implementation System. The current system developed is technically feasible. It is a web
based user interface for audit workflow at NIC-CSD. Thus it provides an easy access to
the users. The databases purpose is to create, establish and maintain a workflow among
various entities in order to facilitate all concerned users in their various capacities or
roles. Permission to the users would be granted based on the roles specified. Therefore, it
provides the technical guarantee of accuracy, reliability and security. The software and
8
-
7/28/2019 Automatic Alias Doc.3
9/56
hard requirements for the development of this project are not many and are already
Available in-house at NIC or are available as free as open source. The work for the
project is done with the current equipment and existing software technology. Necessary
bandwidth exists for providing a fast feedback to the users irrespective of the number ofusers using the system.
4.2 OPERATIONAL FEASIBILITY
Proposed projects are beneficial only if they can be turned out into information
system. That will meet the organizations operating requirements. Operational feasibility
aspects of the project are to be taken as an important part of the project implementation.
Some of the important issues raised are to test the operational feasibility of a project
includes the following: -
Is there sufficient support for the management from the users?
Will the system be used and work properly if it is being developed and implemented?
Will there be any resistance from the user that will undermine the possible application
benefits?
This system is targeted to be in accordance with the above-mentioned issues.
Beforehand, the management issues and user requirements have been taken into
consideration. So there is no question of resistance from the users that can undermine the
possible application benefits.
The well-planned design would ensure the optimal utilization of the computer
resources and would help in the improvement of performance status.
4.3 ECONOMIC FEASIBILITY
A system can be developed technically and that will be used if installed must still
be a good investment for the organization. In the economical feasibility, the development
cost in creating the system is evaluated against the ultimate benefit derived from the new
systems. Financial benefits must equal or exceed the costs.The system is economically
feasible. It does not require any addition hardware or software. Since the interface for this
system is developed using the existing resources and technologies available at NIC, There
9
-
7/28/2019 Automatic Alias Doc.3
10/56
is nominal expenditure and economical feasibility for certain.
5. SOFTWARE PROCESS MODEL:
There are various software development approaches defined and designed which are
used/employed during development process of software, these approaches are also
referred as "Software Development Process Models". Each process model follows a
particular life cycle in order to ensure success in process of software development.
One such approach/process used in Software Development is "The Waterfall Model".
Waterfall approach was first Process Model to be introduced and followed widely in
Software Engineering to ensure success of the project. In "The Waterfall" approach, the
whole process of software development is divided into separate process phases. The
phases in Waterfall model are: Requirement Specifications phase, Software Design,
Implementation and Testing & Maintenance. All these phases are cascaded to each other
so that second phase is started as and when defined set of goals are achieved for first
phase and it is signed off, so the name "Waterfall Model". All the methods and processes
undertaken in Waterfall Model are more visible.
10
-
7/28/2019 Automatic Alias Doc.3
11/56
STAGES:
Requirement Analysis & Definition: All possible requirements of the system to be
developed are captured in this phase. Requirements are set of functionalities and
constraints that the end-user (who will be using the system) expects from the system. The
requirements are gathered from the end-user by consultation, these requirements are
analyzed for their validity and the possibility of incorporating the requirements in the
system to be development is also studied. Finally, a Requirement Specification document
is created which serves the purpose of guideline for the next phase of the model.
System & Software Design: Before a starting for actual coding, it is highly important tounderstand what we are going to create and what it should look like? The requirement
specifications from first phase are studied in this phase and system design is prepared.
System Design helps in specifying hardware and system requirements and also helps in
defining overall system architecture. The system design specifications serve as input for
the.
11
-
7/28/2019 Automatic Alias Doc.3
12/56
Implementation & Unit Testing: On receiving system design documents, the work is
divided in modules/units and actual coding is started. The system is first developed in
small programs called units, which are integrated in the next phase. Each unit is
developed and tested for its functionality; this is referred to as Unit Testing. Unit testing
mainly verifies if the modules/units meet their specifications.
Integration & System Testing: As specified above, the system is first divided in units
which are developed and tested for their functionalities. These units are integrated into a
complete system during Integration phase and tested to check if all modules/units
coordinate between each other and the system as a whole behaves as per the
specifications. After successfully testing the software, it is delivered to the customer.
Operations & Maintenance: This phase of "The Waterfall Model" is virtually never
ending phase (Very long). Generally, problems with the system developed (which are not
found during the development life cycle) come up after its practical use starts, so the
issues related to the system are solved after deployment of the system. Not all the
problems come in picture directly but they arise time to time and needs to be solved;
hence this process is referred as Maintenance.
6. SYSTEM DESIGN
INTRODUCTION
Software design sits at the technical kernel of the software engineering process
and is applied regardless of the development paradigm and area of application. Design is
the first step in the development phase for any engineered product or system. The
designers goal is to produce a model or representation of an entity that will later be built.
Beginning, once system requirement have been specified and analyzed, system design is
the first of the three technical activities -design, code and test that is required to build and
verify software.
The importance can be stated with a single word Quality. Design is the place
12
-
7/28/2019 Automatic Alias Doc.3
13/56
where quality is fostered in software development. Design provides us with
representations of software that can assess for quality. Design is the only way that we can
accurately translate a customers view into a finished software product or system.
Software design serves as a foundation for all the software engineering steps that follow.
Without a strong design we risk building an unstable system one that will be difficult to
test, one whose quality cannot be assessed until the last stage.
During design, progressive refinement of data structure, program structure, and
procedural details are developed reviewed and documented. System design can be viewed
from either technical or project management perspective. From the technical point of
view, design is comprised of four activities architectural design, data structure design,
interface design and procedural design.
6.1 CLASS DIAGRAM
A class is a description of a set of objects that share the same attributes,
operations, relationships and semantics. Graphically it is rendered as a rectangle. An
attribute is named property of a class that defines a range of values that instance of that
class may hold. An attribute represents some property of the thing you are modeling that
is shared by all the objects of that class. Operation is the implementation of the services
that can be requested from any object of the class to affect behavior.
A Class diagram shows a set of classes, interfaces, collaborations and their
relationships
13
-
7/28/2019 Automatic Alias Doc.3
14/56
DbHandler
documentid
Binid
userdetails
insert()
update()
select()
delete()
isvalid()
Dbconstants
Drivername
url
Username
password
querys()
SearchManager
KeyTerm
List
doget()
dopost()
LoginManager
UserName
Password
doget()
Controller
PageInfo
doget()
Learner
MateralisedSudGraphs
Documenid
doget()
dopost()
Fig 1
6.2 USECASE DIAGRAM
A Use Case specifies the behavior of a system or a part of the
system and is a description of a set of sequences of actions, including
variants, which a system performs to yield an observable result ofvalue to an actor. Use-cases provide a way for the developers to come
to a common understanding with the systems end users and domain
experts. Graphically a use case is rendered by an ellipse.
A use case diagram is just a special kind of diagram and shares
14
-
7/28/2019 Automatic Alias Doc.3
15/56
the same common properties as do all other diagrams-a name and
graphical contents that are a projection into a model. In use case
diagram, there is a system boundary and the actors stay outside the
boundary and the use cases are kept inside the boundary.
Use Case diagrams commonly contain
Use cases
Actors
Dependency ,generalization and association relationships
admin
login
start learning
stop learning
user
search
data base
Fig 2
6.3 SEQUENCE DIAGRAM
An interaction is a behavior that comprises of a set of messages
exchanged among a set of objects within a context to accomplish a
purpose. We use interactions to model the dynamic aspects of the
model. When an object passes a message to another object, the
receiving object might in turn send a message to another object, which
might send a message to yet another object, and so on. This stream of
messages forms a sequence. Any sequence must have a beginning;
15
-
7/28/2019 Automatic Alias Doc.3
16/56
the start of every sequence is rooted in some process or thread. Each
process or thread within a system defines a distinct flow of control,
messages are ordered in sequence of time.
Search.jsp SearchResult.jsp
Controller.java BackHandThread.java
Dbhandler.java DbConstanta.java
Enter KeywordForward the keyterm
Connect to databaseRetrive relevant documents
Forward resultForward list
Forward posting list
Display the result
Fig 3
6.4 COMPONENT DIAGRAM
Component diagram is a special kind of diagram in UML. It describes the components
used to make those functionalities.
So from that point component diagrams are used to visualize the physical components in
a system. These components are libraries, packages, files etc.
16
-
7/28/2019 Automatic Alias Doc.3
17/56
Component diagrams can also be described as a static implementation view of a system.
Static implementation represents the organization of the components at a particular
moment.
So the purpose of the component diagram can be summarized as:
Visualize the components of a system.
Construct executables by using forward and reverse engineering.
Describe the organization and relationships of the components.
user
admin
search mechanism
prepro
cessor
query
processor
search
key wordview
result
FIG 4
4.4 TABLES
1. binrank1
ATTRIBUTE NAME DATATYPE CONSTRAINTS
Eid INT(45)Primary Key, Autoincrement
Documenturl VARCHAR(45)
17
-
7/28/2019 Automatic Alias Doc.3
18/56
Title VARCHAR(45)
Description VARCHAR(45)
priority INT(20)
keyterm VARCHAR(45)
2. bintable
SNo INT(45)
binId INT(45) PrimaryKey
Documenturl VARCHAR(45)
Title VARCHAR(45)
Description VARCHAR(45)
priority INT(20)
keyterm VARCHAR(45)
3.userdetails Username VARCHAR(45) Foreign Keys
Password VARCHAR(45) Foreign Keys
7. IMPLEMENTATION:
7.1 MODULE DESCRIPTION:
The system after careful analysis has been identified following modules:
1. Search Module: In this we are going to create a web page using Jsp and we are
allowing user and administrator to enter there desired key term which is
forwarded to controller and controller take care of rest of things.
18
-
7/28/2019 Automatic Alias Doc.3
19/56
2. Admin Module: In this module when ever Administrator login in to his account
the controller checks whether he is a valid use if he is valid user it is going to call
BackendThread.java file where materialized sub graphs are going to be created
and key terms from initial database are placed in to there respective bins where
key terms which are co-related terms are kept under one bin and the binId of that
bin is stored using hash mapping and this thread runs every time when ever
Administrator logins in to system and materialized sub graphs are created.
3. Learner Module: In this module we are going to update the priority of a
particular key term. The priority is incremented according to number of hits
particular Document has hit and priority is incremented both in initial and
materialized sub graphs.
4. Preprocessing Module: In this module we are going to implement the BinRank
algorithm when we are going to create bins according to algorithm mentioned in
this document.
5. Query Module: In this module when ever user enters keyword controller calls
Dbhandler and it checks for particular keyword in materialized sub graphs and
displays the result. We are writing two java files one is Dbhandler and
Dbconstants.In Dbhandler we are going to write code for connecting to a
database. The main reason for using Dbconstants is in future if we want to change
our database it can be done by just changing Drive Name Username and
Password.
7.2 SAMPLE CODE:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
19
-
7/28/2019 Automatic Alias Doc.3
20/56
import java.util.Set;
import com.itp.binrank.dbhandler.DbHandler;
import com.itp.binrank.postingList.PostingList;
public class BackHandThread extends Thread {
boolean value;
Map workload=new HashMap();
int MAXBINSIZE;
public BackHandThread(boolean value){
this.value=value;
}
public void run(){
// it is a continous java thread which is going to run continously.....
try {
workload=DbHandler.totalWorkLoad();
Map binList=packTermsIntoBins(workload, 10);
if(binList!=null)
{
DbHandler.deleteBins();
DbHandler.insertBins(binList);
}
else{System.out.println("Some error occure in retriving pack terms into
bin please try again later");
}
} catch (Exception e) {
// TODO: handle exception
System.out.println(e);
}
20
-
7/28/2019 Automatic Alias Doc.3
21/56
}
/**
*
* @param w is work Load which contains Key Term as key and posting list as
the value
* @param MAXBINSIZE is the size of the BIN which
*/
public static Map packTermsIntoBins(Map w, int MAXBINSIZE){
Set set=w.keySet();
Iterator it=null;
String t=null,t1=null;
int index=0;
int max=0;
System.out.println("in pack terms method"+set.toString());
Map Bin=new HashMap();
it=w.keySet().iterator();
List list1=new ArrayList();
while(it.hasNext()){
list1.add(it.next());
}
it=w.keySet().iterator();
while(!w.isEmpty()){
Runtime.getRuntime().gc(); // to free up the heap memory
Map bin=new HashMap();
Map cache=new HashMap();
it=w.keySet().iterator();
21
-
7/28/2019 Automatic Alias Doc.3
22/56
// Below While loop is to find Maximum Posting List
while(it.hasNext())
{
t=(String)it.next();
//System.out.println("outer loop = "+t);
List list=(List)w.get(t);
//System.out.println(" list is "+list);
if( list!=null && max
-
7/28/2019 Automatic Alias Doc.3
23/56
cache.put(cach, null);
}
}
while(t!=null){
bin.put(t, w.get(t));
w.remove(t);
System.out.println(" sub bin starting " +bin.toString());
int bestI=0,i=0,union=0;
union=bin.size()+cache.size()-i;
if(union>MAXBINSIZE){
Iterator itcache=cache.keySet().iterator();
while(itcache.hasNext()){
if(union>MAXBINSIZE)
{
itcache.remove();
}
union=bin.size()+cache.size()-i;
t1=it.next()+"";
}
}
i=cache.size();
23
-
7/28/2019 Automatic Alias Doc.3
24/56
if(i>bestI){
bestI=i;
Iterator it5=cache.keySet().iterator();
while(it5.hasNext())
{
t=it5.next()+"";
}
cache.remove(t);
}
if(bestI==0){
// Below While loop is to find Maximum Posting List
t1=null;
Iterator it4=w.keySet().iterator();
while(it4.hasNext())
{
t=(String)it4.next();
List list=(List)w.get(t);
if(max
-
7/28/2019 Automatic Alias Doc.3
25/56
if(t1==null){
t=null;
}
}
} // End Of Inner While Loop where t!=null condition checking
Bin.put(index++,bin);
bin=null;
cache=null;
} // End of Outer While Loop
return Bin;
}
}
7.3 OVERVIEW OF TECHNOLOGY
7.3.1 Introduct ion to JAVA
Initially the language was called as oak but it was renamed as Java in
1995. The primary motivation of this language was the need for a platform-independent
(i.e., architecture neutral) language that could be used to create software to be embedded
25
-
7/28/2019 Automatic Alias Doc.3
26/56
in various consumer electronic devices.
Java is a programmers language.
Java is cohesive and consistent.
Except for those constraints imposed by the Internet environment, Java gives the
programmer, full control.
Finally, Java is to Internet programming where C was to system programming.
Importance of Java to the Internet
Java has had a profound effect on the Internet. This is because; Java expands the
Universe of objects that can move about freely in Cyberspace. In a network, two
categories of objects are transmitted between the Server and the Personal computer. They
are: Passive information and Dynamic active programs. The Dynamic, Self-executing
programs cause serious problems in the areas of Security and probability. But, Java
addresses those concerns and by doing so, has opened the door to an exciting new form
of program
Java can be used to create two types of programs
Applications and Applets: An application is a program that runs on our Computer under
the operating system of that computer. It is more or less like one creating using C or C++.
Javas ability to create Applets makes it important. An Applet is an application designed
to be transmitted over the Internet and executed by a Java compatible web browser. An
applet is actually a tiny Java program, dynamically downloaded across the network, just
like an image. But the difference is, it is an intelligent program, not just a media file. It
can react to the user input and dynamically change.
Features of Java Security
Every time you that you download a normal program,you are risking a viral infection.
Prior to Java, most users did not download executable programs frequently, and those
who did scan them for viruses prior to execution. Most users still worried about the
26
-
7/28/2019 Automatic Alias Doc.3
27/56
possibility of infecting their systems with a virus. In addition, another type of malicious
program exists that must be guarded against. This type of program can gather private
information, such as credit card numbers, bank account balances, and passwords. Java
answers both these concerns by providing a firewall between a network application and
your computer.
When you use a Java-compatible Web browser, you can safely download Java applets
without fear of virus infection or malicious intent.
Portability
For programs to be dynamically downloaded to all the various types of platforms
connected to the Internet, some means of generating portable executable code is
needed .As you will see, the same mechanism that helps ensure security also helps create
portability. Indeed, Javas solution to these two problems is both elegant and efficient.
The Byte code
The key that allows the Java to solve the security and portability problems is that the
output of Java compiler is Byte code. 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.
Translating a Java program into byte code helps makes it much easier to run a program in
a wide variety of environments. The reason is, once the run-time package exists for a
given system, any Java program can run on it.
Although Java was designed for interpretation, there is technically nothing about Java
that prevents on-the-fly compilation of byte code into native code. Sun has just completed
its Just in Time (JIT) compiler for byte code. When the JIT compiler is a part of JVM, itcompiles 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.
27
-
7/28/2019 Automatic Alias Doc.3
28/56
Java Virtual Machine (JVM)
Beyond the language, there is the Java virtual machine. The Java virtual machine is an
important element of the Java technology. The virtual machine can be embedded within a
web browser or an operating system. Once a piece of Java code is loaded onto a machine,
it is verified. As part of the loading process, a class loader is invoked and does byte code
verification makes sure that the code thats has been generated by the compiler will not
corrupt the machine that its loaded on. Byte code verification takes place at the end of
the compilation process to make sure that is all accurate and correct. So byte code
verification is integral to the compiling and executing of Java code.
Overall Description
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.
Java Architecture
Java architecture provides a portable, robust, high performing environment for
development. Java provides portability by compiling the byte codes for the Java Virtual
Machine, which is then interpreted on each platform by the run-time environment. Java is
a dynamic system, able to load code when needed from a machine in the same room or
across the planet.
Compilation of code
When you compile the code, the Java compiler creates machine code (called byte code)
28
SourceJava bytecode
.Java .Class
-
7/28/2019 Automatic Alias Doc.3
29/56
for a hypothetical machine called Java Virtual Machine (JVM). The JVM is supposed to
execute the byte code. The JVM is created for overcoming the issue of portability. The
code is written and compiled for one machine and interpreted on all machines. This
machine is called Java Virtual Machine.
Compiling and interpreting Java Source Code
During run-time the Java interpreter tricks the byte code file into thinking that it is
running on a Java Virtual Machine. In reality this could be a Intel Pentium Windows 95
or SunSARC station running Solaris or Apple Macintosh running system and all could
receive code from any computer through Internet and run the Applets.
Simple
Java was designed to be easy for the Professional programmer to learn and to use
effectively. If you are an experienced C++ programmer, learning Java will be even easier.
Because Java inherits the C/C++ syntax and many of the object oriented features of C++.
Most of the confusing concepts from C++ are either left out of Java or implemented in a
29
SourceCode....
..
PC Compiler
MacintoshCompiler
SPARC
Compiler
Java
Byte code
(PlatformIndependent)
JavaInterpreter(PC)
Java
Interpreter(Macintosh)
JavaInterpreter(Spare)
-
7/28/2019 Automatic Alias Doc.3
30/56
cleaner, more approachable manner. In Java there are a small number of clearly defined
ways to accomplish a given task.
Object-Oriented
Java was not designed to be source-code compatible with any other language. This
allowed the Java team the freedom to design with a blank slate. One outcome of this was
a clean usable, pragmatic approach to objects. The object model in Java is simple and
easy to extend, while simple types, such as integers, are kept as high-performance non-
objects.
Robust
The multi-platform environment of the Web places extraordinary demands on a program,
because the program must execute reliably in a variety of systems. The ability to create
robust programs was given a high priority in the design of Java. Java is strictly typed
language; it checks your code at compile time and run time.
Java virtually eliminates the problems of memory management and deallocation, which is
completely automatic. In a well-written Java program, all run time errors can and should
be managed by your program.
7.3.2 Hyper Text Markup Language
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 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. 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
30
-
7/28/2019 Automatic Alias Doc.3
31/56
document.
HTML can be used to display any type of document on the host computer, which can be
geographically at a different location. It is a versatile language and can be used on any
platform or desktop.
HTML 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.
Basic HTML Tags:
specifies comments
. Creates hypertext links
. Formats text as bold
. Formats text in large font.
Contains all tags and text in the HTML document
... Creates text
Definition of a term
... Creates definition list
Formats text with a particular font
... Encloses a fill-out form... Defines a particular frame in a set of frames
Creates headings of different levels
... Contains tags that specify information about a
document
... Creates a horizontal rule
Contains all other HTML tags
... Provides meta-information about a document
Contains client-side or server-side script
Creates a table
Indicates table data in a table
Designates a table row
Creates a heading in a table
31
-
7/28/2019 Automatic Alias Doc.3
32/56
Advantages
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.
7.3.2 SERVLETS:
7.3.2.1 What is Java Servlets?
Servlets are server side components that provide a powerful mechanism for
developing server side programs. Servlets provide component-based, platform-
independent methods for building Web-based applications, without the performance
limitations of CGI programs. Unlike proprietary server extension mechanisms (such as
the Netscape Server API or Apache modules), servlets are server as well as platform-
independent. This leaves you free to select a "best of breed" strategy for your servers,
platforms, and tools. Using servlets web developers can create fast and efficient server
side application which can run on any servlet enabled web server. Servlets run entirely
inside the Java Virtual Machine. Since the Servlet runs at server side so it does not checks
the browser for compatibility. Servlets can access the entire family of Java APIs,
including the JDBC API to access enterprise databases. Servlets can also access a library
of HTTP-specific calls; receive all the benefits of the mature java language including
portability, performance, reusability, and crash protection. Today servlets are the popular
choice for building interactive web applications. Third-party servlet containers are
available for Apache Web Server, Microsoft IIS, and others. Servlet containers are usually
the components of web and application servers, such as BEA WebLogic Application
Server, IBM WebSphere, Sun Java System Web Server, Sun Java System Application
Server and others.
Servlets are not designed for a specific protocol. It is different thing that they are most
commonly used with the HTTP protocols Servlets uses the classes in the java packages
javax.servlet and javax.servlet.http. Servlets provides a way of creating the sophisticated
server side extensions in a server as they follow the standard framework and use the
highly portable java language.
32
-
7/28/2019 Automatic Alias Doc.3
33/56
A Generic servlet contains the following five methods:
1.init()
public void init(ServletConfig config) throws ServletException
The init() method is called only once by the servlet container throughout the life of a
servlet. By this init() method the servlet get to know that it has been placed into service.
The servlet cannot be put into the service if
The init() method does not return within a fix time set by the web server.
It throws a ServletException
Parameters - The init() method takes a ServletConfig object that contains the initialization
parameters and servlet's configuration and throws a ServletException if an exception has
occurred.
2.service()
public void service(ServletRequest req, ServletResponse res) throws ServletException,IOException
Once the servlet starts getting the requests, the service() method is called by the servlet
container to respond. The servlet services the client's request with the help of two objects.
These two objects javax.servlet.ServletRequest and javax.servlet.ServletResponse are
passed by the servlet container.
The status code of the response always should be set for a servlet that throws or sends an
error.
Parameters - The service() method takes the ServletRequest object that contains the
client's request and the object ServletResponse contains the servlet's response. The
service() method throws ServletException and IOExceptions exception.
33
-
7/28/2019 Automatic Alias Doc.3
34/56
3.getServletConfig()
public ServletConfig getServletConfig()
This method contains parameters for initialization and startup of the servlet and returns a
ServletConfig object. This object is then passed to the init method. When this interface is
implemented then it stores the ServletConfig object in order to return it. It is done by the
generic class which implements this inetrface.
Returns - the ServletConfig object
4.getServletInfo()
public String getServletInfo()
The information about the servlet is returned by this method like version, author etc. This
method returns a string which should be in the form of plain text and not any kind of
markup.
Returns - a string that contains the information about the servlet
5. destory ()
Public void destroy ()
This method is called when we need to close the servlet. That is before removing a servlet
instance from service, the servlet container calls the destroy() method. Once the servlet
container calls the destroy() method, no service methods will be then called . That is after
the exit of all the threads running in the servlet, the destroy() method is called. Hence, theservlet gets a chance to clean up all the resources like memory, threads etc which are
being held.
34
-
7/28/2019 Automatic Alias Doc.3
35/56
Life cycle of Servlet: Life cycle of a servlet can be categorized into four parts:
1. Loading and Instantiation: The servlet container loads the servlet during startup
or when the first request is made. The loading of the servlet depends on the
attribute of web.xml file. If the attribute has
a positive value then the servlet is load with loading of the container otherwise it
load when the first request comes for service. After loading of the servlet, the
container creates the instances of the servlet.
2. Initialization: After creating the instances, the servlet container calls the init()
method and passes the servlet initialization parameters to the init() method. The
init() must be called by the servlet container before the servlet can service any
request. The initialization parameters persist untill the servlet is destroyed. The
init() method is called only once throughout the life cycle of the servlet.
The servlet will be available for service if it is loaded successfully otherwise the
servlet container unloads the servlet.
3. Servicing the Request: After successfully completing the initialization process,
the servlet will be available for service. Servlet creates seperate threads for each
request. The sevlet container calls the service() method for servicing any request.
The service() method determines the kind of request and calls the appropriate
method (doGet() or doPost()) for handling the request and sends response to the
client using the methods of the response object.
4. Destroying the Servlet: If the servlet is no longer needed for servicing any
request, the servlet container calls the destroy() method . Like the init() method
this method is also called only once throughout the life cycle of the servlet.
Calling the destroy() method indicates to the servlet container not to sent the any
request for service and the servlet releases all the resources associated with it.
Java Virtual Machine claims for the memory associated with the resources for
garbage collection.
35
-
7/28/2019 Automatic Alias Doc.3
36/56
Life Cycle of a Servlet
Several web.xml conveniences: Servlet 2.5 introduces several small changes to the
web.xml file to make it more convenient to use. For example while writing a , we can now use an asterisk in a which will represent all
which will represent all servlets as well as JSP.
Previously
FilterName
FilterName
Now,
FilterName
*
36
-
7/28/2019 Automatic Alias Doc.3
37/56
Previously in or there used to be only one , but now we can have multiple , like
abc
/abc/*
/abc/*
Advantages of Java Servlets
1. Portability2. Powerful
3. Efficiency
4. Safety
5. Integration
6. Extensibility
7. Inexpensive
Each of the points are defined below:
Portability
As we know that the servlets are written in java and follow well known standardized
APIs so they are highly portable across operating systems and server implementations.
We can develop a servlet on Windows machine running the tomcat server or any other
server and later we can deploy that servlet effortlessly on any other operating system like
Unix server running on the iPlanet/Netscape Application server. So servlets are write
once, run anywhere (WORA)program.
Powerful
We can do several things with the servlets which were difficult or even impossible to do
with CGI, for example the servlets can talk directly to the web server while the CGI
37
-
7/28/2019 Automatic Alias Doc.3
38/56
programs can't do. Servlets can share data among each other, they even make the
database connection pools easy to implement. They can maintain the session by using the
session tracking mechanism which helps them to maintain information from request to
request. It can do many other things which are difficult to implement in the CGI
programs.
Efficiency
As compared to CGI the servlets invocation is highly efficient. When the servlet get
loaded in the server, it remains in the server's memory as a single object instance.
However with servlets there are N threads but only a single copy of the servlet class.
Multiple concurrent requests are handled by separate threads so we can say that the
servlets are highly scalable.
Safety
As servlets are written in java, servlets inherit the strong type safety of java language.
Java's automatic garbage collection and a lack of pointers means that servlets are
generally safe from memory management problems. In servlets we can easily handle the
errors due to Java's exception handling mechanism. If any exception occurs then it will
throw an exception.
Integration
Servlets are tightly integrated with the server. Servlet can use the server to translate the
file paths, perform logging, check authorization, and MIME type mapping etc.
Extensibility
The servlet API is designed in such a way that it can be easily extensible. As it stands
today, the servlet API support Http Servlets, but in later date it can be extended for
another type of servlets.
Inexpensive
There are number of free web servers available for personal use or for commercial
purpose. Web servers are relatively expensive. So by using the free available web servers
you can add servlet support to it.
38
-
7/28/2019 Automatic Alias Doc.3
39/56
7.4 JDBC
Java Database Connectivity or in short JDBC is a technology that enables the
java program to manipulate data stored into the database. Here is the complete tutorial on
JDBC technology.
1. What is JDBC?
JDBC is Java application programming interface that allows the Java programmers to
access database management system from Java code. It was developed by Java Soft, a
subsidiary of Sun Microsystems.
JDBC has four Components:
1. The JDBC API.
2. The JDBC Driver Manager.
3. The JDBC Test Suite.
4. The JDBC-ODBC Bridge.
1. The JDBC API.
The JDBC application programming interface provides the facility for accessing the
relational database from the Java programming language. The API technology provides
the industrial standard for independently connecting Java programming language and a
wide range of databases. The user not only execute the SQL statements, retrieve results,
and update the data but can also access it anywhere within a network because of it's
"Write Once, Run Anywhere" (WORA) capabilities.
Due to JDBC API technology, user can also access other tabular data sources like
spreadsheets or flat files even in the a heterogeneous environment. JDBC application
programming interface is a part of the Java platform that has included Java Standard
Edition (Java SE) and the Java Enterprise Edition (Java EE) in itself.
The JDBC API has four main interfaces:
The latest version of JDBC 4.0 application programming interface is divided into two
packages
i-) java.sql
39
-
7/28/2019 Automatic Alias Doc.3
40/56
ii-) javax.sql.
Java SE and Java EE platforms are included in both the packages.
2. The JDBC Driver Manager.
The JDBC Driver Manager is a very important class that defines objects which connect
Java applications to a JDBC driver. Usually Driver Manager is the backbone of the JDBC
architecture. It's very simple and small that is used to provide a means of managing the
different types of JDBC database driver running on an application. The main
responsibility of JDBC database driver is to load all the drivers found in the system
properly as well as to select the most appropriate driver from opening a connection to a
database. The Driver Manager also helps to select the most appropriate driver from the
previously loaded drivers when a new open database is connected.
3. The JDBC Test Suite.
The function of JDBC driver test suite is to make ensure that the JDBC drivers will run
user's program or not. The test suite of JDBC application program interface is very
useful for testing a driver based on JDBC technology during testing period. It ensures the
requirement of Java Platform Enterprise Edition (J2EE).
4. The JDBC-ODBC Bridge.
The JDBC-ODBC bridge, also known as JDBC type 1 driver is a database driver that
utilize the ODBC driver to connect the database. This driver translates JDBC method
calls into ODBC function calls. The Bridge implements Jdbc for any database for which
an Odbc driver is available. The Bridge is always implemented as the sun.jdbc.odbc Java
package and it contains a native library used to access ODBC.
Now we can conclude this topic: This first two component of JDBC, the JDBC API and
the JDBC Driver Manager manages to connect to the database and then build a java
program that utilizes SQL commands to communicate with any RDBMS. On the other
hand, the last two components are used to communicate with ODBC or to test web
application in the specialized environment.
40
-
7/28/2019 Automatic Alias Doc.3
41/56
JDBC Architecture
1. Database connections
2. SQL statements
3. Result Set4. Database metadata
5. Prepared statements
6. Binary Large Objects (BLOBs)
7. Character Large Objects (CLOBs)
8. Callable statements
9. Database drivers
10. Driver manager
The JDBC API uses a Driver Manager and database-specific drivers to provide
transparent connectivity to heterogeneous databases. The JDBC driver manager ensures
that the correct driver is used to access each data source. The Driver Manager is capable
of supporting multiple concurrent drivers connected to multiple heterogeneous databases.
The location of the driver manager with respect to the JDBC drivers and the servlet is
shown in Figure .
Layers of the JDBC Architecture
41
-
7/28/2019 Automatic Alias Doc.3
42/56
A JDBCdrivertranslates standardJDBCcalls into a network or database protocol or into
a database library API call that facilitates communication with the database. This
translation layer provides JDBC applications with database independence. If the back-end
database changes, only the JDBC driver need be replaced with few code modifications
required. There are four distinct types of JDBC drivers
JDBC Driver and Its Types
Type 1 JDBC-ODBC Bridge. Type 1 drivers act as a "bridge"between JDBC and
another database connectivity mechanism such as ODBC. The JDBC- ODBC bridge
provides JDBC access using most standard ODBC drivers. This driver is included in the
Java 2 SDK within the sun.jdbc.odbc package. In this driver the java statements are
converted to jdbc statements. A JDBC statement calls the ODBC by using the JDBC-
ODBC Bridge. And finally the query is executed by the database. This driver has serious
limitation for many applications
Type 1 JDBC Architecture
42
-
7/28/2019 Automatic Alias Doc.3
43/56
Type 2 Java to Native API. Type 2 drivers use the Java Native Interface (JNI) to make
calls to a local database library API. This driver converts the JDBC calls into a database
specific call for databases such as SQL, ORACLE etc. This driver communicates directly
with the database server. It requires some native code to connect to the database. Type 2
drivers are usually faster than Type 1 drivers. Like Type 1 drivers, Type 2 drivers require
native database client libraries to be installed and configured on the client machine.
Type 2 JDBC Architecture
Type 3 Java to Network Protocol Or All- Java Driver. Type 3 drivers are pure Java
drivers that use a proprietary network protocol to communicate with JDBC middlewareon the server. The middleware then translates the network protocol to database-specific
function calls. Type 3 drivers are the most flexible JDBC solution because they do not
require native database libraries on the client and can connect to many different databases
on the back end. Type 3 drivers can be deployed over the Internet without client
installation.
43
-
7/28/2019 Automatic Alias Doc.3
44/56
Java-------> JDBC statements------> SQL statements ------> databases.
Type 3 JDBC Architecture
Type 4 Java to Database Protocol. Type 4 drivers are pure Java drivers that implement a
proprietary database protocol (like Oracle's SQL*Net) to communicate directly with the
database. Like Type 3 drivers, they do not require native database libraries and can be
deployed over the Internet without client installation. One drawback to Type 4 drivers is
that they are database specific. Unlike Type 3 drivers, if your back-end database changes,
you may save to purchase and deploy a new Type 4 driver (some Type 4 drivers are
available free of charge from the database manufacturer). However, because Type drivers
communicate directly with the database engine rather than through middleware or a
native library, they are usually the fastest JDBC drivers available. This driver directly
converts the java statements to SQL statements.
Type 4 JDBC Architecture
So, you may be asking yourself, "Which is the right type of driver for your application?"
44
-
7/28/2019 Automatic Alias Doc.3
45/56
Well, that depends on the requirements of your particular project. If you do not have the
opportunity or inclination to install and configure software on each client, you can rule
out Type 1 and Type 2 drivers.
However, if the cost of Type 3 or Type 4 drivers is prohibitive, Type 1 and type 2 drivers
may become more attractive because they are usually available free of charge. Price
aside, the debate will often boil down to whether to use Type 3 or Type 4 driver for a
particular application. In this case, you may need to weigh the benefits of flexibility and
interoperability against performance. Type 3 drivers offer your application the ability to
transparently access different types of databases, while Type 4 drivers usually exhibit
better performance and, like Type 1 and Type 2 drivers, may be available free if charge
from the database manufacturer
8. SYSTEM TESTING
INTRODUCTION
Testing is one of the most important phases in the software development activity.
In software development life cycle (SDLC), the main aim of testing process is the
quality; the developed software is tested against attaining the required functionality and
performance.
During the testing process the software is worked with some particular test cases
and the output of the test cases are analyzed whether the software is working according to
the expectations or not.
The success of the testing process in determining the errors is mostly depends
upon the test case criteria, for testing any software we need to have a description of the
expected behavior of the system and method of determining whether the observed
behavior confirmed to the expected behavior.
LEVELS OF TESTING
Since the errors in the software can be injured at any stage. So, we have to carry
out the testing process at ferent levels during the development. The basic levels of testing
45
-
7/28/2019 Automatic Alias Doc.3
46/56
are Unit, Integration, System and Acceptance Testing.
The Unit Testing is carried out on coding. Here different modules are tested
against the specifications produced during design for the modules. In case of integration
testing different tested modules are combined into sub systems and tested in case of the
system testing the full software is tested and in the next level of testing the system is
tested with user requirement document prepared during SRS.
There are two basic approaches for testing. They are
FUNCTIONAL TESTING:
In Functional Testing test cases are decided solely on the basis of requirements of the
program or module and the internals of the program or modules are not considered for
selection of test cases. This is also called Black Box Testing
STRUCTURAL TESTING:
In Structural Testing test cases are generated on actual code of the program or module to
be tested. This is called White Box Testing.
TESTING PROCESS
A number of activities must be performed for testing software. Testing starts with test
plan. Test plan identifies all testing related activities that need to be performed along with
the schedule and guide lines for testing. The plan also specifies the levels of testing that
need to be done, by identifying the different testing units. For each unit specified in the
plan first the test cases and reports are produced. These reports are analyzed.
TEST PLAN:
Test plan is a general document for entire project, which defines the scope, approach to
be taken and the personal responsible for different activities of testing. The inputs for
forming test plans areProject plan
Requirements document
System design
TEST CASE SPECIFICATION:
Although there is one test plan for entire project test cases have to be specified separately
46
-
7/28/2019 Automatic Alias Doc.3
47/56
for each test case. Test case specification gives for each item to be tested. All test cases
and outputs expected for those test cases.
TEST CASE EXECUTION AND ANALYSIS:
The steps to be performed for executing the test cases are specified in separate document
called test procedure specification. This document specify any specify requirements that
exist for setting the test environment and describes the methods and formats for reporting
the results of testing.
UNIT TESTING:
Unit testing mainly focused first in the smallest and low level modules, proceeding one at
a time. Bottom-up testing was performed on each module. As developing a driver
program, that tests modules by developed or used. But for the purpose of testing, modules
themselves were used as stubs, to print verification of the actions performed. After the
lower level modules were tested, the modules that in the next higher level those make use
of the lower modules were tested. Each module was tested against required functionally
and test cases were developed to test the boundary values.
INTEGRATION TESTING:
Integration testing is a systematic technique for constructing the program structure, while
at the same time conducting tests to uncover errors associated with interfacing. As the
system consists of the number of modules the interfaces to be tested were between the
edges of the two modules. The software tested under this was incremental bottom-up
approach.
Bottom-up approach integration strategy was implemented with the following steps.
Low level modules were combined into clusters that perform specific software sub
functions.
SYSTEM TESTING:
System testing is a series of different tests whose primary purpose is to fully exercise the
computer-based system. It also tests to find discrepancies between the system and its
original objective, current specifications.
47
-
7/28/2019 Automatic Alias Doc.3
48/56
TEST CASES:
48
S.no Test case name Test
Procedure
Preconditio
n
Expected
Result
O/P Specification
Document
1. ADMIN Sign in
Form
Update
Priority
HOME Login
Successfully
Success
Login.jsp
2. Search for keyword Enter
Keyword
Enter valid
Keyword
Display
Result
Failure SeachResultp
3. Search for keyword Enter
Keyword
Enter at
Least
Single letter
Display
Result
Success
SeachResultp
-
7/28/2019 Automatic Alias Doc.3
49/56
8. INPUT & OUTPUT SCREENS
8.1 Search Page:
49
-
7/28/2019 Automatic Alias Doc.3
50/56
8.2 Login Page:
50
-
7/28/2019 Automatic Alias Doc.3
51/56
51
-
7/28/2019 Automatic Alias Doc.3
52/56
10. CONCLUSION
It has been a great pleasure for us to work on this exciting and challengingproject. This project proved good for me as it provided practical knowledge of not
only programming in JAVA and SERVLETS web based application and someextent Windows Application will be great demand in future. This will providebetter opportunities and guidance in future in developing projects independentlyand TOMCAT Server, but also about all handling procedure related withAutomatic Discovery of Personal Name Aliases from the Web
. It also provides knowledge about the latest technology used in developing web enabled
application and client server technology that will be great demand in future. This will
provide better opportunities and guidance in future in developing projects independently.
Now we have demonstrated that BinRank can achieve subsecond query execution time
on the English Wikipedia data set, while producing high-quality search results that
closely approximate the results of ObjectRank on the original graph.
52
-
7/28/2019 Automatic Alias Doc.3
53/56
11. USER MANUAL: To Use our software you need to have following software
components installed on your PC
1. JAVA2. Apache tomcat server 6.0
3. XAMPP Control Panel (Default MySql Database)
1. JAVA:
To download java go to following link
www.java.com/en/download/index.jsp
And select your OS type and Version and install it on your system. After installing javaset following path in your system environment options
Setting PATH and CLASSPATH
Determining the current values of PATH and CLASSPATH
1. Unix
Type these commands in a command window:
echo $PATH
echo $CLASSPATH
If you get a blank command line in response to either of these, then that particularvariable has no value (it has not yet been set).
2. Windows
Type these commands in a command window:
echo %PATH%
echo %CLASSPATH%
If you get the message "echo is on" for either of these, then that particular variable has novalue (it has not yet been set).
3. Windows 98
First, try the instructions for "Other Versions of Windows." If you are able to set PATH
53
-
7/28/2019 Automatic Alias Doc.3
54/56
via the System window, great! Otherwise, you will need to modify a line of text in thec:\autoexec.bat file and restart your computer.
Start Notepad (Start > Program Files > Accessories > Notepad)
Open c:\autoexec.bat (File > Open, change to the c: folder and look for and openautoexec.bat. If you don't find one, create one.)
You might find one or more than one line that starts with "set path". Look for one.
If you do not find any lines starting with "set path", then add this new line to the end ofthe autoexec.bat file:
set path=c:\j2sdk1.4.1_01\bin
(This assumes that you really do have such a folder after you installed Java SDK 1.4.
Please verify as needed.)
If you already have one or more lines starting with "set path", go to the last one. If it doesnot currently include "c:\j2sdk1.4.1_01\bin", then add a semicolon to the righthand end ofthe "set path" expression and then add this:
c:\j2sdk1.4.1_01\bin
Save the changes to autoexec.bat.
You might find one or more than on line that starts with "set classpath". Look for one.
If you do not find any lines starting with "set classpath", exit Notepad and any otherprograms and restart your computer. Try the java and javac commands again to see if theywork now. You can ignore the remaining instructions below.
If you already have one or more lines starting with "set classpath", go to the last one. Addthis to the righthand end of the "set classpath" expression:
Save the changes to autoexec.bat, exit Notepad and any other programs and restart yourcomputer. Try the java and javac commands again.
2. APACHE: Download Apache tomcat server from following website
http://tomcat.apache.org/download-55.cgi
And install it my assigning a port number , username and password.
54
-
7/28/2019 Automatic Alias Doc.3
55/56
3. XAMPP Control Panel (Default MySql Database):
Download Xampp from following wed site:
www.apachefriends.org/en/xampp-windows.html
STANDARD INSTALLATION:
1. Double-click on the Windows installation icon, xampp-win32-1.xxx-installer.exe.
The installation will commence, and standard options are presented. Xampp installs by
default to C:\Program Files\Xampp. Check the relevant boxes to install Apache, mySQL,
and FileZilla as a service on NT-type systems -- NT4, W2K, XP -- (recommended). This
means they start up with Windows, and Windows closes them to shut down.
2. Run the program by clicking the Start Menu item.
3. Start / stop the individual applications via the Xampp Control Panel, in the Windows
Start menu.
4. To Uninstall: Windows - Control Panel - Add/Remove Programs - click the Xampp
entry.
55
http://www.apachefriends.org/en/xampp-windows.htmlhttp://www.apachefriends.org/en/xampp-windows.html -
7/28/2019 Automatic Alias Doc.3
56/56
12. BIBLIOGRAPHYREFERENCES/BIBILIOGRAPHY
JAVA Technologies:
JAVA Complete Reference
Java Script Programming by Yehuda Shiran
JAVA server pages by Larne Pekowsley.
T.H. Haveliwala, "Topic-Sensitive PageRank,"Proc.2002
G. Jeh and J. Widom, "Scaling Personalized Web Search,"Proc.
A. Balmin, V. Hristidis, and Y. Papakonstantinou, "ObjectRank: Authority-Based
Keyword Search in Databases," Proc. Int'l Conf. Very Large Data
Bases(VLDB),2004.
HTML
www.w3schools.com.
DATA MINING
Data Mining Concepts and Techniques Jiawei Han and Micheline Kamber.
MYSQL
http://www.mysqltutorial.org/