0% found this document useful (0 votes)
47 views62 pages

Exploring ECommerce Product Experience Based On Fusion Sentiment Analysis Method DOCUMENT

This study presents a fusion sentiment analysis method that integrates textual analysis and machine learning to derive insights from online product reviews, particularly focusing on Amazon book reviews. The method involves sentiment feature extraction, polarity identification using SVM, and topic extraction through LDA, with an innovative weighting approach to account for varying word contributions. The research emphasizes the importance of understanding consumer sentiments for improving products and marketing strategies in the e-commerce sector.

Uploaded by

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

Exploring ECommerce Product Experience Based On Fusion Sentiment Analysis Method DOCUMENT

This study presents a fusion sentiment analysis method that integrates textual analysis and machine learning to derive insights from online product reviews, particularly focusing on Amazon book reviews. The method involves sentiment feature extraction, polarity identification using SVM, and topic extraction through LDA, with an innovative weighting approach to account for varying word contributions. The research emphasizes the importance of understanding consumer sentiments for improving products and marketing strategies in the e-commerce sector.

Uploaded by

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

ABSTRACT

With the growth of e-commerce, online reviews provide valuable insights into customer
perceptions. This study proposes a fusion sentiment analysis method combining textual
analysis and machine learning to extract insights from product reviews. The method includes
three steps:

1. Sentiment Feature Extraction: Using a sentiment dictionary, extended with semantic


similarity to capture emotional information.
2. Sentiment Polarity Identification: Classifying reviews into positive or negative
sentiments using the SVM algorithm.
3. Sentiment Topic Extraction: Identifying topics related to customer experiences using
the LDA model.

A key innovation is introducing a weighting method to account for varying sentiment


contributions of words. Tested on Amazon book reviews, the method accurately classifies
sentiments and uncovers factors influencing reading experiences. The results provide
actionable insights for product and marketing improvements. This research highlights the
potential of machine learning in analyzing complex datasets and driving data-driven decisions
to optimize business strategies.

Keywords: E-commerce, online reviews, sentiment analysis, machine learning, sentiment


dictionary, SVM algorithm, LDA model, semantic similarity, weighting method, consumer
insights, product improvement, marketing strategy, Amazon reviews, emotional tendencies,
data-driven decisions.
CONTENTS Page No.
1. INTRODUCTION 1-2
2. LITERATURE SURVEY 3
2.1 Existing System 3-4
2.1.1 Disadvantages 4
2.2 Proposed System 4
2.2.1 Advantages 5
3. REQUIREMENTS 6
3.1 System Requirements 6
3.2 Software Requirements 6
4. SYSTEM STUDY 7
4.1 Feasibility Study 7-8
5. SYSTEM DESIGN AND DEVELOPMENT 9
5.1 Input Design 9
5.2 Output Design 9-10
5.3 Architecture Diagram 11
5.4 Use-Case Diagram 12-13
5.5 Sequence Diagram 14
5.5 Data Flow Diagram 15
5.6 Flow-Chart: User 16
5.7 Flow-Chart: Admin 17
5.8 Class Diagram 18
6. IMPLEMENTATION 19
6.1 Admin 19
6.2 User 19
6.3 Searches for Products 19
7. SOFTWARE ENVIRONMENT 20
7.1 Java technology 20-25
7.2 ODBC 25-27
7.3 JDBC 27-30
8. NETWORKING 31
8.1 TCP/IP Stack 31
8.2 IP Datagram 31
8.3-8.5 UDP, TCP, Internet Address 32-36
9. FEATURES OF THE LANGUAGES USED 37-49
10. TOMCAT 6.0 WEB SERVER 50
11. TESTING 51
11.1.1 Unit Testing 51
11.1.2 Integration Testing 51
11.1.3 Functional Test 52
11.1.4 System Test 52
11.1.5 Whtie Box Test 52
11.1.6 Black Box Testing 52-53
12. OTHER TESTING METHODOLOGIES 54
13. CONCLUSION 55-56
14. REFERENCES 57-59
Fig No LIST OF FIGURES Page No.
Fig:5.3 Architecture diagram 11
Fig:5.4 User-case diagram 12-13
Fig:5.5 Sequence diagram 14
Fig:5.6 Data flow diagram 15
Fig:5.7 Flow-chart: user 16
Fig:5.8 Flow-chart: admin 17

Fig:5.9 Class diagram 18

Fig:7.1.1 Java Program Execution Process 21


Fig:7.1.2 Java Program Compilation and Interpretation 21
Fig:7.1.3 Java Architecture Diagram 22
Fig:7.1.4 Java 1.3 SDK and JRE Components 24
Fig:7.3.1 Java Compilation and Interpretation 30
Fig:8.9 Representation of an IP address 33
Fig:9.1 Representation of the Java Compilation and Interpretation process 39

Fig:9.5.3 Three Tier Architecture for a Web Application 46


Fig:10.0 Apache Tomcat welcome page 50
1.INTRODUCTION

Sentiment Analysis, also called Opinion Mining, is a Natural Language


Processing (NLP) technique used for identifying, extracting and analyzing the subjective
information in texts [1], [2]. With the advent of the information era, Internet has infiltrated every
aspect of people's daily routines. The network platform has become a progressively important
medium for people to share opinions and make comments [3], [4], [5], [6]. In recent years, there
has been an explosion of valuable reviews about public figures, major events and commercial
products on the Internet. Online reviews transmit rich sentiment information including individual's
views, attitudes or emotional tendencies such as joy, anger, sadness, criticism and praise, which
enable potential users to ascertain public opinions on certain people, events or products. For these
reasons, it is of crucial importance to identify and analyze the subjective information that expresses
personal ideas and sentiments from social network platforms in aspects of public opinion
investigation, policy development and business decision-making [7], [8], [9].

A boom in e-commerce has been created by the rapid development of the Internet and
the transformation of people's shopping modes, which has contributed to the emergence of
Amazon, eBay and other numerous e-commerce platforms [10], [11]. In the meantime, a growing
number of customers are sharing their subjective perceptions of the product or service on the
platform through online comments. The reviews not merely reflect the performance as well as the
quality of online goods or services, but also display consumers' shopping experiences in an
authentic and comprehensive manner. It turns out, online reviews have been regarded as a valid
information source for both consumers and merchants [12], [13], [14]. Especially for certain new
and untried products, the reviews offer consumers valuable references for product selection, which
is of great significance to reduce purchasing risks. Besides, the reviews help merchants have an
appreciation of consumer attitudes, such as motivations, satisfaction, etc., thus developing
products that can meet the expectations of consumers. Admittedly, it is crucial for business success
to gain insights into product experience and timely grasp consumers' practical demands from the
reviews.

In this context, how to identify and obtain consumers' perceptions and attitudes from
massive casual comments has become a hot-button topic. Addressing this requirement, the present

1
research proposes a fusion sentiment analysis method, aiming to mine consumers' experiences of
online products and track users' demands. The potential application values of the research are
mainly embodied as follows. In one respect, it contributes to customers' comprehensive assessment
on product qualities and rational consumption. More importantly, it provides an effective approach
for merchants to understand consumers' practical demands, which makes it possible for future
product improvements and marketing strategy optimization.

Methodologically, we combine textual analysis techniques with machine learning


algorithms. Specifically, the method mainly consists of the following steps. Firstly, the sentiment
dictionary is used to extract sentiment features, based on which, the Support Vector Machines
algorithm is adopted to identify sentiment polarities of review texts. Subsequently, sentiment
topics are extracted from reviews with distinct sentiment polarities respectively through the Latent
Dirichlet
Allocation (LDA) model. The contribution of our method mainly lies in taking full advantages of
the sensitivity of sentiment dictionary to emotional information and the strong generalization of
machine learning algorithms. Importantly, the method overcomes demerits that the susceptibility
to human interference in feature extraction of machine learning based methods and the weak
adaptability in cross-domain application of dictionary-based methods. In the meantime, the
dictionary is extended based on semantic similarity to avoid the omission of emotional
information. Apart from that, in the present research, the fact that words in reviews have unequal
sentiment contribution, which has been neglected in the existing studies, is sufficiently taken into
account. The weighting method is introduced in the process of sentiment feature extraction, that
is, the weight is used to measure sentiment contribution.

