Skip to content
This repository has been archived by the owner on Apr 13, 2019. It is now read-only.
Konstantin Sobolev edited this page Mar 31, 2016 · 23 revisions

Intro

bla bla framework bla bla platform bla bla SOA

This framework has a number of unique features aimed at resolving real world problems:

  • Expressive domain model language. We have semantic types, inheritance, metadata support, validation etc
  • Multi-values as a way to better support versioning and data federation. Changing field type is no longer a backward-incompatible change.
  • Projections as a structured way of defining both implementation and invocation contracts for operations
  • Federation layer automatically providing reach graph APIs on top of domain-specific services

And of course a usual set of features:

  • Language agnostic schema and operation interface definitions
  • Pluggable wire protocols
  • full CRUD support plus custom actions
  • Bulk operations with partial failures support
  • REST-like HTTP interface
  • Asynchronous client bindings
  • ... and much more!

Overview

Following sections give a high level picture of system design.

Deployment

Typical deployment consists of a u number of domain-specific services deployed in a cloud, each providing it's own API. On top of them there is a Federator service which stitches individual services together to provide graph-like API.

Clients can consume services directly, like Client A, or they can talk to the federation layer like Client B. They can also chose to use federator as a library and configure it to only see a selected subset of services, like Client C does.