Basic Concepts of agrirouter

Ecosystem

The agrirouter ecosystem and the members of it are described in the chapter ecosystem.

The agrirouter ecosystem of members
Figure 1. The agrirouter ecosystem of members

Applications and App Instances

In each agrirouter account, there are different types of communication partners, which are called app instances:

The different types of app instances: CU
Figure 2. The different types of app instances: CU, Application, Virtual CU, Machine, Account

The list of Application Types helps to find out which type of application you should create.

Endpoints

Each app instance communicates with its corresponding endpoint in the agrirouter.

For communication, it’s important to understand the elements of an endpoint.

The elements of an endpoint: Communicate with Inbox and Outbox
Figure 3. The elements of an endpoint: Communicate with Inbox and Outbox, Handle Feed and Subscriptions and send Messages through the routings to other endpoints

Communication

To communicate with agrirouter, it’s important to understand the basics of communication

Messaging Workflow

The communication workflow describes which messages have to be sent to agrirouter to exchange information with the agrirouter endpoint.

General messaging workflow
start
repeat
if (Already connected?) then (No)
  :Wait for connection;
  if (Already onboarded?) then (Yes)
  else (No)
    :Execute onboarding process;
  endif
else (Yes)
endif
if (Teamset new or changed?) then (Yes)
  :Send capabilities &\nteamset;
else (No)
endif

if (Send or Receive?) then (Send)
  :Send\nmeasurements;
else (Receive)
  if (Messages\nknown?) then (No)
    :Call for\nHeader List;
    :Poll for list\nin outbox;
    :Call for deletion of\nunneeded messages;
  else (Yes)
  endif
  :Call for\nmessages;
  :Poll for messages\nin outbox;
  :Confirm\nreceiving;
endif
repeat while ()

This workflow can be found in the chapter messaging workflows.

Message Exchange

The message exchange describes the exchange of messages between application instances over the agrirouter.

Path of a message through agrirouter
Figure 4. Path of a message through agrirouter

The basic concepts of message exchange are described in the concepts of message exchange. This chapter handles, for example, the concepts of addressing members of the ecosystem.

Life cycle

In general, the life cycle of an endpoint consists of 3 steps:

The 3 steps of communication: Onboarding, Communication, Revoking
start
partition #lightGrey Onboarding {
    if (Is your app a communication unit?) then (YES)
        :Get TAN from agrirouter UI;
        :Onboarding;
    else (NO)
        :Get TAN from authorization process;
        :Secured Onboarding;
    endif
}
partition #lightGrey "Communication" {
    repeat
        :Communicate with endpoint|
        if (Delete App Instance?) then (YES)
          partition "Revoking" {
            :Revoke;
            end
        }
        else (NO)
        endif
    repeat while (Certificate still valid?) is (YES)
    -> NO;
    :Restart Onboarding;
}

Concept of a telemetry platform

When developing a telemetry platform, the concepts of a telemetry platform should be understood.

Endpoints of a Telemetry Platform
Figure 5. Endpoints of a Telemetry Platform

Terms and short descriptions

A short description naming all the agrirouter specific terms and their connection to each other can be found here.

A list of abbreviations can be found here.

A glossary can be found here.

There are several ids required for communication, a list of descriptions can be found here.