• Skip to primary navigation
  • Skip to main content
  • Skip to footer

VLINGO/PLATFORM HomepageVLINGO/PLATFORM

Leverage reactive multi-core with DDD

  • Resources
    • Videos
    • Get Started
    • Docs
    • Consulting
    • Training
    • Source
    • Learn More
      • Why OSS
      • Why Reactive
      • To Microservice Or To Monolith?
  • Product
    • Platform
    • Support
  • Company
    • About
    • News
    • Contact Us
    • Contributors
    • Team
    • Support Partners
  • Get Started

Components

VLINGO/CLUSTER

December 1, 2020 by admin Leave a Comment

VLINGO/CLUSTER

Reactive Scale and Fault-Tolerance.

A key component that sits on top of our Reactive foundation, supporting the development of scalable and fault-tolerant tools and applications. You will implement and deploy your services/applications in clusters, with managed actor message passing between cluster nodes.

In addition to scalable fault-tolerance we also provide cluster-wide, synchronizing attributes of name-value pairs. This enables the cluster to share live and mutating operational state among all nodes. Likewise, application-level services can also make use of cluster-wide, synchronizing attributes in order to enhance shared application/service values.

Generally a cluster will be composed of multiple nodes of an odd number (not just one, but for example, 3, 5, 21, or 49), which best supports our consensus protocol in determining a quorum of healthy nodes. Due to our Reactive foundation, even a small number of nodes may outperform much larger clusters that use blocking runtimes.

Get Components Now
Get VLINGO/PLATFORM
Pricing
Pricing
Documentation
Documentation
Components
Components

Filed Under: Components, Pillow Tagged With: components

VLINGO/SYMBIO

December 1, 2020 by admin Leave a Comment

VLINGO/SYMBIO

VLINGO/SYMBIO, that’s an unusual name. What is its origin?

I am glad you asked! There is a similar symbiotic relationship to those found in nature between domain models and persistence. They depend on each other, even though they may not be aware of each other.

OK! Interesting! Tell us more about VLINGO/SYMBIO.

Sure. The VLINGO/SYMBIO parent tool is a set of protocols and default in-memory implementations. The protocols are usable by concrete implementations. The in-memory implementations are useful for testing. It is the Reactive, scalable, and resilient Object, CQRS, and Event Sourcing storage and projection tool for services and applications built on the VLINGO/PLATFORM.

A set of protocols. Fascinating. What are they?

There are three primary kinds of storage mechanism protocols available: ObjectStore, StateStore, and Journal. In recent years, object storage has been managed by a technique known as object-relational mapping (ORM), where objects are disassembled to fit into the relational table, row, and column structures. Many ORM tools are available to developers. All of these are or can be supported by a VLINGO/SYMBIO ObjectStore implementation.

What ObjectStore implementations are available?

We have Apache Geode, HSQLDB, PostgreSQL and YugaByte implementations. Adding support for other databases is a snap and will be supplied on a need basis.

What is StateStore?

StateStore is a simple CQRS Key-Value storage. The values can be of type CLOB/BLOB. The StateStore mechanism can be run against a number of persistence engines. Use it for both Command/Write Models and Query/Read Models.

Have you implemented StateStore in VLINGO/SYMBIO?

Yes! These are the available storage implementations: Apache Geode, DynamoDB, HSQLDB, and PostgreSQL. Adding additional JDBC storage delegates is a straightforward process requiring a few hours of work. We welcome you to add support for your favorite database!

What is Journal Storage? And what do you have implemented?

The Journal and related protocols support simple-to-use Event Sourcing, including Journal Reader for streaming across all entries in the journal, and Stream Reader for reaching individual “sub-streams” belonging to entities/aggregates in your application. VLINGO/SYMBIO has implementations in JDBC over Postgres and FoundationDB and supporting asynchronous readers.

Get Components Now

Filed Under: Components, Pillow Tagged With: components

VLINGO/SCHEMATA

December 1, 2020 by admin Leave a Comment

VLINGO/SCHEMATA

Your Published Language, Managed.

Our schema registry provides the means for Bounded Contexts, a la services and applications, built using other components, to publish standard types, or schemas, that are made available to client services that consume these types with data. The published standard types in the registry are arranged in an organizational, services, and type hierarchy.

Organization: There may be one or many top-level organizations. An organization is the owner of all schemas under its hierarchy.

Unit: There may be one or many units under an organization. A unit is representative of some kind of business unit, division, or department. A unit’s name is flexible and may include dot-notation to create uniqueness in a large organization.