The rest of the paper is organized as follows. Section 2 introduces the related work
of the research. Section 3 presents the principles of the proposed method. We display the
experimental process and analyze the experimental results in Section 4. Finally, Section 5
concludes with implications, limitations as well as future lines of the research.

2
2.LITERATURE SURVEY

2.1 EXISTING SYSTEM:


In recent years, e-commerce has flourished and penetrated into almost all
areas of our lives, particularly in consumption behavior. Various e-commerce products with high
qualities and low prices have been attracting an increasing number of consumers. However, online
shoppers are inclined to know more about the product through online comments, for it is not
practical for them to get direct experience with the product. In this context, purchasing decisions
are often strongly influenced by online reviews [15]. People would prefer to trust word-of-mouth
reviews of products from other consumers rather than trust marketing advertisements, as the other
consumers are considered as disinterested parties [16]. This phenomenon makes the commercial
value of online reviews increasingly prominent. In fact, the research on excavating
the value of massive online reviews has drawn extensive attention from the academic community.

At present, many researchers have reached a general consensus that sentiment analysis is an
efficacious approach to exploring the commercial value of online reviews [17], [18], [19], [20].
Sentiment analysis has been applied to many fields
of contemporary organizational business activities, including enterprise management, business
decision-making, etc. In terms of the value derived from the application of sentiment analysis in
contemporary corporations, it is worth noting the research of Saura et al. [21] who explored major
opportunities and obstacles for remote work during the COVID-19 pandemic. As they reported,
their study attempted to answer
``what are the main opportunities and challenges of remote work'' by extracting relevant emotional
topics from Twitter's GUC data. Obviously, their research has active guiding significance for
helping companies cope with the challenges brought by the epidemic. As for business decision-
making, Kauffmann et al. [22] discussed the positive role of business decisions in creating
sustainable competitive advantage.
He et al. [23] presented a framework to demonstrate how to make use of media data to obtain
valuable knowledge for business decisions.

3
Additionally, in aspects of products and services, as highlighted by Gonçalves et al. [24], the value
of sentiment analysis lies in monitoring the reputation of products or services through review
analysis, providing analytical perspectives for responding to market opinions. For instance, Wang
et al. [25] explored the demanding themes and feature extension words of distinct car models by
means of extracting the demand preference topic of new energy automobile customers. Their study
aims to help consumers understand other users' feedback, and to facilitate car enterprises
objectively capturing consumers' practical demands. Similarly, Arora et al. [26] carried out a
comprehensive survey into useful insights from online platforms regarding the performance of
welcome smart phone brands, battery life as well as screen quality. The survey results indicated
the great latent capacity of sentiment analysis of online reviews in assessing consumers' reflections
on popularized brands of the portable device. Correspondingly, Almjawel et al. [27] tried to
conduct comprehensible sentiment analysis of online book reviews collected from Amazon to
assist users in making efficient purchasing decisions. With respect to services, Chang et al. [28]
explored the service quality of the hotel from the standpoint of consumers. By analyzing the
attitudes and emotions conveyed in customer comments, they found that professional services and
clean rooms have a positive effect on improving customer satisfaction. This is consistent with
Freitas's emphasis on evaluating service quality from the perspective of customers [29].
2.1.1 Disadvantages
 An existing methodology doesn’t implement Support Vector Machines (SVM) method.
 The system not implemented the VADER-based,BosonNLP-based, KNN-based, SVM-
based and BERT-based techniques.

2.2 PROPOSED SYSTEM:

Methodologically, we combine textual analysis techniques with machine learning algorithms.


Specifically, the method mainly consists of the following steps. Firstly, the sentiment dictionary
is used to extract sentiment features, based on which, the Support Vector Machines algorithm is
adopted to identify sentiment polarities of review texts. Subsequently, sentiment topics are
extracted from reviews with distinct sentiment polarities respectively through the Latent Dirichlet
Allocation (LDA) model.

4
The contribution of our method mainly lies in taking full advantages of the sensitivity of sentiment
dictionary to emotional information and the strong generalization of machine learning algorithms.
Importantly, the method overcomes demerits that the susceptibility to human interference in
feature extraction of machine learning based methods and the weak adaptability in cross-domain
application of dictionary-based methods. In the meantime, the dictionary is extended based on
semantic similarity to avoid the omission of emotional information. Apart from that, in the present
research, the fact that words in reviews have unequal sentiment contribution, which has been
neglected in the existing studies, is sufficiently taken into account. The weighting method is
introduced in the process of sentiment feature extraction, that is, the weight is used to measure
sentiment contribution.
2.2.1 Advantages:
 In the proposed system, sentiment classification is to automatically identify sentiment
polarities of review texts, thereby investigating the consumer experience of online
commodities in terms of the ``positive'' and ``negative'' respectively.
 In the proposed system of SVM principles, firstly, the text vector is mapped into a space,
where a maximum interval hyperplane is established. Then, the hyperplane is separated to
maximize the distance between the two parallel hyperplanes.

5
3. REQUIREMENTS

3.1 SYSTEM REQUIREMENTS:


➢ H/W System Configuration: -

➢ Processor - Pentium –IV


➢ RAM - 4 GB (min)
➢ Hard Disk - 20 GB
➢ Key Board - Standard Windows Keyboard
➢ Mouse - Two or Three Button Mouse
➢ Monitor - SVGA

3.2 SOFTWARE REQUIREMENTS:


 Operating System - Windows XP
 Coding Language - Java/J2EE(JSP,Servlet)
 Front End - J2EE
 Back End - MySQL

6
4. SYSTEM STUDY

4.1 FEASIBILITY STUDY:

The feasibility of the project is analyzed in this phase and business proposal is put

forth with a very general plan for the project and some cost estimates. During system

analysis the feasibility study of the proposed system is to be carried out. This is to ensure

that the proposed system is not a burden to the company. For feasibility analysis, some

understanding of the major requirements for the system is essential.

Three key considerations involved in the feasibility analysis are

 ECONOMICAL FEASIBILITY

 TECHNICAL FEASIBILITY

 SOCIAL FEASIBILITY

4.1.1 ECONOMICAL FEASIBILITY

This study is carried out to check the economic impact that the system will have on

the organization. The amount of fund that the company can pour into the research and

development of the system is limited. The expenditures must be justified. Thus, the

developed system as well within the budget and this was achieved because most of the

technologies used are freely available. Only the customized products had to be purchased.

4.1.2 TECHNICAL FEASIBILITY:

This study is carried out to check the technical feasibility, that is, the technical

requirements of the system. Any system developed must not have a high demand on the

available technical resources. This will lead to high demands on the available technical

resources. This will lead to high demands being placed on the client. The developed system

7
must have a modest requirement, as only minimal or null changes are required for

implementing this system.

4.1.3 SOCIAL FEASIBILITY:

The aspect of study is to check the level of acceptance of the system by the user.

This includes the process of training the user to use the system efficiently. The user must

not feel threatened by the system, instead must accept it as a necessity. The level of

acceptance by the users solely depends on the methods that are employed to educate the

user about the system and to make him familiar with it. His level of confidence must be

raised so that he is also able to make some constructive criticism, which is welcomed, as

he is the final user of the system.

8
5. SYSTEM DESIGN AND DEVELOPMENT

5.1 INPUT DESIGN:


Input Design plays a vital role in the life cycle of software development, it requires
very careful attention of developers. The input design is to feed data to the application as
accurate as possible. So inputs are supposed to be designed effectively so that the errors
occurring while feeding are minimized. According to Software Engineering Concepts, the
input forms or screens are designed to provide to have a validation control over the input
limit, range and other related validations.

This system has input screens in almost all the modules. Error messages are
developed to alert the user whenever he commits some mistakes and guides him in the right
way so that invalid entries are not made. Let us see deeply about this under module design.

Input design is the process of converting the user created input into a computer-
based format. The goal of the input design is to make the data entry logical and free from
errors. The error is in the input are controlled by the input design. The application has been
developed in user-friendly manner. The forms have been designed in such a way during
the processing the cursor is placed in the position where must be entered. The u ser is also
provided with in an option to select an appropriate input from various alternatives related
to the field in certain cases.

