Introduction to Expresso

While working with a mobile application (app), almost everything that happens in the app is based on events and actions. For example, clicking a button or icon on the mobile is a click event. Based on the event, you can trigger any action such as navigating to another page or invoking a JavaScript.

Based on the event-action model, Expresso enables you to automate your flows where received events can trigger pre-configured actions. Expresso exposes REST APIs to make this possible.

Expresso consists of the following components:

  • The mobile client application provides the user interface to view and select events, pick the action that needs to be triggered for the selected event, map attributes, add filters, set schedules, change profile details, mark favorite pods, and brew an expression. After brewing the expression, users must run it to start receiving notifications and alerts based on the events created.

    In terms of APIs, the mobile client application consumes the APIs exposed by the Expresso server.

  • The Expresso server provides the interface for making providers available to the mobile client application. The server mandates that a provider must describe its events and actions in a format understood by the server. In this case, the format is a JSON format conforming to the JSON provider definition schema published to the server.

    In terms of APIs, the server enables the providers to expose the APIs which can then be consumed by the mobile app users.

  • Providers are third-party applications that provide events to the server. Provider applications need to register themselves with the Expresso server for being a part of the Expresso inventory.

    In terms of APIs, the providers expose APIs that can be communicated by the Expresso server to the mobile client application.

    Components of Expresso

To summarize, the Expresso Server exposes REST APIs to allow any type of providers to plug-in and expose events, actions, and pods to the mobile application. It also provides REST APIs to create your own mobile app.

TIBCO ActiveMatrix BusinessWorks™ Plug-in for Mobile Integration 6.x enables you to develop providers for Expresso using the ExpressoNotify activity and an Expresso Provider shared resource. For more details on the activity and the shared resource, refer to TIBCO ActiveMatrix BusinessWorks Plug-in for Mobile Integration User's Guide. The ActiveMatrix BusinessWorks platform handles most of the activities necessary for an Expresso provider thereby making the developer experience simpler and richer.

Providers can also be developed outside of the TIBCO ActiveMatrix BusinessWorks Plug-in for Mobile Integration 6.x environment. For example, you can develop providers using Java.

Expresso ships with the following sample providers installed in $TIBCO_HOME\expresso\providers:

  • TIBCO ActiveMatrix BusinessWorks 6.x - SalesForce and Workday
  • POJO - JIRA and Twilio