1. Home
  2. Training Library
  3. Programming
  4. Programming Courses
  5. Building Web Applications with Java EE 6

Building Web Applications with Java EE 6

Contents

keyboard_tab

The course is part of this learning path

Web Applications
Overview
Difficulty
Beginner
Duration
1h 16m
Description

This course explores the fundamentals of web applications, JavaServer Faces, and then walks you through a variety of projects that will give you a practical demonstration of how to create a web application and how to use various components of JavaServer Faces.

Learning Objectives

  • Understand the fundamentals of web applications
  • Learn about JavaServer Faces, and how they can be used in your applications

Intended Audience

This course is intended for anyone who already has basic knowledge of Java and now wants to learn about Java EE.

Prerequisites

Basic knowledge of Java programming.

Transcript

Hello, dear friends. In this video, we will start the web tier section with web applications. Let's begin. A web application is computer software that can be accessed using any web browser. Usually, the frontend of a web application is created using the scripting languages, such as HTML, CSS, and JavaScript, supported by almost all web browsers. In contrast, the backend is created by any of the programming languages, such as Java, Python, PHP, etc, and databases. 

Unlike the mobile application, there is no specific tool for developing web applications. We can use any of the supported IDE for developing the web application. Web application is a dynamic extension of a web or application server. Web applications have two types: Presentation-oriented and service-oriented. A presentation-oriented web application generates interactive web pages containing various types of markup language like HTML, XHTML, XML, and so on, and dynamic content in response to requests.

A service-oriented web application implements the endpoint of a web service. Presentation-oriented applications are often clients of service-oriented web applications. In the Java EE platform, web components provide the dynamic extension capabilities for a web server. Web components can be Java Servlets, web pages implemented with Java Server Faces technology, web service endpoints, or JSP pages. This image illustrates the interaction between a web client and a web application that uses a servlet. The client sends an HTTP request to the web server. A web server that implements Java Servlet and Java Server Pages Technology converts the request into an HTTPServletRequest object. This object is delivered to a web component which can interact with JavaBeans components or a database to generate dynamic content. The web component can then generate an HTTPServletResponse or can pass the request to another web component.

A web component eventually generates an HTTPServletResponse object. The web server converts this object to an HTTP response and returns it to the client. The web server is a process that handles the client's request and response. It processes the request made by the client using the related protocols. The main function of the web server is to store the request and respond to them with web pages. It is a medium between client and server. Apache, for example, is a popular web server. 

However, for our course, we will use Oracle GlassFish, which we installed in the previous video. A client is a software that allows users to request and assist them in communicating with the server. The web browsers are the clients in a web application. Some leading clients are Google Chrome, Firefox, Safari, Internet Explorer, etc. Web applications are by nature distributed applications, meaning that they are programs that run on more than one computer and communicate through a network or server.

Specifically, web applications are accessed with a web browser and are popular because of the ease of using the browser as a user client. For the enterprise, the ability to update and maintain web applications without deploying and installing software on potentially thousands of client computers is a key reason for their popularity. Web applications are used for web mail, online retail sales, discussion boards, weblogs, online banking, and more. One web application can be accessed and used by millions of people. 

Like desktop applications, web applications are made up of many parts and often contain many programs, some of which have user interfaces and some of which do not require a graphical user interface at all. In addition, web applications frequently require an additional markup or scripting language such as HTML, CSS, or JavaScript programming language. Also, many applications use only the Java programming language, which is ideal because of its versatility.

There are many technologies that you can use while making Java Web applications on the Java EE platform. These technologies are: Java Servlet API, Java Server Pages, Java Server Pages Standard Tag Library, Java Server Faces, Java Message Service API, Java Mail API, Java API for XML processing, JDBC API, Java Persistence API. In this course, we will focus on servlet JSP, JSF, and JMS. Let's continue with the life cycle of web applications. A web application consists of web components. These components are static resource files, such as images, helper classes, and libraries. The web container provides many supporting services that enhance the capabilities of web components and make them easier to develop. However, because a web application must take these services into account, the process for creating and running a web application is different from that of traditional stand-alone Java classes.

We can say that the process of creating a web application basically consists of six steps, from deployment and purpose. Develop the web component code. Develop the web application deployment descriptor, if necessary. Compile the web application components and helper classes referenced by the components. Optionally, package the application into a deployable unit. Deploy the application into a web container. Access a URL that references the web application. The final important topic of this video is development rules. Let's now cover these. The web tier is the face of an enterprise application and requires specific developers to build applications used in the web. Web designer, interface designer for web browser-based applications. Information architect creates the vision for site navigation and templating. A web designer fulfills the role of the interface designer for browser-based client applications. If the source code for the view components is sufficiently decoupled from the framework that manages the web tier, then the role of the web designer is purely a client tier concern.

Otherwise, the web designing and developing might need to be handled by individuals fluent in the concerns of both the client and the web tiers. The web developer implements all aspects of the web tier. This person must also work closely with the web interface designer to ensure that domain entities and content are properly integrated into the XHTML presentation components. They might also develop the client proxies and business delegates to the business tier components. 

Although it might be considered more of a client tier concern because of their expertise from a programming perspective, the web developer often provides assistance with the JavaScript technology aspects of the web client tier. That way, the web interface designer can focus on design-oriented issues. The typical web developer not only implements all aspects of the web tier, they typically handle a good deal of the business tier functionality as well. The architect oversees internal and client website construction, application development, and system integration. That's all I have for web applications. In the next video, we will start to examine JSF technology on Java 6 EE. See you in the next video.

 

About the Author
Students
413
Courses
35
Learning Paths
2

OAK Academy is made up of tech experts who have been in the sector for years and years and are deeply rooted in the tech world. They specialize in critical areas like cybersecurity, coding, IT, game development, app monetization, and mobile development.

Covered Topics