Validations are required for each data entered. Whenever a user enters an erroneous
data, error message is displayed and the user can move on to the subsequent pages after
completing all the entries in the current page.

5.2 OUTPUT DESIGN:


The Output from the computer is required to mainly create an efficient method of
communication within the company primarily among the project leader and his team
members, in other words, the administrator and the clients. The output of VPN is the system
which allows the project leader to manage his clients in terms of creating new clients and

9
assigning new projects to them, maintaining a record of the project validity and providing
folder level access to each client on the user side depending on the projects allotted to him.
After completion of a project, a new project may be assigned to the client. User
authentication procedures are maintained at the initial stages itself. A new user may be
created by the administrator himself or a user can himself register as a new user but the
task of assigning projects and validating a new user rests with the administrator only.

The application starts running when it is executed for the first time. The server has to be
started and then the internet explorer in used as the browser. The project will run on the
local area network so the server machine will serve as the administrator while the other
connected systems can act as the clients. The developed system is highly user friendly and
can be easily understood by anyone using it even for the first time.

10
5.3 ARCHITECTURE DIAGRAM:

Web Server

1. List of users and authorize


2. Add and View domains
3. Add product Posts
Accepting all user Information 4. List all Product posts with rank
Admin
5. List of search history
View user data details 6. Update product post details
7. View analysis of user search
8. View analysis of negative
Authorize behavior
the Admin 9. View Analysis of Positive
behavior
Process all
10. View all reviewed Posts
user queries
11. View Analysis of Positive and
Negative behavior in Chart

Store and retrievals

Registering
the User
WEB
Database

End User
1. View My Profile
2. Search products and review about the
products
3. View other products reviews and give your
review.
4. view my search history
5. Search for top N Product posts

Fig:5.3 ARCHITECTURE DIAGRAM

11
5.4 USE-CASE DIAGRAM:

List of users and authorize, Add


and View domains,Add product
Posts

List all Product posts with rank,


List of search history

Update product post details,View


analysis of user search

View analysis of negative


Admin behavior,View Analysis of Positive
behavior

View all reviewed Posts,View


Analysis of Positive and
Negative behavior in Chart

12
Search products and review about the products

View other products reviews and give


your review

User
view my search history

Search for top N Product posts

Fig:5.4 USE-CASE DIAGRAM

13
5.5 SEQUENCE DIAGRAM:

Admin User
Web Server

View all Users and authorize User Details

Add and View domains


Search products and review about the products
View allAdd
Users and authorize
product Posts

List all Product posts with rank,List of


View other products reviews and give your
View all search
Users andhistory
authorize review

1. View negative (-)Emotion Tweet


reviews view my search history
Update product post details,View
analysis of user search analysis of
negative behavior
Search for top N Product posts

View all reviewed Posts,View


Analysis of Positive and Negative
behavior in Chart

Fig:5.5 SEQUENCE DIAGARM

14
5.6 DATA FLOW DIAGRAM:

Add and View


domains,Add View analysis of user
product Posts search,View analysis of
Admin System negative behavior,View
Analysis of Positive
behavior.

Response

Register Search products


with the and review about
system the products

List all Product posts with


rank,Update product post details List Request
of search history View Analysis of
Positive behavior,View all reviewed End User View Their
Posts,View Analysis of Positive and
Own
Negative behavior in Chart
Details

Search products and review about the


products ,View other products reviews and
give your review.,view my search
history,Search for top N Product posts

Fig:5.6 DATA FLOW DIAGRAM

15
5.7 FLOW-CHART: USER:

Start

User Register

Yes No
Login

View users Profile Username & Password


Wrong

Search products and review about the


products

View other products reviews and give your


review

Logout

view my search history

Search for top N Product posts

Fig:5.7 FLOW-CHART: USER

16
5.8 FLOW-CHART: ADMIN:

Start

Admin Login

Yes No
Login

List of users and authorize Username &


Password Wrong

Add and View domains,


Posts

Log Out
List all Product posts with
rank,history

Update product post details


View analysis of user search,
negative behavior

View all reviewed Posts,Positive


and Negative behavior in Chart

Fig:5.8 FLOW-CHART: ADMIN

17
5.9 CLASS DIAGRAM:

Methods Admin

List of users and authorize,Add and View domains,Add product Posts ,List
all Product posts with rank,List of search history,Update product post
details,View analysis of user search,View analysis of negative
Members behavior,View Analysis of Positive behavior,View all reviewed Posts,View
Analysis of Positive and Negative behavior in Chart

Username,password,product posts,search,positive behavior,negative behavior.

Login
Register
Login (), Reset (),
Methods
Register (), Reset ()
Methods Register ().
Login, Register
User Name, Password. User Name, Password, E-
User Name, Password Members mail, Mobile, Address, DOB,
Members
Gender, Pin code, Image

End User
View My Profile,Search products and review about the products ,View other
products reviews and give your review.,view my search history,Search for top N
Product posts
Methods

Usename,product posts,top n..


Members

Fig:5.9 CLASS DIAGRAM

18
6. IMPLEMENTATION

 6.1 Admin

In this module, the admin has to login by using valid user name and password. After login
successful he can do some operations such as List of users and authorize, Add and View
domains, Add product Posts ,List all Product posts with rank, List of search history, Update
product post details, View analysis of user search, View analysis of negative behavior,
View Analysis of Positive behavior, View all reviewed Posts, View Analysis of Positive
and Negative behavior in Chart

 6.2 User

In this module, there are n numbers of users are present. User should register before doing
some operations. After registration successful he has to login by using authorized user
name and password. Login successful he will do some operations like View My Profile,
Search products and review about the products, View other products reviews and give your
review.,view my search history,Search for top N Product posts

6.3 Searches for Products using content keyword

In this module, user searches for product with its images. When user clicks on search
review, he will enter the product content keyword by searching topic ID, topic name,
category, reviewed by details, date and time and view topics will be displayed, the searches
of the reviews based on any keyword matching response will get from the server.

19
7. SOFTWARE ENVIRONMENT
7.1 Java Technology
Java technology is both a programming language and a platform.
7.1.1 The Java Programming Language
The Java programming language is a high-level language that can be characterized
by all of the following buzzwords:
 Simple
 Architecture neutral
 Object oriented
 Portable
 Distributed
 High performance
 Interpreted
 Multithreaded
 Robust
 Dynamic
 Secure
With most programming languages, you either compile or interpret a program so
that you can run it on your computer. The Java programming language is unusual in that a
program is both compiled and interpreted. With the compiler, first you translate a program
into an intermediate language called Java byte codes —the platform-independent codes
interpreted by the interpreter on the Java platform. The interpreter parses and runs each
Java byte code instruction on the computer. Compilation happens just once; interpretation
occurs each time the program is executed.

20
The following figure illustrates how this works.

Fig:7.1.1 Java Program Execution Process

You can think of Java byte codes as the machine code instructions for the Java Virtual
Machine (Java VM). Every Java interpreter, whether it’s a development tool or a Web
browser that can run applets, is an implementation of the Java VM. Java byte codes help
make “write once, run anywhere” possible. You can compile your program into byte codes
on any platform that has a Java compiler. The byte codes can then be run on any
implementation of the Java VM. That means that as long as a computer has a Java VM, the
same program written in the Java programming language can run on Windows 2000, a
Solaris workstation, or on an iMac.

Fig:7.1.2 Java Program Compilation and Interpretation


7.1.2 The Java Platform
A platform is the hardware or software environment in which a program
runs. We’ve already mentioned some of the most popular platforms like Windows

21
2000, Linux, Solaris, and MacOS. Most platforms can be described as a
combination of the operating system and hardware. The Java platform differs from
most other platforms in that it’s a software-only platform that runs on top of other
hardware-based platforms.
The Java platform has two components:
 The Java Virtual Machine (Java VM)
 The Java Application Programming Interface (Java API)
You’ve already been introduced to the Java VM. It’s the base for the Java
platform and is ported onto various hardware-based platforms.
The Java API is a large collection of ready-made software components that
provide many useful capabilities, such as graphical user interface (GUI) widgets.
The Java API is grouped into libraries of related classes and interfaces; these
libraries are known as packages. The next section, What Can Java Technology Do?
Highlights what functionality some of the packages in the Java API provide.
The following figure depicts a program that’s running on the Java platform. As
the figure shows, the Java API and the virtual machine insulate the program from
the hardware.

