WOLFRAM ENGINE
INTEGRATION SYSTEM

Build the power of the Wolfram Engine into your technology stack

Contact us to discuss your application

FOR ONE-OFF, DEPLOYED, AND OEM APPLICATIONS


The Wolfram Engine Integration System provides a variety of ways to integrate the Wolfram Engine into your technology stack—with convenient solutions that optimize various attributes such as local footprint, network independence, computation efficiency, communication overhead, and installability.

Wolfram Engine Inside
Wolfram Engine Inside

Make the Wolfram Engine an internal part of systems you build, calling it from code through interprocess and intraprocess communication mechanisms such as APIs, function calls, and scripts.

Use the Wolfram Engine to add power inside a system you build.

Wolfram Engine Outside
Wolfram Engine Outside

Use the Wolfram Engine to provide user interface elements that control and interact with systems you build—communicating through WSTP and other interprocess communication mechanisms.

Use the Wolfram Engine to provide or enhance the "face" of a system you build.

The Wolfram Engine Integration System supports both one-time calls and persistent sessions.

Why Integrate the Wolfram Engine?

Some sample objectives:

Add Computational Power Through the Wolfram Engine

Call on the power of the Wolfram Engine inside a software product—or a device or cloud service.

Add Programmability Through the Wolfram Language

Use the Wolfram Language to add sophisticated programmability to any system or service.

Provide a Language-Level Interface to a Complex System

Use the Wolfram Language to access and control a complex software or other system.

Automatically Generate Rich Computational Reports

Use the Wolfram Language to generate rich visualizations, reports, dashboards, etc. from within a system.

Create Smart Form-Based Interfaces

Use the Wolfram Language to create form-based interfaces with natural language understanding.

Insert Interactive Elements Through CDF

Use CDF powered by the Wolfram Engine to add interactive elements to documents, pages, etc.

Enable Uniform Symbolic Handling of Code and Data

Use the Wolfram Language and Wolfram Data Framework (WDF) as a uniform way to represent, transport, and compute with code and data inside a system.

Enable Broad Access & Deployment for a System

Leverage the Wolfram Universal Deployment System to enable access to a system across many platforms and deployment channels.

Provide Broad Services for Developers

Integrate the Wolfram Engine and Wolfram Language to raise the level of capability of developers on a new or existing platform.

Wolfram Engine Deployments

Many versions of the Wolfram Engine
Pick the underlying Wolfram Engine deployment that's best for your integration project.

Wolfram Cloud
Wolfram Cloud »

Call on a fully hosted Wolfram Engine in the Wolfram Cloud.

Wolfram Private Cloud
Wolfram Private Cloud

Call on managed instances of the Wolfram Engine in an on-premise or hosted Wolfram Private Cloud.

Wolfram Microcloud
Wolfram Microcloud (coming soon)

Call on a Wolfram Engine using cloud protocols, but with the engine running locally on a computer.

Wolfram Engine Server
Wolfram Engine Server

Get a dedicated Wolfram Engine instance initiated on demand on a single computer or subnet.

Wolfram Engine Library
Wolfram Engine Library

Link a Wolfram Engine Library into the code space of a program.

Wolfram Engine SDKs
Wolfram Engine SDKs

Use Wolfram Engine SDKs to build programs that include the Wolfram Engine.

Wolfram Standalone Kernel
Wolfram Standalone Kernel

Run Wolfram Language scripts using a Wolfram Engine.

Wolfram Engine Command-Line Driver
Wolfram Engine Command-Line Driver

Run a command-line program that calls the Wolfram Engine.

Wolfram Desktop
Wolfram Desktop

Set up a Wolfram Notebook interface to connect to a program.

Wolfram CDF Player
Wolfram CDF Player

Use an embedded Wolfram Engine to power standalone CDF documents.

Wolfram CDF Plug-In
Wolfram CDF Plugin

Use a browser plugin to give CDF capabilities through an embedded Wolfram Engine.

Access & Communication Mechanisms

The Wolfram Engine Integration System supports a range of styles of access and communication—each of which can be implemented in multiple ways appropriate for different deployment and scenarios.

RESTful API Style

Call Wolfram Language code by giving a sequence of named arguments and getting back a single result.

RESTful API

Execute a web URL (cloud only).

Function Call Interface

Use automatically synthesized or custom-written code in any standard language (cloud or local).

Command-Line Program (wolframservice)

Execute a command-line program in the operating system shell (cloud or local).

Script Style

Provide a block of Wolfram Language code to run.

Executable Script

Run a #!wolfram script, using side effects to generate output (local only).

Command Interpreter (wolfram, wolframshell)

Run the Wolfram Engine with input from stdin and output on stdout (local only).

