Welcome to the VLINGO XOOM documentation!
Use the open source (OSS) VLINGO XOOM platform to experience the ultimate simplification of application and microservices with rapid delivery. Your solutions will possess distinguished and advanced properties, such as Reactive programming and architecture, along with distributed, concurrent, event-driven, and microservices-based systems that just work. Along with Domain-Oriented Microservices Architecture (DOMA) and Domain-Driven Design (DDD), this is the crossroads where business strategy and modern technology meet.
Our platform is a full ecosystem with visual modeling tools and a rich array of components that enable digital transformation with leading-edge architectures in record time.
To jump directly into the use of the VLINGO XOOM platform, we suggest that you review the Getting Started chapter along with the Hello, World! example. With a basic understanding of the underlying SDK and APIs, the next step is the use the XOOM Designer to bypass the architecture details by starting in experimentation mode with a microservice that you design visually. You can use the XOOM Designer with no platform SDK experience.
The remainder of this chapter and the Overview in the next chapter give you a brief yet thorough introduction to the VLINGO XOOM platform SDK and its full complement of components.
The VLINGO XOOM platform SDK is a toolset to enable your systems, applications, and services to apply modern distributed systems patterns, to be highly scalable and performant, and to realize advanced architectures with minimal risk. Use our platform SDK to:
Developing Event-Driven and microservices architectures with ease
Implement your DOMA and DDD-based system using fluent business language
See just below for the detailed advantages.
As platform developers, we've done the heavy lifting so that you can focus on your customers' solutions. You may use our platform as a general-purpose toolset for developing Event-Driven and Microservices Architectures with the DOMA mindset. You may also choose to use our platform to implement your DDD-based system. In any case, your systems, applications, and services will be up and running quickly with scale, throughput, and overall performance that is difficult to match.
When using DOMA and DDD, our platform doesn’t get in your way as you build your DDD Bounded Context with its Ubiquitous Language. Rather, VLINGO XOOM facilitates the explicit and fluent linguistic expressions of your core business models. Consider our platform a DOMA enabler and DDD-friendly. Together with simplified Reactive multi-core enablement, your teams are supplied with a powerful toolbox full of versatile components supporting your most advanced innovations.
The following diagram shows the primary tools available with the XOOM platform. From top to bottom, consider how each of these helps.
VLINGO XOOM Advantages accelerate your architecture and design to deployment. You go from idea to model design to delivered, quickly. As you collaborate with your customer, possibly using EventStorming, your designs will be fully operational much more rapidly, and reflect the fluent conversations your team speaks while realizing your Ubiquitous Language in a Bounded Context. By means of our service-based Compressed Architecture and acceleration tools, Event-Driven and Microservices Architectures have never been so simple.
VLINGO XOOM Designer helps you rapidly design any DOMA-based Microservices and DDD solutions by providing a modeling tool that delivers a compressed Ports and Adapters architecture with all the parts of your Microservice, including infrastructure and domain model. Following Designer modeling and generation, just build and run, and enhance your model with additional business logic to fit the needs of your customers. Our quick-booting Turbo container ties together all platform components. Learn more here.
XOOM HTTP is our Reactive HTTP server, which scales to an incredible number of concurrent, non-blocking requests. With our lightweight architecture, your HTTP request handlers (a.k.a endpoints) are super simple to define, either by a fluent API or a configuration-based file mapping. Using the XOOM annotations, you get HTTP request auto-dispatch directly to your domain model, meaning there is no need for you to implement your own request handlers. The server also supports Server-Sent Events (SSE) and continuous Event-Driven Feeds via REST log resources.
XOOM Lattice is a distributed grid over which any number of objects are partitioned. The objects may be Aggregates/Entities, Processes/Sagas, Data Tuples, Message Exchanges, Stateless Services, State Projections, and many others. Sending a message to any such object is opaque to the sender, and the message arrives at the single, specific location of where specific object is pinned in the grid. All of the objects that contain persistent data, such as Aggregates/Entities and Processes/Sagas, may be stored in a variety of ways: Key-Value State Storage, Event Sourcing, and Object Mapped. This is all backed by resilient cluster management. When receiving Exchange messages from other services, the XOOM annotations are used to auto-dispatch directly to your domain model. There are many other benefits, which can be read here.
XOOM Streams provides our implementation of the Reactive Streams standard. The component enables you to continuously stream over any number of elements, whether from an in-memory or persisted data collection, a database query result, other streams, and many other use cases. Included with our streaming is the ability to define back-pressure to the publisher of the stream, preventing the stream of many elements in rapid succession to overwhelm the subscriber. Learn how to use our streaming here.
XOOM GraphQL is a server that accepts GraphQL queries by HTTP requests and runs them asynchronously. The asynchronous execution nature, resulting in both concurrent and parallel queries, is unknown to the GraphQL client, unless it uses our HTTP client interface which also enables a non-blocking client side. Our GraphQL server is the simplest and most convenient interface to massive numbers of aggregating queries.
XOOM Schemata is our platform's schema registry. It provides the means for systems, applications, and services (possibly as Bounded Contexts), to publish standard types that are made available to client services. The published standard types are known as schemas, and the registry hosts the schemas for given organizations and the services within. From a DOMA and DDD perspective, this supports establishing exchangeable Published Languages for event-driven systems. Learn how to use the schema registry to protect against strong coupling between Microservices and the problems that arise from it.
XOOM Symbio introduces Reactive storage in three different varieties and with several different backing persistence databases. Use any of our diverse storage types: Key-Value State Storage, Event Sourcing, and Object Mapped. For backing databases, employ asynchronous DynamoDB, Postgres, MySQL, MariaDB, YugaByte, and others, all with non-blocking throughput. Our storage is non-blocking to provide the greatest level of low-latency throughput and ultimate performance. Choose your storage preferences inside the XOOM Designer and get fully operational Reactive storage effortlessly.
XOOM Actors is the Reactive foundation runtime underlying the entire platform. It supports high-scalability with fully asynchronous type-safe messaging. To accomplish this, our toolkit is an implementation of the Actor Model, and all primary platform components are built on our Actor Model implementation. You will be amazed when you learn the full benefits of using XOOM Actors.
Multi-threaded programming has traditionally been complex and error prone, especially given sophisticated modern microprocessors that employ numerous code execution optimization techniques. To simplify this, the VLINGO XOOM platform provides an object-based threading model in which individual objects are run single-threaded, while the overall process execution is massively concurrent and even parallel.
Our platform provides a JVM and .NET SDK ecosystem for building high-performance, Reactive microservices and well-modularized monoliths. Explore our DOMA-compatible and DDD-friendly toolkit and see how it provides the key benefits to reach the future of business-driven software at scale.
Our team very much appreciates collaboration. It increases the value that the VLINGO XOOM offers. Also, the more viewpoints and contributors that we have the more competent and mature the VLINGO XOOM community becomes. If you want to be a catalyst for moving the platform forward, the first step is to submit an issue. Next, create a pull request on one of our platform repositories that provides a non-trivial contribution. Following approval and a merge of your pull request, you are eligible to work with our team as a regular contributor and maintainer. Get in touch with us!
We are here to help you and your teams. Learn about our support, training, consulting, and project development offerings.