Fig:7.1.3 Java Architecture Diagram

Native code is code that after you compile it, the compiled code runs
on a specific hardware platform. As a platform-independent environment, the Java
platform can be a bit slower than native code. However, smart compilers, well-
tuned interpreters, and just-in-time byte code compilers can bring performance
close to that of native code without threatening portability.

22
7.1.3 What Can Java Technology Do?
The most common types of programs written in the Java programming language
are applets and applications. If you’ve surfed the Web, you’re probably already
familiar with applets. An applet is a program that adheres to certain conventions
that allow it to run within a Java-enabled browser.
However, the Java programming language is not just for writing cute, entertaining
applets for the Web. The general-purpose, high-level Java programming language
is also a powerful software platform. Using the generous API, you can write many
types of programs.
An application is a standalone program that runs directly on the Java platform. A
special kind of application known as a server serves and supports clients on a
network. Examples of servers are Web servers, proxy servers, mail servers, and
print servers. Another specialized program is a servlet. A servlet can almost be
thought of as an applet that runs on the server side. Java Servlets are a popular
choice for building interactive web applications, replacing the use of CGI scripts.
Servlets are similar to applets in that they are runtime extensions of applications.
Instead of working in browsers, though, servlets run within Java Web servers,
configuring or tailoring the server.
How does the API support all these kinds of programs? It does so with packages of
software components that provides a wide range of functionality. Every full
implementation of the Java platform gives you the following features:
 The essentials: Objects, strings, threads, numbers, input and output, data
structures, system properties, date and time, and so on.
 Applets: The set of conventions used by applets.
 Networking: URLs, TCP (Transmission Control Protocol), UDP (User
Data gram Protocol) sockets, and IP (Internet Protocol) addresses.
 Internationalization: Help for writing programs that can be localized for
users worldwide. Programs can automatically adapt to specific locales and
be displayed in the appropriate language.
 Security: Both low level and high level, including electronic signatures,
public and private key management, access control, and certificates.

23
 Software components: Known as JavaBeansTM, can plug into existing
component architectures.
 Object serialization: Allows lightweight persistence and communication
via Remote Method Invocation (RMI).
 Java Database Connectivity (JDBC TM): Provides uniform access to a
wide range of relational databases.
The Java platform also has APIs for 2D and 3D graphics, accessibility, servers,
collaboration, telephony, speech, animation, and more. The following figure
depicts what is included in the Java 2 SDK.

Fig:7.1.4 Java 1.3 SDK and JRE Components

7.1.4 How Will Java Technology Change My Life?

We can’t promise you fame, fortune, or even a job if you learn the Java
programming language. Still, it is likely to make your programs better and requires
less effort than other languages. We believe that Java technology will help you do
the following:
 Get started quickly: Although the Java programming language is a
powerful object-oriented language, it’s easy to learn, especially for
programmers already familiar with C or C++.

24
 Write less code: Comparisons of program metrics (class counts, method
counts, and so on) suggest that a program written in the Java programming
language can be four times smaller than the same program in C++.
 Write better code: The Java programming language encourages good
coding practices, and its garbage collection helps you avoid memory leaks.
Its object orientation, its JavaBeans component architecture, and its wide-
ranging, easily extendible API let you reuse other people’s tested code and
introduce fewer bugs.
 Develop programs more quickly: Your development time may be as much
as twice as fast versus writing the same program in C++. Why? You write
fewer lines of code and it is a simpler programming language than C++.
 Avoid platform dependencies with 100% Pure Java: You can keep your
program portable by avoiding the use of libraries written in other languages.
The 100% Pure JavaTM Product Certification Program has a repository of
historical process manuals, white papers, brochures, and similar materials
online.
 Write once, run anywhere: Because 100% Pure Java programs are
compiled into machine-independent byte codes, they run consistently on
any Java platform.
 Distribute software more easily: You can upgrade applets easily from a
central server. Applets take advantage of the feature of allowing new classes
to be loaded “on the fly,” without recompiling the entire program.

7.2 ODBC
Microsoft Open Database Connectivity (ODBC) is a standard programming
interface for application developers and database systems providers. Before ODBC became
a de facto standard for Windows programs to interface with database systems,
programmers had to use proprietary languages for each database they wanted to connect
to. Now, ODBC has made the choice of the database system almost irrelevant from a
coding perspective, which is as it should be. Application developers have much more

25
important things to worry about than the syntax that is needed to port their program from
one database to another when business needs suddenly change.
Through the ODBC Administrator in Control Panel, you can specify the particular
database that is associated with a data source that an ODBC application program is written
to use. Think of an ODBC data source as a door with a name on it. Each door will lead you
to a particular database. For example, the data source named Sales Figures might be a SQL
Server database, whereas the Accounts Payable data source could refer to an Access
database. The physical database referred to by a data source can reside anywhere on the
LAN.
The ODBC system files are not installed on your system by Windows 95. Rather,
they are installed when you setup a separate database application, such as SQL Server
Client or Visual Basic 4.0. When the ODBC icon is installed in Control Panel, it u ses a file
called ODBCINST.DLL. It is also possible to administer your ODBC data sources through
a stand-alone program called ODBCADM.EXE. There is a 16-bit and a 32-bit version of
this program and each maintains a separate list of ODBC data sources.

From a programming perspective, the beauty of ODBC is that the application can
be written to use the same set of function calls to interface with any data source, regardless
of the database vendor. The source code of the application doesn’t change whether it talks
to Oracle or SQL Server. We only mention these two as an example. There are ODBC
drivers available for several dozen popular database systems. Even Excel spreadsheets and
plain text files can be turned into data sources. The operating system uses the Registry
information written by ODBC Administrator to determine which low-level ODBC drivers
are needed to talk to the data source (such as the interface to Oracle or SQL Server). The
loading of the ODBC drivers is transparent to the ODBC application program. In a
client/server environment, the ODBC API even handles many of the network issues for the
application programmer.
The advantages of this scheme are so numerous that you are probably thinking there
must be some catch. The only disadvantage of ODBC is that it isn’t as efficient as talking
directly to the native database interface. ODBC has had many detractors make the charge
that it is too slow. Microsoft has always claimed that the critical factor in performance is

26
the quality of the driver software that is used. In our humble opinion, this is true. The
availability of good ODBC drivers has improved a great deal recently. And anyway, the
criticism about performance is somewhat analogous to those who said that compilers would
never match the speed of pure assembly language. Maybe not, but the compiler (or ODBC)
gives you the opportunity to write cleaner programs, which means you finish sooner.
Meanwhile, computers get faster every year.

7.3 JDBC
In an effort to set an independent database standard API for Java; Sun Microsystems
developed Java Database Connectivity, or JDBC. JDBC offers a generic SQL database
access mechanism that provides a consistent interface to a variety of RDBMSs. This
consistent interface is achieved through the use of “plug-in” database connectivity
modules, or drivers. If a database vendor wishes to have JDBC support, he or she must
provide the driver for each platform that the database and Java run on.
To gain a wider acceptance of JDBC, Sun based JDBC’s framework on ODBC. As
you discovered earlier in this chapter, ODBC has widespread support on a variety of
platforms. Basing JDBC on ODBC will allow vendors to bring JDBC drivers to market
much faster than developing a completely new connectivity solution.
JDBC was announced in March of 1996. It was released for a 90 day public review
that ended June 8, 1996. Because of user input, the final JDBC v1.0 specification was
released soon after.
The remainder of this section will cover enough information about JDBC for you to know
what it is about and how to use it effectively. This is by no means a complete overview of
JDBC. That would fill an entire book.

7.3.1 JDBC Goals


Few software packages are designed without goals in mind. JDBC is one that,
because of its many goals, drove the development of the API. These goals, in conjunction
with early reviewer feedback, have finalized the JDBC class library into a solid framework
for building database applications in Java.

27
The goals that were set for JDBC are important. They will give you some insight as to
why certain classes and functionalities behave the way they do. The eight design goals for
JDBC are as follows:

1. SQL Level API


