You can edit almost every page by Creating an account and confirming your email.

ActiveJ

From EverybodyWiki Bios & Wiki






ActiveJ
Developer(s)ActiveJ LLC
Initial releaseJune 13, 2020; 6 years ago (2020-06-13)
Stable release
v3.0 / November 12, 2020; 5 years ago (2020-11-12)
RepositoryActiveJ Repository
Written inJava
Engine
    Operating systemCross-platform
    Websitehttps://activej.io

    Search ActiveJ on Amazon.

    ActiveJ is an open-source Java platform built from the ground up for developing modern web, cloud, high-load, and microservices solutions.:[1][2][3][4][5]. Released under Apache license 2.0, ActiveJ features a full stack of technologies with an asynchronous programming model.

    All ActiveJ components are published on Maven Central Repository[6] and also on ActiveJ GitHub repository[7]. ActiveJ is listed in awesome-java[8], a curated list of awesome Java frameworks, libraries and software.

    History

    ActiveJ v1.0 was released on Jun 13, 2020. It is an improved and restructured version of the DataKernel[9] framework. After DataKernel v3.0 release[10], the framework was significantly reorganized to improve usability and performance. Some of the platform components were separated, so that they can be used as stand-alone libraries.

    Structure

    ActiveJ consists of several loosely coupled components that complement each other. Conceptually they can be grouped as following:

    Core components

    • ActiveInject. Powerful and lightweight dependency injection library without third-party dependencies[11][12][13]. Can be used independently of ActiveJ platform.
    • Async I/O core: Promise[14], Eventloop[15], Net[16].
    • Fast and asynchronous data stream processing: Datastream[17], CSP[18].
    • High-performance [19] HTTP component, features asynchronous HTTP clients and servers [20]. Can be used independently of ActiveJ.
    • Bootstrapping and lifecycle management utils: Launcher[21], Service Graph[22], JMX, Triggers.

    Bytecode manipulation tools

    These components can be used as stand-alone libraries.

    • ActiveSerializer[23] . World’s fastest JVM-based Serializer[24] according to the benchmarks conducted Nov 11, 2019 (as a part of DataKernel framework) using JVM-serializers test[25].
    • ActiveCodegen. Dynamic runtime code generation without reflection[26].
    • ActiveSpecializer[27]. Optimizes application code for JVM in runtime and speeds it up by up to 7 times[28].

    Cluster technologies

    • ActiveRPC. A high-performance RPC implementation with binary protocol for distributed applications and microservices[29].
    • ActiveFS[30]. Lightweight library for building scalable distributed file storage[31].
    • ActiveCRDT (beta). State-based conflict-free replicated data type implementation[32]

    Features

    The core ActiveJ principles are:

    • Explicit design
    • Flexibility and extensibility
    • No excessive abstractions
    • Minimal third-party dependencies
    • Loosely coupled components
    • Business logic over framework specifications[4]

    Examples

    Here is a basic example of ActiveJ web application. It utilizes Launcher and HTTP components, along with ActiveInject library[33]

    public final class HttpHelloWorldExample extends HttpServerLauncher {
    	@Provides
    	AsyncServlet servlet() {
    		return request -> HttpResponse.ok200().withPlainText("Hello World");
    	}
    
    	public static void main(String[] args) throws Exception {
    		Launcher launcher = new HttpHelloWorldExample();
    		launcher.launch(args);
    	}
    }
    

    The result of this application launching will be the “Hello World” message on localhost:8080:

    Notable use case

    ActiveJ and its predecessor DataKernel are widely used at AdKernel LLC[34], a technical solution provider for digital advertising.

    References

    1. "ActiveJ official website". activej.io.
    2. "ActiveJ: A New, Alternative Java Platform". www.javacodegeeks.com.
    3. "ActiveJ: New platform for Java developers presented". jaxenter.de.
    4. 4.0 4.1 "ActiveJ. New Java platform". entwickler.de.
    5. "ActiveJ Overview. New Full-stack Java Framework". jaxenter.com.
    6. "ActiveJ Maven repository". mvnrepository.com.
    7. "ActiveJ GitHub repository". github.com.
    8. "Awesome-Java repository". github.com.
    9. "DataKernel official website". datakernel.io.
    10. "DataKernel v3.0 release". jaxenter.de.
    11. "ActiveInject official website". inject.activej.io.
    12. "ActiveInject. Fast and Lightweight Dependency Injection Library". dzone.com.
    13. "ActiveInject Overview". dev.to.
    14. "ActiveJ. Promise". activej.io.
    15. "ActiveJ. Eventloop". activej.io.
    16. "ActiveJ. Net". activej.io.
    17. "ActiveJ. Datastream module benchmarks". activej.io.
    18. "ActiveJ. CSP module benchmarks". activej.io.
    19. "ActiveJ. HTTP module benchmarks". activej.io.
    20. "Creating High-Performance Web Applications with ActiveJ". www.javacodegeeks.com.
    21. "ActiveJ. Launcher". activej.io.
    22. "ActiveJ. Service Graph". activej.io.
    23. "ActiveSerializer. Ultra-fast Java serialization library". dev.to.
    24. "ActiveSerializer official website". serializer.activej.io.
    25. "eishay/jvm-serializers". August 24, 2020 – via GitHub.
    26. "ActiveCodegen official website". codegen.activej.io.
    27. "ActiveSpecializer official website". specializer.activej.io.
    28. "Transforming AST with ActiveSpecializer". dev.to.
    29. "ActiveRPC official website". rpc.activej.io.
    30. "ActiveFS official website". fs.activej.io.
    31. "Creating a Cluster File Storage With ActiveJ". dzone.com.
    32. "ActiveCRDT official website". crdt.activej.io.
    33. "ActiveJ Overview. New Full-stack Java Framework". jaxenter.com.
    34. "AdKernel. Our technologies". adkernel.com.

    External links



    This article "ActiveJ" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:ActiveJ. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.