Build the power of Wolfram into your technology stack
The Wolfram Technology Integration system provides a variety of ways to integrate Wolfram-powered computation into your technology stack—with convenient solutions that optimize various attributes such as local footprint, network independence, computation efficiency, communication overhead and installability.
Make Wolfram technology 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 Wolfram technology to add power inside a system you build.
Use Wolfram technology to provide user interface elements that control and interact with systems you build—communicating through WSTP and other interprocess communication mechanisms.
Use Wolfram technology to provide or enhance the "face" of a system you build.
The Wolfram Technology Integration system supports both one-time calls and persistent sessions.
Some sample objectives:
Call on the power of the Wolfram Engine inside a software product, device or cloud service.
Use the Wolfram Language to add sophisticated programmability to any system or service.
Use the Wolfram Language to access and control complex software or other systems.
Use the Wolfram Language to generate rich visualizations, reports, dashboards, etc. from within a system.
Use the Wolfram Language to create form-based interfaces with natural language understanding.
Use Wolfram Cloud technology to add interactive elements to documents, pages, etc.
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.
Leverage the Wolfram Universal Deployment System to enable access to a system across many platforms and deployment channels.
Integrate the Wolfram Engine and Wolfram Language to raise the level of capability of developers on a new or existing platform.
Many ways to utilize the Wolfram system
Pick the Wolfram platform that's best for your integration project.
Call on a fully hosted Wolfram Engine in the Wolfram Cloud.
Call on managed instances of the Wolfram Engine in an on-premise or hosted Wolfram Enterprise Private Cloud (EPC).
Call on a Wolfram Engine using cloud protocols, but with the engine running locally on a computer.
Deploy powerful Wolfram Language applications at scale.
Link a Wolfram Language library into the code space of a program.
Use Wolfram SDKs to build programs that include the Wolfram Engine.
Run Wolfram Language scripts using a standalone Wolfram kernel.
Run a command-line program that calls the Wolfram Engine locally, through the cloud or using WSTPServer.
Use the WSTP protocol to call on managed instances of the Wolfram Engine running locally or on the network.
Set up a Wolfram Notebook interface to connect to a program.
Use an embedded Wolfram Engine to power standalone notebook documents.
The Wolfram Integration system supports a range of styles of access and communication—each of which can be implemented in multiple ways appropriate for different development and deployment scenarios.
Call Wolfram Language code by giving a sequence of named arguments and getting back a single result.
Execute a web URL (cloud only).
Use automatically synthesized or custom-written code in any standard language (cloud or local).
Execute a command-line program in the operating system shell (cloud, local or WSTPServer).
Provide a block of Wolfram Language code to run locally, in the cloud or using WSTPServer.
Run a WolframScript file (.wl, .wls, etc.) using side effects to generate output.
Run the Wolfram Engine with input from stdin and output on stdout.
Evaluate inputs in a notebook that is provided.
Use WSTP (Wolfram Symbolic Transfer Protocol) for flexible two-way communication.
Communicate directly with a Wolfram Engine from within the Wolfram Language (local or remote).
Communicate directly with a Wolfram Engine from C, Java, .NET, etc. (typically local only).
Make the Wolfram Engine an integrated part of an executable program.
Call the Wolfram Engine within a single executable process (single-process local only).
Connect a form-like interface to the Wolfram Engine.
Call the Wolfram Engine from an embeddable form on the web (cloud only).
Call the Wolfram Engine through forms on mobile or native apps (effectively local only).
Have a Wolfram Engine user interface.
Expose a single interactive element (such as a Manipulate) for users (local or cloud).
Allow a back-and-forth dialog with a Wolfram Engine in a document interface (local or cloud).
Have an ASCII-terminal-style back-and-forth dialog with a Wolfram Engine (local or WSTPServer).
Depending on the scenario, there are a variety of ways to distribute Wolfram functionality and software.
Do not distribute any actual Wolfram Engine software; just call the cloud (Wolfram Cloud, Wolfram Enterprise Private Cloud).
Distribute machine images that can be brought up as Wolfram Enterprise Private Clouds (Wolfram Enterprise Private Cloud).
Distribute embeddable virtual machine images that can be installed to provide microcloud functionality (Wolfram Microcloud).
Distribute packaged software that can be installed by end users through an operating system (Wolfram Desktop, Wolfram Engine, Wolfram Player, ...).
Distribute packaged software to be installed by administrators on individual machines or subnets (WSTPServer, Wolfram Application Server).
Distribute the Wolfram Engine as part of an operating system to provide shared capabilities for many programs (WSTPServer, Wolfram Application Server, Wolfram Engine, ...).
Use a shared library that is dynamically linked into a program and accessed through function calls (Wolfram Language libraries).
Use a software development framework that includes appropriate libraries to connect or include with programs (Wolfram SDKs).
There are ways to integrate Wolfram technology into whatever kind of infrastructure environment you want.
Use the Wolfram Cloud from any environment for fully hosted Wolfram services.
Wolfram Inside: Wolfram Enterprise Private Cloud, Wolfram Application Server, Wolfram Engine
Wolfram Outside: Wolfram Enterprise Private Cloud
Wolfram Inside: WSTPServer, Wolfram Application Server, Wolfram Engine, WolframScript Command-Line Driver
Wolfram Outside: WSTPServer, Wolfram Microcloud
Wolfram Inside: WSTPServer, Wolfram Application Server, Wolfram Engine, Wolfram Language Library
Wolfram Outside: WSTPServer, Wolfram Desktop, Wolfram Player
Wolfram Inside: Wolfram SDKs
Wolfram Outside: Wolfram SDKs
Contact us for details on the Wolfram Embedded Computing System.
There are a variety of ways Wolfram Engines can be configured for a project.
Use Wolfram Language libraries or Wolfram SDKs to link the Wolfram Engine directly into your program.
Use Wolfram Application Server or WSTPServer to connect to an instance of the Wolfram Engine when needed.
Use a Wolfram Enterprise Private Cloud or WSTPServer to have a managed pool of Wolfram Engines.
In many applications, you will want to initialize the Wolfram Engine with your particular code or data.
Initialize whenever the engine is called.
Allows best sharing of Wolfram Engine resources.
Initialize whenever your program is started.
Suitable for single-instance and linked library configurations.
Always maintain a dedicated pool of pre-initialized Wolfram Engines.
Suitable for WSTPServer and Wolfram Enterprise Private Cloud configurations.
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.