Skip to content

🌐 Distributed JEE Application: A modular Java EE project using EJB3, JPA, and WildFly to manage student data with CRUD operations. Features a MySQL database, a servlet-based web frontend, and remote EJB integration for distributed architecture. πŸš€

Notifications You must be signed in to change notification settings

MohamedBarbych/JEE-Application-EJB-and-JPA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŒπŸ“š Distributed JEE Application with EJB and JPA

This project demonstrates the implementation of a distributed Java EE application using EJB3, JPA, and MySQL. The goal is to create a modular and scalable system that manages student data with full CRUD operations.


🎯 Objective

To practice and implement a distributed JEE application by leveraging EJB3, JPA, and WildFly. The application performs CRUD operations on student data stored in a MySQL database. image image


πŸš€ Features

  • Distributed Architecture: EJB Session Beans for modular and reusable components.
  • CRUD Operations: Full management of student data (create, read, update, delete).
  • Database Integration: Persistent storage with JPA and MySQL.
  • Dynamic Web Application: Servlet-based frontend consuming remote EJB methods.
  • Standards-Compliant: Built with Jakarta EE standards, ensuring portability and scalability.

πŸ› οΈ Tools & Technologies

Technology Purpose
EJB3 Business logic with Session Beans
JPA Database persistence layer
MySQL Relational database management
WildFly Application server
IntelliJ IDEA Development environment
Maven Dependency management and build

image

πŸ“‚ Project Structure

src/
β”œβ”€β”€ ejb/
β”‚   β”œβ”€β”€ META-INF/
β”‚   β”‚   β”œβ”€β”€ persistence.xml          # Persistence configuration
β”‚   β”œβ”€β”€ com.example.ejb/
β”‚   β”‚   β”œβ”€β”€ Etudiant.java            # JPA Entity for students
β”‚   β”‚   β”œβ”€β”€ EtudiantSessionBean.java # EJB Session Bean for CRUD
β”‚   β”‚   β”œβ”€β”€ EtudiantRemote.java      # Remote interface
β”œβ”€β”€ web/
β”‚   β”œβ”€β”€ WEB-INF/
β”‚   β”‚   β”œβ”€β”€ web.xml                  # Web application configuration
β”‚   β”œβ”€β”€ com.example.web/
β”‚   β”‚   β”œβ”€β”€ AddStudentServlet.java   # Servlet for adding a student
β”‚   β”‚   β”œβ”€β”€ ViewStudentServlet.java  # Servlet for viewing students
β”‚   β”‚   β”œβ”€β”€ UpdateStudentServlet.java # Servlet for updating a student
β”‚   β”‚   β”œβ”€β”€ DeleteStudentServlet.java # Servlet for deleting a student


image

βš™οΈ Setup & Installation

Prerequisites :

  • Java 11+ installed.
  • Maven for project management.
  • MySQL with a database named Getudiants.

Steps to Run

  • Clone the Repository:
git clone https://github.com/YourUsername/Distributed-JEE-Application.git
cd Distributed-JEE-Application
Set Up the Database:
  • Create a MySQL database:

CREATE DATABASE Getudiants; Update persistence.xml with your MySQL credentials:

<property name="hibernate.connection.username" value="your-username" />
<property name="hibernate.connection.password" value="your-password" />
Deploy the EJB Module:

Package the EJB project using Maven:

mvn clean package
  • Deploy the EJB JAR to your WildFly server:

Deploy the Web Module Package the web project using Maven:

mvn clean package
  • Deploy the WAR file to WildFly: Access the Application:

Open your browser and navigate to the web application:

http://localhost:8080/your-webapp-context

About

🌐 Distributed JEE Application: A modular Java EE project using EJB3, JPA, and WildFly to manage student data with CRUD operations. Features a MySQL database, a servlet-based web frontend, and remote EJB integration for distributed architecture. πŸš€

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages