Building modular applications with GlassFish and Java 9 modules

In the world of software development, modularization has become an important concept in building scalable and maintainable applications. With the introduction of Java 9, the platform now supports module system, which allows developers to design applications as a collection of modules with clear boundaries and dependencies.

GlassFish, the open-source Java EE server, provides a robust platform for running Java applications. In this blog post, we will explore how to leverage the power of Java 9 modules in GlassFish to build modular applications.

What are Java 9 Modules?

Java 9 modules are a way to encapsulate code into units of modularity, known as modules. A module is a self-contained entity that contains packages, classes, and other resources. It defines its dependencies on other modules, allowing for better dependency management and encapsulation.

Getting Started with GlassFish and Java 9 Modules

To get started, we need to have GlassFish and Java 9 installed on our system. Once we have the prerequisites in place, we can follow these steps to build a modular application with GlassFish and Java 9 modules:

  1. Defining module descriptors: Create a module-info.java file at the root of your module. This file defines the module name, dependencies, and other module-level information.
module com.example.module {
    requires java.base;
    requires java.sql;
    requires com.example.dependency;
}
  1. Compiling modules: Compile your module using the javac command along with the --module-path option to specify the module dependencies.
javac --module-path mods -d mods/com.example.module src/com/example/module/ModuleClass.java
  1. Creating module JAR: Create a JAR file for your module using the jar command.
jar --create --file com.example.module.jar --main-class=com.example.module.ModuleClass -C mods/com.example.module .
  1. Deploying to GlassFish: Deploy your module JAR to GlassFish using the administration console or the asadmin command line tool.
asadmin deploy com.example.module.jar
  1. Accessing the module: Your module is now accessible to other modules or applications running on GlassFish. You can use the --add-modules option to specify the module dependencies.
java --add-modules com.example.module -jar myapp.jar

Benefits of Modular Applications

Building applications using Java 9 modules and GlassFish provides several benefits:

In conclusion, leveraging Java 9 modules in GlassFish allows developers to build modular applications that are scalable, maintainable, and efficient. By encapsulating code into modules, developers can achieve better organization, enhanced dependency management, and improved performance. So why not give it a try and take advantage of the power of modular development with GlassFish and Java 9?

#Java9Modules #ModularApplications