JK-Framework Web Stack

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

Dependency

Most likely, you will NOT need to add the direct dependency to this project, since its already included in the parent projects or the other framework projects. However, if you need to, the dependency is

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

Basic Usage

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

  2. Create an App to run your application easily, it should looks 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 projects 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 projects benefits, it includes:

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

  • Mapping to common error codes:

    • 404 page 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 include methosd to enable easier integration with JDBC

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

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

  • Reusable Modules

    • WorkflowManagement

    • Account Management

    • Monitoring

    • Security

    • Email