This is documentation for Mathematica 5, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.1)

Documentation  / Mathematica  / Tour  /

Mathematica as a Software Component

Mathematica's symbolic architecture and uniform linking mechanism make it uniquely powerful as a component in many kinds of software systems.

You can easily integrate external programs into Mathematica.

This gives a template for calling a C program.

The Mathematica Database Access Kit connects Mathematica to any standard database.

The data can now be analyzed in Mathematica.

The Mathematica J/Link system gives you immediate access to any Java library.

Java objects and behaviors are automatically mapped to Mathematica symbolic functions.

This Mathematica program defines a Java swing interface.

Mathematica can operate as a client, server or peer.

MathLink provides a general way for programs to communicate with Mathematica.

MathLink is supported for many languages.

Python

C#

C/C++

Java

Mathematica

MathLink allows multiple Mathematica kernels to communicate.

gridMathematica supports parallel computation.

webMathematica provides a complete solution for building active websites.

MathLink lets you connect to other applications and set up alternative interfaces to Mathematica.

webMathematica uses JSP to define appearance and action of websites.

<%@ page language="java" %>
<%@ taglib uri="/webMathematica-taglib" prefix="msp" %>
<!-- webMathematica source code (c) 1999-2003, 
     Wolfram Research, Inc. All rights reserved. -->
<html>
<head>
  <title>Plot</title>
</head>
<body bgcolor="#ffffff" >
  <h1>Plot</h1>
  <form action="Plot.jsp" method="post">
	<msp:allocateKernel>
	Enter a function: 
	<input type="text" name="fun" size="24" value = 
	  "<msp:evaluate>MSPValue[ $$fun,  "Sin[x]^2"]</msp:evaluate>" />
	<br><br>
	Enter a number: 
	<input type="text" name="x1"  size="24" value = 
	  "<msp:evaluate>MSPValue[ $$x1,  "10"]</msp:evaluate>" /> 
	<br><br>
	<msp:evaluate>
	  MSPBlock[ {$$fun, $$x1},
	    MSPShow[ Plot[$$fun, {x,0,$$x1}]]]
	</msp:evaluate>
	<hr>
	</msp:allocateKernel>
	<input type="submit" name="btnSubmit" value="Evaluate"> 
  </form>
  <p><i>
  This example shows how to do plotting with webMathematica.
  </i></p>
</body>
</html>

It takes only a short script to set up a complete dynamic webpage.

Link for Excel provides two-way communication between Mathematica and Excel.

Link for Labview lets you define Mathematica virtual instruments.

Mathematica's symbolic architecture allows direct integration with XML and XML-aware applications.

This generates XML for a simple Mathematica expression.

Mathematica provides new ways to manipulate XML in symbolic form.

SymbolicXML gives a uniform way to represent XML of any kind as a Mathematica expression.