Getting Started

Last updated 3 months ago

How to start using the vlingo/platform.

The vlingo/platform is distributed as a set of libraries. The available artifacts for the Java Development Kit are available as JAR files from three primary public repositories, Bintray, Sonatype, and Maven Central.

You may use any number of build tools to retrieve the JAR files that you need for a project. We generally recommend using either Maven or Gradle. You can include the following in your Maven pom.xml file to reference the vlingo/actors toolkit:

...
<repositories>
<repository>
<id>jcenter</id>
<url>https://jcenter.bintray.com/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>io.vlingo</groupId>
<artifactId>vlingo-actors</artifactId>
<version>x.y.z</version>
<scope>compile</scope>
</dependency>
</dependencies>
...

For use with Gradle you will need somthing like the following:

dependencies {
compile 'io.vlingo:vlingo-actors:x.y.z'
}
repositories {
jcenter()
}

Of course the x.y.z is representative placeholder of the semantic version number of the given artifact. You should examine one of the above listed repositories, such as Bintray, for the most recent available versions. Generally the tip revision of each JAR file listed in the repository is the one that will work together with all others as a whole platform.

Currently the following components are available for use:

Component

Description

vlingo/actors

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.

vlingo/auth

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.

vlingo/cluster

The way to scale your services across a number of nodes, whose components can communicate and collaborate with components on any given node.

vlingo/common

A small set of reusable components used by multiple platform components. (Don't worry, this is not a catchall.)

vlingo/directory

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.

vlingo/http

A reactive HTTP server that provides request-response services that can be embedded into any given service. It is small and fast.

vlingo/lattice

Tooling for reactive Domain-Driven Design projects that are highly concurrent. Includes compute grid, actor caching, spaces, cross-node cluster messaging, CQRS, and Event Sourcing support.

vlingo/maven-plugin

A plugin for the Maven build tool supporting automation for the vlingo platform.

vlingo/symbio

The reactive, scalable, and resilient CQRS storage and projection tool for services and applications built on the vlingo/platform.

vlingo/symbio-dynamodb

An implementation of vlingo-symbio state storage for the Amazon AWS DynamoDB.

vlingo/symbio-jdbc

An implementation of vlingo-symbio state storage for JDBC databases, including Postgres and other hardened relational databases.

vlingo/telemetry

The reactive metrics collector plugin for the vlingo/platform, including support for vlingo/actors, vlingo/http, vlingo/lattice, vlingo/streams, and others.

vlingo/wire

Wire protocol messaging implementations, such as with full-duplex TCP and UDP multicast, using vlingo/actors.

See each of the appropriate documents for guidance on how to use each of the platform components.