Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Brutusin-RPC Build Status Maven Central Latest Version

Brutusin-RPC shiny logo

JEE web framework for creating self-descriptive JSON-RPC microservices and single-page applications with minimal effort.


  • JSON-RPC 2.0 over HTTP
  • JSON-RPC 2.0 over websockets
  • Messaging (publish/subscribe) over websockets
  • Java & Javascript client API
  • Builtin descriptive services and functional testing module
  • Arbitrary complex input and output description based on JSON Schema
  • Spring-security integration
  • Embedded server runtimes

Full Documentation

See the Wiki for full documentation, examples, operational details and other information.

Quick start. Code and test!

Run this java application:

import org.brutusin.rpc.Server;
import org.brutusin.rpc.websocket.WebsocketAction;

public class HelloAction extends WebsocketAction<String, String> {

    public String execute(String input) throws Exception {
        return "Hello " + input + "!";

    public static void main(String[] args) throws Exception {
        Server.test(new HelloAction());

and automatically your browser will be open with a functional testing client for the newly created service:

Service testing client

Live demos

Support, bugs and requests


Contributions are always welcome and greatly appreciated! Just fork, and send me a pull request.


Apache License, Version 2.0