Skip to content
On this page

Consumer experience

We aim to ensure that the way software across the Alis Build platform operates, communicates and integrates is simple and consistent. Whether you are getting results from a model, updating a database or executing trades, all of these actions should feel familiar. This allows you to seamlessly adopt anything across the platform without spending hours in obscure documentation and the toil of attempting to integrate it in your code.

What does that experience feel like? In this section, we want to provide you with a few basic concepts and then allow you to experience the Alis Build platform for yourself. Below is a teaser of what you can expect 😉.

Definition-first approach

The Alis Build platform leverages a core set of open-source technologies, all certified by the Cloud Native Computing Foundation. An essential part of how we make the platform work is the strict adoption of Protocol Buffers, also referred to as Protobufs.

From a technical perspective:

Protocol buffers are a language-neutral, platform-neutral extensible mechanism for serializing structured data. Source

What is important from a practical perspective however is that:

You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to and from a variety of data streams and using a variety of languages. Source

Two things to take note of:

  1. Defining things is the first, essential part of building on the Alis Build platform. Everything that you will be working with (resources) and what you will be doing (services) is defined once in a .proto file.
  2. The definitions of these resources and services are then used to generate source code in the language of your choice to implement, or work with, the resources and services you defined.

Find out more about Protobufs, their usage and benefits on the platform in the core technologies article.

Experience the simplicity

Books.proto

Let us consider a Book resource with name, display name, authors and publishers as fields. This is defined in a books.proto file as follows:

protobuf
// The definition of a book resource.
message Book {

	// The name of the book.
	// Format: books/{book}.
	string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];

	// The display name of the book.
	string display_name = 2 [(google.api.field_behavior) = REQUIRED];

	// The authors of the book.
	repeated string authors = 3 [(google.api.field_behavior) = REQUIRED];

	// The publisher of the book
	string publisher = 4 [(google.api.field_behavior) = REQUIRED];
}

The builders of this product allows you to list all the books available, ListBooks, and to retrieve the details of a specific book, GetBook. These are also defined in the books.proto file as part of the BooksService:

protobuf
// Book service for foo.br.
service BooksService {
	// List all available books.
	rpc ListBooks(ListBooksRequest) returns (ListBooksResponse) {}
	// Get a specific book.
	rpc GetBook(GetBookRequest) returns (Book) {}
}

Now that we know what resource is available, Book, and what we are able to do with it, ListBooks and GetBook, we can get practical.

Run the example

Experience the simplicity in accessing these methods in any of the supported languages in using one of our preconfigured cloud IDEs:

Warning

We are in the process of building out new examples and moving over the existing demo services. The examples below may therefore result in errors when making requests.

Next Steps

Ready to join Alis Build? Get in touch.