Auron SMS Server architecture
This article describes all the parts that make up the Auron SMS Server. To learn more about the message bus architecture in the Auron SMS Server click here.
Overview
The Auron SMS Server is build up out of a number of components that help you setup your message based application. The image below shows a schematic overview of the Auron SMS Server components and how they integrate in your application.
The setup installs all of these component automatically. Including a number of examples and template triggers. Simply download and run the setup on your server.
In the following sections we’ll discuss the elements of the Auron SMS Server architecture:
- The SMS Server service
- The SMS Server manager
- The Web Messenger
- The Bulk Wizard / Campaigns
We’ll also discuss the most important Auron SMS Server concepts:
The Service
The service is the main engine of the Auron SMS Server and has the following responsibilities:
The service is always running in the background as a regular Microsoft service.
You can manage the Auron SMS Server service from the Windows services app or from the Service Control dialog in the Auron SMS Server Manager.
The Manager
The SMS Server manager is the main configuration front-end of the Auron SMS Server. It’s responsibilities are:
- Browse and filter messages
- Maintain the channel and routing configuration
- Create and edit trigger scripts
- Configure and start sending bulk messages (campaigns)
- Send and reprocess messages for development, testing and troubleshooting
Find a detailed description of the SMS Server manager here.
The Web Messenger
The Auron SMS Server Web Messenger is a browser-based front-end of the Auron SMS Server. With the Web Messenger employees can send and receive through the Auron SMS Server channels from their browser.
Find detailed information about the Web Messenger here.
The Bulk Wizard
There are two main ways of sending bulk messages. There’s the Bulk Wizard for sending ad-hoc bulk message and there are campaigns.
Campaigns are stored bulk configurations. These can be started from the SMS Server manager they can also be modified and run from a script.
Channels
The channels refer to the different communication channels that interface with providers or with your infrastructure. For instance the SMPP channel that connects to your provider or a GSM channel.
In the schematic the channels are represented by the icons in the bottom left.
Each channel runs asynchronously in its own process and is managed by the service. This makes that channels are very reliable and fast.
Find a list of available channel types in the Auron SMS Server here.
Triggers
Trigger scripts are tiny JavaScript, VBScript or SQL scripts that contain your business logic. You can configure a trigger script to run on an incoming message or when it reaches a specific state, such as ‘failed’ or ‘sent’.
Triggers are able to do anything such as:
- Starting external applications
- Connect to an external database
- Make web calls to REST or GRAPH API’s
- Create new messages or inspect received messages
- And much more
API
The Auron SMS server has both a local API as well as an HTTP REST API. The trigger scripts use the local API to manipulate messages. You can use the API to create external programs and scripts as well.
The HTTP REST API is an excellent way to integrate with the SMS Server from a website or Linux based server.
The setup package of the SMS Server contains a large number of working examples that show how to use the both APIs. The API works with most Windows based development environments including C# .Net, ASP .Net, PHP, Delphi, etc…
All of the examples are also available on Github.
The Server DB
The server database contains both the messages and the configuration of the Auron SMS Server. In addition to the server database you can optionally define a separate archive database where messages will archived to after they reach a specified age.
As with the service the server database can be located on premise as well as in the cloud. The Auron SMS Server will work with any recent SQL Server database as well as with Microsoft Azure.
You can send messages by connecting to the database directly and inserting new records.