Services Overview

   Journey Manager (JM) The transaction engine for the platform. |   System Manager / DevOps |   23.10This feature was updated in 23.10

Journey Manager comes with services that are software modules configured to perform specific business-related functionality, usually by executing GroovyGroovy is a powerful scripting language which runs on the Java Virtual Machine. Across theTemenos Journey Manager platform, Groovy is used to create services in Manager. These services are primarily used to create plug-in style systems that interact with Manager. scripts. Services are often used to call external systems and other services hosted on premise or on cloud, such as the AmazonAmazon Web Services (AWS) is a comprehensive, evolving cloud computing platform provided by Amazon. It provides a mix of infrastructure as a service (IaaS), platform as a service (PaaS) and packaged software as a service (SaaS) offerings. or AzureMicrosoft Azure is a cloud computing service created by Microsoft for building, testing, deploying, and managing applications and services through Microsoft-managed data centers. clouds.

A customer onboarding journey may use the following Manager's services:

A typical customer acquisition application may use the following services:

Manager service overview diagram

You can potentially have hundreds of distinct services plus several versions of each service, so Manager defines the following service categories to group the services:

Each service has a service type, which defines what functionality it implements, for example, virus scanning. There can be multiple services per every service type. However, only one of them can be set as the default service for each type. You can define your own service types and create corresponding services to implement specific requirements, for example, to notify customers via SMS, using Fluent Groovy API.

A service can be:

  • Organization-specific
  • Global

If a service is defined for one specific organization, it is not available to all other organizations and their forms, as well as on the global level including administrators of other organizations, so it can't be used outside that organization. This is a most common case of defining a service.

A service can be assigned to multiple organizations so only these organizations and their forms can make use of it.  |  24.10 This feature was introduced in 24.10

The global services don't have any organization assigned to them, so they can be used in global forms across multiple organizations. This is especially important for Manager installations in multi-tenanted environments. You can also use global services in standard organization-specific forms

We only allow the following 3 types of Fluent services to be global  |  23.10 This feature was introduced in 23.10:

When you create a global Fluent function of the above types, you don't need to select an organization it belongs to - the function resolves it from a submission. This is important to understand to design global functions correctly. Also, you must have a global access to create global services. For more information, see Create a Service, Create a Transact Function and Create a Job Service.

Some services must be strictly organization-specific, for example, the Submission Data Storage service, so there is absolutely no chance for multiple tenants to write to the same data storage.

For a collaboration job, a delivery channel belonging to an organization is used.

Services can have various parameters, which you can customize to control their run-time behavior.

Some services require a service connection, such as the AWS SQS service connection, to communicate with external systems and services.

You can migrate existing services from one environment to another to improve your development process.

As services may be complex in their implementations, it can be difficult and time consuming for you to troubleshoot any errors associated with forms that use these services. Manager provides you with a quick way to access service logging information, using Groovy Service Log, where you can find some key service stats generated during its execution.

Forms use services extensively to process user input and fetch all required data, which is a big part of complex customer onboarding journeys. More often than not, you may want to use Transact functions to call services from Maestro forms.

Manager allows you to configure services that are used by a form. Additionally, you have the option of enabling or disabling Transact Functions when building a TM form version in Maestro editor. However, you must be aware that enabling Transact Functions limits the range of services available to the form, which is illustrated below.

Services available to a form with Transact Functions disabled and enabled

Next, learn about service types.