Toolset Quick Guide
The VLINGO/PLATFORM is a generous toolset of Reactive components that are very friendly to Domain-Driven Design projects. It may be used for developing a single service, multiple services, well-architected monolithic applications, and full system solutions.
We deliver an environment for rapid development, supporting fluent, highly scaleable and concurrent software models, with precision and type safe integration across subsystems. Capabilities include Reactive REST services over HTTP, domain object aggregates, key-value aggregates, event sourced aggregates, CQRS with projections, compute grid, actor and data object caching, object spaces, cluster cross-node actor messaging, enterprise message exchanges, and long-running processes (aka Sagas).
This quick guide will help introduce you to the VLINGO/PLATFORM components.
|VLINGO/ACTORS||The VLINGO/PLATFORM type safe Actor Model toolkit for reactive concurrency and resiliency using Java and other JVM languages.|
|VLINGO/XOOM provides a JVM microframework for the VLINGO/PLATFORM that helps teams jump start their high-scale, high-performance, Reactive microservices and monoliths.|
|The VLINGO/XOOM Starter is the quick-start designer for your domain models, REST, Event Sourcing, and CQRS, that provides a project generator for the VLINGO/XOOM quick start components 🙂|
|VLINGO/HTTP||The VLINGO/PLATFORM reactive, scalable, and resilient HTTP server supporting RESTful services running on VLINGO/LATTICE and VLINGO/ACTORS.|
|VLINGO/LATTICE||The VLINGO/PLATFORM tooling for reactive Domain-Driven Design models that are highly concurrent. Includes Compute Grid, Actor Caching, Object Spaces, Cluster Cross-Node Messaging, CQRS, and Event Sourcing support.|
|VLINGO/STREAMS||The VLINGO/PLATFORM Reactive Streams support built on VLINGO/ACTORS.|
|VLINGO/SCHEMATA||The VLINGO/PLATFORM Schema Registry.
It provides the means for Bounded Contexts, al la services and applications, built using the VLINGO/PLATFORM to publish standard types that are made available to client services.
|VLINGO/SYMBIO||The VLINGO/PLATFORM reactive, scalable, and resilient Object, CQRS, and Event Sourcing storage tools for services and applications.|
|VLINGO/CLUSTER||The VLINGO/PLATFORM cluster management for reactive, scalable resiliency, and inter-node high-throughput of JVM tools and applications running on VLINGO/ACTORS.|
|VLINGO/DIRECTORY||The VLINGO/PLATFORM service registry and service discovery tools for distributed systems.|
|VLINGO/COMMON||The VLINGO/PLATFORM common tools shared across various projects. (Don't worry, this is not a catchall.)|
|VLINGO/TELEMETRY||The VLINGO/PLATFORM reactive metrics collector plugin.|
|VLINGO/AUTH||The VLINGO/PLATFORM authentication and authorization service used by platform components, and also suitable for hosted platform services and applications.|
|VLINGO/WIRE||The VLINGO/PLATFORM wire protocol messaging implementations, such as with full-duplex TCP and UDP multicast, and RSocket, using VLINGO/ACTORS.|
|VLINGO/BUILD-PLUGINS||The VLINGO/PLATFORM plugin for the Maven build tool supporting automation including VLINGO/SCHEMATA schema version push and dependencies pull CLI.|
The type-safe Actor Model toolkit for reactive concurrency, scalability, and resiliency using Java and other JVM languages, serving as the foundation for the message-driven platform. Actors are objects, but without direct method invocations. Instead actors send and receive messages asynchronously.
An identity and access management tool used by the vlingo/PLATFORM where data and its use must be secured. Your services may use this facility but are not required to.
The way to scale your services across a number of nodes, whose components can communicate and collaborate with components on any given node.
A small set of reusable components used by multiple platform components. (Don’t worry, this is not a catchall.)
The means by which services register with the system and discover collaborators. It’s not a passive “look-up registry.” It is a publisher of service availability and access.
The reactive HTTP server that provides request-response services that can be embedded into any given service. It is fluent, DDD-friendly, and it’s small and fast.
Tooling for reactive Domain-Driven Design projects, and featuring highly concurrent models. Includes compute grid, actor/object caching, object spaces, cross-node cluster messaging, object aggregates, state aggregates, event sourced aggregates, CQRS with projections, messaging exchanges, and long-running processes (aka Sagas).
A plugin for the Maven build tool supporting automation for the vlingo/PLATFORM.
The vlingo/schemata component is a schema registry. It provides the means for Bounded Contexts, al la services and applications, built using the vlingo/platform to publish standard types that are made available to client services.
The reactive, scalable, and resilient CQRS, Event Sourcing, Object storage, and projection tools for services and applications. With three major persistence types, all based on reactive and actors, there is no strong opinion about a given approach to persistence. Teams are the best to determine their needs, which may be different between Entity types and from one Bounded Context to another. Supports: AWS DynamoDB, Apache Geode, and JDBC. JDBC: Key-Value, JPA, and JDBI, for PostgreSQL, MySQL, MariaDB, and HSQLDB. (YugaByte, Vitess, and others available soon.)
The reactive metrics collector plugin for the vlingo/PLATFORM, including support for vlingo/actors, vlingo/http, vlingo/lattice, vlingo/streams, and others.
Wire protocol messaging implementations, such as with full-duplex TCP, UDP multicast, and RSocket, using vlingo/actors.
The vlingo/PLATFORM adoption accelerator for Java and other JVM languages. Our vlingo/zoom component is an ongoing effort to help individual developers and architects, as well as whole teams, to speedily jump start learning on the vlingo/PLATFORM.