Deploy to web server ( soft-sys )
- From: barbaradefrancorik@xxxxxxxxx
- Date: Sat, 14 Mar 2009 11:21:59 -0700 (PDT)
I would like to run my script on a web server that I do not have root
access with (i.e. cannot install anything). My script reads an image
(from a given URL), uses some Image Processing Toolbox functions, then
writes the image. No user input/output is needed and no GUI
functionality, just file I/O.
I have been playing with a simple hello-world script and the Compiler
Toolbox, and I have been trying to run the resulting binaries from ssh
on the web server (Linux environment), but what I am seeing is that
the MCR must be installed to the deployed machine. Hopefully I am
wrong about this, because I need everything completely self-contained
so that I can run it strictly within my folder on the server.
Can I please get a suggestion on how to proceed with this? Any
direction would be greatly appreciated ASAP (project deadline
approaching fast). Thanks!
Take a look at the Web Figures section of the Java Builder
documentation:
http://www.mathworks.com/access/helpdesk/help/toolbox/javabuilder/ug/...
Or you can use CGI to call your program on the server, have your
program
generate a JPEG, and then have the server send back a page with the
JPEG's
url embedded in it. A little tricky, but it can be done.
"James " <jamesgpain...@xxxxxxxxxxxxxxxxxxxx> wrote in message
I will look over the documentation, but I believe my problem lies in
the inability to use CGI to call the program, since the run-time
components cannot be installed to the system folders. I do not have
write access to those. Can you describe how I can self-contain all
libraries needed to run my Matlab script on a non-Matlab machine? I.e.
maybe which files need to be in the same folder as the binary, and how
to be sure the binary looks in its own folder for those libraries? I
am running under Linux, and it appears that under Linux, executables
do not look in their own folders by default.
Thanks for your input so far.
If you can't call CGI routines, you're stuck. In order to get the
server to
respond to your requests, you need to be able to install components in
various web server directories. If you can't do that, you have a few
other
options:
* Install and run your own web server (Tomcat, from the Apache
Software
Foundation, works well); host the application yourself.
* If your client machines all have X Windows (and most Linux boxes
do), you
can install your application and the MCR somewhere on your machine,
and
have people run the program remotely from your machine, and beam the
GUI
back to their display.
* If all of your client machines are running Linux, you could install
the
program somewhere on the network (even a public directory on your
machine)
and have people run it (over the network) on their machines.
* You could also distribute the program to each client machine, i.e.,
install it (and the MCR) locally on each machine.
Hard to know which of these options is best, since they depend so
heavily on
usage patterns, number of client machines, internal network
architecture,
etc.
Hope this was helpful.
Peter Webb wrote:
If you can't call CGI routines, you're stuck. In order to get the server to
respond to your requests, you need to be able to install components in
various web server directories. If you can't do that, you have a few other
options:
* If your client machines all have X Windows (and most Linux boxes do), you
can install your application and the MCR somewhere on your machine, and
have people run the program remotely from your machine, and beam the GUI
back to their display.
This appears to me to be potentially against the license terms. The
original
posting indicated,
My script reads an image (from a given URL), uses some Image Processing Toolbox
functions, then writes the image. No user input/output is needed and no GUI
functionality, just file I/O.
Under the terms of "THE MATHWORKS, INC. SOFTWARE LICENSE AGREEMENT -
Deployment Addendum"
4.1. Application. A software file that Licensee has created by
either (a) using a MathWorks Program to compile or translate
Licensee created Source Code or (b) incorporating or linking
any
part of any Source Code, library file, or other Program
Component provided with the Program. An Application must
contain original code developed by Licensee and must provide
substantial functionality not contained in, or provided by,
the
Program Components that are incorporated into such
Application.
If a software file created by a Licensee incorporates Program
Components, but does not meet the requirements of the previous
sentence, then it is a Derivative Form (as defined below).
As the Addendum is not clear as to what "substantial functionality"
consists of, and as the original poster's description -hints- that
the processing done might be relatively modest, perhaps of mostly
calling library routines with little "original code" other than that
needed to call the appropriate routines, then the original poster is
-possibly- in the situation where what the original poster has is
something
that The MathWorks would deem to be a "Derivative Form" rather than
an Application. The rules for deploying Applications and Derivative
Forms
are quite different: for Derivative Forms, the user using the deployed
program must -themselves- have authorized Matlab copies (subsection 7
of the Addendum.)
* If all of your client machines are running Linux, you could install thehttp://glossary.reuters.com/index.php?title=User:TRAMADOL_Buy_Cheap_Tramadol_Online
program somewhere on the network (even a public directory on your machine)
and have people run it (over the network) on their machines.
That option and the previous option disturb me, in that they appear to
me to violate the spirit of the Deployment Addendum -- though I should
say that there is no particular paragraph I am able to point to that
would be violated.
* Install and run your own web server (Tomcat, from the Apache Softwarehttp://glossary.reuters.com/index.php?title=User:VIAGRA_ONLINE_-_Buy_Viagra_at_the_Lowest_Price_-_Order_Viagra_Cheap
Foundation, works well); host the application yourself.
This (and, indeed, the original problem being worked around) appear
to me to fall within the terms of section 8 WEB APPLICATIONS of the
Deployment
Addendum, which requires that the server system have a Network
Concurrent
User or Designated Computer license, since the desire is clearly
for a "web Standalone Application". If you have web access to a Matlab
program, it is my interpretation that those license requirements take
precedence over the unfettered deployment of MCR + compiled
application
that would otherwise be allowed under (fairly reasonable)
circumstances.
http://glossary.reuters.com/index.php?title=User:FREE_CREDIT_REPORT_and_Credit_Score_Online_-_Credit_Monitoring
I think it safe to say that the original poster cannot do what they
had originally hoped to do -- but the alternatives that are available,
with the exception of allowing people access to MCR + the compiled
application,
appear to me to likely run into licensing difficulties that perhaps
need
to be discussed with the licensing people (licens...@xxxxxxxxxx ??)
.
- Follow-Ups:
- Re: Deploy to web server ( soft-sys )
- From: Walter Roberson
- Re: Deploy to web server ( soft-sys )
- Prev by Date: Re: why we divide FFT of the signal by N. and then to find IFFT we multiply it by N. without using all these normalisation i get the o/p correct.any advantage????
- Next by Date: Re: how to use fscanf at second line
- Previous by thread: help! cross referencing cell and double arrays!
- Next by thread: Re: Deploy to web server ( soft-sys )
- Index(es):
Relevant Pages
|