Web Applications

Dyalog offers several methods to publish information on the web. There are platform-specific and platform-independent offerings.

Solutions for Microsoft Windows

Dyalog can be used with industry-standard Microsoft components in the same way as most other programming languages that integrate with Microsoft .NET:

  • Dyalog can be used as an ASP.NET scripting language to build web pages under Microsoft IIS.
  • SharePoint WebParts can be developed using Dyalog as a .NET programming language.
  • Microsoft IIS can also serve up Web Services implemented in Dyalog.

Dyalog can also be used to power web solutions more indirectly, by acting as a participant in message queuing systems like Windows Communications Foundation / MSMQ – or any tool that is based on Microsoft .NET.

Cross-Platform Solutions

Dyalog is able to act as a stand-alone Web Server and Web Service provider, without any other software installed. This capability is provided by two tools that are freely available to all users of Dyalog and can be downloaded from GitHub.

  • MiServer
    • A development platform for web applications written in APL. Version 3.0 contains wrappers for JQuery and the Syncfusion JavaScript libraries. With MiServer, you can build state-of-the art web applications – including "AJAX" style interactions.
    • Supported on: all currently-supported platforms
  • JSONServer
    • The simplest way to make it possible to access the functionality of an APL application to external clients from other applications. The JSONServer allows you to select a set of functions to expose to the outside world in the form of an HTTP/JSON based service. Such services can be called from almost any programming language or application development environment, whether the client application is running on the same machine or on the other side of the world. [link to GitHub repository].
    • Supported on: all currently-supported platforms
    • The JSONServer is an open-source project on GitHub.
  • SAWS (Stand Alone Web Services framework)
    • Allows any APL application to expose functionality in the form of Web Services in minutes – without requiring integration with a large Web Server framework like Microsoft IIS or Apache.
    • Supported on: all currently-supported platforms
    • SAWS User Guide

Both MiServer and SAWS can be used stand-alone or as CGI servers accessed through IIS or Apache portals. They both use Conga as their underlying technology:

  • Conga TCP Wrapper
    • Provides wrappers for listening (server) and client sockets, which can, optionally, be made secure using TLS. Sockets can be used to transmit either raw byte streams or entire APL arrays from one process to another. Code samples are provided, showing how to build web servers and clients, a simple FTP client and server and an RPC framework.
    • Supported on: all currently-supported platforms
    • Conga User Guide