How to setup MAXIMA for a web application running on IIS?
Subject: How to setup MAXIMA for a web application running on IIS?
From: yoyo imut
Date: Thu, 29 Jul 2010 08:52:01 -0700 (PDT)
Dear Robert Dodier,
Up to now, I have successfully called maxima.bat from my desktop application only for single user.
According to many experts I asked on the internet, assigning a distinct instance of Maxima client to each user is not a good way for multi-users scenario. Because it will need much resources, thereby limiting the scalability.
They also suggest me to use Application Domain rather than Process to instantiate maxima client.
Unfortunately, Application Domain cannot execute a batch file because Application Domain is intentionally designed for executing .NET based assemblies only.
My question is: Is there a direct way to call maxima core without calling the batch? In other words, can I execute maxima.EXE directly?
Thank you in advance.
--- On Fri, 7/23/10, Robert Dodier <robert.dodier at gmail.com> wrote:
From: Robert Dodier <robert.dodier at gmail.com>
Subject: Re: [Maxima] How to setup MAXIMA for a web application running on IIS?
To: "yoyo imut" <yoyoimut at yahoo.com>
Cc: "Maxima Mailing List" <maxima at math.utexas.edu>
Date: Friday, July 23, 2010, 11:25 AM
On 7/23/10, yoyo imut <yoyoimut at yahoo.com> wrote:
> Thanks Robert for your response.
> 1. Maxima kernel works a client socket in sync (aka blocking) or async (aka
> unblocking) mode?
maxima-server.lisp uses a blocking read.
Other socket-based implementations (see the "Related Projects"
page) also use blocking reads, so far as I know.
> 2. What is the schema (or format) of the output sent by maxima kernel to the
> listening application socket?
It is just an ordinary console session, i.e. read an expression,
evaluate it, return the result. Again this is the same as many
other implementations from what I know.
If you are ambitious, you could replace the top-level read-eval-print loop.
Or (a different form of ambition) you could run Maxima within
a web application server such as Tomcat.
You could compile Maxima w/ ABCL (Lisp which runs on JVM)
in order to run it in Tomcat. Just an idea.
maxima --quiet suppresses the start-up message.
maxima --very-quiet suppresses the start-up message
and expression labels.
maxima --help shows a list of options, maybe some are useful to you.
Please cc messages to the Maxima mailing list so others
have an opportunity to answer, and the discussion gets archived.
best,
Robert Dodier