Notebook Evaluator

Evaluate inputs in a notebook that's provided (local or cloud).

WSTP IPC Style

Use WSTP (Wolfram Symbolic Transfer Protocol) for flexible two-way communication.

Wolfram Language WSTP API

Communicate directly with a Wolfram Engine from within the Wolfram Language (local or remote).

External Language Bindings

Communicate directly with a Wolfram Engine from C, Java, .NET, etc. (typically local only).

Linked Library Style

Make the Wolfram Engine an integrated part of an executable program.

Direct DLL-Style Linking

Call the Wolfram Engine within a single executable process (single-process local only).

Forms Style

Expose a form-like interface to Wolfram Language code.

Web Forms

Call the Wolfram Engine from an embeddable form on the web (cloud only).

Mobile or Native Apps

Call the Wolfram Engine through forms on mobile or native apps (effectively local only).

Interactive Session Style

Have a Wolfram Engine user interface.

Dynamic Interactive Element

Expose a single interactive element (such as a Manipulate) for users (local or cloud).

Notebook Session

Allow a back-and-forth dialog with a Wolfram Engine in a document interface (local or cloud).

Command-Line Session

Have an ASCII-terminal-style back-and-forth dialog with a Wolfram Engine (local only).

Distribution Models

Depending on the scenario, there are a variety of ways to distribute Wolfram Engine functionality and software.

Hosted Cloud

Don't distribute any actual Wolfram Engine software; just call the cloud (Wolfram Cloud, Wolfram Private Cloud).

Machine Images

Distribute machine images that can be brought up as Wolfram Private Clouds (Wolfram Private Cloud).

Embeddable Virtual Machines

Distribute embeddable virtual machine images that can be installed to provide microcloud functionality (Wolfram Microcloud).

Installable Standalone Software

Distribute packaged software that can be installed by end users through an operating system (Wolfram Desktop, Wolfram Standalone Kernel, Wolfram CDF Player, ...).

Installable Server Software

Distribute packaged software to be installed by administrators on individual machines or subnets (Wolfram Launch Manager/Wolfram Engine Server).

Operating System Components

Distribute the Wolfram Engine as part of an operating system, to provide shared capabilities for many programs (Wolfram Launch Manager/Wolfram Engine Server, Wolfram Standalone Kernel, ...).

Shared Linkable Libraries

Use a shared library that is dynamically linked into a program and accessed through function calls (Wolfram Engine Library).

Software Development Frameworks

Use a software development framework that includes appropriate libraries to connect or include with programs (Wolfram Engine SDKs).

Integration Environments

There are ways to integrate the Wolfram Engine into whatever kind of infrastructure environment you want.

Use the Wolfram Cloud from any environment for fully hosted Wolfram Engine services.

Cloud

Wolfram Engine Inside: Wolfram Private Cloud, Wolfram Engine Server, Wolfram Standalone Kernel
Wolfram Engine Outside: Wolfram Private Cloud

Server

Wolfram Engine Inside: Wolfram Engine Server, Wolfram Standalone Kernel, Wolfram Engine Command-Line Driver
Wolfram Engine Outside: Wolfram Microcloud, Wolfram CDF Plugin

Desktop

Wolfram Engine Inside: Wolfram Engine Server, Wolfram Standalone Kernel, Wolfram Engine Library
Wolfram Engine Outside: Wolfram Desktop, Wolfram CDF Player

Mobile

Wolfram Engine Inside: Wolfram Engine SDKs
Wolfram Engine Outside: Wolfram Engine SDKs

Embedded/Device

Contact us for details on the Wolfram Embedded Computing System.

Wolfram Engine Provisioning

Configurations

There are a variety of ways Wolfram Engines can be configured for a project.

Linked Library

Use the Wolfram Engine Library or Wolfram Engine SDKs to link the Wolfram Engine directly into your program.

Single Instance

Use the Wolfram Engine Server to connect to an instance of the Wolfram Engine when needed.

Managed Pool

Use a Wolfram Private Cloud to have a managed pool of Wolfram Engines.

Initialization

In many applications, you'll want to initialize the Wolfram Engine with your particular code or data.

Initialize on Demand

Initialize whenever the engine is called.

Allows best sharing of Wolfram Engine resources.

Initialize at Startup

Initialize whenever your program is started.

Suitable for single instance and linked library configurations.

Pre-Initialized Pool

Always maintain a dedicated pool of pre-initialized Wolfram Engines.

Suitable for Wolfram Private Cloud configurations.

Dependencies

Any Wolfram Engine needs to go to the cloud for certain services.
Get your own Wolfram Knowledge Server to keep all services within your infrastructure.

Wolfram Knowledgebase

Wolfram Natural Language Understanding System