AdeptJ Runtime

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

Built upon

  1. Battle tested Tomcat/Jetty/Undertow Servlet containers.

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

Modules:

  1. Dependency Injection (OSGi Declarative Services) Felix SCR v2.2.6.

  2. JAX-RS 3.1(RESTEasy v6.2.4) with JWT support

  3. JWT module for creating and verifying the JWTs issued by AdeptJ Runtime and verification of JWT issued by third party systems.

  4. Persistence(SQL/NO-SQL) layer - JPA 3.1(EclipseLink v4.0.2) or MyBatis v3.5.13 or MongoDB sync driver v4.10.2.

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

  6. Caffeine(v3.1.7) - a high performance in memory cache.

  7. SLF4J(v2.0.7) & Logback(v1.4.8) based logging - 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) based on battle tested Spring Security crypto.

  9. Java Bean Validation(Hibernate Validator v8.0.1)

  10. RestClient for server side API calls, there are few adapters based on Apache HttpClient v4.x and Jetty HttpClient v11.x.

  11. Email module for sending plain text and html based emails using Eclipse Angus Mail.

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 or Tomcat or Jetty) as per server adapter selected along 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.

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.