The SwissDecTX Gateway allows computers not running Microsoft® Windows™ and/or not directly connected to the internet to communicate with SwissDec services effortlessly, using a simple file-based protocol. The SwissDecTX Gateway also enable high-volume, high throughput SwissDec communication for situations where decoupled, background transmission is desired.
Remote applications can use Java, Ruby, PHP, .NET, Microsoft Dynamics™, SAP® or any other programmable application platform, on virtually any operating system including Unix/Linux, BSD, Mac OS X or any other system capable of connecting to a Windows file server to read, write and delete regular files. There is no web-service to setup or deal with, or complicated network protocol to use: your application essentially saves the XML declarations to a designated location on the network, and the SwissDecTX Gateway takes it from there and handles all the transmission details for you! Of course, the gateway can also be used in Windows-centric environments.
Several remote computers can connect to the SwissDecTX Gateway across a local area network (LAN) or WAN to send data to SwissDec. The gateway runs on a Windows computer where the SwissDecTX transmitter is also installed. This computer is behind the company’s firewall and has an internet connection with access to the SwissDec servers, and shares a single folder (network share) on the LAN or WAN. Remote computers write the XML documents to be sent over to SwissDec to that network share, along with simple text-based command files containing instructions for the SwissDecTX gateway. The documents to be sent can be queued en masse at high speed, while the gateway software sends them in the background as quickly as the internet connectivity to the SwissDec servers allow.
The gateway software constantly monitors the network share for incoming commands and process them concurrently. The result of the commands, such as command execution status as well as the SwissDec server replies are written back to disk files on the same network share, which are then read by the remote applications.
The key benefit the SwissDecTX Gateway add-in provides is the extremely low barrier of entry to SwissDec communication: the remote applications only need to be able to read, write and delete files from a network folder in order to communicate with SwissDec through the SwissDecTX Gateway. You could copy the files to the shared folder by hand, literally drop them into the folder, and the gateway takes it from there, driving the SwissDecTX transmitter on your behalf to validate, sign and encrypt the XML data, then send it over to SwissDec using a secure connection, then read the replies, verify the signatures and save the decrypted results back to disk, all this automatically and without any programming on your part.
The gateway operates independently of the remote applications, which can queue any number of XML files to be transmitted to SwissDec: a remote application can submit a large number of salary declarations to be sent to the SwissDec distributor as fast as it can without waiting for the actual transmissions to complete, as the gateway operations are entirely decoupled: your application can queue files for transmission as fast as they can be written to the shared folder. There is no practical limit on the number of salary declarations or SwissDec protocol commands that can be queued to the SwissDecTX gateway, besides disk and memory space limits of the gateway computer itself.
If your application and platform can access a Windows file server using the SMB (“LAN Manager”) protocol, you can communicate with SwissDec and send your first declaration today, it’s that simple!
The command protocol used by the SwissDecTX Gateway is straightforward: for example, to send a salary declaration to SwissDec, your application copies the XML declaration file it created to the shared folder over the local network, then adds a one-line command file in plain text format telling the gateway what to do.
Specifically, the command file contains the name of the XML declaration file to be sent, and the names of the output files where to write the command status and the server replies. The command format closely resembles the command-line parameters used by the SwissDecTX transmitter’s command-line utility. The gateway software detects the arrival of new command files in real-time and automatically takes it from there: it carries out the commands for you and writes all results back to the network share, using the file names you specified in the command file accompanying your data.
You can get accustomed to the SwissDec 4 workflow (send a declaration, retrieve the status of the operation, and then retrieve the associated data) using the SwissDecTX.exe command-line utility. Once you are familiar with how SwissDec operates using the command-line tool, and how easy it is to send and receive data using the SwissDecTX transmitter, you have already built most of the knowledge that will let you drive the SwissDecTX Gateway software remotely, as the command model and workflow are the same: the only difference is that, instead of running the commands yourself from a command prompt or running the command-line utility directly from your application, you write those exact commands to a small text file and copy it to the gateway’s network share, along with the associated XML data.
The gateway software monitors the shared folder constantly: the computer running the SwissDecTX Gateway software and the SwissDecTX transmitter can be left entirely unattended. The gateway itself is implemented as a Windows Service (formerly known as NT Services) and runs 7/24 in the background on the gateway computer, monitoring the network share for incoming commands, even when no user is logged on. Once the commands within a given command file are carried-on, and results are ready for consumption, the gateway software renames your command file, letting your application know that the commands were executed. Your application can then read the resulting data, which will be sitting there ready for consumption.
The shared folder need not be remote, a Windows application or a non-Windows application running in a hosted virtual machine can very well write XML declarations to a local folder on the computer it runs on: the gateway then acts as an elastic transmission queue that sends and receive data in the background as quickly as possible. This enables full decoupling of the application (no need to wait on the SwissDec servers) and much higher communication throughput as the gateway processes transmission commands in parallel on multiple CPU cores where available, sending and/or retrieving the status or data of several XML declarations concurrently if enough CPU and internet bandwidth resources are available on the computer.
Once configured, the gateway software needs no further user intervention and can run on a 1U computer in a rack in the server’s room for years. The gateway software has been developed with utmost care for best reliability and performances. It was designed to run continuously and to handle large volumes of transactions. It never needs to be restarted or reset in any way or form. One key aspect is that the gateway operates asynchronously and independently of your application: your application writes the data files at the speed of the network and does not need to block until the transmission is complete. Whenever you see fit, the application checks for the presence of the renamed command-file and will know that the results are ready.
The gateway software saves the current command execution state in small checkpoint files (journal files) and is able to resume where it left off if the gateway computer is restarted, for example, to install OS security updates or in the case of hardware maintenance. The gateway software uses the SwissDecTX transmitter unmodified, and as such it leverages the reliability and dependability of one of the better-known, well tested and well maintained SwissDec transmitters, already certified with numerous salary application all across Switzerland and with years of successful production record.
The key points to take out regarding the SwissDecTX Gateway add-in
- Network shares are simple to setup and use.
- Network file servers are easy to keep up-and-running for years.
- File-based protocols are simple to understand and simple to use.
- There is no custom “server software” with open TCP ports waiting to get hacked.
- All the data is visible on the file system: no obscure database to maintain and repair…
- The SwissDecTX Gateway software supports high volumes and sends your data faster and more reliably than any other transmitter.
System requirements for the SwissDecTX Gateway add-in
The SwissDecTX Gateway software requires Windows Vista or later, or Windows Server 2008 or later. The network share must reside on the gateway computer on a local volume formatted with the NTFS file system. We recommend at least 4GB of memory and at least 128GB of disk space, to have room for the operating system, to install service packs, upgrade the OS etc. The computer can be configured for automatic updates (Windows Update) if desired, without negatively affecting the operations of the SwissDecTX Gateway software.
64-bit versions of Windows are natively supported: the SwissDecTX Gateway installer will automatically deploy native 64-bit components (gateway software and command-line utility) on 64-bit computers, ensuring maximum performances, stability, and compatibility of the gateway solution.
We prefer Windows 7 SP1 64-bit or Windows 8.x 64-bit with 8GB of memory if given a choice. A server operating system (Windows Server 2008 / 2008 R2, Windows Server 2012) is not strictly necessary, unless you need to connect a large number of remote computers to the network share – more than the maximum number of allowed network connection on Windows 7 and 8.x, or require the higher file-serving data throughput offered by server versions. Please refer to Microsoft licensing policies regarding the number of allowed connection and the number of Windows Server client access licenses (CALs) required, if any, in your particular deployment scenarios.
All SwissDecTX native components, in particular, the gateway service software and the command-line utility, are digitally signed using our VeriSign Class 3 code signing certificate and will pass any IT department’s screening for publisher trust and anti-malware policies. The gateway software automatically performs self-integrity checks and will disable itself if it detects any modification to its executable components.
When running on a 64-bit version of Windows, the SwissDecTX Gateway and the SwissDecTX transmitter both operate entirely in 64-bit and can send very large SwissDec declarations, and/or a very large number of declarations. While all deployment options are possible, if the gateway is to operate in a “large system” enterprise environment, we recommend to use a small but dedicated server-class machine, running some 64-bit flavor of Windows with ECC memory, dual network interfaces (LAN and internet) and a RAID5 disk configuration with good I/O throughput and IOPS for maximum performances and dependability over the years. However, you are free to deploy the gateway software as you see fit, as long as the basic system requirements are met.
The SwissDecTX Gateway automatically tunes itself to take full advantage of multiple CPU cores. For small to medium volumes, any recent CPU will do just fine. For high-volume / high throughout applications we recommend an Intel CPU with multiple cores and Hyper Threading enabled to run the gateway, as well as a fast outbound internet connection.
With multiple CPU cores and Hyper Threading available, the SwissDecTX Gateway is able to carry out multiple simultaneous transmissions by executing several command files concurrently (the individual commands within a given command file, however, are always guaranteed to run sequentially). Ultimately, given adequate resources on the gateway computer, the gateway throughput will be limited only by the uplink connection speed, i.e. the available internet upload bandwidth.
SwissDecTX Gateway Licensing
The SwissDecTX Gateway software is an industrial-strength add-in to the SwissDecTX transmitter and is licensed separately.
While the SwissDecTX transmitter itself is licensed royalty free and can be redistributed to all your customers as part of your application without restrictions or additional charges from us, the SwissDecTX Gateway add-in module is intended for high-volume, large enterprise deployments and is licensed per customer deployment.
Case 1: SwissDecTX 4.x transmitter alone: net CHF 5’500.—flat license fee with unlimited redistribution rights with your application. Suitable if your application runs on Windows and is intended for small to medium companies where internet connectivity from the desktop is granted. There are no limits on the number of deployments and no limits of any kind on the number of employees or salary declarations that can be processed by the SwissDecTX transmitter.
Case 2: SwissDecTX 4.x transmitter together with the SwissDecTX Gateway add-in: a single SwissDecTX transmitter license to cover your application, plus one SwissDecTX Gateway license per customer deployment where you decide to use the gateway. Suitable if your application does not run on Windows, or operates in large corporate environments where internet connectivity from the desktop is not granted, or where your application transmits a large number of declarations and/or very large declarations and unattended / decoupled operations are desired. There are no limits of any kind on the number of employees or salary declarations that can be processed through the gateway, other than the obvious disk and memory space limits of the gateway computer.
If your application can run on Windows and is deployed in various types of enterprises, from small ones to large ones, it is covered by the SwissDecTX transmitter license for all deployments where you transmit directly from the desktop by interacting with the transmitter directly, and you only need a gateway license for the customer deployments where the gateway is installed. For example, if you have 100 customers in total, but only two customer deployments where the gateway software is required, you need one transmitter license that covers all your 100 customers for the use of the transmitter, plus one gateway license for each of the two customer deployments where you install the gateway (that is, one transmitter license and two gateway licenses in total).
Since the transmitter’s command-line utility’s syntax is identical to the syntax of the gateway’s command files, it is possible to design an application that can use either a locally installed transmitter on Windows, or a remote transmitter on the network through a network share and the gateway add-in. We can help you with advice and recommendations on the design of such a dual solution.
To summarize the licensing schemes, the transmitter uses a flat-fee model while the gateway add-in uses a pay-as-you-go model. We are open to discussion for special cases and volume discounts, please feel free to contact us with your deployment scenario to discuss pricing and technical options for the gateway.