The designers felt that their main goal was to define a SQL interface for Java.
Although not the lowest database interface level possible, it is at a low enough level for
higher-level tools and APIs to be created. Conversely, it is at a high enough level for
application programmers to use it confidently. Attaining this goal allows for future tool
vendors to “generate” JDBC code and to hide many of JDBC’s complexities from the
end user.
2. SQL Conformance
SQL syntax varies as you move from database vendor to database vendor. In an
effort to support a wide variety of vendors, JDBC will allow any query statement to be
passed through it to the underlying database driver. This allows the connectivity
module to handle non-standard functionality in a manner that is suitable for its users.
3. JDBC must be implemental on top of common database interfaces
The JDBC SQL API must “sit” on top of other common SQL level APIs. This
goal allows JDBC to use existing ODBC level drivers by the use of a software
interface. This interface would translate JDBC calls to ODBC and vice versa.
4. Provide a Java interface that is consistent with the rest of the Java system
Because of Java’s acceptance in the user community thus far, the designers feel that
they should not stray from the current design of the core Java system.
5. Keep it simple
This goal probably appears in all software design goal listings. JDBC is no
exception. Sun felt that the design of JDBC should be very simple, allowing for only
one method of completing a task per mechanism. Allowing duplicate functionality only
serves to confuse the users of the API.
6. Use strong, static typing wherever possible
Strong typing allows for more error checking to be done at compile time; also, less
error appear at runtime.

28
7. Keep the common cases simple
Because more often than not, the usual SQL calls used by the programmer are
simple SELECT’s, INSERT’s, DELETE’s and UPDATE’s, these queries should be
simple to perform with JDBC. However, more complex SQL statements should also be
possible.

Finally, we decided to proceed the implementation using Java Networking.

And for dynamically updating the cache table we go for MS Access database.

Java has two things: a programming language and a platform.


Java is a high-level programming language that is all of the following

Simple Architecture-neutral
Object-oriented Portable
Distributed High-performance
Interpreted multithreaded
Robust Dynamic
Secure

Java is also unusual in that each Java program is both compiled and
interpreted. With a compile you translate a Java program into an intermediate
language called Java byte codes the platform-independent code instruction is
passed and run on the computer.

Compilation happens just once; interpretation occurs each time the program
is executed. The figure illustrates how this works.

29
Java Interpreter
Program

Compilers My Program

Fig:7.3.1 Java Compilation and Interpretation

You can think of Java byte codes as the machine code instructions for the
Java Virtual Machine (Java VM). Every Java interpreter, whether it’s a Java
development tool or a Web browser that can run Java applets, is an
implementation of the Java VM. The Java VM can also be implemented in
hardware.

Java byte codes help make “write once, run anywhere” possible. You can
compile your Java program into byte codes on my platform that has a Java
compiler. The byte codes can then be run any implementation of the Java VM.
For example, the same Java program can run Windows NT, Solaris, and
Macintosh.

30
8. NETWORKING

8.1 TCP/IP stack

The TCP/IP stack is shorter than the OSI one:

8.2 IP datagram’s

The IP layer provides a connectionless and unreliable delivery system. It


considers each datagram independently of the others. Any association between
datagram must be supplied by the higher layers. The IP layer supplies a
checksum that includes its own header. The header includes the source and
destination addresses. The IP layer handles routing through an Internet. It is also
responsible for breaking up large datagram into smaller ones for transmission
and reassembling them at the other end.

31
8.3 UDP:

UDP is also connectionless and unreliable. What it adds to IP is a checksum


for the contents of the datagram and port numbers. These are used to give a
client/server model - see later.

8.4 TCP:

TCP supplies logic to give a reliable connection-oriented protocol above IP.


It provides a virtual circuit that two processes can use to communicate.

8.5 Internet addresses:

In order to use a service, you must be able to find it. The Internet uses an
address scheme for machines so that they can be located. The address is a 32 bit
integer which gives the IP address. This encodes a network ID and more
addressing. The network ID falls into various classes according to the size of the
network address.

8.6 Network address:

Class A uses 8 bits for the network address with 24 bits left over for other
addressing. Class B uses 16 bit network addressing. Class C uses 24 bit network
addressing and class D uses all 32.

8.7 Subnet address

Internally, the UNIX network is divided into sub networks. Building 11 is


currently on one sub network and uses 10-bit addressing, allowing 1024
different hosts.

8.8 Host address:

8 bits are finally used for host addresses within our subnet. This places a
limit of 256 machines that can be on the subnet.

32
8.9 Total address:

Fig:8.9 Representation of an IP address

The 32 bit address is usually written as 4 integers separated by dots.

8.10 Port addresses:

A service exists on a host, and is identified by its port. This is a 16 bit


number. To send a message to a server, you send it to the port for that service of
the host that it is running on. This is not location transparency! Certain of these
ports are "well known".

8.11 Sockets:

A socket is a data structure maintained by the system to handle network


connections. A socket is created using the call socket. It returns an integer that
is like a file descriptor. In fact, under Windows, this handle can be used with
Read File and Write File functions.

#include <sys/types.h>
#include <sys/socket.h>
int socket(int family, int type, int protocol);

Here "family" will be AF_INET for IP communications, protocol will be


zero, and type will depend on whether TCP or UDP is used. Two processes
wishing to communicate over a network create a socket each. These are similar
to two ends of a pipe - but the actual pipe does not yet exist.

33
8.12 JFree Chart:

JFreeChart is a free 100% Java chart library that makes it easy for
developers to display professional quality charts in their applications. JFreeChart's
extensive feature set includes:
A consistent and well-documented API, supporting a wide range of chart
types;
A flexible design that is easy to extend, and targets both server-side and
client-side applications;
Support for many output types, including Swing components, image files
(including PNG and JPEG), and vector graphics file formats (including PDF, EPS
and SVG);
JFreeChart is "open source" or, more specifically, free software. It is
distributed under the terms of the GNU Lesser General Public Licence (LGPL),
which permits use in proprietary applications.

1. Map Visualizations
Charts showing values that relate to geographical areas. Some examples
include: (a) population density in each state of the United States, (b) income per
capita for each country in Europe, (c) life expectancy in each country of the world.
The tasks in this project include:
Sourcing freely redistributable vector outlines for the countries of the world,
states/provinces in particular countries (USA in particular, but also other areas);
Creating an appropriate dataset interface (plus default implementation), a
rendered, and integrating this with the existing XYPlot class in JFreeChart;
Testing, documenting, testing some more, documenting some more.

2. Time Series Chart Interactivity

Implement a new (to JFreeChart) feature for interactive time series charts --- to display
a separate control that shows a small version of ALL the time series data, with a sliding

34
"view" rectangle that allows you to select the subset of the time series data to display
in the main chart.

3. Dashboards

There is currently a lot of interest in dashboard displays. Create a flexible dashboard


mechanism that supports a subset of JFreeChart chart types (dials, pies, thermometers,
bars, and lines/time series) that can be delivered easily via both Java Web Start and an
applet.

4. Property Editors

The property editor mechanism in JFreeChart only handles a small subset


of the properties that can be set for charts. Extend (or reimplement) this mechanism
to provide greater end-user control over the appearance of the charts.

8.13 What is a Client Server


Two prominent systems in existence are client server and file server systems. It is essential
to distinguish between client servers and file server systems. Both provide shared network
access to data but the comparison dens there! The file server simply provides a remote disk
drive that can be accessed by LAN applications on a file by file basis. The client server
offers full relational database services such as SQL-Access, Record modifying, Insert,
Delete with full relational integrity backup/ restore performance for high volume of
transactions, etc. the client server middleware provides a flexible interface between client
and server, who does what, when and to whom.

8.14 Why Client Server


Client server has evolved to solve a problem that has been around since the earliest days
of computing: how best to distribute your computing, data generation and data storage
resources in order to obtain efficient, cost effective departmental an enterprise wide data
processing. During mainframe era choices were quite limited. A central machine housed
both the CPU and DATA (cards, tapes, drums and later disks). Access to these resources
was initially confined to batched runs that produced departmental reports at the appropriate
intervals. A strong central information service department ruled the corporation. The role

35
of the rest of the corporation limited to requesting new or more frequent reports and to
provide hand written forms from which the central data banks were created and updated.
The earliest client server solutions therefore could best be characterized as “SLAVE-
MASTER”.

