WEB APPLICATION DEVELOPMENT USING JAVA 1
Table of Contents
Methodology....................................................................................................................................6
What is Action Research?............................................................................................................6
History of Action Research.........................................................................................................7
Applications of Action Research.....................................................................................................7
Action Research Process..............................................................................................................8
Action Research Approach for Internship.................................................................................11
Literature Review..........................................................................................................................11
Java Programming.....................................................................................................................11
Web-Application........................................................................................................................12
Unit Testing...............................................................................................................................14
Agile Implementation................................................................................................................15
Proposal.........................................................................................................................................16
Iteration 1: Organization Orientation.........................................................................................16
manager and project lead while explaining the policies and application functionality and will
acquaint myself with the company procedures..........................................................................16
Iteration 2: Knowledge Transfer................................................................................................16
WEB APPLICATION DEVELOPMENT USING JAVA 2
Iteration 3: Involve in Project Development.............................................................................16
Iteration 4: Provide Support for Testing....................................................................................18
Iteration 5: Deploy the Application...........................................................................................18
Conclusion.....................................................................................................................................38
References......................................................................................................................................39
WEB APPLICATION DEVELOPMENT USING JAVA 3
List of Figures
Figure 1. The seven-step process for conducting action research...................................................8
Figure 2. Architecture for the development of web applications..................................................14
Figure 3. Iteration Flow proposal for development.......................................................................17
WEB APPLICATION DEVELOPMENT USING JAVA 4
Rite Software is a leading software provider company located in Texas, USA. The
company provides specialized solutions to clients globally. Core competency and the building
block of the company is the technical focus and client satisfaction. The company gives at most
importance to its customers by its proven methodologies, global talent and by continued focus on
research and development. The company has expertise in various fields such as mobile
applications, remote support, knowledge management and software application development. It
provides services ranging from outsourced application development, managed services and
professional services. It always strives to accomplish excellence in high-end technology and
creates groundbreaking products and services to its clients (“Rite Software,” 2015).
The main objective of the company is to provide a one-stop destination for its clients. The
company helps its clients to understand complex business difficulties. The vision of the company
is to be a prevalent supplier of imaginative business results, leveraging key innovations to
enhance our clients' aggressiveness, development and productivity. The company helps its clients
in achieving and maintaining their mission critical applications at peak performance and
scalability levels. The company employs effective methodologies for predicting system behavior
and performance under real life stress conditions and helps its clients to achieve their bottom line
(“Rite Software,” 2015).
Rite Software consists of skilled professionals who are capable of finding out the cause of
the problems, helps its clients in solving the problems of time, and saves money. They know all
the potential causes of the problem and provide a detailed report on what needs to be fixed to its
clients. The strengths of the company include in-depth expertise and experience in wide range of
technologies, platforms, tools and business solutions; proactive, repeatable performance
framework consisting of in-house tools and solutions; and reduction of licenses cost through
WEB APPLICATION DEVELOPMENT USING JAVA 5
alliance with SAP. The predictive performance framework of the company predicts the
application performance before deployment into production and performs analysis of potential
hardware configuration (“Rite Software,” 2015).
Rite Software offers anticipatory application solutions to help its business clients to stay
ahead of the competition. The company studies and understands the unique and distinct
processes of its client and develops applications specific to them. The company enables its
clients to leverage IT to realize their business strategies, and to explore new opportunities. Rite
Software delivers innovative solutions across number of technology platforms. Java/J2EE is one
of the technologies used in the company. Java is used in the development of various applications
in many companies because of its benefits such as security, performance improvement,
efficiency, and internationalization (P. Madhubala, personal communication, May 23, 2015).
The internship program offered to me at Rite Software is a Java Developer role. The main
responsibilities of the role include (P. Madhubala, personal communication, May 23, 2015)
Designing and coding programs, creating and running unit tests and assisting with user
acceptance testing to find errors and to revise programs.
Writing and reporting the documentation describing the design, installation steps, and
system constraints and operating procedures.
Writing programs of moderate complexity and scope, working with web based Java
applications.
Interaction with the designers, business clients and other developers in the team to
design, code, test and implement application programs.
Developing code for web pages that are available in the front-end applications.
WEB APPLICATION DEVELOPMENT USING JAVA 6
Through this project, I will be able to improve my programming skills as the internship deals
with developing code for the programs and have an opportunity to work with experienced
professionals, through which I can conduct some informational interviews with them and gather
data about the industry. It also helps me to gain real-world experience. This project involves
participation in meetings and discussions, which helps me to gain more information from other
team members and improve my skills. Furthermore, it helps me to understand the structure and
procedure for building and deploying any web application.
Methodology
What is Action Research?
Brighton & Moon (2007) emphasizes that “Action research is a systematic, disciplined
inquiry focused on addressing a specific, identifiable research question using the appropriate
methods; quantitative and/or qualitative to answer that question” (p. 24). It is a systematic and
rigorous process involving question formation, data collection, analysis, implementation and
reflection of the implementation (Koch, Kiener & Gitchel, 2009). Action research differs from
other forms of research mainly by an emphasis on scientific study, which means the researcher
studies the problem systematically. Apart from the emphasis on scientific study, AR differs from
other researchers in turning the people to researchers; willingly applying the things learnt, as
they do the research themselves; solving real-world problems; and openly expressing their bias
with other participants, at the same time remaining objective. A significant part of the
researcher’s time during AR is spent on refining the methodological devices that suit the urgency
of the circumstances, and on collecting, analyzing, and presenting information on a progressive,
cyclical basis (O’Brien, 2001).
WEB APPLICATION DEVELOPMENT USING JAVA 7
History of Action Research
Action Research came into presence on account of social analyst Kurt Lewin, yet behind
its existence a number of social activists, legislative and nongovernmental associations, and
scientists having direct and indirect influences were present (Glassman, Erdem, & Bartholomew,
2013).
According to Barton, Stephens, & Haslett (2009), Action Research mainly consists of
two stages (a) Diagnostic stage, where the problem is analyzed and hypotheses are developed
and (b) Therapeutic stage, where the hypotheses are tested by a change experiment, in a life
social situation. AR can be treated as a relationship between social action and research to
discover a transformative social change. In AR, members of social groups connect, participate in
discussions about the group relationships and participate together in a learning methodology to
make social change within their community. The change implies that AR is not an individual
effort but rather a change in entire community framework to work collectively for shared goals.
AR consists of a series of standards and procedures that depict how the events are to be
sequenced to initiate progress in human communities. Research acts as a driving force for
making a social action and to get out of the habitual thought process. AR insists that the ideal
approach to change goal-driven activity is by changing the interactional patterns of the
community. These new patterns in the community drive in the direction of democratic decision-
making to think of new possibilities for an action (Glassman et al., 2013).
Applications of Action Research
According to Brighton & Moon, action research has the potential to:
WEB APPLICATION DEVELOPMENT USING JAVA 8
Provides the basis for evaluating faculty teaching, student academics, and clinical
performance, and educational program improvement using systematic and rigorous
procedures (Koch, Kiener & Gitchel, 2009).
Solves issues that are of prompt concern for instructors, counselors, directors, and other
educators without holding up for others to intercede on their behalf. (as cited in Mills,
2000 &Tomlinson, 1995).
Places instructors in a dynamic part in the school change process and shapes school
culture that supports data-driven change (as cited in Mills, 2000 &Tomlinson, 1995).
Enables individuals through a coordinated effort with others and fosters them to reflect
on practice (as cited in Mills, 2000 &Tomlinson, 1995).
Enables individuals to explore issues or problems, and serves as a model for evaluating
learners, curriculum, or some aspect of program delivery. It has everything to offer those
in the “real world” (N. Padak & G. Padak, 2014).
Action Research Process
According to Brighton & Moon (2007), Action Research process consists of seven steps,
which are explained in detail below:
Figure 1. The seven-step process for conducting action research. Adapted from Step-by-Step: A
tool for educators to change their worlds by Brighton & Moon, 2007.
WEB APPLICATION DEVELOPMENT USING JAVA 9
Identify an area of focus. This step involves gathering information to understand the
area of study. Data gathering includes finding, inspecting writings on the topic to determine how
specialists view the phenomena; getting inputs from other partners in the group; refining the
topic to a specific research question that is to be answered in the ongoing action research process
(Brighton & Moon, 2007). A good research question consists of three major characteristics. First,
the issue chosen is to be important, and the issue should be either a problem or a new program
that is to be evaluated. The second quality is that the question should directly related to the
problem chosen to investigate, if there are multiple questions, each needs to be related to each
other and the questions together should solve the overall problem. Third quality is that the
question posed is to be answerable and answers are to be based on descriptions or observations,
which implies that a good question begins with ‘why’, ‘how’ or ‘what’ (N. Padak & G. Padak,
2014).
Write an action plan to guide the inquiry process. In this step, researchers create an
action plan for carrying out the inquiry process and start investigating. In some cases, this phase
includes a specific timeline for collecting data, sharing findings and enacting action. A document
that outlines the steps in the action research process is developed in this step (Brighton & Moon,
2007).
Collect data to address the research question. Data collection is made to understand
better the identified area of topic. The quality and the quantity of the data collected as a part of
the inquiry process assists the researcher to find an action to be made (Brighton & Moon, 2007).
Good data directly answers the posed question. It is good to collect data from more than one
source of information for a question to get valid results. Furthermore, readily available
WEB APPLICATION DEVELOPMENT USING JAVA 10
information can serve as a good source to answer questions, which is not only efficient but also
saves time (N. Padak & G. Padak, 2014).
Organize data. In this stage, the data that has been collected is to be organized and
managed effectively. Data that is not organized properly may affect the quality of the data
collected and thus affects the actions. This stage is sometimes regarded as unnecessary but is
critical in analyzing unorganized data takes a lot of time and might miss some required
information to answer the question (Brighton & Moon, 2007).
Analyze and interpret data. This phase involves examination of the data that is gathered
and organized in the previous stages to interpret the results (Brighton & Moon, 2007). Analysis
of data involves sorting the entire data into different categories. The sorting is made such a way
that each category shares some broader characteristic. Then a summary is developed for each
category that captures the essence as a whole (N. Padak & G. Padak, 2014).
Share findings with identified stakeholders. This phase involves sharing the findings
from the analysis stage with some specified stakeholders. This helps to get opinions in different
perspectives from the stakeholders in the design, analysis, and findings, which offer valuable
service before determining the final course of action (Brighton & Moon, 2007). Sharing can be
done either formally or informally through discussions and conversations. Writing about the
research in this phase provides additional insights into the research, and it serves as a material for
further analysis and interpretation. Also, documenting the research helps to have a permanent
record of the research, which can be used by others to learn from the project (N. Padak & G.
Padak, 2014).
Develop the action plan. An action plan is developed based on the analysis made on the
findings to create a change (Brighton & Moon, 2007).
WEB APPLICATION DEVELOPMENT USING JAVA 11
Action Research Approach for Internship
Action Research provides a framework for systematic inquiry process for an individual’s
practice. It can be conducted for any business projects or for academic works to find a solution to
a specific question. Action research is considered local and focuses directly on the issues faced
by students, individuals or anyone who conducts the research. It is not appropriate to generalize
the findings from the action research as opposed to formal researchers. The results or findings
from the Action research after conducting analysis are specific only to a particular circumstance.
Literature Review
As a Java developer, my responsibilities at internship include writing Java programs,
designing front-end web pages, and performing unit testing for the web-applications. For
developing the software applications, Rite Software follows agile software development
methodology (M. Shankar, personal communication, June 4, 2015). A detailed description of the
topics related to my responsibilities is presented in this paper.
Java Programming
Java was introduced to support object-oriented programming in 1995 by Sun
Microsystems and Java programming became popular with the slogan ‘write once, run
anywhere’ (Pancake & Lengauer, 2001). This slogan implies that Java provides application
developers an opportunity to write the code in a single language once and execute it virtually on
any operating system without making any modification to the code. Because the portability of
Java in multiple platforms is that the Java source code is compiled into bytecodes. Bytecode is
platform independent, and this bytecode is interpreted by a virtual machine that is platform
specific that converts the bytecode into platform-specific instructions at run time. A (Just in
WEB APPLICATION DEVELOPMENT USING JAVA 12
Time) JIT compiler is present which converts the bytecodes into native machine instructions for
faster execution (Pancake & Lengauer, 2001).
Authors Singhal & Nguyen (1998) emphasizes that, “Java language is rapidly becoming
an integral part of the enterprise environment. The environment provides the glue between
transaction monitors, persistent storage, concurrency, object life cycle, and naming services” (p.
36). Java provides a wide-range of features for interactive and internet programming (Pancake &
Lengauer, 2001). Java provides support for web applications through servlets. Servlets are the
Java applications that are invoked in response to the HTTP requests, and they provide web users
the access to manipulate the enterprise data. Servlets can also use Java Database Connectivity
(JDBC) technology to access SQL databases (Pancake & Lengauer, 2001).
An object-oriented methodology using Java EE technologies provides support for
efficient web-based applications. Because of the vulnerability of the web applications to various
risks, servlet security consists of authentication, authorization, confidentiality, and data
integration to prevent risks. Unified Modelling Language (UML) based methodology is used for
integrating object-oriented analysis along with agile methodology to provide security measures.
In this methodology, use cases are created with all the safety measures for the business
requirements collected (Kyung-Soo & Jung-Woong, 2014).
Web-Application
Web-application is a distributed application that runs on more than one system and
communicates with a network or server. These web-applications are popular because of their
user-friendly nature that allows the user to access the application through client browser instead
of installing and deploying the software in the systems of the clients. Nowadays web applications
WEB APPLICATION DEVELOPMENT USING JAVA 13
are used for e-commerce, online banking, emails, blogs, and many more. Millions of users can
access one web application that is deployed on a server through the internet (Nourie, 2006).
A single web-application consists of various programs, such as designing front-end web
pages, getting connections with the databases. For designing the user interface web pages,
markup or scripting languages such as HTML, CSS, or JavaScript are used. Java programming
language is used for back-end applications. Examples are to get a request from the client,
perform some business logic, and get some details from the database to provide the response
back to the customer for the application (Nourie, 2006). According to Mašović, Saračević,
Kamberović, & Kudumović (2012), creating web-applications with Java is simple in terms of
implementation and provides the better speed of execution for the developed product. The
architecture of a simple web-application described by them can be seen in figure 1 (Mašović et
al., 2012). There are several Java related technologies that are used to build a web application
such as Servlet API for writing the business logic, Java Server Pages (JSP). Writing the
presentation logic, Java Server Pages Standard Tag Library (JSTL) which contains core
functionality of common JSP applications, Java Server Faces (JSF) framework for providing a
rich user interface and many more. All of these technologies need not be used in a web
application, but there are various technologies apart from the technologies mentioned above that
can be used within a web application. Once the web application is developed using required
technologies, a web server is needed to deploy the application (Nourie, 2006).
WEB APPLICATION DEVELOPMENT USING JAVA 14
Figure 2. Architecture for the development of web applications. Adapted from Java technology
in the design and implementation of web applications by Mašović, Saračević, Kamberović, &
Kudumović, 2012, Technics Technologies Education Management.
Unit Testing
Unit testing occupies a significant role in object-oriented software development.
Development is adopted in Agile methodology, which helps to detect the bugs while coding for
the programs rather than performing testing after the completion of the coding (Pasternak,
Tyszberowicz, & Yehudai, 2009).This is regarded as a test driven development (TTD) method
that focuses on effective software development to avoid bugs by writing test and source codes at
the same time. A test code is a program used to verify whether the code of origin satisfies the
required specification and helps to change the source code if necessary to meet the test results.
(Funabiki, Matsushima, Nakanishi, Watanabe, & Amano, 2013). It provides a safety net for
performing regression and validation tests. Unit testing provides the below advantages:
Facilitates change. Unit testing fosters the developers to refactor code safely and ensure
that the code meets the expectations. Providing test cases for all the methods helps to identify
quickly the regression bug caused by a change and encourages fixing it (Pasternak et al., 2009).
It also helps the developers to change the code for a better program structure, as testing for the
changed code can be made instantly (Funabiki et al., 2013).
WEB APPLICATION DEVELOPMENT USING JAVA 15
Simplifies integration. The test process helps to test all the functionality individually
(Funabiki et al., 2013). This helps in simplifying the integration of the units that have already
been tested and ensures that the application developed so far is error free (Pasternak et al., 2009).
Documentation. Unit tests document the use of the units thus providing the developers
with the functionality of the program (Pasternak et al., 2009).
Managing, executing and analyzing the unit tests frequently is a tedious and complex
process. The difficulty level of a unit test depends on the number of units and the complexity of
the state of the class under test. It is an open-source framework to support and is designed in an
user-friendly manner for easy programming. Junit supports various methods for code testing and
the method’s name start with ‘assert’ keyword (Funabiki et al., 2013). It automates the unit tests
execution in a secure and efficient manner (Pasternak et al., 2009).
Agile Implementation
A software development methodology is critical for an effective integration of web
applications within an organization (Aken, 2008). Agile is a software development model that
enforces to deliver the application to the user quickly by accepting changes and with minimal
documentation. It also delivers best performance application that satisfies the user needs
(Warnars, 2011). Scrum methodology is the one among the agile software development
methodologies that enable developers to produce high-quality software in a limited period. It
improves the development process and accepts new requirements rather than locking of the
business requirements before developing as in waterfall is not necessary (Livermore, 2008).The
agile approach strives to accomplish and accept the changes while maintaining awareness of the
consequences, rather than resisting the changes (Aken, 2008). In Agile Scrum methodology, the
entire project is divided into sprints with a specific number of tasks allotted in each sprint. Its
WEB APPLICATION DEVELOPMENT USING JAVA 16
main focus is on management of the development process rather than coding techniques
(Livermore, 2008).
Proposal
Iteration 1: Organization Orientation
In the orientation phase, the manager gives an overview of the organization structure,
policies and the procedures of the company. The manager then explains the roles and
responsibilities of architect, developer, quality assurance, and database teams that are involved in
the development of the application that is assigned to my internship. A project lead is assigned to
assist the interns to understand their roles and responsibilities. I would pay close attention to the
manager and project lead while explaining the policies and application functionality and will
acquaint myself with the company procedures.
Iteration 2: Knowledge Transfer
Project lead explains the overview of the application, describing the business
requirements and the functionality of the application. The lead also provides an overview of the
coding used for the application and discusses the IT procedures that are to be followed such as
whom to contact when a problem occurs, and when to contact the security team. I will be
provided with access to all the required applications, servers, and all the necessary software are
installed on my local machine.
Iteration 3: Involve in Project Development
After understanding the functionality of the application, I will be assigned to work on
making enhancements for the application. Project lead explains the functioned that is to be added
in the application.
WEB APPLICATION DEVELOPMENT USING JAVA 17
Figure 3. Iteration Flow proposal for development. According to M. Shankar, personal
communication, June 4, 2015.
Iteration 3Involve in Project Development
Iteration 4Provide Support for Testing
Iteration 2 Knowledge Transfer
Iteration 1Organization Orientation
Plan Act Observe Reflect
Plan Act Observe Reflect
Plan Act Observe Reflect
Plan Act Observe Reflect
Plan Act Observe Reflect
Iteration 5Deploy the Application
WEB APPLICATION DEVELOPMENT USING JAVA 18
Iteration 4: Provide Support for Testing
After the completion of developing the code, I assist the quality assurance team in testing
the developed code. Rigorous testing is made to test the effectiveness of the developed code and
a demo is provided to the business users to get their approval for the developed code.
Iteration 5: Deploy the Application
Once the code gets approval from the business users, the application is ready to be
deployed on the web server. I am supposed to work with the middleware team to deploy the
application properly into the server.
Iteration 1-Orientation
Iteration 1- Orientation focuses on the introduction for the newly hired employees at the
Rite Software LLC.
Plan
My Internship at Rite Software LLC starts from June 24, 2015. An orientation session has
been scheduled on June 23, 2015, for all the interns from 9 a.m. to 5 p.m. It is a two level
orientation where the first is at the company level and the second is at the project level. The
company level orientation is a 4-hour session from 9 a.m. to 1 p.m. It will be delivered by the
HR manager, Joseph, and the project level orientation is a 3-hour session from 2 p.m. to 5 p.m.
by the project manager, Sandy. Furthermore, the project manager said that he will be offering
lunch from 1 p.m. to 2 p.m. for all the team members so that everyone can get acquainted with
each other. The company level orientation will take place in a seminar hall with all the interns
present and will be delivered by the HR manager through a power point. She introduces the
topics such as the vision and mission, history of the company, organization policies, and the
WEB APPLICATION DEVELOPMENT USING JAVA 19
business description of the company. Later, the project level orientation will be a one-on-one
session with the project manager. He covers topics such as organization structure, the number of
members of a team, high-level project description, my responsibilities and my action plan for the
entire duration of the internship. The main goal of the two-level orientation sessions is to gain an
understanding of the organization rules and the project in which I will be involved (S. Prabhakar,
personal communication, June 19, 2015).
From my side, I have scheduled a personal interview with the project manager over the
phone before the orientation session to gather some information about the project. Through this
interview I got an overview of the project, the technologies used, and tools involved. I also came
to know that the project mainly uses Java and J2EE technologies such as Core Java, Servlets, JSP
(Java Server Pages) and JDBC (Java Database Connectivity). All the information that I gathered
helped me to prepare myself and get acquainted with the tools and technologies before my actual
involvement in the project.
Action
On the day of orientation, I reached the office at 8:45 a.m. and went to the seminar hall
where the orientation session has been scheduled. HR manager and some other company officials
were already present in the seminar hall, and they were making the arrangements for the
orientation session. There were about 20 newly hired employees along with me at the seminar
hall. HR manager, Joseph began the session by introducing himself to all the interns. Then, he
started to explain about the vision, mission, policies, procedures, business description, and
benefits to the employees and the history of the organization through a power point presentation.
The presentation took place for around 2 hours, until 11 a.m. Then a 20-minute break has been
given until 11:20 a.m. for refreshments. Later, the newly hired employees raised some questions
WEB APPLICATION DEVELOPMENT USING JAVA 20
to which the HR manager explained very clearly. Then, all the employees in the hall were given
new employee forms to be filled. An employee identification number has been issued for each
new employee. Some of the officials present in the seminar hall assisted us in filling the forms.
The process of filling the forms and submitting them to the officials ended at 1 p.m. Then after
the HR manager introduced the new employees to their respective project managers. The project
manager, Sandy was assigned to me, and he introduced me to the team members of the project in
which I will be involved. After introducing everyone in the team, the project manager took all
the team members to lunch at a nearby restaurant. During the lunch, everyone shared their
interests and past experiences with each other. After the lunch, we returned to the office at 2:30
p.m. The project manager and I had a one-on-one session in the project manager’s cabin, as I am
the only new member of the team. In the one-on-one session, the manager discussed the project
at a high level, detailed my daily responsibilities and provided me an action plan for the entire
internship period. He also said that I will be involved in the development of the web application
by using Java technologies such as Servlets, JSP (Java Server Pages) and JDBC (Java Database
Connectivity). He suggested me to read the documents about the project that are present in the
company’s internal portal. Furthermore, he said that the company offered online training sessions
and suggested me to join them to gain more in-depth knowledge about the projects and
technologies. The one-on-one session took place until 4 p.m.
Observation
The orientation session helped me to familiarize myself with the working process of the
company, understand the terms and conditions and acquaint myself with the people I will be
working with. The session helped me to get relief from stress and get acquaint with the people
and policies before involving in the actual work and at the same time it is welcoming for the new
WEB APPLICATION DEVELOPMENT USING JAVA 21
employees. It provided me knowledge about how my responsibilities relate to the achievement of
the vision and goals of the company. I got a clear understanding of what the company is
expecting from me and the benefits that I get out of the internship. It also gave me an idea of
what to expect from others also to learning about the values and attitudes of the organization. I
feel that the orientation program is perfectly planned, and it helps the new employees to avoid
potential and unnecessary damages.
The project manager of the project for which I am assigned explained my responsibilities
as a Java Developer in the company. I came to know that I will involve in the development of the
web application and the enhancement of the existing modules. I will be working with the
business analysts and architects team to gather the business and functional requirements to
design the use cases. I will then be involved in writing Java code in the development
environment and after the completion of development part, I will be writing unit test cases to test
the code’s accurateness. After that, I will be supporting the quality assurance team in performing
regression and integration testing in the testing environment. Once the code has been tested, the
development team works with the middleware and database team to deploy the application on the
server. I gained information about the tools used for the application development so that I can
install those required software on my local machine.
Reflection
Through the orientation session, I have learned many things that I can adapt to myself to
improve my skills. The entire session took place according to the scheduled timings and
everyone in the company arrived on time to the session and everything is perfectly planned.
Through this, I learned that everyone is very disciplined, responsible and initiative. I am very
much impressed by the organization of the whole orientation session. I learned about the history
WEB APPLICATION DEVELOPMENT USING JAVA 22
of the company and how each department’s work in the organization is related to the company’s
mission. I noticed that the work environment is very friendly and welcoming.
By closely observing my project manager, I noticed that he had good leadership qualities
and problem-solving skills. Through this, I learned that to lead a team one has to possess
excellent skills to tackle the problems and run the team in a smooth manner. Moreover, I learned
that apart from the technical skills, interpersonal and communication skills are essential when
working in a team. Various departments have to coordinate with each other in finding the source
of the problem in the case of any issue. However, I did not have much interaction with the other
teams who will be working with such as the business analysts, architects, and the database team.
I hope I will get along with them during my internship and understand their role and importance
in the application building.
Iteration 2 – Training
Plan
The second iteration is training. As part of the internship program, Rite Software has set
up a training session to train the new joiners with the technologies they will be using in the
application and to provide them with the end-end flow of application. This iteration is planned to
take place from 10 am to 4pm for 10 days and it takes place under the supervision of a trainer
who is assigned to provide all the support and guidance for new joiners. All the details of the
training program will be given to the new joiners beforehand detailing the concepts that will be
covered during each day. The training session also covers various topics such as the tools and
software required for the application development, procedure for setting up the workspace in the
local workstations, techniques used for the team collaboration, assigning tasks to the team
members, managing the incidents and the detailed process of placing the code from the
WEB APPLICATION DEVELOPMENT USING JAVA 23
development environment to production environment. A workstation will be provided for all the
interns to perform their jobs and the instructions for setting up the workspace in their local
machines will be provided during the session and a document will also be provided that details
all the steps and the necessary software that are to be installed in their machines. Once the
machine gets set up and gets the application running in the local server, we can look at the code
and understand the application. The process to debug the application in the local machines will
also be discussed in the session so that we get to know about the application flow in various
scenarios.
As said by manger, the project that we will be working on is an ‘Eligibility and
Enrollment’ project for a Health Insurance Company. This is an existing project and we will be
involved in the enhancement of various modules and in incident and defect fixing. As the
application is built by using the Java based technologies such as Spring, Hibernate, JSP, Maven
and Servlets, we will be trained on these technologies and how these technologies are used in
various scenarios for efficient functionality. The entire training process which is scheduled for 10
days helps all the interns to get an idea of what they can get from the internship and what they
should prepare beforehand to gain the best out of the internship. This acts as a bridge between
the concepts that one has learnt during their education and how they are adopted in real-time
projects (K. Nukaraju, personal communication, June 22, 2015).
Action
All the new joiners gathered together and joined the training session in the conference
room. Mr. Kumar, who is the supervisor of the training program introduced himself to the team
and asked everyone in the room to introduce themselves. After the introductions, he has given a
presentation on security measures such as HIPPA, FTI (Federal Tax Information) and PHI
WEB APPLICATION DEVELOPMENT USING JAVA 24
(Protected Health Information), as it is a health care domain. Then after documents regarding the
topics covered in the presentation are provided to everyone in the room and he has given some
time to read the documents and asked everyone to take an assessment on the topics discussed by
the end of the day. We are also provided with some documents that are to be filled in, which we
filled and handed over to the trainer. A laptop is provided to everyone and a unique user id and
password are provided to open the system and credentials to connect to the company network.
The company is using IBM Lotus Notes for emails and each new intern is provided with an
email id to communicate with the team members. After that, we are given a small break of 10
minutes and when we returned, Kumar has given a brief overview of the application and the
module that our team will be working on. Then we were given a lunch break for 45 minutes from
12:30 to 1:15 pm. In the afternoon session, we are given a photo id, which we use to enter into
the office, and an hour is given for taking the security assessment which was discussed in the
morning session. After that, we had a discussion with the team members about the application
and Kumar has clarified all of our doubts. The training session for that day ended at 4 pm.
For the next two days, we worked on setting up the workspace according to the
documents provided for us. I was able to complete the entire process by taking help from the
team members and gained access to required applications and databases by installing all the
necessary software. Simultaneously along with the installation process, we were also having a
knowledge transfer session for about 2 hours each day about the concepts of Java and their
importance in the application development. We were given some documents for the topics
discussed and we were assigned some tasks for practice.
The training for the next two days took place on ORM framework Hibernate that is used
by the company in the ‘Eligibility and Enrollment’ application for integrating with the database.
WEB APPLICATION DEVELOPMENT USING JAVA 25
We are also trained about the concepts of the database DB2 that is used in the project and about
SQL for DB2 as we have to work on writing some SQL queries to get the required data stored in
the database. We were given some tasks to practice during the weekend and the trainer said that
he would clarify the doubts about the tasks assigned when we come back on Monday.
The trainer started the session by clarifying the doubts about the tasks assigned last week.
Then after he continued with the training session and explained about the Spring framework, all
the concepts required for the project functionality were explained during this session. He
discussed how these concepts and used in the project and clearly explained when to use them for
efficient functionality. And he explained about the web application, the project structure, Eclipse
IDE which is used to write the Java code and develop the project and about various streams in
which the code is available and the process of flow of the code across various streams such as
Dev, UAT (User Acceptance Testing) and Production. He said that these streams are very
essential and we normally write the code in the development environment and the code is
reviewed by the manager. After the proper working of the code, it is moved to the UAT
environment where the testers test the functionality of the application and assign the defects back
to the developers if there are any.
For the last three days of the training session, we were given the task of creating a simple
login application using all the technologies and topics discussed during the entire training
session. The trainer assisted everyone in performing his or her tasks and he gave some idea of
how to create the web application. Moreover, during these three days, we got sufficient
information about the project ‘Eligibility and Enrollment’ and how all the topics discussed
during the training were used. He discussed with us about the business rules of the project and
about the end-to-end flow of the application by reviewing the code and explained about the flow
WEB APPLICATION DEVELOPMENT USING JAVA 26
that takes place in various scenarios. The training session ended with a group discussion among
all the team members. At the end, the trainer mentioned about the tasks that we would be
working on in the next iteration that is the development iteration.
Observation
The training program helped me to gain knowledge from both technical and professional
perspective. The technical aspects that I grasped from the training session are that, I was able to
understand the importance of the Spring framework by means of the tasks that we performed and
that practical experience helped us a lot as we were able to come across various errors that we
experience and how to solve them. The training was very helpful because, once we get to start
working on the actual development; we would be able to easily solve the issues when we face
them. I also came to know that however big the application might be, the basic concepts are very
crucial and fundamental for the development. Some of the research that I made before the
beginning of the internship helped me a lot during the training session as without that homework
that I have done it would have been very difficult for me to grasp the concepts covered during
the training session. When we were asked to create a Login application with the technologies
discussed during the training session, I came to know the practical usage of the concepts and
how the basics play a key role in writing the code. The simple application that we created was
very challenging and at the same time, it was very interesting as it was like a small project where
all the team members worked together when there were issues and we were also provided with
some business requirements that are to be fulfilled. By this I came to know how the real time
projects would be and how the team members collaborate with each other and try to figure out
the issue by considering all the possible scenarios and getting ideas from all the team members.
WEB APPLICATION DEVELOPMENT USING JAVA 27
Apart from the technical perspective, I was able to gain knowledge on various things that
are essential in a professional career. Some of the important things are to understand the business
requirements before starting the development, problem solving skills when we face an issue,
organizing the data, documents and files properly and working in a team cooperatively. All these
things are very essential as they determine the quality of work that we perform. For example, the
purpose of IT is to satisfy its clients, so we need to understand the business requirements and
what the clients are expecting and then the development should start, if not the entire time spent
on wrong requirement would be unproductive. Of course, it is common that some requirements
may change during the course of time, but one should make sure that the requirements collected
are up to date before the development process. In addition, when we start to work on the actual
project we end up having lot of documents, software, different login credentials to access the
databases in different environments and various software. Proper organization of all these files,
documents and login credentials are essential as one may end up misplacing them and consumes
a lot of time when trying to search for them when required. Furthermore, team collaboration and
problem solving skills are very essential as we come across various errors when working on the
actual application, at that times team collaboration helps to gather ideas from the team members
and solve the problem rather than spending lot of time at an error and trying to solve it
individually.
Reflection
Through the training phase that took place during the internship, I was able to learn many
new things about the technology and health insurance, as this project deals with the eligibility
and enrollment of the users for the health insurance plans. I am not much aware about the
terminology related to the health Insurance before, but after the training, I am able to get an idea
WEB APPLICATION DEVELOPMENT USING JAVA 28
of health insurance plans and the rules that determine the eligibility of a person to a particular
healthcare program. About the technology, now I am confident that I can create a simple
application of my own and able to solve a problem if there is any issue with the code.
I also became familiar with the work environment, the company policies and attending
the daily standup meetings in an agile environment where the team members update their status
on the tasks they are performing. I learnt about various software tools used for different purposes
such as the email communication software INotes, and Jazz for assigning the defects to the
employees and for tracking the status of the progress of the team members on the tasks assigned
to them. I think that the training conducted provides both the company as a whole and the
individual employees with benefits that make the cost and time a worthwhile investment.
Iteration 3- Development
Plan
The third iteration of the Internship is a development phase, where we will be
involved in the development of the application. As this is the main phase of the internship
program, it continues for 5 weeks. In addition, as the application is already an existing one the
team lead said that he will be assigning us the tasks related to enhancement of the modules and
bug fixing. Enhancement is adding a new feature to the existing system, where bug fixing is
identifying the flaws in the existing system and rectifying them. We were said that in order to
complete these tasks we should have a very clear understanding of the system and the business
flow. Moreover, as this is a Healthcare application related to the Insurance we need to be very
clear about all the terms related to the insurance, without that it would be very difficult when one
tries to understand the code and the database tables. Initially I discovered that there are many
terms that I am unfamiliar with related to Insurance, so I decided to gather information about the
WEB APPLICATION DEVELOPMENT USING JAVA 29
Health Insurance and become familiar with its terminology as part of my plan during this
iteration. For performing the enhancements, we are advised to communicate with the Business
Analysts and with the Architects and participate in meetings with them. In the meetings,
discussions take place about the business and functional requirements for the enhancement. After
rigorous discussions, the requirements will be finalized and will be approved from the higher
authorities. Then after documentation of those requirements will be made. In this phase, we will
also be involved in the defect fixing tasks. Team lead asked few of the new joiners to work with
Mr.Rohit, Sr. Java Developer in making some defect fixes. The Rohit said that he will be
discussing about the some of the issues that the system is facing now. Then we need to make an
analysis and find out the root cause of the problems. After identifying the root cause of the
problem, we need to discuss it with Rohit and decide if that is the root cause for the problem,
else we need to continue on our analysis. Once the root cause has been identified and confirmed
that it is the one, then proper steps are to be made to resolve and fix the issue. Fixing of the issue
can be made either by simulating the same scenario that is causing the problem and debugging it
in your local machine to find where exactly in the code there is a flaw and fix it or if the issue is
a minor one and its fixing takes a lot of time, then it can be resolved temporarily by data
correction process. Data Correction is solving the problem for short-term by correcting the data
in the database instead of completely fixing the issue (B. Rajneesh, personal communication,
June 24, 2015).
Action
The main phase of my internship, which is development, started with an analysis task.
The purpose of the analysis is to identify the activity or circumstances that constitute a potential
security incident or concern. A Security Incident is defined as any irregular or potentially
WEB APPLICATION DEVELOPMENT USING JAVA 30
adverse event or circumstance that could have a negative impact on the system, and/or its assets
or clients. It is important to remember that if one encounters an irregular issue out of the
ordinary, it needs to be reported whether it is potentially adverse or a breach. I gathered all the
information and the procedure for doing the analysis and started my task. I began my analysis
process by looking at the database tables and analyzed all the details for the record that is given
to me which is having an issue. I did the analysis from my side and discussed it with Rohit if I
my going in the right direction. He suggested me to investigate further and gave me advice from
where to start by considering the same scenario. After careful analysis, I found out that there is a
flaw, that the values in the database are not as expected and I found out the actual reason, which
is responsible for causing that error. When I looked at the code, I found out that there is not code
written to handle the situations of that kind. I shared my observations with Rohit. He said that
fixing this issue would take a lot of time, so he suggested me to temporarily solve the issue by
making Data Correction for those kinds of records in the database. The company to make the
Data Corrections to the database records follows a standard procedure. A document was given to
me detailing the steps to raise an Incident and make the Data Correction for the records. For
raising an Incident the tool, RTC client is used by the company. In that tool, we can create a new
Incident describing all the details such as the number of records affected, the name of the
reviewer of the script, and the description of the incident. One can attach the file where you have
written the script to make the data correction. The script written for the Data Correction needs to
be reviewed and approved before it is executed in the production database. After the approval,
DBA’s execute the script in the database that is replication of the production and once the script
is executed successfully in that database, the DBA’s then execute the script in the actual
Production database. As the fix has not been made for the instance, Rohit suggested me to spend
WEB APPLICATION DEVELOPMENT USING JAVA 31
some time for fixing the issue in my free time. He said that would be a good learning experience
for me even though it is not required to fix the issue urgently.
Observation
The initial task that was given to me during the development iteration which is the
analysis task to figure out the issue that is causing the problem. I came to know that it is not an
easy task as this is the basic step that determines the potential incident or the concern. In order to
make this analysis it requires complete knowledge of the entire application flow. As this is a
project related to Health Insurance and I am not much familiar with the terms and usage of the
health insurance, so as part of my plan I decided to spend some of my time to understand the
terms and its terminology. Learning those concepts and getting familiar with those terms helped
me a lot to grasp the end-to-end flow of the application easily. All the research that I made and
the training together fostered me to make the analysis in a systematic process and determine the
problem’s root cause.
The standard procedure followed by the company to raise an incident through the RTC
client tool is very useful to keep track of the incidents and the employee who is responsible for
the incident. The tool also helps to keep track of all the incidents that are in progress and the ones
that are completed. There are also lot of benefits with the RTC client tool, such as the team
members can share their workspaces with other team members can share the code and the fixes
made by them. Moreover, the changes made to the code by one team member can be shared
across all of the team members, so that the code can be shared among everyone by accepting the
changes made by others. By this way all the workspaces of all team members remains same.
Another task in which I am involved is the defect fixing, where I am required to find out
the root cause of the problem for the Auto Enrollment failures. Auto Enrollment is a process to
WEB APPLICATION DEVELOPMENT USING JAVA 32
automatically enroll the people for the health insurance plans as opposed to user directly
enrolling through the user interface. However, there is some issue with the auto enrollment
process in some scenarios. During these scenarios, the accounts are not able to enroll
automatically. There are about 3000 accounts that are facing this problem. The errors are similar
for most of the accounts, so fixing the issue for a single error can clear lot of accounts and they
can be enrolled automatically. To find out the reason for the problem, I started my process
beginning from the logs. I am able to find out the logs for a particular account facing the
problem, and able to locate that code where that exception is being caused. By looking at the
code, I am able figure out the actual reason for the code. Now we are clear what is the causing
the problem, the challenge before us now is to fix that issue. However, we temporarily solved it
by data correction, but I am doing research from my side with the help of other team members to
simulate the same scenario in my local machine and find out a solution to fix it. Through the
entire process, I came to know how to resolve a problem.
Reflection
During this Development iteration, I have gained many experiences and I would like to
use all of them to strengthen my career. One thing that was at most useful to me was how to
solve a problem. Whatever the case it might be either in your education or in the profession
whenever a problem arises, the first thing one need to do is to identify and understand the
problem. Only when the problem is understood clearly it can be solved. If you were not clear
about the problem and are trying to solve it, then the time spent on it would be unproductive.
While assigning as the tasks, Rohit clearly explained what the problem is, so that we are on the
right track and we know exactly what the problem is. Once we are clear about the problem, the
first step that we took is to explore the errors that we are getting. The errors for the production
WEB APPLICATION DEVELOPMENT USING JAVA 33
are stored in the logs file. We took a particular account for which there is a problem in the Auto
Enrollment and then started to look into the logs to find out the error for that account. Then
understanding the error clearly and exploring it in the right direction is the next step I have taken.
The entire process of solving the problem is procedural and I think this is a very crucial skill that
an IT professional should have.
Furthermore, the standards and the procedures followed by the company to track the
progress of the tasks, to follow the security standards and gain the customer satisfaction helped
me understand how important the policies are for a company. There are many standard
procedures that every employee should follow such as to attend the security training sessions for
every three months, to destroy the documents that contain confidential information about the
customers and to fill in the forms if one requires access to the Production databases and the
applications. I filled in the forms to get the Production database, as I require the data to perform
certain analysis on the data in the Production.
In addition, different software tools are used by the company such as RTC Client, Jazz
Repository to keep track of the defects assigned to various team members and the status of the
each defect. I understood that a defect is to be approved by the project manager before it can be
assigned to anyone. Moreover, a lot of analysis takes place before confirming that it is a proper
defect or not. Initially an incident is created when one is working on the analysis to find out the
problem, then after a decision is taken whether the incident is a defect or else it is not considered
a potential threat to the system. Once the defect is confirmed, a solution is determined to fix the
issue. For fixing it, the same scenario that is facing the issue is recreated and debugging is
performed to understand the step by step flow of the process. As part of my task, I performed
such a task to recreate a scenario and debug it, and that was very great experience as I have come
WEB APPLICATION DEVELOPMENT USING JAVA 34
to know how the flow takes place and I tried to understand how the code is written and what
technologies were used to achieve that functionality. Overall, it was a great experience to involve
in the development of a real world application.
Iteration 4 – Testing
Plan
The fourth iteration at our internship is the testing phase, where we have Unit Testing and
end to end testing which is the Regression Testing. The plan for this phase is to write the unit test
cases for the defect fixing code I have made and once the unit testing is successful for all the
scenarios the testing team has to perform the regression testing where they perform the end-to-
end flow of the application. While writing the unit test cases each scenario is to be considered so
some discussions are to be performed before writing them. After deciding all the test case
scenarios, they will be documented. After completion of writing the test cases in the document
other senior developer in our team will review them. After reviewing, they execute each test case
in the document and mentioned whether it is success or failed. I will then have to re-verify the
failed test cases and update them. Once unit testing is successful for all the test cases, I need to
work with the quality assurance team and assist them is performing the end to end testing.
For performing the unit testing and writing the unit test cases I was asked to use the
JUnit framework. During the training, I learnt the basics of this framework, but have not used
them practically, so I decided to practice writing the unit test cases with the help of some
examples. I also asked my project manager to provide some documents regarding the framework.
I gathered all the necessary documents required for performing the task and spent some time for
practicing the concepts. I also took advice from the senior team members (B. Rajneesh, personal
communication, June 24, 2015).
WEB APPLICATION DEVELOPMENT USING JAVA 35
Action
After the development phase, this is the phase where I need to perform the unit testing
and assist the testing team to perform the regression testing. With the help of the concepts I have
learnt and by taking the advice from my scenarios, I have written the test cases and got it
reviewed it with one of the senior developer in the team. He gave me some suggestions and
asked to modify the test cases for some of the scenarios. I followed his advice and modified them
according to his suggestions. After the completion of all the test cases, I have prepared the test
document detailing all the test case scenarios. For preparing, the document and I took a sample
document from the manager and used it as a reference. Once everything from my side is
complete, I handed over the documents to a senior developer in our team and asked him to
review the teat cases. He executed all the test case scenarios present in the document and updated
the result as either success or failure in the document. He gave me some suggestions and asked
me to modify the test cases that have failed. I have updated the test cases that have failed by
considering his suggestions and modified the test document according to the new changes and
got them verified with him again. Now everything is successful, so I got the document approved
from the manager.
After the completion of the Unit Testing, I was asked to assist the Testing team to
perform the Regression Testing. This phase can also to termed as User acceptance Testing. I
explained the testing team different scenarios and asked them to perform the end-to-end flow
testing for all the scenarios explained. They performed the testing and reported me some issues
with a particular scenario. I looked at the issue and figured out the root cause of the problem.
There was some small issue with the code where a particular condition has not been mentioned. I
reported the issue to my manager, he asked the Incident management team to create a defect and
WEB APPLICATION DEVELOPMENT USING JAVA 36
assign it to me. I took the help of other developers in my team to perform that task. I used
conditional if else statements in Java to resolve the issue.
Observation
Unit Testing is a level of the software testing process where individual units/components
of a software/system are tested. The purpose is to validate that each unit of the software performs
as designed. A unit is the smallest testable part of software. It usually has one or a few inputs and
usually a single output. In procedural programming, a unit may be an individual program,
function, procedure, etc. In object-oriented programming, the smallest unit is a method, which
may belong to a base/super class, abstract class or derived/child class. Unit testing frameworks,
drivers, stubs and mock or fake objects are used to assist in unit testing. The developers perform
this testing phase before the quality assurance team performs the end-to-end testing which the
regression is testing.
I observed that this Testing phase plays a very important role after the development. It
determines the users the developed code is deployed into the production approve the proper
functionality of the application and only after the acceptance of the functionality. If there are any
issues during the phase, the code is to be re verified by the development team and have to fix the
issue. I also observed that while performing the Unit Testing by the developers, each scenario is
to be considered and many discussions take place to finalize all the test cases. Here it is also
important to document the test cases; I think that the documentation is very useful as it can be
used as a reference in future.
Reflection
Working on testing phase was a very great experience as I have gained knowledge on the
process to test the functionality of the code written such as writing the unit test cases. Here while
WEB APPLICATION DEVELOPMENT USING JAVA 37
writing the unit test cases each scenario is to be considered and a test case has to be written for
each scenario. The discussion among the team members for gathering the test case scenarios was
helpful as everyone contribute their ideas and within a limited time all the scenarios can be
gathered. The documentation that I have created for the test cases gave me an idea of how to
document the test cases and I came to know about the procedures for the approval of the
documentation from the project manager and the higher officials. As we have used the Junit
framework for writing the unit test cases, I became familiar with that technology and now I will
be able to write unit test cases for different scenarios. I came to know that the testing team
performs the testing in such a way that the developers will not be able to find such cases, when
the they said that there was some problem for a particular scenario. When I looked at that issue, I
realized the mistake and tried to write the code for that case. This experience helped me to
understand that knowledge of business rules and conditions is very essential, as while I wrote the
code for the first time I have missed to write code for a particular scenario.
I realized that testing is a vital part of software development, and it is important to start it
as early as possible, and to make testing a part of the process of deciding requirements. To get
the most useful perspective on the project, it is worthwhile devoting some thought to the entire
lifecycle including how feedback from users will influence the future of the application. Testing
is part of a lifecycle. The software development lifecycle is one in which you hear of a need, you
write some code to fulfill it, and then you check to see whether you have pleased the
stakeholders—the users, owners, and other people who have an interest in what the software
does. I hope that they like it, but would also like some additions or changes, so you update or
augment your code; and so the cycle continues. This cycle might happen every few days in case
of agile software development lifecycle.
WEB APPLICATION DEVELOPMENT USING JAVA 38
Conclusion
Thus, the Action research can be applied to the internship in findings results for any
specific research question posed while performing the internship. Initially, a topic that one likes
to investigate is selected. For example, one could look at the strategies and procedures follow to
develop an application. Action research can be used to investigate how a change in the strategies
affects the developing efficiency and what new programming techniques can be used for better
development of the application. After selecting the topic to investigate, a research question is
posed, and the goal is to develop a situation to improve it. Then after, a plan is designed for
carrying out the investigation, gathering and organizing the data, analyzing the information to
reflect on and improve the application development process. The results help to reflect on, to
learn from the mistakes and to plan for the next iteration effectively.
WEB APPLICATION DEVELOPMENT USING JAVA 39
References
Aken, A. (2008). CHUNK: An Agile Approach to the Software Development Life Cycle.
Journal of Internet Commerce, 7(3), 313. doi:10.1080/15332860802250385
Barton, J., Stephens, J., & Haslett, T. (2009). Action Research: Its foundations in open systems
thinking and relationship to the scientific method. Systemic Practice & Action Research,
22(6), 475-488.
Brighton, C. M., & Moon, T. R. (2007). Step-by-Step: A tool for educators to change their
worlds. Gifted Child Today, 30(2), 23-27.
Funabiki, N., Matsushima, Y., Nakanishi, T., Watanabe, K., & Amano, N. (2013). A java
programming learning assistant system using test-driven development method. IAENG
International Journal of Computer Science, 40(1), 38-46. Retrieved from Computers &
Applied Sciences Complete.
Glassman, M., Erdem, G., & Bartholomew, M. (2013). Action research and its history as an adult
education movement for social change. Adult Education Quarterly, 63(3), 272-288.
Koch, L., Kiener, M. S., & Gitchel, D. (2009). Action Research in rehabilitation education:
Curricular applications. Rehabilitation Education, 23(3/4), 205-213.
Kyung-Soo, J., & Jung-Woong, W. (2014). Development of object-oriented analysis and design
methodology for secure web applications. International Journal of Security & Its
Applications, 8(1), 71-80. doi:10.14257/ijsia.2014.8.1.07
Livermore, J. A. (2008). Factors that significantly impact the implementation of an agile
software development methodology. Journal of Software (1796217X), 3(4), 31-36.
Retrieved from Computers & Applied Sciences Complete.
WEB APPLICATION DEVELOPMENT USING JAVA 40
Mašović, S., Saračević, M., Kamberović, H., & Kudumović, M. (2012). Java technology in the
design and implementation of web applications. Technics Technologies Education
Management. Retrieved from
https://www.academia.edu/3248045/Java_technology_in_the_design_and_implementatio
n_of_web_applications
Mills, G. E. (2000). Action research: A guide for the teacher researcher. Upper Saddle River,
NJ: Merrill.
Nourie, D. (2006). Java technologies for web applications. Retrieved from
http://www.oracle.com/technetwork/articles/javase/webapps-1-138794.html
O’Brien, R. (2001). An overview of the methodological approach of action research. Retrieved
from http://www.web.net/~robrien/papers/arfinal.html
Padak, N., & Padak, G. Research to practice: Guidelines for planning action research projects.
Retrieved from http://literacy.kent.edu/Oasis/Pubs/0200-08.htm
Pancake, C. M., & Lengauer, C. (2001). High-performance Java. Communications of the ACM,
44(10), 98-101. Retrieved from Business Source Complete.
Pasternak, B., Tyszberowicz, S., & Yehudai, A. (2009). GenUTest: A unit test and mock aspect
generation tool. International Journal on Software Tools for Technology Transfer, 11(4),
273-290. doi:10.1007/s10009-009-0115-4
Rite Software (2012). Rite Software. Retrieved on May 22, 2015 from http://www.Rite
Softwaregroup.com/
Singhal, S., & Nguyen, B. (1998). The Java Factor. Communications of the ACM, 41(6), 34-37.
doi:10.1145/276609.276616
WEB APPLICATION DEVELOPMENT USING JAVA 41
Tomlinson, C. A. (1995). Action research and practical inquiry: An overview and an invitation to
teachers of gifted learners. Journal for the Education of the Gifted, 18, 467–484.
Warnars, H. S. (2011). Object-oriented modeling with unified modeling language 2.0 for the
simple software application based on agile methodology. Behavior & Information
Technology, 30(3), 293-307. doi:10.1080/01449290903186231