Updated on by Nic Butler
Application Connectivity
Application connectivity is typically cloud-based SaaS applications such as Salesforce, and HubSpot. These apps have bits and bobs within them that allow for easy connectivity due to their APIs. As a result, data can move between them.
Cyclr is in between these talking to their web servers, be that webhooks or APIs. Those APIs will then talk to Cyclr’s application layer. This gets the data from the database and so on and so forth. Cyclr is just another one of these SaaS applications in the cloud. We’ve got a web server, we’ve got an application, schedulers and we’ve got databases. All of these things have been built with connectivity in mind.
Therefore, it is easy to get data out of Salesforce, HubSpot and other SaaS applications through Cyclr because they have created APIs. They want and allow users to extract data, use webhooks and senders and things like that.
What about an On-Prem App with no API?
A common scenario is one person with a computer in an office, they have an application server and data server. This allows them to work with the application, generate data, print out a file and send it to someone else. But, from Cyclr’s perspective, there is no way to connect to that application. This is because there isn’t a connector we could have created as no API exists for that app.
In reality, this looks like an individual working in a warehouse/distribution centre. They have their local Windows application with all the data required. This data could be anywhere and could be in the cloud, the application they use transforms it into usable information on the local machine. This could be Sage 50 for instance or other locally installed applications.
So how does Cyclr get this on-prem data? It requires a pipe from the site to the on-prem application to retrieve the data and process it through Cyclr. This is the SSH (secure shell) Connector. It acts as a pipe, an SSH pipe if you will.
What is SSH?
In the 70s, there were things called shells, and this was how different areas of an application or different offices might talk to their mainframe. For example, a packing centre and accounts might be on a green screen terminal, and their office will have a network connection to the mainframe. They get data using the green screen terminal and have an application running on the mainframe. This acts like it’s sat at the mainframe through their terminals, called a shell. The trouble with shells is that they are easily hacked, and the data isn’t encrypted.
Hop, skipping and jumping into the 90s these shells became more secure and aptly named Secure Shell or SSH. So SSH is a secure shell that allows one person sitting in one office to talk to another computer as if they were sitting in front of it.
For instance, to connect to a remote desktop in the cloud or a remote desktop on someone else’s machine. Similar technology allows me to control that machine as if I were sitting there. If say a colleague is having an issue with their security software there’s an application on Windows that allows me to hook into the machine, wherever they are, over a secure network that allows me to tinker with your machine as if I was sat there. This is the idea of SSH in a nutshell.
SSH in Action
In this example, I’m in a warehouse and I’ve got an ordering system. This ordering system is an on-premise installed application such as Acme. I can see the order main menu, I can create a new order, view orders, and I can exit. This is how I would run my business in this factory, and the data lives locally. I may have a local database. It might be a database on a server in the basement of the same building. But as you can probably guess, this application doesn’t play nicely with the cloud. This means that Cyclr has no chance of getting to this app because there is no API and no web server. After all, it’s running on my laptop.
So what do we do?
Luckily for us, this application comes with a command line, which means I can run the application order system.exe and then stick ‘Get New’ on the end. This will produce a bunch of data, this data is a new order since the last time I ran it. If I run that again and produce the result in a file which has just been taken there, we can then see that these are, in fact, JSON orders. This was the data that came out of the application, and here is the data in a nicely formatted JSON view.
Now, in order to get hold of this data from the cloud, we will need to use an SSH. In Cyclr I’ll create a simple integration workflow, it is triggered by a Webhook which does no data transfer, it is just kicking off the workflow. Then I’ve got my SSH Connector it will run that command order system ‘get new’. The SSH Connector has already been authenticated against my laptop. When we get the data, we will send it to a Google Sheet. I can do this with a Webhook post to the integration workflow using Postman and it’ll then appear in the Google Sheet.
Setting up an SSH Connector
The SSH connector is set up against an IP address, on port 22. It requires a user on a laptop to have a username and password. The IP address and router are told if it receives an SSH connection send it on to a specific laptop.
A business would need to open a port to the outside world if they wanted Cyclr to reach the on-prem application. As well as routing and a firewall. There are a bunch of steps required to implement an SSH such as IPS, opening up ports, and routing the traffic. These are things our partners would need to worry about in the same way as they have to set up firewalls to allow Cyclr to hit their APIs in the first place if they have them. It’s a similar process, just different bits of technology.
So this is that process, a Webhook, triggers Cyclr which uses the SSH Connector to connect with a specific router. The router goes through files on a laptop, finds the order, the system runs the command, and the data is produced. It gets passed back up through to Cyclr and then on to Google Sheets.
Learn More about SSH
Suppose you’d like to discover more about our SSH Connector, and how it can connect with legacy and on-prem systems to integrate with your modern SaaS tech stack. Don’t hesitate to get in touch with our leading integration team who can take you through the Cyclr platform.