Rico Application Framework

Implement applications while leveraging state-of-the art technologies, patterns and practices.

Rico Logo

Overview

Rico is an application framework that provides several functionalities and APIs to create enterprise applications. This includes features like tracing or monitoring that are critical in developing applications, escpecially in modern cloud based and distributed application landscapes. Thus, Rico provides generic APIs with specific implementation for the mostly used frameworks and toolkits in modern application development.

Rico originates from the Dolphin Platform which appears to be discontinued. Rico is an (originally) API compatible fork that we continue to develop and improve.

Rationale

The motivation for us to create Rico is to avoid code for standard use-cases to be written over and over again. Thus, we created it as an extension to commonly used frameworks like Spring and Jakarta EE (Java EE) that is easily adoptable.

The outcome is a framework that is built on top of well-known frameworks combined with commonly used components and prepared to be used with a very short warmup. Rico helps you to build your applications in a short time while letting you focus on the business requirements. It offers standard solutions for common technical use cases like Data Access, Logging, Monitoring and Security already built in and is well prepared to get integrated in your environment.

To achieve this, Rico provides clean APIs to seperate complexity coming from the set of technologies required to build your solution from your actual code.

Also, Rico provides a remoting layer that helps you to seperate UI framework specific code so that is a lot easier to switch UI implementations. It also enables you to choose different technologies for every target platform. As we see a very rapidly changing environment in UI technologies, this separation helps to protect your investment put into the solution built with Rico as it will be less dependent on a concrete UI technology.

Getting started

Currently, the best point to get started is our samples project repository. Please refer to the README in each project for a description how to get started with the sample:

  • Rico To-Do list application Application both for Spring and Jave EE with frontends in Angular, AngularJS, Polymer and JavaFx to demonstrate Rico Remoting and an EventBus to connect between different clients implemented in various UI technolgies.
  • Rico HTTP rest security - use Rico integration for Keycloak to secure your applications.
  • Rico HTTP client - show usage of Rico HTTP client to consume web services over HTTP

Our main repository as well as all our subprojects can be found at our GitHub organisation.

Who is using Rico

Users of Rico we know of and who have agreed to be listed here as references:

If you are using Rico and would be happy to see your company listed here, please contact us.

Outlook

Next steps planned for development of Rico are:

  • Release Rico Projector
  • Improve Rico Remoting Protocol
  • Upgrade to Java 11
  • Migrate Rico JavaScript to TypeScript for better maintainablility
  • Upgrade to recent Spring Boot Version (2.2)
  • Extend Rico JavaScript to support more Rico features (currently just remoting)
  • Upgrade the Angular Adapter to Angular 8
  • Upgrade support for WebComponents (currently outdated Polymer Adapter)

Rico is an open-source framework mainly driven by the projects already using it in production. If you want to influence the timeline, prioritize the next steps in Rico development or add your own items to the list, please contact us.

Rico Open Source