Context: A logical application or (micro)service within which schemas are to be defined and for which the schemas are published for potential consumers. You may think of a Context as the name of the Bounded Context, and it may even be appropriate to name it the top-level namespace used by the Context:

com.saasovation.agilepm

Category: A type division within a Context. Supported categories are: Command, Data, Document, Envelope, and Event.

Schema: The name and description of a given categorized schema. Each schema has at least one version and may have several.

SchemaVersion: Every schema has at least one version, and may have several. A Schema Version holds the specification of a particular version of the schema, and also holds a description, a semantic version number, and a status. The description is a textual/prose description of the purpose of the version. The specification is a simple DSL that defines the structure and attributes of the given version of the schema. The following is an example schema version specification under the Event category:

event PriceChanged {
  version eventVersion
  timestamp occurredOn
string productId
  BigSale:Marketing:Pricing:Data:Price newPrice
}

The above specification is dependent on the following schema version specification under the Data category:

data Price {
  double amount
  string currency
}

Combined, these two schemas define a single schema of a Domain Event named PriceChanged that is published by:

BigSale:Marketing:Pricing

Additional tooling generates the schema definition in source code for the programming language of the dependent consumer.

Get Components Now

Filed Under: Components, Pillow Tagged With: components

VLINGO/STREAMS

December 1, 2020 by Nicole Andrade Leave a Comment

Implements the Reactive Streams specification for the VLINGO/PLATFORM. It implements all four abstractions: Processor, Publisher, Subscriber, and Subscription, along with additional APIs for stream processing convenience. It is possible that you will never implement a Processor, Publisher, Subscriber, or Subscription yourself. Default implementations of these are provided by our fluent API. You will, instead implement Source and Sink types. VLINGO/STREAMS runs on our foundational VLINGO/ACTORS component, providing scaled Reactive concurrency for stream processing. 

Filed Under: Components, Pillow

VLINGO/LATTICE

December 1, 2020 by admin Leave a Comment

Getting to know VLINGO/LATTICE

What is it?

A reactive compute grid for process distributed domain and data objects. Includes tooling used to easily implement Reactive Aggregate persistence, projections, querying, and messaging across services, such as DDD Bounded Contexts. The VLINGO/LATTICE component provides the essential components that support Reactive Domain-Driven Design projects. The partitioned grid of distributed actors are highly concurrent and supremely efficient. The tools include compute grid, actor caching, spaces, cross-node cluster messaging, publish-subscribe, message/event feeds, CQRS, and Event Sourcing support.

Tell me more!

There are numerous features to VLINGO/LATTICE. They include Grid, Exchange, Processes, Routers, and CQRS, Sourcing, and Object Persistence. Process Managers or Sagas provided by VLINGO/LATTICE are: ObjectProcess, SourcedProcess, and StatefulProcess.

Which process manager should you use?

Choose based on your preferred persistence type. If you prefer Object-Relational Mapping, use ObjectProcess. If you prefer Event/Command Sourcing, use SourcedProcess. If you prefer key-value, use StatefulProcess.

Do you support Exchange Feeds?

Yes, VLINGO/LATTICE supports Exchange Feeds, which are messages packaged in logs and generally provided through HTTP requests. Our Exchange Feeds naturally work with the built-in FeedResource support of VLINGO/HTTP.

Get Components Now

Filed Under: Components, Pillow Tagged With: components

VLINGO/HTTP

December 1, 2020 by admin Leave a Comment

Getting to know VLINGO/HTTP

What is it?

A Reactive HTTP server that provides Reactive request-response services. Your services can be embedded into any given service and every request and response are handled asynchronously by means of actors. This is a major step forward in avoiding configuration-based REST request-response mappings. It provides built-in resource handlers for Feeds and Server-Sent Events (SSE).

Is it clunky?

It is small and fast. It can be used independently or with other VLINGO/PLATFORM components.

Did you know?

VLINGO/HTTP supports REST feed resources and snaps together nicely with VLINGO/LATTICE for complete REST+Exchange solution.

vlingo http
Get Components Now

Filed Under: Components, Pillow Tagged With: components

  • Go to page 1
  • Go to page 2
  • Go to page 3
  • Go to Next Page »

Footer

Learn More

  • Pricing
  • Consulting
  • Training
  • Why OSS
  • Why Reactive
  • To Microservice Or To Monolith?

Resources

  • Videos
  • Get Started
  • Documentation
  • Toolset Quick Guide
  • Support
  • Source

Company

  • About
  • Contact
  • News
  • Team
  • Support Partners


Copyright © 2021 VLINGO LLC. All Rights Reserved.