Is the JEE network simple or not

The Jakarta / Java Enterprise Edition JEE is used to program company-wide software which, compared to normal Java development, stands out above all in that it is based on a client-server architecture.

Client-server programming

Company-wide software requires centralized databases and centralized processes. In order to connect these with the workstations, you need a network.

The most basic type of network programming uses socket programming. The HTTP protocol is based on the sockets. This protocol is supported in Java by the HttpURLConnection class.

The JEE programming programs use an application server as the runtime environment, i.e. they are modules of a server and not the modules of a standard Java Runtime Environment (JRE).

Installation of a Jakarta / JEE development environment

Programming is only learned through programming. For the development of JEE applications you need an application server and a development environment that can include it in the tests.

For the examples, the JEE version of Eclipse, the reference implementation Glassfish, the Eclipse Glassfish tools and PostgreSQL as the database management system were used.

Application server

Application servers meet several requirements:
  • Application servers represent a runtime environment for the JEE programs in which EAR or WAR files run.
  • The server provides the communication services for HTTP.
  • There are also various services and libraries, such as JPA, which are then available to JEE programs.
There are different application servers. The most well-known are:
  • Glassfish is the reference implementation for the server component of the JEE. Glassfish is open source and complete. Glassfish is interesting because there are plug-ins for the IDEs Eclipse and NetBeans, which Glassfish can easily integrate.
  • JBoss JBoss is also an open source implementation but is being developed by a commercial company that does its business through support and training. The actual application server of the JBoss package is called Wildfly.
  • IBM Websphere IBM Websphere is a commercial server from IBM.
  • Tomcat is a slim application server that does not offer the full range of JEE, but is particularly suitable for web services.

Build and Deploy

Once developed, the application is packaged. This can be an EAR or WAR and is then placed on the application server. This process is known as deploy.

Servlets

HTTP requests can be received and answered with servlets. A servlet reacts separately to GET, POST and other HTTP calls and can respond to them dynamically by outputting text on the response channel.

When using HTML code on the output channel, such a browser can be used as a client.

However, XML or JSON can also be used. In this way, any data can be exchanged with a client that speaks XML or JSON.

Java Server Pages

Java Server Pages (JSP) are HTML files in which Java code is embedded. This is somewhat reminiscent of PHP. The application server translates the Java server pages into servlets. Java Server Page files end in .jsp.

Java Server Pages are mainly used when the client is a browser. This makes JSP particularly suitable for creating an interactive user interface.

Since HTML is used for the output, CSS and JavaScript can be used in the usual way.

Java Server Faces

Java Server Faces (JSF) also represent a view for a browser. Here the Java source is not embedded in HTML. Instead, there is a backing bean for each JSF page, which provides the Java code and accesses the JSF.

The concept means that the backing bean supplies the data that is entered and displayed in the facelet.

SOAP

The SOAP protocol combines the possibilities of HTTP and XML to implement a remote procedure call. On the basis of XML, the interface of the remote procedure is defined in a WSDL file, which exchanges its parameters as XML-coded data.

REST

REST stands for Representational State Transfer. A REST server provides a resource that is identified by its URI. Such a resource is managed by the HTTP commands GET (read), PUT (change), POST (add), DELETE (delete). Since only the URI and the command are required, a client can be created quite easily in almost any programming language or environment.

JPA - Java Persistence API

The Java Persistence API (JPA) enables a simplified handling of the database access. Database tables are mapped to objects (ORM: Object Relation Model). These objects are written to or read from the database by the JPA's Entity Manager.

JEE literature

Salvanos: Develop professionally with Java EE 8

Marcus Schie├čer, Martin Schmollinger: Workshop Java EE 7

Somewhat more abstract: Dirk Weil: Java EE 7: Enterprise application development made easy

The book contains over 100 pages on JEE: Arnold Willemer: Java All-in-One Volume for Dummies