Pelajari Java EE 8: Kembangkan Karir JEE Developer Anda!
Daftar Isi
- Pengantar Java EE 8
- Arsitektur dan Komponen Java EE 8
- Persiapan Lingkungan Pengembangan
- Membuat Proyek Java EE 8 Pertama
- Mengenal Servlet dan JSP
- Enterprise JavaBeans (EJB)
- Java Persistence API (JPA)
- Membangun RESTful Web Service dengan JAX-RS
- Keamanan di Java EE 8
- Contoh Proyek: Aplikasi Manajemen Buku
- Tips dan Sumber Belajar
1. Pengantar Java EE 8
Java EE 8 (Enterprise Edition) adalah platform standar untuk membangun aplikasi enterprise berbasis Java. Java EE menyediakan API dan runtime environment untuk membangun aplikasi web, layanan web, dan aplikasi enterprise yang scalable dan aman.
Java EE 8 membawa banyak peningkatan dari versi sebelumnya, termasuk dukungan untuk HTTP/2, JSON-B, JSON-P, dan WebSocket, serta peningkatan pada JAX-RS dan CDI.
2. Arsitektur dan Komponen Java EE 8
Java EE 8 terdiri dari beberapa komponen utama:
- Servlet & JSP: Untuk membangun aplikasi web dinamis.
- Enterprise JavaBeans (EJB): Untuk logika bisnis dan transaksi.
- Java Persistence API (JPA): Untuk manajemen data dan ORM.
- JAX-RS: Untuk membangun RESTful web services.
- Contexts and Dependency Injection (CDI): Untuk manajemen dependensi dan lifecycle objek.
- Java Message Service (JMS): Untuk komunikasi asynchronous.
3. Persiapan Lingkungan Pengembangan
Untuk mulai mengembangkan aplikasi Java EE 8, Anda perlu menyiapkan:
- JDK 8 atau lebih baru (disarankan JDK 11+)
- IDE seperti IntelliJ IDEA, Eclipse, atau NetBeans
- Application Server yang mendukung Java EE 8, seperti Payara Server, WildFly, atau GlassFish 5
- Maven atau Gradle sebagai build tool
Contoh instalasi dan konfigurasi Payara Server di IntelliJ IDEA:
4. Membuat Proyek Java EE 8 Pertama
Berikut langkah-langkah membuat proyek Java EE 8 menggunakan Maven:
-
Buka IDE dan buat proyek baru dengan archetype
maven-archetype-webapp. -
Tambahkan dependency Java EE 8 di
pom.xml:<dependency> <groupId>javax.platform</groupId> <artifactId>javax.jakartaee-api</artifactId> <version>8.0.0</version> <scope>provided</scope> </dependency> -
Buat struktur folder standar Java EE:
src/main/java,src/main/webapp, dll. -
Buat file
web.xmldisrc/main/webapp/WEB-INFuntuk konfigurasi web app.
Contoh
web.xml
minimal:
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<display-name>JavaEE8App</display-name>
</web-app>
5. Mengenal Servlet dan JSP
Servlet adalah komponen Java EE yang menangani request dan response HTTP. JSP (JavaServer Pages) digunakan untuk membuat halaman web dinamis.
Contoh Servlet sederhana:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
response.getWriter().println("<h1>Halo dari Java EE 8 Servlet!</h1>");
}
}
Contoh JSP sederhana (
hello.jsp
):
<!DOCTYPE html>
<html>
<head>
<title>Halo JSP</title>
</head>
<body>
<h1>Halo dari JSP di Java EE 8!</h1>
</body>
</html>
6. Enterprise JavaBeans (EJB)
EJB adalah komponen server-side yang menangani logika bisnis, transaksi, dan keamanan. Ada beberapa tipe EJB, seperti Session Beans dan Message-Driven Beans.
Contoh Stateless Session Bean:
import javax.ejb.Stateless;
@Stateless
public class CalculatorBean {
public int tambah(int a, int b) {
return a + b;
}
}
Anda dapat meng-inject EJB ke Servlet atau komponen lain menggunakan
@EJB
.
7. Java Persistence API (JPA)
JPA adalah standar ORM (Object-Relational Mapping) untuk mengelola data di database menggunakan objek Java.
Contoh entitas JPA:
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
@Entity
public class Buku {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String judul;
private String penulis;
// getter dan setter
}
Anda dapat menggunakan EntityManager untuk operasi CRUD pada entitas.
8. Membangun RESTful Web Service dengan JAX-RS
JAX-RS adalah API untuk membuat RESTful web service di Java EE.
Contoh resource REST sederhana:
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/hello")
public class HelloResource {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String hello() {
return "Halo dari RESTful Web Service Java EE 8!";
}
}
Resource ini dapat diakses melalui URL seperti
http://localhost:8080/api/hello
.
9. Keamanan di Java EE 8
Java EE menyediakan fitur keamanan seperti autentikasi, otorisasi, dan enkripsi. Anda dapat menggunakan deklarasi keamanan di
web.xml
atau anotasi seperti
@RolesAllowed
pada EJB dan REST resource.
Contoh anotasi keamanan pada EJB:
import javax.annotation.security.RolesAllowed;
import javax.ejb.Stateless;
@Stateless
public class SecureBean {
@RolesAllowed("admin")
public void adminOnlyOperation() {
// operasi khusus admin
}
}
10. Contoh Proyek: Aplikasi Manajemen Buku
Berikut contoh sederhana aplikasi manajemen buku menggunakan Java EE 8:
Model Entitas Buku
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
@Entity
public class Buku {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String judul;
private String penulis;
// getter dan setter
}
EJB untuk Logika Bisnis
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import java.util.List;
@Stateless
public class BukuService {
@PersistenceContext
private EntityManager em;
public void tambahBuku(Buku buku) {
em.persist(buku);
}
public List<Buku> semuaBuku() {
return em.createQuery("SELECT b FROM Buku b", Buku.class).getResultList();
}
}
REST Resource untuk Buku
import javax.inject.Inject;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import java.util.List;
@Path("/buku")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public class BukuResource {
@Inject
private BukuService bukuService;
@GET
public List<Buku> getAll() {
return bukuService.semuaBuku();
}
@POST
public void create(Buku buku) {
bukuService.tambahBuku(buku);
}
}
11. Tips dan Sumber Belajar
- Pelajari dokumentasi resmi Jakarta EE: https://jakarta.ee/specifications/platform/8/
- Ikuti tutorial dan kursus online: Java EE 8 Tutorial oleh Java Brains (YouTube)
- Baca buku rekomendasi: "Beginning Jakarta EE" oleh A. Goncalves
- Praktikkan dengan membuat proyek nyata dan eksplorasi API Java EE 8.