Latest
We continue to support the Modelit Webserver Toolbox for Matlab, but recentlty we have developed the Modelit Embedded Webserver Toolbox for Matlab. The latter is easier to install, has more features and is designed for Docker integration. If your are new to Matlab webservers we recommend the new toolbox.
Summary
The Modelit Webserver Toolbox for Matlab (2008-2023) is created to deploy algorithms written in Matlab code as a webservice in an easy manner and at the lowest possible cost.
Central to the toolbox is a servlet that redirects incoming web-requests to Matlab callback functions. Users of the toolbox can do all coding in Matlab and even breakpoint-debug webservices that are being deployed. If additional processing capacity is required, the built-in load balance solution distributes incoming requests over callbacks that run in multiple Matlab sessions.
Webservices created with the toolbox will run in native or compiled mode on any Windows or Linux computer with Matlab or Matlab Runtime installed.
The toolbox provides several utilities that will help you implement webservices, like utilities for creating XML output from Matlab data, encapsulating Matlab figures in HTML, converting JSON strings to Matlab, serialize and deserialize to- and from base64 encoded ASCII, or parallelize tasks by making asynchronous calls to webservices. The toolbox provides a number of examples that will help you getting started.
A user guide provides a step-by-step instruction for installing the toolbox and should allow anyone with basic Matlab knowledge to create and deploy Matlab based webservices. In addition the user guide provides many useful tips and tricks.
We have prepared a video that shows how to download and install the toolbox and create your first example.
Live examples
We use our webservice toolbox for Matlab to power our award winning Travel-Time Forecast website tripcast.nl. Every time a travel time prediction is requested on this route planner website the webservice toolbox is used to invoke our Matlab algorithms to compute routes, analyse historic data, and make forecasts.
In a more recent project we have used the toolbox to create a tilemanager that works in conjunction with the Google Maps Javascript API. This tilemanager generates interactive tiles in Matlab; every tile consists of one or more layers. The developer can define the action to be taken when the user hovers over or clicks on the layer elements. Upon clicking specific map elements, a list of graphs (with traffic and accident data) is shown. These graphs are rendered by the open source chart.js library. All chart.js code was Matlab generated. Check out our demo here.
Deployment options
The Webservice Toolbox for Matlab supports http POST and http GET request methods. The figure below illustrates typical deployment options for the Modelit Matlab Webservice Toolbox.
Step by step install instructions
Detailed install instructions are available in our User Guide (pdf)
Free trial
A fully functional trial version can be downloaded from this link:
Obtaining a commercial license
Read all about Pricing and Ordering
For any questions contact Modelit.
Technical requirements
To start creating your own webservices you'll need:
- Modelit Webservice Toolbox;
- Matlab®;
- Optional: Matlab® Compiler (for producing standalone versions of the webservice);
- Apache Tomcat (available for free).
Latest updates
The latest changes to the toolbox were made on Sep 17, 2021 (new expiry date). Latest additions:
- Compatibility updates for latest versions of Matlab
- Utilities for creating tile servers
- A mechanism to load balance requests over different physical machines
- Several utilities to serialize and deserialize Matlab variables
- A mechanism for making asynchronous calls to webservices from Matlab (urlread_async). This allows parallel computations, either on a single machine using local host, or using an additional servers that provide additional CPU resources.
- fig2image rewritten
- minor updates to Matlabserver.jar
Further reading
See our user guide or contact us at Modelit.