Time-sharing changed the picture. Remote terminal could view and even change the central
data, subject to access permissions. And, as the central data banks evolved in to
sophisticated relational database with non-programmer query languages, online users could
formulate adhoc queries and produce local reports with out adding to the MIS applications
software backlog. However remote access was through dumb terminals, and the client
server remained subordinate to the Slave\Master.

8 .15 Fro nt end or User Interface Desig n

The entire user interface is planned to be developed in browser specific environment with
a touch of Intranet-Based Architecture for achieving the Distributed Concept.

The browser specific components are designed by using the HTML standards, and the
dynamism of the designed by concentrating on the constructs of the Java Server Pages.

36
9 . FEATURES OF THE LAN GU AGE U SED

9 .1 Fe atures Of J av a

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 scanned them for viruses prior to execution. Most users still worried about the
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,
Java’s 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.

37
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, it
compiles byte code into executable code in real time, on a piece-by-piece, demand basis.
It is not possible to compile an entire Java program into executable code all at once,
because Java performs various run-time checks that can be done only at run time. The JIT
compiles code, as it is needed, during execution.

Java, Virtual Machine (JVM):

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 that’s has been generated by the compiler will not
corrupt the machine that it’s loaded on. Byte code verification takes place at the end of
the compilation process to make sure that is all accurate and correct. So byte code
verification is integral to the compiling and executing of Java code.

Java Source Java byte code JavaVM

Java .Class

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.

38
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)
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

Java
PC Compiler Java Interpreter
Source (PC)
Code Byte code
……….. Macintosh Java
Compiler Interpreter
………..
(Platform (Macintosh)
SPARC indepen
……….. Java
dent)
Interpreter
(Sparc)

Fig:9.1 Representation of the Java Compilation and Interpretation process

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 Sun

39
SARC 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
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.

9.2 JAVASCRIPT

JavaScript is a script-based programming language that was developed by Netscape


Communication Corporation. JavaScript was originally called Live Script and renamed as
JavaScript to indicate its relationship with Java. JavaScript supports the development of
both client and server components of Web-based applications. On the client side, it can be
40
used to write programs that are executed by a Web browser within the context of a Web
page. On the server side, it can be used to write Web server programs that can process
information submitted by a Web browser and then updates the browser’s display
accordingly.
Even though JavaScript supports both client and server Web programming, we
prefer JavaScript at Client-side programming since most of the browsers supports it.
JavaScript is almost as easy to learn as HTML, and JavaScript statements can be included
in HTML documents by enclosing the statements between a pair of scripting tags

<SCRIPTS>..</SCRIPT>.

<SCRIPT LANGUAGE = “JavaScript”>

JavaScript statements

</SCRIPT>
Here are a few things we can do with JavaScript :
 Validate the contents of a form and make calculations.
 Add scrolling or changing messages to the Browser’s status line.
 Animate images or rotate images that change when we move the mouse over
them.
 Detect the browser in use and display different content for different
browsers.
 Detect installed plug-ins and notify the user if a plug-in is required.
We can do much more with JavaScript, including creating entire application.

41
9.3 JAVASCRIPT VS JAVA

JavaScript and Java are entirely different languages. A few of the most glaring differences
are:

 Java applets are generally displayed in a box within the web document;
JavaScript can affect any part of the Web document itself.
 While JavaScript is best suited to simple applications and adding interactive
features to Web pages; Java can be used for incredibly complex
applications.
There are many other differences but the important thing to remember is that JavaScript
and Java are separate languages. They are both useful for different things; in fact they can
be used together to combine their advantages.
9.3.1 ADVANTAGES:
 JavaScript can be used for Sever-side and Client-side scripting.
 It is more flexible than VBScript.
 JavaScript is the default scripting languages at Client-side since all the
browsers supports it.

9.4 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 document.

42
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
<A>……….</A> Creates hypertext links
<B>……….</B> Formats text as bold
<BIG>……….</BIG> Formats text in large font.
<BODY>…</BODY> Contains 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
<HEAD>...</HEAD> Contains tags that specify information about a
document
<HR>...</HR> Creates a horizontal rule
<HTML>…</HTML> Contains all other HTML tags
<META>...</META> Provides meta-information about a document
<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

43
9.4.1 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.

9.5 JAVA DATABASE CONNECTIVITY

9.5.1 What Is JDBC?

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.
Using JDBC, it is easy to send SQL statements to virtually any relational database. One
can write a single program using the JDBC API, and the program will be able to send SQL
statements to the appropriate database. The combinations of Java and JDBC lets a
programmer write it once and run it anywhere.
What Does JDBC Do?

Simply put, JDBC makes it possible to do three things:


 Establish a connection with a database
 Send SQL statements
 Process the results.

9.5.2 JDBC versus ODBC and other APIs

At this point, Microsoft's ODBC (Open Database Connectivity) API is that probably the
most widely used programming interface for accessing relational databases. It offers the
ability to connect to almost all databases on almost all platforms.
So why not just use ODBC from Java? The answer is that you can use ODBC from Java,
but this is best done with the help of JDBC in the form of the JDBC-ODBC Bridge, which

44
we will cover shortly. The question now becomes "Why do you need JDBC?" There are
several answers to this question:
1. ODBC is not appropriate for direct use from Java because it uses a C interface.
Calls from Java to native C code have a number of drawbacks in the security,
implementation, robustness, and automatic portability of applications.
2. A literal translation of the ODBC C API into a Java API would not be desirable.
For example, Java has no pointers, and ODBC makes copious use of them,
including the notoriously error-prone generic pointer "void *". You can think of
JDBC as ODBC translated into an object-oriented interface that is natural for Java
programmers.
3. ODBC is hard to learn. It mixes simple and advanced features together, and it has
complex options even for simple queries. JDBC, on the other hand, was designed
to keep simple things simple while allowing more advanced capabilities where
required.
4. A Java API like JDBC is needed in order to enable a "pure Java" solution. When
ODBC is used, the ODBC driver manager and drivers must be manually installed
on every client machine. When the JDBC driver is written completely in Java,
however, JDBC code is automatically installable, portable, and secure on all Java
platforms from network computers to mainframes.

9.5.3 Two-tier and Three-tier Models:

The JDBC API supports both two-tier and three-tier models for database access.
In the two-tier model, a Java applet or application talks directly to the database. This
requires a JDBC driver that can communicate with the particular database management

JAVA
Application Client machine

JDBC DBMS-proprietary protocol

Database server
DBMS

45
system being accessed. A user's SQL statements are delivered to the database, and the
results of those statements are sent back to the user. The database may be located on another
machine to which the user is connected via a network. This is referred to as a client/server
configuration, with the user's machine as the client, and the machine housing the database
as the server. The network can be an Intranet,
which, for example, connects employees within a corporation, or it can be the Internet.

In the three-tier model, commands are sent to a "middle tier" of services,

which then send SQL statements to the database. The database processes the SQL
statements and sends the results back to the middle tier, which then

Java applet or
Html browser Client machine (GUI)

HTTP, RMI, or CORBA calls

Application
Server (Java) Server machine (business Logic)
JDBC

Database server

DBMS

Fig:9.5.3 Three Tier Architecture for a Web Application

sends them to the user. MIS directors find the three-tier model very attractive because the
middle tier makes it possible to maintain control over access and the kinds of updates that
can be made to corporate data. Another advantage is that when there is a middle tier, the
user can employ an easy-to-use higher-level API which is translated by the middle tier into
the appropriate low-level calls. Finally, in many cases the three-tier architecture can
provide performance advantages.

Until now the middle tier has typically been written in languages such as C or C++,
which offer fast performance. However, with the introduction of optimizing compilers
that translate Java byte code into efficient machine-specific code, it is becoming

46
practical to implement the middle tier in Java. This is a big plus, making it possible to
take advantage of Java's robustness, multithreading, and security features. JDBC is
important to allow database access from a Java middle tier.

9.5.4 JDBC Driver Types

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

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

9.6.1 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 Intersolv
and JavaSoft.

9.7 Java Server Pages (JSP)

