Skip to content

Implementation

Bordi Tamás edited this page Nov 25, 2021 · 19 revisions

The core-java-spring project is the first implementation of Eclipse Arrowhead.

Technology Stack

Programming Language: Java 11+

Why java? Because it is platform-independent as much as possible. When a computer has the Java Runtime Environment (JRE) installed, a Java program can run on it. Most types of computers are compatible with a JRE including PCs running on Windows, Macintosh computers, Unix or Linux computers, and large mainframe computers.

Programming Framework: Spring-Boot 2.1.5+

Why Spring? Because it brings together years of wisdom in the form of design patterns. Spring has a long history of innovation, adoption, and standardization. Over the years, it's become mature enough to become a default solution for most common problems faced in the development of large scale enterprise applications.

Building Tool: Maven 3.5+

Why Maven? Because it is one of the most popular build tools in Java, designed to take much of the hard work out of the build process. Maven uses a declarative approach, where the project structure and contents are described, rather than the task-based approach used in Ant or in traditional make files, for example.

Database Management System: MySQL 5.7

Why MySQL? Beacuse it was developed for speed, and maintains a reputation for being fast, even if this may come at the expense of some additional features. It is also known for its reliability, backed by a large community of programmers that have put the code through tough testing over the years.

Implemented Core Systems

Mandatory Core Systems

Supporting Core Systems

  • Certificate Authority
  • Choreographer
  • Configuration
  • Data Manager
  • Device Registry
  • Event Handler
  • Gatekeeper
  • Gateway
  • Onboarding
  • Plant Description Engine
  • Quality Of Service Monitor
  • System Registry
  • Time Manager

Interactive API Documentation - Swagger UI

Swagger is an Interface Description Language for describing RESTful APIs expressed using JSON. Core Systems are implementing Swagger UI in order to generate interactive API documentation that lets you try out the API calls directly in the browser. When a Core System is up and running, than Swagger UI is available at {address}:{port}/swagger-ui.html. In case of secure mode the System Operator Certificate will be required to load by the browser.

ABOUT

GETTING STARTED

Certificates

Quick start

How to contribute?

HINTS

MANDATORY CORE SYSTEMS

Service Registry

Orchestrator

Authorization

APPLICATION SYSTEMS

SUPPORTING CORE SYSTEMS

Gatekeeper

Gateway

Event Handler

Choreographer

Quality of Service Monitor

Certificate Authority

System Registry

Device Registry

Onboarding

Data Manager

Time Manager

Plant Description Engine

HawkBit Configuration Manager

Device Hub

Clone this wiki locally