Theme:
v
AplRemoting DLL

Description

The AplRemoting DLL allows to port your APL+Win applications to Internet and to create ClickOnce browser applications.

The product is made of:

  • a C# DLL
  • a detailed documentation

Price

ProductPrice
AplRemoting DLL with Detailed Documentation1000 €
Consulting Rates100 €/hour

Details

If you have an APL+Win application and would like to port it to the Web so that anyone in the World could use it without having to first install it on his PC, this is exactly what the AplRemoting product allows you to do.

Porting your APL+Win application to the Web involves:

  1. rewriting the User Interface of your APL+Win application in C# (Windows Forms or WPF)
  2. referencing the LC.AplRemoting.dll in your C# application
  3. calling any APL function, variable, system variable, system function in your APL workspace from C#
  4. publishing your APL+Win workspace to an Internet Server
  5. publishing your C# User Interface application to the Internet Server as a ClickOnce application

Step 1 is the most time consuming task of course, but this involves only rewriting the User Interface. All your calculations, algorithms, files, etc. can remain in APL and can be extremely easily called or used from C#.

Step 2 takes one minute.

Step 3 is really easy: calling APL functions, variables, etc. from C# works mostly the same as described with the AplServer DLL

Step 4 just consists of uploading your APL workspace to the Internet Server: you must use a Server on which you have installed APL+Win, of course. Any version of APL+Win works fine (starting with version 4).

Step 5 consists in setting up some Properties of your Visual Studio C# User Interface project and clicking the Publish button, then uploading the published files to the Internet Server

Hosting the application in IIS and using port 80

The new version of AplRemoting now hosts your ClickOnce application in IIS and uses the standard 80 port.

This means that you'll never encounter any Firewall problem and that your AplRemoting application will run ok for all your users.

Examples

Here are two examples.

In both cases, remember that when you click the Run button, the following happens:

  • a couple of warning dialogs may be displayed the first time you click Run: just confirm loading the ClickOnce application each time
    Note that these dialogs only show up the first time a user loads the application. As the publisher of a ClickOnce application, you can also avoid them by purchasing a Certificate (which I did not do yet).
  • the ClickOnce C#+APL+Win application is automatically downloaded from my Internet Server in Paris and gets displayed on your computer
  • what you see is the C# User Interface part of the application
  • no files are installed on your computer: you really are using an Internet application although it is a Windows application!
  • whenever you click buttons in the application, some APL functions are called from C#: the APL functions run on my Internet Server in Paris and return some results to the C# User Interface

Experience

I have already helped porting several customer large APL applications using this AplRemoting product and they have been in production for several years.

This technology just works beautifully.

Advantages

Publishing your APL applications as ClickOnce applications on Internet has considerable advantages:

  1. you do no longer need to ship your product to customers
  2. you do no longer need to ask your customers to download and install your product
  3. you basically avoid the installation problems nightmare
  4. updating your product is as easy as publishing the new version to your Internet Server, a matter of minutes: customers will all use the new version the next time they start your application from their browser
  5. your application becomes a real .Net C# application which most of your Users will like to know: it just happens that this C# application will run your APL functions and use your APL files

You must understand that with such a technology, most of your code remains in APL and remains mostly unchanged. You just call it from C# instead of calling it from APL! Rewriting your application User Interface in C# may be time consuming for some applications, but is a really simple and easy step.

Pre-requisites

In order to port your APL+Win application to Internet, you'll need:

  • to install the latest version of Visual Studio or Visual C# Express (the free version of Visual Studio)
  • learn enough of Visual Studio and C# to be able to create an application User Interface (a few days is enough)
  • have access to an Internet Server on which you are allowed to install APL+Win, set up IIS, FTP accounts, upload your APL workspace and published C# ClickOnce application, etc.
  • follow my detailed documentation, especially on how to set up IIS on the Server

Alternatively you may request some Consulting from me to help you set up everything.

Virtual Servers

It may not be quite easy for you to get access to an Internet Server on which you are allowed to install APL+Win and to which you will have total remote access control.

However there are at least 2 ways this can happen:

  1. you can purchase a Server and collocate it at some IT Provider Web Farm
  2. you can rent a Virtual Private Server (VPS) (see: http://en.wikipedia.org/wiki/Virtual_private_server)

In the first case, the machine is yours: this is the most costly option as you have to purchase the Server and the collocation monthly rent is more expensive than a Virtual Server rent. But the Server is entirely yours.

In the second case, you are just renting a Virtual Server: more and more IT Providers are offering such Virtual Server rent services.

In both cases, you remotely connect to your Server using Windows Terminal Services (mstsc) and remotely administer your Server: in both cases you have total access to your Server, can install APL+Win on it, configure IIS, FTP, upload your files, create accounts, etc.

Note that your Server must be a Windows Server 2003 (now obsolete) machine or better a Windows Server 2008 R2 machine. AplRemoting works fine with both.

Here are some examples of companies offering VPS renting (to give you an idea of the prices):

You can easily Google for more by searching on: windows 2008 r2 vps