Java server Pages is a simple, yet powerful technology for creating and maintaining
dynamic-content web pages. Based on the Java programming language, Java Server
Pages offers proven portability, open standards, and a mature re-usable component
model .The Java Server Pages architecture enables the separation of content generation
from content presentation. This separation not eases maintenance headaches, it also

47
allows web team members to focus on their areas of expertise. Now, web page designer
can concentrate on layout, and web application designers on programming, with
minimal concern about impacting each other’s work.

9.7.1 Features of JSP

Portability:

Java Server Pages files can be run on any web server or web-enabled application server
that provides support for them. Dubbed the JSP engine, this support involves
recognition, translation, and management of the Java Server Page lifecycle and its
interaction components.

Components :

It was mentioned earlier that the Java Server Pages architecture can include reusable Java
components. The architecture also allows for the embedding of a scripting language
directly into the Java Server Pages file. The components current supported include Java
Beans, and Servlets.

Processing:

A Java Server Pages file is essentially an HTML document with JSP scripting or tags. The
Java Server Pages file has a JSP extension to the server as a Java Server Pages file. Before
the page is served, the Java Server Pages syntax is parsed and processed into a Servlet on
the server side. The Servlet that is generated outputs real content in straight HTML for
responding to the client.

Access Models:

A Java Server Pages file may be accessed in at least two different ways. A client’s request
comes directly into a Java Server Page. In this scenario, suppose the page accesses reusable
Java Bean components that perform particular well-defined computations like accessing a
database. The result of the Beans computations, called result sets is stored within the Bean
as properties. The page uses such Beans to generate dynamic content and present it back
to the client.

48
In both of the above cases, the page could also contain any valid Java code. Java Server
Pages architecture encourages separation of content from presentation.

Steps in the execution of a JSP Application:

1. The client sends a request to the web server for a JSP file by giving the name of the
JSP file within the form tag of a HTML page.

2. This request is transferred to the JavaWebServer. At the server side JavaWebServer


receives the request and if it is a request for a jsp file server gives this request to the
JSP engine.
3. JSP engine is program which can understands the tags of the jsp and then it converts
those tags into a Servlet program and it is stored at the server side. This Servlet is
loaded in the memory and then it is executed and the result is given back to the
JavaWebServer and then it is transferred back to the result is given back to the
JavaWebServer and then it is transferred back to the client.

9.8 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 execution
 Execute stored procedures
 Inspect and modify the results from Select statements.

49
10. TOMCAT 6.0 WEB SERVER

Tomcat is an open source web server developed by Apache Group. Apache Tomcat is the
servlet container that is used in the official Reference Implementation for the Java Servlet
and Java Server Pages technologies. The Java Servlet and Java Server Pages specifications
are developed by Sun under the Java Community Process. Web Servers like Apache
Tomcat support only web components while an application server supports web
components as well as business components (BEAs Weblogic, is one of the popular
application server).To develop a web application with jsp/servlet install any web server
like JRun, Tomcat etc to run your application.

Fig:10.0 Apache Tomcat welcome page

50
11. TESTING

The purpose of testing is to discover errors. Testing is the process of trying to discover
every conceivable fault or weakness in a work product. It provides a way to check the functionality
of components, sub assemblies, assemblies and/or a finished product It is the process of exercising
software with the intent of ensuring that the
Software system meets its requirements and user expectations and does not fail in an unacceptable
manner. There are various types of test. Each test type addresses a specific testing requirement.

11.1 Types of Tests

11.1.1 Unit testing


Unit testing involves the design of test cases that validate that the internal program logic is
functioning properly, and that program inputs produce valid outputs. All decision branches and
internal code flow should be validated. It is the testing of individual software units of the
application .it is done after the completion of an individual unit before integration. This is a
structural testing, that relies on knowledge of its construction and is invasive. Unit tests perform
basic tests at component level and test a specific business process, application, and/or system
configuration. Unit tests ensure that each unique path of a business process performs accurately to
the documented specifications and contains clearly defined inputs and expected results.

11.1.2 Integration testing

Integration tests are designed to test integrated software components to determine if they
actually run as one program. Testing is event driven and is more concerned with the basic outcome
of screens or fields. Integration tests demonstrate that although the components were individually
satisfaction, as shown by successfully unit testing, the combination of components is correct and
consistent. Integration testing is specifically aimed at exposing the problems that arise from the
combination of components.

51
11.1.3 Functional test

Functional tests provide systematic demonstrations that functions tested are available as
specified by the business and technical requirements, system documentation, and user manuals.
Functional testing is centered on the following items:
Valid Input : identified classes of valid input must be accepted.
Invalid Input : identified classes of invalid input must be rejected.
Functions : identified functions must be exercised.
Output : identified classes of application outputs must be exercised.
Systems/Procedures: interfacing systems or procedures must be invoked.

Organization and preparation of functional tests is focused on requirements, key functions, or


special test cases. In addition, systematic coverage pertaining to identify Business process flows;
data fields, predefined processes, and successive processes must be considered for testing. Before
functional testing is complete, additional tests are identified and the effective value of current tests
is determined.
11.1.4 System Test
System testing ensures that the entire integrated software system meets requirements. It tests a
configuration to ensure known and predictable results. An example of system testing is the
configuration-oriented system integration test. System testing is based on process descriptions and
flows, emphasizing pre-driven process links and integration points.

11.1.5 White Box Testing


White Box Testing is a testing in which in which the software tester has knowledge of the
inner workings, structure and language of the software, or at least its purpose. It is purpose. It is
used to test areas that cannot be reached from a black box level.

11.1.6 Black Box Testing


Black Box Testing is testing the software without any knowledge of the inner workings,
structure or language of the module being tested. Black box tests, as most other kinds of tests, must
be written from a definitive source document, such as specification or requirements document,

52
such as specification or requirements document. It is a testing in which the software under test is
treated, as a black box .you cannot “see” into it. The test provides inputs and responds to outputs
without considering how the software works.

53
12. OTHER TESTING METHODOLOGIES
12.1 User Acceptance Testing
User Acceptance of a system is the key factor for the success of any system. The system
under consideration is tested for user acceptance by constantly keeping in touch with the
prospective system users at the time of developing and making changes wherever required. The
system developed provides a friendly user interface that can easily be understood even by a person
who is new to the system.
12.2 Output Testing
After performing the validation testing, the next step is output testing of the proposed
system, since no system could be useful if it does not produce the required output in the specified
format. Asking the users about the format required by them tests the outputs generated or displayed
by the system under consideration. Hence the output format is considered in 2 ways – one is on
screen and another in printed format.
12.3 Validation Checking
Validation checks are performed on the following fields.
12.4 Text Field:
The text field can contain only the number of characters lesser than or equal to its size. The
text fields are alphanumeric in some tables and alphabetic in other tables. Incorrect entry always
flashes and error message.
12.5 Numeric Field:
The numeric field can contain only numbers from 0 to 9. An entry of any character flashes
an error message. The individual modules are checked for accuracy and what it has to perform.
Each module is subjected to test run along with sample data. The individually tested modules
are integrated into a single system. Testing involves executing the real data information is used in
the program the existence of any program defect is inferred from the output. The testing should
be planned so that all the requirements are individually tested.
A successful test is one that gives out the defects for the inappropriate data and produces
and output revealing the errors in the system.

54
13. CONCLUSION

