An advice on development and more
This chapter describes a possible way of handling the integration with the agrirouter. It is not the only way of doing it, of course. For a valid and well communicated agrirouter integration, you should follow a mixture of business and development decisions:
-
Get basic knowledge: First, read the basic concepts of agrirouter architecture and ecosystem; described in this documentation.
-
Decide what you want to implement:
-
Read the several non-agrirouter-relevant technical message types (e.g. TaskData, Images, Telemetry) as a general overview of possible capabilities.
-
Decide which messages are relevant for you and which information you could consume or provide. This way, you could e.g. forward the requirement for a TaskController Integration or a Camera attachment possibility at a CU to the relevant departments and it’s more common that it will be there in time.
-
Synchronize your plans: Depending on your role in the company make sure, management, marketing, sales and developers have the same idea of the upcoming product
-
-
Decide, how to implement: Once you made these decisions, let’s not care about the messages for a while and work out a possible architecture:
-
Read about the onion principle of communication and the command flow.
-
Check the general concepts around agrirouter like Protobuf, MQTT, REST and EFDI
-
Check for libraries and frameworks e.g. at the DKE GitHub.
-
Decide, how to build your architecture to make your system compatible for agrirouter or to build an interface service.
-
-
Create an application in agrirouter, to receive applicationID and CertificationVersionID
-
Start Development:
-
Build your application and read about the several messages in detail to implement them
-
-
Do pre-release work
-
Pre-create Solution-Finder entry: Even though your app is not yet tested, prepare the Solution-Finder form for the release of your product. Should ideally be done by a sales or management person.
-
Check the Solution-Finder entry: Should be done by a developer: Read the Solution-Finder entry and make sure, you support all the described functionality as described in the Solution-Finder entry and in the integration guide or linked documents.
-
-
Test your app: agrirouter provides the possibility to select test users for a not yet certified app. Select some customers or your internal staff to check if your app runs smooth with agrirouter and with common other endpoints. For a farming software, a corresponding Communication Unit could be such an endpoint
-
Certify your app: Select your desired certification company and let your app be certified for public release.
-
Deploy productive app: Setup your application in the productive environment and adjust all settings relevant to contact the productive environment.
-
Test productive: Using a test account make sure that your application works on the productive environment as supposed
-
Release to public: Remove the "coming soon" badge from your Solution-Finder entry and let people know that your app is up and running.