Presto Development and APIs
Presto developers create artifacts and extend Presto capabilities to support the business requirements of their organization and enable power users. In addition to creating mashups or Apps in visual tools such as Wires, developers write code and work in technical editors such as the Mashup Studio or the Mashup Editor.
These developer-specific tasks can include:
Creating mashups and macros using EMML. See Mashups in EMML for links to more information on creating mashups or macros.
Connecting to Presto to invoke artifacts using the Presto REST API or any of the Presto Connect APIs. Typically, you invoke mashables, mashups or use snapshots in custom Apps, but this may also include other types of clients.

To help determine which API fits your needs, see Features of the Presto REST or Presto Connect APIs for a comparison.
To connect to the Mashup Server and invoke artifacts, you use one of these APIs:
The Presto REST API. See Working with the Presto REST API for an introduction and simple example.
The Presto Connect APIs:
Introduction/Example API Reference Presto Connect for JavaScript (PC4JS) Using Presto Connect for Javascript Presto Connect for JavaScript API Presto Connect for Java (PC4J) Using Presto Connect for Java Presto Connect for Java Presto Connect for C# (PC4CS) Using Presto Connect for C# Presto Connect for C# API The Presto Snapshot API. This is a REST API specifically for retrieving snapshots.
See also Paginating Mashable or Mashup Responses and Mapping Presto Attributes to Artifact Input Parameters.
Creating custom Apps (see Working with Custom Apps for links) using the App Editor, App Specifications and the Presto App API, Presto JS Loader API and Presto DataTable API.
Extending functionality to simplify development, provide business-specific functionality to enable self-service for power users, or integrate Presto within your environment. Extensions may include:
Defining Custom XPath Functions for use in mashups or macros with the Presto Custom XPath API
Creating custom views for mashables or mashups using the Template View to provide more visual options for basic Apps and workspace App.
Creating extensions to handle specific requirements for authentication with Presto using the Presto Custom Certificate Validation API or Presto Custom SSO Filter API.
Creating custom security profiles (see Implement a Custom Security Profile Client) using the Presto Security Profile API to enable secure connections with mashable information sources that have unique authentication requirements.
Features of the Presto REST or Presto Connect APIs
| Features | REST API | PC4JS | PC4J | PC4CS |
|---|---|---|---|---|
Use the language and library or your choice |
yes | |||
REST or JUMP protocol. The JUMP protocol from previous releases is supported in 3.0 and above, although REST is recommended as the preferred protocol for working with Presto. For more information on JUMP, see the About JUMP topic. |
REST | REST | JUMP | JUMP |
Asynchronous or synchronous connections |
language / library specific | asynch | synchronous | synchronous |
Number of users/requests per connection |
language / library specific | 1 user / + requests | + users / + requests | + users / + requests |
Supports named parameters and ordered parameters |
named only | named only | both | both |
HTTP and HTTPS |
language / library specific | yes | yes | yes |
Can set HTTP headers in requests |
language / library specific | yes | yes | |
Can access local and remote Mashup Servers |
yes | yes | yes | yes |
Handles cross-domain requests (specific to remote servers and JavaScript) |
requires additional code | yes | n/a | n/a |
Handles authentication and session management |
requires additional code | yes | yes | yes |
Supports guest users (anonymous connections) |
requires additional code | yes | ||
Response formats |
Native, JSON or XML, requires additional code | JSON or XML | Native, JSON or XML | JSON or XML |