The rapid progression of the Internet has expedited the prosperity of e-commerce.
Increasingly, the commercial value of online reviews has become prominent. Against this
background, sentiment analysis has become a promising tool in excavating the value of online
reviews in commercial activities. In this paper, we proposed a fusion sentiment analysis method
for e-commerce product experience analysis by making full use of the advantages of sentiment
dictionary in emotional information identification and the strong generalization of machine
learning algorithms. Inspired by the sensitivity of sentiment dictionary to emotional information,
our method uses the sentiment dictionary to extract sentiment features. On the basis of this,
sentiment polarities of review texts are identified by the SVM algorithm, and sentiment topics are
extracted from reviews with distinct sentiment polarities respectively through the LDA model. In
the present age of information explosion, new sentiment words and expressions that are not timely
included in the dictionary make the emotional information at risk of being omitted. Accordingly,
we extend the dictionary based on semantic similarity to enlarge its coverage. Meanwhile,
considering the unequal contribution of sentiment words in reviews, we introduce the weighting
method to measure the sentiment contribution. The comparison experiment results show that the
proposed method outperforms other methods in terms of Precision, Recall, and F-score. In
addition, the feasibility and validity of the proposed method have been verified through the
investigation of consumers' reading experiences of online books on Amazon. The results
demonstrated that the method can accurately determine reviews' emotional tendencies and identify
customers' major concerns from reviews with different sentiment polarities.
The theoretical implications of this research are mainly manifested in two aspects. To
begin with, given the method in the present study shows good performance in sentiment
classification and topic extraction, future research can use the methodology as a fundament for
investigation of consumers' emotional tendencies and major concerns regarding other products or
services from e-commerce platforms. Second, the present research combines textual analysis
techniques with machine learning algorithms to identify and analyze sentiment polarities and
sentiment topics from a large number of online reviews, thus achieving effective quantitative
analysis of the sentiment information within the reviews. The study enriches research regarding
value mining of online comments and the application of sentiment analysis in the business domain.

55
As for the practical implications, the research displays that the proposed method enables
us to capture elements affecting the reading experience from a large number of reviews in an
objective manner. The findings assist customers in comprehensively assessing online books,
providing guidelines for them to make efficient purchasing decisions. More significantly, this
research not merely provides valuable insights for authors in book design and content optimization,
but also facilitates publishers in tracking readers' demands and developing reasonable marketing
policies. Also, the method can be applied to experience analysis of other e-commerce products, so
as to provide powerful support for optimizing products and services. Overall, this paper illustrates
the practical significance and application value of the fusion sentiment analysis method in the
business field.

As the commodity attributes grow to be more diverse, the sentiment information


contained in consumers' reviews has become increasingly abundant. The present research explores
the online product experience from two aspects, namely, positive and negative, without
implementing multi-dimensional sentiment analysis. Future research will conduct _ne-grained
sentiment analysis based on diverse affective aspects (such as surprise, like, anger, disgust, etc.)
to investigate user experiences of online products or services more comprehensively.

56
14. REFERENCES
[1] S. M. Mohammad, ``Sentiment analysis: Detecting valence, emotions, and other affectual states
from text,'' in Emotion Measurement. Sawston, U.K.: Woodhead, 2016, pp. 201_237.
[2] M. Taboada, ``Sentiment analysis: An overview from linguistics,'' Annu.Rev. Linguistics, vol.2,
no. 1, pp. 325_347, Jan. 2016.
[3] F. Emmert-Streib, O. Yli-Harja, and M. Dehmer, ``Utilizing social media data for
psychoanalysis to study human personality,'' Frontiers Psychol.,vol. 10, p. 2596, Nov. 2019.
[4] L. Sinnenberg, A. M. Buttenheim, K. Padrez, C. Mancheno, L. Ungar, and R. M. Merchant,
``Twitter as a tool for health research: A systematic review,'' Amer. J. Public Health, vol. 107,
no.1, pp. e1_e8, Jan. 2017.
[5] R. E. Wilson, S. D. Gosling, and L. T. Graham, ``A review of Facebook research in the social
sciences,'' Perspect. Psychol. Sci., vol. 7, no. 3, pp. 203_220, May 2012.
[6] M. S. Shaharudin, Y. Fernando, C. J. C. Jabbour, R. Sroufe, and M. F. A. Jasmi, ``Past, present,
and future low carbon supply chain management: A content review using social network analysis,''
J. Cleaner Prod., vol. 218, pp. 629_643, May 2019.
[7] B. Qi and A. M. Costin, ``Investigation of the in_uence of Twitter user habits on sentiment of
their opinions towards transportation services,'' in Computing in Civil Engineering 2019: Smart
Cities, Sustainability, and Resilience. Reston, VA, USA: American Society of Civil Engineers,
2019, pp. 314_321.
[8] R. P. S. Kaurav, K. G. Suresh, and S. Narula, ``New education policy: Qualitative (contents)
analysis and Twitter mining (sentiment analysis),''J. Content, Community Commun., vol. 12,
no.1,pp. 4_13, 2020.
[9] R. K. Dong, ``Emotion and international business: Theorising fear of failure in the
internationalisation,''FrontiersPsychol.,vol.13,Mar.2022,Art.no.850816,
doi:10.3389/fpsyg.2022.850816.
[10] U. Warrier, P. Singh, and C. W. Jien, ``Factors that lead Amazon.com to a successful online
shopping platform,'' Int. J. Tour. Hosp. Asia Pasi_c, vol. 4, no. 1, pp. 7_17, 2021.
[11] C. A. Haryani, A. N. Hidayanto, N. F. A. Budi, and Herkules, ``Sentiment analysis of online
auction service quality on Twitter data: A case of E-bay,'' in Proc. 6th Int. Conf. Cyber IT Service
Manage. (CITSM), Aug. 2018,pp. 1_5.

57
[12] H. Luo, ``A review of research on identi_cation of false reviews in Ecommerce,'' J. Manage.
Humanity Res., vol. 3, pp. 9_15, Jul. 2020.
[13] K. Thirumaran, H. Jang, Z. Pourabedin, and J. Wood, ``The role of social media in the luxury
tourism business: A research review and trajectory assessment,'' Sustainability, vol. 13, no. 3, pp.
12_16, 2021.
[14] S. Tao and H.-S. Kim, ``Online customer reviews: Insights from the coffee shops industry
and the moderating effect of business types,'' Tourism Rev., vol. 77, no. 5, pp. 1349_1364, Aug.
2022.
[15] B. von Helversen, K. Abramczuk, W. Kope¢, and R. Nielek, ``In_uence of consumer reviews
on online purchasing decisions in older and younger adults,'' Decis. Support Syst., vol. 113, pp.
1_10, Sep. 2018.
[16]C.Campbell and J.R.Farrell, ``More than meets the eye: The functional
components underlying in_uencer marketing,'' Bus. Horizons, vol. 63, no. 4, pp. 469_479, Jul.
2020.
[17] J. M. Luo, H. Q. Vu, G. Li, and R. Law, ``Understanding service attributesof robot hotels: A
sentiment analysis of customer online reviews,'' Int. J.Hospitality Manage., vol. 98, Sep. 2021,
Art. no. 103032.
[18] J. R. Saura, D. Palacios-Marqués, and D. Ribeiro-Soriano, ``Exploring the boundaries of open
innovation: Evidence from social media mining,'' Technovation, Jan. 2022, Art. no. 102447,
doi: 10.1016/j.technovation.2021.102447.
[19] P. Dash, J. Mishra, and S. Dara, ``Sentiment analysis on social network data and its marketing
strategies: A review,'' ECS Trans., vol. 107, no. 1,pp. 7417_7425, Apr. 2022.
[20] S. Gupta and R. Sandhane, ``Use of sentiment analysis in social media campaign design and
analysis,'' Cardiometry, vol. 22, pp. 351_363, May 2022. [21] J. R. Saura, D. Ribeiro-Soriano, and
P. Z. Saldaña, ``Exploring the challenges of remote work on Twitter users' sentiments: From digital
technology development to a post-pandemic era,'' J. Bus. Res., vol. 142,pp. 242_254, Mar. 2022.
[22] E. Kauffmann, J. Peral, D. Gil, A. Ferrández, R. Sellers, and H. Mora, ``Managing marketing
decision-making with sentiment analysis: An evaluation of the main product features using text
data mining,'' Sustainability,vol. 11, no. 15, p. 4235, Aug. 2019.
[23] W. He, F.-K. Wang, and V. Akula, ``Managing extracted knowledge from big social media
data for business decision making,'' J. Knowl. Manage., vol. 21, no. 2, pp. 275_294, Apr. 2017.

58
[24] F. N. Ribeiro, M. Araújo, P. Gonçalves, F. Benevenuto, and M. A. Gonçalves,
``SentiBench_A benchmark comparison of stateof- the-practice sentiment analysis methods,''
2015, arXiv:1512.01818.
[25] X. Wang, T. Lv, and L. Fan, ``New energy vehicle consumer demand mining research based
on fusion topic model: A case in China,'' Sustainability, vol. 14, no. 6, p. 3316, Mar. 2022.

59

You might also like