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

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.

 provides a complete solution for building active websites.

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

 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.