Giter VIP home page Giter VIP logo

Join the chat at https://gitter.im/XComponent/xcomponent NuGet Twitter URL

XComponent Resource Center

XComponent is a platform to easily create, monitor and share microservices. In XComponent, a microservice is a set of components. Each component is based on state machines (States machines are designed graphically). This approach is powerful and flexible because it enables you to size or resize your microservices as you want.

Authentication component

Microservices are developed in C# (.NET 4.5.2 or above).

XComponent community edition provides the following tools :

  • For Windows only :
    • NuGet XCStudio : the IDE to design components and microservices
    • NuGet XCSpy : a test and monitoring tool for XComponent microservices
  • Multi platform tools :
    • NuGet XCBuild : the tool that generates and builds microservices designed with XCStudio
    • NuGet XCBridge : the WebSocket bridge to communicate with microservices through a WebSocket connection
    • NuGet XCRuntime : the execution environment for XComponent microservices
  • Online tools :
    • Website XCSpyWeb : the web version of XCSpy available online
  • Apis (to communicate with XComponent microservices through a reactive Api) :
    • npm Reactive XComponent JS Api : The Javascript Api that uses the XCBridge
    • NuGet Reactive XComponent .NET Api : The C# Api
    • github Reactive XComponent Python Api : The Python Api (Still under construction)

Note: "Microservice architectural style is an approach to develop a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms. These services are built around business capabilities and independently deployable by fully automated deployment machinery.” James Lewis & Martin Fowler

Building Microservices with XComponent

  • Define your Components according to a business logic or a technical logic

Note: In XComponent, a “Component” is a set of state machines (micro-orchestration)

  • Link the components (Composition) between them
  • Create the APIs
  • Create your Microservices as sets of Components
  • Deploy your microservices and run them with XCRuntime (under Windows or Mono)

With XComponent, your microservices have the following avantages:

  • They can communicate each other in Real-Time
  • You can communicate with your microservices in Real-Time using XComponent Apis
  • You can easily resize your microservices
  • You can migrate from a Monolith to a full microservices architecture without a line of code !
  • XComponent platform is fully asynchronous and it is running on the top of a RabbitMQ middleware. Nevertheless, the complexity of this kind of architecture is hidden to the developper
  • You can monitor in Real-Time the status of your microservices For a better understanding of XComponent, and for more details, we suggest to read the user guide or to jump to the Hello World sample.

Thanks to the Use Cases section, you will able to understand:

  • How to develop microservices with XCStudio
  • How to run them with XCRuntime
  • How to consume microservices with XComponent Apis

Prerequisite

Install

All samples will directly download XComponent Community Edition from Nuget. Nevertheless, if for some reasons, you need an MSI, you can get one in the releases page.

Documentation

User Guide

Use Cases

Click here to see XComponent examples.

It is a good starting point to understand how the XComponent platform works.

Test Framework

Click here to have details about the Test Framework.

Sequence Diagram Control

Click here to have details about the Sequence Diagram Control.

Questions ?

If you have any questions about this sample, please create a Github issue for us!

You can also join us on Slack!

XComponent's Projects

chatbot-nlp icon chatbot-nlp

Several studies centered arround text classification and how to improve its performance

docker icon docker

This repository contains various Docker build files for creating Docker images.

xc-cli icon xc-cli

XComponent Command Line Interface

xcomponent icon xcomponent

Develop microservices in C# using state machines.

xcomponent.functions icon xcomponent.functions

XComponent Functions is used to take advantage of XComponent in any technologies (Node, Java, C++, ...)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.