AdeptJ Runtime

High performance, dynamic, modular runtime for RESTful APIs, MicroServices and WebApps.

Built upon

  1. High performance Undertow v2 web server.

  2. OSGi Framework R8 (Apache Felix as implementation).

Modules:

  1. Dependency Injection (OSGi Declarative Services).

  2. JAX-RS 2.1 (RESTEasy v5.0.2) with JWT support.

  3. JWT module for creating and verifying the JWTs.

  4. Persistence (SQL/NO-SQL) layer - JPA (EclipseLink v2.7.10) or MyBatis v3.5.9 or MongoDB v4.5.0.

  5. Hikari (v5.0.1) JDBC Connection Pool Provider (Only if JPA or MyBatis is opted).

  6. Caffeine(v3.0.5) cache.

  7. Logback loggers - add or remove loggers in running server which will survive the server restart.

  8. Crypto module for hashing (BCrypt) and encryption/decryption with (AES/GCM/NoPadding).

  9. Java Bean Validation (Hibernate Validator v6.2.3).

Toolchain

  1. AdeptJ Maven Plugin for bundle deployment to boost developer productivity.

  2. Most of the services are highly configurable using OSGi Configuration Admin.

  3. The runtime embeds OSGi Framework and Undertow with modules described above.

Steps to build and run:

Please check AdeptJ Runtime Launcher GitHub Repo for full instructions.

Roadmap

  1. Extensive code coverage for AdeptJ Runtime and Modules.

  2. Modules for popular NoSQL databases.

  3. OAuth2(client and server) modules.

  4. Embedding the servers such as Tomcat, Jetty etc.

Want to contribute

Please feel free to fork the repos or drop a note to me @ irakeshk[AT]outlook[DOT]com so that I could add you to the AdeptJ organization.

Sponsors

The AdeptJ Team uses the IntelliJ Idea Ultimate when working on the AdeptJ Runtime and Modules projects.

Many thanks to JetBrains for generously sponsoring our Open Source projects with an all products license!

LICENSE

Copyright 2016-2022, AdeptJ (https://www.adeptj.com)

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

   https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.