Welcome back to the Arbré Technologies Developer Desk. In this issue, we’re going to talk about the software architecture that our technology team maintains to help our customers drive efficiency and profitability. For those not familiar with the term, “software architecture” refers to the types of software applications, how they are deployed in the cloud and/or on servers, and the general blueprint for where new features are added to the software.
At Arbré Technologies, we take a cloud-based approach to our software architecture. What that means is we don’t have a room of servers sitting in our office building (we don’t even have an office building); instead we use the Microsoft Azure platform to deploy our software to the “cloud”. The cloud is just a fancy term for deploying software to a series of servers that another company (like Microsoft, Google, or Amazon) manages and maintains for us. This way, we can focus more on building software rather than managing servers and hardware.
Our software architecture consists of 3 layers:
Layer 1: Customer Applications
These are the applications that you as the customer use on a day-to-day basis to manage your inventory.
Our customer application layer consists of:
- Arbré Nursery Web and Mobile Applications: The primary applications used by our customers for managing inventory.
- ArbréScan Desktop: A windows desktop application that is in conjunction with checkpoint readers to perform autonomous operations on inventory, such as moving inventory to new locations or changing inventory statuses.
- Arbré BI: The reporting platform we offer to our customers to view insights and reports into their inventory.
Layer 2: APIs
This layer is how our
customer applications communicate with our database or custom integrations that
store inventory & customer data.
API stands for Application Programming Interface, which is a methodology for different software applications to communicate with one another using a defined and known process. Our APIs are backend applications (no user interface) that facilitate performing complex logic operations, managing & securing customer data, and executing workflows among other things.
Our API layer consists of:
- Identity Server: This API is used for providing authentication in our applications and securing customer data.
- Nursery API: This is the primary API used for communication between the customer applications and the data layer
- High Volume Scanning API: This API is used for all high volume RFID operations. This is used primarily for the bulk scanning and shipment verification modules
- Azure Functions: This API is used to communicate with external applications, such as our email provider and customer integrations.
Layer 3: Data Access
The bottom layer of our software architecture is the data access layer. This includes the database where all of our application and customer data is stored as well as any external and custom integrations that are used.
Our Data Access Layer consists of:
- Internal Database: Our internal database is used to store all data for customers that use Arbré as their complete inventory solution.
- Custom Integrations: Custom integrations are used when customers have their own ERP or API and Database solution for managing their data but want to use some of Arbré’s modules to improve their efficiencies, such as bulk scanning or shipment verification. We use an integration platform we developed that allows for that data to appear in Arbré’s software applications.
Each of these layers in our software architecture helps us easily build and deliver new features to our customers.
Thanks for taking another stop at the developer’s desk.
Drew is a developer at Arbré Technologies and focuses on maintaining and adding new features to the iOS and Android applications. Drew also teaches night classes in programming at the local tech college. In his free time, he enjoys spending time with his wife and their two dogs and three cats in the Northwoods of Wisconsin.