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. You can invoke services in various points of an onboarding journey flow as well as at different Transact Function triggers . An invoked service ay call another service in turn making a chain of calls.
A typical customer onboarding journey may use the following Manager's services:
A typical customer acquisition application may use the following services:
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 or Global. Let's look at the differences in more detail.
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.
If the service is assigned to a specific organization, it is not available to administrators of other organizations.
Certain Fluent Service types can be assigned to multiple organizations, allowing the services to be shared. Only assigned organizations and their forms can make use of these services. This functionality is designed to reduce the number of individual services that are deployed to a system. This also helps keep the system usage down and makes support and maintenance easier. | 24.10 This feature was introduced in 24.10
A service is assignable to multiple organizations only if it is created from one of the following Service Template types:
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 behaviors.
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. Manager provides the import and export UI, SDK goals and REST API to facilitate this process. In addition, you can use the Configuration Service to update the existing services.
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.
Next, learn about service types.