Book Image

Java EE 8 and Angular

By : Prashant Padmanabhan
Book Image

Java EE 8 and Angular

By: Prashant Padmanabhan

Overview of this book

The demand for modern and high performing web enterprise applications is growing rapidly. No more is a basic HTML frontend enough to meet customer demands. This book will be your one-stop guide to build outstanding enterprise web applications with Java EE and Angular. It will teach you how to harness the power of Java EE to build sturdy backends while applying Angular on the frontend. Your journey to building modern web enterprise applications starts here! The book starts with a brief introduction to the fundamentals of Java EE and all the new APIs offered in the latest release. Armed with the knowledge of Java EE 8, you will go over what it's like to build an end-to-end application, configure database connection for JPA, and build scalable microservices using RESTful APIs running in Docker containers. Taking advantage of the Payara Micro capabilities, you will build an Issue Management System, which will have various features exposed as services using the Java EE backend. With a detailed coverage of Angular fundamentals, the book will expand the Issue Management System by building a modern single page application frontend. Moving forward, you will learn to fit both the pieces together, that is, the frontend Angular application with the backend Java EE microservices. As each unit in a microservice promotes high cohesion, you will learn different ways in which independent units can be tested efficiently. Finishing off with concepts on securing your enterprise applications, this book is a handson guide for building modern web applications.
Table of Contents (16 chapters)

Chatting on an issue

We enable the chatting feature within the IMS project by providing a group chat that is available to all users of the app. A WebSocket object can be used to create and manage WebSocket connections to a server. This object provides attributes that can be used to listen for events such as onopen, onclose, and onmessage. We make use of these events to build our chat component. A WebSocketService in the project provides a connect() method that the chat component calls when it's initialized. Here's the connect() method of WebSocketService:

private socket: WebSocket;
private listener: EventEmitter<any> = new EventEmitter();

public connect() {
const path = `ws://localhost:8084/ims-chat/chat`;
this.socket = new WebSocket(path);

this.socket.onmessage = event => {
this.listener.emit({ "type": "message&quot...