About Presto: The Enterprise App and Mashup Platform

Learn about Presto

Like to watch instead of reading?
Want to check out some Apps?
Got SharePoint? Get Apps & Mashups!

What is Presto?

Presto is a Real-Time Intelligence Platform. Presto provides for every part of the Enterprise App lifecycle starting with making data sources mashable, which then are consumed in Enterprise mashups and exposed to users as Enterprise Apps. Using Presto, you can deliver Enterprise Apps and mashups to your users by publishing them in your own the Enterprise AppDepot. Presto comes with all the features necessary to meet the toughest enterprise security and governance requirements.

For more details, see the Introduction to Presto in our Presto Library.

What are Presto Add-Ons?

Presto Add-Ons allow you to work with non-traditional information sources, such as spreadsheet documents. Add-Ons can also be destinations for Apps, allowing users in your organization to work with Apps in applications or environments they are already comfortable with including mobile phones and tablets. Add-Ons let Presto work with specific applications, systems or platforms to consume information and also produce information or Apps that are compatible with that application, system or platform. Presto Add-Ons include the following:

  1. Presto Mobile Add-On
  2. Mashup Sites for SharePoint Add-On
  3. Presto Excel Add-On
  4. Presto Portal Add-On

What is Presto Mashup Sites for SharePoint?

The Mashup Sites for SharePoint Add-On can act as both a source of information for Presto and a destination for Apps, mashables and mashups. You use this add-on to create native SharePoint Web Parts for Apps, mashables or mashups, providing dynamic, real-time integration to the full range of information sources in Presto. This also leverages Presto governance for these resources. To learn more about this add-on, click here.

What are some of the key concepts in Presto?

Presto acts as a virtual host for mashable information sources and directly hosts mashups and Apps. These are the artifacts that users work with in Presto.
Presto Artifacts

Users register mashables to enable easy and secure access to information sources. Users then use mashable information sources or other mashups to create mashups that combine or transform this information in useful ways. Users create Apps by connecting views, the user interface elements, with mashable or mashup results.

Users can work with desktop Apps in the AppDepot or work with mobile Apps in the Presto Mobile Add-On. Apps can also be published to a wide variety of other destinations where users can work with them as shown in the following diagram:

A Black Box view of Presto

And all of these artifacts are governed by the security and access policies you design for Presto so that users may use only those mashables, mashups and Apps to which they have been granted permissions.

What are Mashables?

Mashables are information or data sources that have been registered in Presto to prepare them for use in mashups or Apps. Typical mashable information sources include databases, applications or documents. They may be internal or external. They can be run by many different protocols. They return information, their results, in many different forms. Read more.

What are Mashups?

There are many definitions for mashups - all of them slightly different! In Presto, mashups simplify, combine or transform content from one or more information sources to produce just the information you need. Mashups produce results (the data) but not the widgets, views or other user interfaces to work with that data. Read more.

What are Apps?

Apps combine a web user interface with the results from mashables or mashups creating easy access to the results. Apps can include behavior, easily creating micro applications from mashables or mashups. Apps are not required to use mashables or mashups. They can also simply wrap Apps, widgets and web pages from other environments. Read more.

How they relate to each other (Mashables/Mashups/Apps)?


Click on this image above to learn more.

What are the core components of Presto?

The core components of Presto are shown in the following diagram:

Presto Platform Components
What is the Presto Mashup Server?

The Mashup Server supports design activities, discovery and governance for all Presto mashables, mashups and Apps. Mashups in Presto are scripted using EMML (Enterprise Mashup Markup Language) from the Open Mashup Alliance (OMA). The Mashup Server comprises of several components the core of which is the Mashup Engine. The Mashup Engine is the runtime EMML processor which extends OMA EMML to provide secure invocation of mashable information sources, including database mashables, as well as direct invocation of accessible, unregistered information sources and SQL commands. The Mashup Engine interprets EMML and includes a scripting engine to handle scripting hooks to custom logic and support for EMML macros. Mashup statements to invoke mashables are handled by the appropriate mashable access engine leveraging the mashable security framework.

What is EMML?

The Enterprise Mashup Markup Language (EMML) is the domain language for mashups from the Open Mashup Alliance (OMA). Presto provides a full implementation of EMML and extends its capabilities to work with all types of Presto mashables and mashups within Presto governance. This DSL provides a simple, declarative vocabulary in XML. You create mashup scripts using Presto tools that provide a visual or code perspective of the mashups script. Mashup scripts are written in EMML that is interpreted by the Mashup Server at runtime.

EMML in Presto provides simple, straight-forward semantics to address a wide range of mashup prerequisites, including invoking mashables / mashups, invoking any web service or web-based resource, embedding SQL or data processing to filter, merge, join, sort, group, annotate. You can even write your own extensions using EMML macros. EMML also provides common flow-control logic such as for loops, if-then-else and parallel or sequential flows. You can also use XPath functions, both standard and user-defined for data conversions, validations, calculations and formatting. Using an XML vocabulary allows EMML to be easily written by tools or off-the-shelf editors. It builds on the XPath, XQuery and XSLT standards for strong query and transformation features.

To learn more about EMML and how you can extend it with Presto, please visit: EMML introduction, Presto APIs, Specifications and Extension Points,  EMML Reference, or writing advanced EMML.

What are the other main features of the Mashup Server?

In addition to executing EMML, the Mashup Server also provides the following features:

  • Snapshots: allow users to run mashables or mashups and save snapshots of results for use in analysis or mashups. Snapshots can be user initiated or scheduled to support automatic snapshots for trend analysis.
  • Collaboration and Notifications: allows sharing between users for discovered resources. Both sharing and the App publishing workflow generate notifications. Notifications can be sent via email, if mail is configured in the Mashup Server. Users can also see notifications in the Presto Hub home page or My Apps in the App Store.
  • Caching: caching can be configured for mashable and mashup results to enhance performance. Caching configuration uses a flexible inheritance policy to easily define caching requirements for different types of mashables and mashups but also support individual requirements. The latest release also now supports clustered caching with the addition of third-party caching solutions, such as memcached or Terra Cotta.
  • Security: this includes both authentication and authorization for users when mashables, mashups or Apps are viewed or run. The Mashup Server also handles authentication with mashable information sources when they are run.

How does Presto provide security for Apps and Mashups?

The Mashup Server is integrated with your user repository or identity server for user authentication. This can be basic authentication, secure connections and certificates or a single sign-on solution. You define authorization policies for Presto resources determining who can view or run mashables, mashups and Apps. Generally, users must be authenticated, but you can also define unlimited access, allowing 'guest' users without authentication to work with Apps that are published to web sites, wikis or other environments. Authorization policies in the latest release also introduce entitlements in Presto Hub and the App Store. You can determine access to specific tools and features based on authorization policies.