J-Framework Web Stack

WebStack projects aim to simplify your end-end web application development in Java.

Dependency

Most likely, you will NOT need to add direct dependency to this project, since it’s already included in the parent projects or the other framework projects. However, if you need to, the dependency is added as follows.

<!-- https://mvnrepository.com/artifact/com.jalalkiswani/j-framework-core -->
<dependency>
    <groupId>com.jalalkiswani</groupId>
    <artifactId>j-framework-webstack</artifactId>
    <version>7.0.0-SNAPSHOT</version>
</dependency>

Basic Usage

  1. Create a Maven Project with J-App-WebStack as the Parent.

  2. Create an App to run your application easily, it should look something like this:

package com.app;

import com.jk.web.embedded.JKWebApplication;

public class App {
	public static void main(String[] args) {
		JKWebApplication.run();
	}
}

Benefits

This project composes all the frameworks` projects to enable developers to build full web applications that are database-driven efficiently.

Specifically, and in addition to the other project benefits, it includes:

  • Built-in integration with SpringSecurity, just set jk.security.enabled property to true in your config file, and that’s it. Users and Roles information are saved in sec_users and sec_roles respectively.

  • Mapping to common error codes:

    • 404 page not found error will redirect to /error/404.xhtml, and all other errors will be redirected to /error/index.xhtml,

  • Commons Faces controllers:

    • JKWebControllerWithOrmSupport: Faces controller that includes a set of reusable methods for JPA/Hibernate ORM data-access.

    • JKWebControllerWithSqlDataAccess: Faces controller that includes methods to enable easier integration with JDBC.

  • WebStack Monitor that publishes the errors and exceptions to the cmon_event table in the database.

  • JKMatureJpaRestService which is a ready-made Mature Microservice for a specific entity, just extends it, and you are done.

  • Reusable Modules:

    • WorkflowManagement.

    • Account Management.

    • Monitoring.

    • Security.

    • Email.