Solutions

Overview

A Solution consists of packages bundled together into one coherent service. It is a logical combination of webMethods Integration Server packages, Adapter packages, Services, webMethods CloudStreams packages, and webMethods Integration Server and Universal Messaging configuration assets or configurations.

Note: After deploying the configurations, if there is a webMethods Integration Server restart, the assets might appear after a short delay.

webMethods Cloud Integrations can invoke webMethods Cloud Container Integration Server services for the same tenant. Using the predefined webMethods Cloud Container application, you can select the solution webMethods Integration Server services that you want to invoke from webMethods Cloud Container.

The following figure provides a high-level overview of the process involved in deploying on-premises webMethods Integration Server packages and configuration assets to webMethods Cloud Container.

With native asset deployment, you can deploy the webMethods Integration Server configuration assets that you have created, verified, and tested on on-premises webMethods Integration Server or Universal Messaging to webMethods Cloud Container without using Command Central.

User Interface elements

The following table describes the various user interface elements that appear on the webMethods Cloud Container workspace:

Page Elements Icon Description
webMethods Cloud Container icon Access the home page.
Solutions View and create solutions, pull assets from a solution of another environment, view the Asset Repository, and manage webMethods Integration Server instances.
Monitoring View the overall status of the solutions, landscapes, system and runtime alerts, KPI graphs of the runtimes, service executions of the webMethods Integration Server instances, availability of the run times, alert status of the solutions, and logs.
Runtime availability View the overall run-time availability for all the solutions in the last 24 hours.
Usage Statistics The usage statistics shows the CPU and Memory usage for all solutions in environments. The CPU bar shows the maximum CPU that is licensed for the tenant. The colored part of the bar shows how much of the allowed CPU is currently used by the tenant.
The Memory bar shows the memory in Gb that is licensed for the tenant. The colored part of the bar shows how much of the allowed memory is currently used by the tenant.
Database Add a database to your webMethods Cloud Container subscription. This enables you to configure, store, and monitor your database directly in the cloud instead of using external systems.
Solutions section Total number of solutions created. View the Solution List page by clicking the Details link and the Monitoring Dashboard by clicking the Monitoring link.
Service Executions section Number of service executions and their status in the last 24 hours for all the solutions that are currently available in the selected environment. To view the Services page under Monitoring, click the service execution link.
Active Alerts section Number of currently open alerts and their severity. Click on the links to go to the Alerts page.
Environment Click to view and link environments.
Help Access Help topics, Software AG TECHcommunity, Licensing capabilities, and the About page. The About page displays the version information, Global Support information, Copyright information, Impressum and Privacy Policy, and the release readme.
Profile Name of the logged in user, profile information of the logged in user, and Logout option.
Last Login, Notifications, and Help topics When was the last login, important and other notifications, what is new in this release, and context-sensitive help topics.

Creating Solutions

The Solution List page displays the solutions created in webMethods Cloud Container.

Note: You must have the required permissions under Settings > Access Profiles > Administrative Permissions > Functional Controls > Solution to create, or delete Solutions.

Note: You must first create a solution in webMethods Cloud Container before deploying the on-premises assets and configurations.

Note: You cannot modify the solution name after it is created.

When you create a solution from the predefined landscape templates, you can set the number of CPU core to 1, 2, and 4 and Memory to 2, 4, 6, 8, and 16 in GB. Note that the allocated configurations (CPU and Memory) of Integration Server node is shared by processes other than Integration Server runtime as well. For example, if a user is configuring 4 GB memory when creating a solution using the landscape template with Integration Server connected to Universal Messaging, then an approximate of 3.6 GB configurations is used for Integration Server and the rest would be shared by other processes.

To create a solution

  1. Log in to webMethods Cloud Container.

  2. Click Solutions > Solution List. The Solution List page appears.

  3. From the Solution List page, click Create New Solution to create a solution.

    Note: Solutions created using a trial account are deactivated daily by UTC +01:00 AM. After you log in, you need to reactivate the solutions. All assets will be available after a short delay.

  4. Select the landscape model that best represents your environment. The available designs are a webMethods Integration Server with a BigMemory Max server, a webMethods Integration Server with Universal Messaging and a BigMemory Max server, or webMethods Integration Servers with Universal Messaging, and a BigMemory Max stripe.

  5. Click OK.

  6. In the New Solution page, fill in the solution Name, the solution Description, the name of the webMethods Integration Server and Universal Messaging instances, number of CPU Cores, and Memory characteristics of the hardware to support each service in the solution landscape. You can also select the webMethods Integration Server and Universal Messaging icons to highlight the sections in the New Solution page. BigMemory Max is available only when webMethods Integration Server runs in a stateful clustered mode.

    The Version list box lists all the available major versions. The solution will be created based on the available Fix version.

    Manage Additional Packages
    To select system packages, click Manage Additional Packages. A pop-up window will appear on the screen where you see the supported packages list that you want to enable based on the available fix versions. The supported system packages are sorted as groups in webMethods Cloud Container. Select a group to select the packages that has dependencies. You can select an individual package in a group only for packages that does not have dependencies.

    Dependencies
    Some packages require other packages to function properly after deployment. For the deployed packages to work properly, the packages that has dependencies must be explicitly selected while adding the packages for webMethods.io B2B.

    The following table shows the package dependencies of each type of package in webMethods.io B2B:

    Packages Dependencies
    WmEDIForTNStub WmEDI, WmFlatfile, WmTNStub
    WmEDIINTStub WmTNStub
    WmEDI WmFlatfile

    Note: The initial version of webMethods.io B2B support on webMethods Cloud Container is limited to basic EDI, EDIINT and Trading Networks Services. For a complete list of Trading Networks, EDI, and EDIINT Built-In Services supported on Cloud Container, see sections: Working with Trading Networks Built-In Services on webMethods Cloud Container and Working with EDI and EDIINT Built-In Services on webMethods Cloud Container here.

    On the Landscape page, select the Cluster Type as Stateless if the group of webMethods Integration Servers function in a manner similar to a cluster but are not part of a configured cluster. A stateless cluster of webMethods Integration Servers does not use a BigMemory Max Server Array. Select Stateful to add the BigMemory Max section. The BigMemory Max icons will be activated.

    When creating a solution with the Integration Server cluster, you can set the number of CPU core to 1, 2, and 4 and Memory to 2, 4, 6, 8, and 16 in GB for both stateful and stateless cluster types. In addition to these, you can select instances for the Cluster Integration Server such as 2, 3, and 4. This is applicable when cloning the solution as well.

    The Hot Fix list box lists all available fixes that include enhancements to versions. Hot fix field is optional. Selecting None option will remove the hotfixes applied on the solution, and the solution will point to the base fix version. Typically, hotfixes are created for specific tenants.

    Note: After creating a solution, if you modify the package list options in the Packages group box and save the solution, due to webMethods Integration Server restart, the assets will appear after a short delay.

    The Tracing list box appears only if you have the App Dynamics capability and if you are currently using AppDynamics to trace end to end business flows. It allows you to trace logs after you create or update a solution for an webMethods Integration Server runtime. Currently, tracing support is provided only for the webMethods Integration Server runtime. Select AppDynamics from the drop-down list to provide the AppDynamics tracing support and upload a valid Controller XML and Config XML file containing the Appdynamics details. You can update the controller file for each webMethods Integration Server runtime. You also have the option to download the controller and config files and then upload the files after modifying them.

    Note: If you select AppDynamics tracing and provide a valid controller file, the tracing data will appear on the AppDynamics cloud application.

    Let us see an example of how the tracing data appears on Appdynamics when you create a solution in webMethods Cloud Container.

    1. Go to https://www.appdynamics.com/ and register in AppDynamics.
    2. On the Overview > Applications panel, click Get Started.

    3. On the Getting Started wizard, click Java under the Applications panel.

    4. Download the Java Agent Installer.

    5. Go to the ver > conf folder on your local system and view the controller-info.xml and app-agent-config.xml files.

    6. Open the controller-info.xml file and provide the following values: MyApplicationAppIS

    7. Log in to webMethods Cloud Container.

    8. Create a new solution in webMethods Cloud Container and select AppDynamics from the drop-down list to provide the AppDynamics tracing support. Upload the controller-info.xml and app-agent-config.xml files, and save the solution.

    9. Log in to AppDynamics. Your application, that is, MyApplication appears on the Applications panel.

    10. Click on MyApplication and view the service execution status and execution logs.

    11. Click Save to save the solution. The new solution is created and appears in the Solution List page. You cannot modify the solution after the solution is created. After you save the solution, you can update the version whenever a new version is available. For more information about updating products to a higher version in a solution, see Updating products to a higher version in a solution.

Deactivate, Activate, and Delete a solution

Click the icon and select Deactivate to deactivate a solution. Click the icon and select Activate to activate an inactive solution.

Click the icon and select Delete to permanently delete the solution. All packages and assets will be permanently deleted and cannot be recovered.

Copying Solutions

The Solution List page allows you to copy solutions. Copying solutions allows you to have a back up of your solution before you make any changes and deploy your solution to production. This reduces the risk of not having a back up in case you want to revert to the original solution.

Note: If you have the required permission under Settings > Access Profiles > Administrative Permissions > Functional Controls > Solution, you can copy, update, and delete solutions.

To copy a solution

  1. Log in to webMethods Cloud Container.

  2. From the webMethods Cloud Container navigation bar, click Solutions > Solution List. The Solution List page appears.

  3. On a solution, click > Create a copy.

  4. On the Create a copy page, fill in the new solution Name. You can choose to copy solutions using the same configuration and services in the solution landscape by clicking the Create with original configuration option or modify the configuration and services in the solution landscape by clicking the Create with modified configuration option.

  5. Select Create with modified configuration and specify additional configuration of the solution, if necessary. Then click Configure to save the configuration details. The new solution is created and appears on the Solution List page.

Exploring Solutions

The solution details page allows you to view the packages, assets, unit tests, configurations and services for different runtimes in the solution, pull assets from a solution of another environment, view the Asset Repository and manage the solution, that is, view the landscape, configure webMethods Integration Server service access settings, administer the webMethods Integration Server, or restart the webMethods Integration Server instances.

Note: You can create a new solution in any environment. After you configure the solution in an environment, you cannot modify the solution name again in that environment.

To view the Solution Explorer

  1. Log in to webMethods Cloud Container.

  2. From the webMethods Cloud Container navigation bar, click Solutions > Solution List. The Solution List page appears listing all the solutions.

  3. Click on an existing solution. The Solution Explorer page appears.

    The following table provides a high-level overview of the Solution Explorer page:

    Component Description
    Assets View the Packages, Folders, Assets, and Services for webMethods Integration Server, Adapters, webMethods CloudStreams packages, and configurations for the Universal Messaging runtime.
    Unit Tests Allows you to create and run unit tests for services in webMethods Cloud Container.
    Deploy Pull assets from a solution of another environment.
    Asset Repository View the Asset Repository which displays the contents of the on-premises packages published to Cloud Container.
    Manage View the landscape, configure webMethods Integration Server service access settings, administer the webMethods Integration Server, or restart the webMethods Integration Server instances.

Assets

A package is a container that is used to bundle services and related elements, such as specifications, webMethods Integration Server document types, webMethods Integration Server schemas, and triggers. When you create a folder, service, webMethods Integration Server document type, or any element, you save it in a package.

The following figure depicts the package structure in a solution.

Packages are designed to hold all of the components of a logical unit in an integration solution. For example, you might group all the services and files specific to a particular marketplace in a single package. All the components that belong to a package reside in the subdirectory of the package.

Once you deploy the packages in webMethods Cloud Container, you can view them under Assets. You can run the deployed services using the Service editor. In a clustered solution, the asset view always connects to the first node of the Integration Server.

Note: Click the arrow beside a folder or package to view its contents.

For WmBusinessRules, all projects will reside under Assets in a separate folder called Business Rules Projects inside an Integration Server instance. You can see all projects listed within Business Rules with proper icons. If the WmBusinessRules package is enabled while creating a solution, Assets will show two separate folders namely Integration Server Packages and Business Rules Projects.

The following video provides you the overview on accessing services on webMethods Cloud Container:

Downloading assets

You can download user deployed packages and configurations from the Asset page. To download assets, point to an asset, click the icon, and then click Download. The assets will be zipped and downloaded to your local storage space.

Note: You cannot download default packages such as packages that come with webMethods Integration Server installation, for example, Default, WmART, WmCloud, WmJDBCAdapter, WmPublic, and so on.

Services

Services are method-like units of logic that operate on documents. You build services to carry out work such as extracting data from documents, interacting with back-end resources (for example, submitting a query to a database or executing a transaction on a mainframe computer), and publishing documents. Adapters and other add-on packages provide additional services that you use to interact with specific resources or applications. The service editor allows you to view and run the services.

Service Signature

Input and output parameters are the names and types of fields that the service requires as input and generates as output. These parameters are also collectively referred to as a signature. You declare a signature for all types of services: flow services, Java services, and services written in other supported programming languages.

For a flow service, the input side describes the initial contents of the pipeline. In other words, it specifies the variables that this flow service expects to find in the pipeline at run time. The output side identifies the variables produced by the flow service and returned to the pipeline. An webMethods Integration Server document type can also be used to define the input or output parameters for a service.

Click Run once to run the service after providing the data to pass into the service.

Service Editor

Use the service editor to view the services. The source code, properties, inputs, and outputs are read only. The editor has the following tabs:
- Source tab contains the code or flow for the service.
- Input/Output tab contains the input and output signature of the service.
- Logged Fields tab indicates the input and output parameters for which the data is logged. You define the data to pass into the service by defining the input parameters on the lower panel of the editor.
- API Details After deploying assets, on the Asset explorer page, click the API Details option to view the API details of the service such as the HTTP Method, URL, Input structure, and the parameters that are required to invoke this service from an external system, for example, a REST client. You can copy the required API details to execute the service from the external system.

Note: The API Details option appears only for executable services. Some examples of executable services are Adapter services, Flow services, Java services, Flat File Schema, and Map services.

Note: You will be able to execute a Flat File Schema by using only the SoapUI tool. You must specify the following settings in the SoapUI tool:

Note: While invoking a service using external API calls, if the file size exceeds the 100 MB limit, the application will throw an error.

Load pipeline for testing services

The pipeline is the general term used to refer to the data structure in which input and output values are maintained for a service in Software AG Designer. The pipeline holds the input and output for a service. The pipeline starts with the input to the service and collects inputs and outputs from subsequent services. When a service runs, it has access to all data in the pipeline at that point.

When you run a service in Software AG Designer, you can click Save and save the pipeline data as an XML document to your local file system. After you deploy the service, you can click the Load Data option in the service editor to select the XML file, and load or update the pipeline data to test the service.

Note: Integrations can now invoke webMethods Cloud Container webMethods Integration Services for the same tenant. A new pre-defined Application, webMethods Cloud Container, is added in the integration. Using this application, you can select the solution webMethods Integration Server services that you want to call from webMethods Cloud Container.

Note: See the webMethods Service Development Help, webMethods Integration Server Administrators Guide, and the webMethods Adapter for JDBC Installation and User Guide for detailed descriptions of all the services and document types including Adapter services.

Generating a Test Case Using Services

Generate test case allows you to generate a test from service run results. A successful run result generates a test which asserts the pipeline, and a result with error generates a test which asserts the exception.

To generate a test case for services

  1. In webMethods Cloud Container, open any service.

  2. In service editor, click Run Once. The Run Service dialog box appears.

  3. Specify input values in the fields for the service and click Run. If the run service is successful, a service execution message appears.

  4. In the Run service window, click Generate test case.

    The Generate test case page appears.

  5. In the Properties panel, do the following:

    • In the Name field, type the test case name.
    • In the Test suite field, select a test suite by clicking the drop-down list box.
      -Or
    • Create a new test suite by clicking the Create new test suite option.

    The Input values and Expected output values will be auto populated for the selected test case.

  6. Click Generate.
    If the validation is successful, a successful test run message appears and the generated test case will be added to the selected test suite.

Asset Repository

Software AG Designer deploys the assets and configurations to the Asset Repository in webMethods Cloud Container. The Asset Repository page (webMethods Cloud Container > Solutions > Asset Repository) displays the list of all solutions and the user-created assets. You also view the asset type, version of the assets, and services in the Asset Repository page. Before deploying packages and configurations from Software AG Designer, you must create a solution in webMethods Cloud Container to which you want to deploy the configuration assets.

Asset Repository for all solutions

The following figure depicts the Asset Repository structure for all solutions.

Asset Repository for a selected solution

The Asset Repository page for a solution (webMethods Cloud Container > Solutions > Select a Solution > Asset Repository) displays the assets for the selected solution, including the asset type and version of the assets.

The following figure depicts the Asset Repository structure for a selected solution.

Once you deploy the wmBusinessRules projects on webMethods Cloud Container, you will see the Rules assets under Asset Repository.

Downloading packages and assets

You can download user deployed packages and configurations from the Asset Repository page. You can either download individual packages or the whole repository for each product. To download assets, point to an asset or product and click the icon. The assets including ACDL files will be zipped and downloaded to your local storage.

Unit Tests

Overview

webMethods Cloud Container’s Unit Tests feature lets you test Integration Server services hosted on Cloud. A test suite is one or more test cases grouped together. Each test case defines a service to be tested, the type of test to be performed, and provides a user interface to define input data and expected output data. When the service execution is completed, the output is validated against the expected output defined in the test case.

The following video provides you the overview on Unit Test functionality in webMethods Cloud Container:

The following figure depicts the unit test structure in a solution.

Actors

Before you begin

Basic Flow

  1. Log in to webMethods Cloud Container.
  2. From the webMethods Cloud Container navigation bar, click Solutions > Solution List. The Solution List page appears.
  3. From the Solution List page, click any existing solution. The Solution Explorer page appears.
  4. Select Unit Tests.

Creating a Test Suite

In this tutorial, we will see how to create a test suite for public services of Integration Server, and then execute the test case and test suite. To achieve this, follow the instructions given below:

  1. Go to Unit Tests screen.

  2. Click Add test suite.

    A New Test Suite screen will appear where you will be prompted to provide the following details:

    • Name: Provide a unique name, say Public_services for the new test suite.
    • Description: Provide a description for the new test suite.
    • Runtime instance: Select a runtime instance.
    • Once you have entered these details, click Save.

    This will create the new test suite (Public_services), and you will be redirected to the test suite editor.

Creating a Test Case

Let’s see how to create a test case.

  1. Select public_services test suite to create a new test case.
  2. Click Add test case.

    A new test case editor appears. Provide the following details:

  3. Test Case Details: Provide the test case name.
  4. Description: Add the description for the test case.
  5. Service asset: Enter the qualified name of the service or click Select Service.
  6. For example, pub.math:addInts.

    The screen loads Input and Expected output details as shown below:

Field Description
Add Mock In the New mock page, enter the qualified name of the service in the Service to mock field or click Select Service to add the list of services to mock.
Mock details
Action type Following are the valid selections:
- Send fixed response: Intercepts the service and returns the data specified in Output. For examle,
- Call another service: Intercepts the service and use another service and send its response as response of the mocked service. For example,
- Throw Exception: Intercepts the service and returns an exception with specific message. For example, whenever an addInts service is invoked, throw an exception with this message.

After adding the expected output, click Save. This will create the test case addIntsCase1 in the test suite public_services.

Deactivate and Delete a defined mock
- To deactivate a particular defined mock, hover the cursor on the service name, select the check box next to the service and select Deactivate.
- To delete a particular defined mock, hover the cursor on the service name, and select the check box next to each service and select Delete.

Executing Test Cases

To run the test case created, click the Run Once option in the editor.

A list of success and failure messages appear on the Test case result window. For the above test case the result is success, so the success message appears as shown below.

When a test case encounters an error, the error reports appear in a stack trace which contains a sequence of stack trace elements which can be useful for debugging purposes.

Executing Single Test Suite

Let’s say, you want to execute a single test suite with multiple test cases in it. To do this, follow the steps given below:

  1. Open the test suite list.

  2. Click Run once.

    Note: To run specific test cases inside the test suite, select test cases from the list, and then click Run once option above the test cases list.

    The execution is considered to be successful if all the test cases in the test suite is successfully executed.

Executing Multiple Test Suites

To execute multiple test suites, follow the steps given below:

  1. Select the Name check box to select all test suites.
  2. Click the Run once option to execute the test suites.

    This executes all test suites.

    You may use the icon, to view the last run results of the test suites or test cases.

Displaying the API Details of a Test Suite

Navigate to API Details option to view the API details of the test suite such as the HTTP Method, URL, and the parameters that are required to invoke this test suite from an external system, for example, Postman.

In the API Details window, copy the API endpoint.

Now, append the same details to execute the test suite from the external system.

Viewing Test Suites Execution Results

To view the list of test suites that were executed in the solution along with the status, click Test results view.

Deploy

After publishing the assets and configurations that reside within on-premises runtimes or repositories to webMethods Cloud Container, you can pull assets from the given solution residing in an environment to the current solution for the same runtime type.
Note: webMethods Cloud Container support assets deployment only for the environments of the same regions.

The following video provides you the overview of deployments with variable substitution, rollbacks and deletion of assets in webMethods Cloud Container:

Select a solution and then click Deploy. Select a runtime instance. All active solutions of the instance will list all the assets of the selected solution in the environment for the selected runtime instance.

Note: You will not be able to promote assets from a higher version solution to a lower version solution. For example, if you have a v10.7 solution in the source environment and a v10.5 solution in the current environment, you will not be able to promote the v10.7 assets to the current environment.

Click on a solution and select the runtime package folder. Then click on the runtime instance. The assets of the solution corresponding to the selected runtime instance will appear. Select the assets and then click Promote to promote the assets to the current solution (right panel).

Note: When you deploy Business Rules projects from a source environment to your current environment, make sure you enable the wmBusinessRules package on your targeted environment while creating a solution.

After you click Promote, the Promote Assets dialog box appears for the selected asset.

Select an asset and change the values for the variable substitution properties, if needed.

The variable substitution properties appear for the selected asset, only if the asset has properties. If there are any similar type of assets for which you want the same values, then select the Show similar assets to apply values option. Then select the assets in the lower panel. Click Apply to apply the property values to the selected assets. The changed values will be applied to all the selected similar assets during promotion.

On the Promote dialog box, you can type a message to describe the promotion. The promotion message will appear on the History page. For Unit Test the promotion message will not appear.

Click Check Dependencies to check the consistency of the assets and unit test and their dependencies. If there are dependencies, then for a successful promotion, you have to select all the dependent assets. Select Save and Promote to save the variable substitution and promote the assets to the next environment.

On the Deploy page, click Rollback to rollback all promoted assets to their previous state. For Unit Tests rollback is not available.

You can type a message to describe the rollback. The rollback message will appear on the History page.

When promoting assets, due to webMethods Integration Server restart, webMethods Cloud Container notifies you a confirm restart message to continue the promotion of assets. Click OK to continue with the promotion of assets. Once Integration Server restarts, you will see the assets promoted to the other environment.

Deleting assets

On the Deploy page, you can delete an asset from the current solution (right panel). The asset will be deleted from the asset repository in that solution as well as from the runtime.

Note: Currently you can delete only webMethods Integration Server packages and not webMethods Integration Server and Universal Messaging configurations.

History

The History page shows the Trace ID, that is, the tracking ID, which is automatically generated on every successful or unsuccessful promotion, rollback, or deletion, the Deployment, Rollback, or Deletion Action, Date when the asset was promoted, rolled back, or deleted, the User who promoted, rolled back, or deleted the asset, and the commit Message for the selected instance. You can click on a Trace ID to see the Track History for the specific action.

The Track History window displays the following details:

Usage

The Usage page allows you to view the current usage of CPU cores and Memory (GB) for all the active solutions.

To access this page, from the webMethods Cloud Container navigation bar, click and select Licensing > Usage.

Managing Solutions

The Manage options allow you to view the solution landscape, configure webMethods Integration Server service access settings, administer the webMethods Integration Server, or restart the webMethods Integration Server instances.

Landscape

The Landscape page displays the landscape configuration for the selected solution.

To view the landscape configuration for a solution

  1. Log in to webMethods Cloud Container.

  2. From the webMethods Cloud Container navigation bar, click Solutions > Solution List > Select a solution > Manage > Landscape.

  3. On the Landscape page, you can view the landscape configuration design, landscape solution name and description, and the landscape components. For each landscape component, you can view the landscape component name, product type, whether the landscape component is in a ready state, and the number of CPU cores and memory characteristics of the hardware to support each service in the solution.

  4. BigMemory Max is available only when webMethods Integration Server runs in a stateful clustered mode. On the Landscape page, select the Cluster Type as Stateless if the group of webMethods Integration Servers function in a manner similar to a cluster but are not part of a configured cluster. A stateless cluster of webMethods Integration Servers does not use a BigMemory Max Server Array. Select Stateful to add the BigMemory Max section. The BigMemory Max icons will be activated.

Messaging Access Settings

webMethods Cloud Container uses Universal Messaging as the messaging provider, which supports the Publish/Subscribe messaging paradigm. The Publish/Subscribe model is a specific type of message-based solution in which applications exchange messages (or called documents) through a third entity called Universal Messaging. In solutions based on this model, applications that produce information (referred as publishers) send the information to the Universal Messaging entity and applications that require the information (referred as subscribers) connect to Universal Messaging and retrieve the information they need.

In webMethods Cloud Container, the Messaging Access Settings alias defines the configuration needed to establish a connection between Integration Server and a webMethods messaging provider. For each messaging provider that you want to use, you need to create a messaging connection alias. Integration Server can have multiple messaging connection aliases that connect to Universal Messaging servers.

webMethods Cloud Container supports both modes of Universal Messaging client connectivity; webMethods out of the box connectivity support, and JNDI and JMS support. As a result, you can easily consume data from your on-premises applications, and use the data in your integration.

Note: webMethods Cloud Container will not display the Messaging Access Settings tab for solutions whose product versions are 10.3 or 10.5.

Let us now see the high-level steps to create a Publish/Subscribe solution for webMethods Cloud Container:

  1. Enable the messaging capability in webMethods Cloud Container.
  2. Create publisher and subscriber services and manage destiantions (Queue/Topic) in Software AG Designer
  3. Create JNDI provider alias to on-premises Integration Server using Cloud Universal Messaging.
  4. Create a JMS connection alias to establish an active connection between Integration Server and JMS provider
  5. Connect to Enterprise Manager for management of your Universal Messaging environment.

Note: To use this chapter effectively, you must understand the basic concepts described in the webMethods Integration Server Administrators Guide and webMethods Cloud Container Help. You must also be familiar with all the services you want to share with webMethods Cloud Container.

  1. Enable messaging capability in webMethods Cloud Container.

    To enable the Universal Messaging connection alias, complete the following steps:

    a. Log in to webMethods Cloud Container.

    b. From the webMethods Cloud Container navigation bar, click Solutions > Solution List > Select a solution > Manage > Messaging Access Settings.

    c. On the Messaging Access Settings page, turn on the Allow External Access to Messaging button to enable messaging access.

    You see URLs enabled for Acess URL and Two-way SSL URL that allows you to create a connection factory in Universal Messaging Enterprise Manager.

    The Messaging Access Settings typically uses port 9443 for one-way-SSL communication and 7443 for two-way SSL communication. These ports are configurable.

  2. Create publisher and subscriber services and manage destinations (Queue/Topic) in Software AG Designer
    Using Software AG Designer, you create publishable document types and edit services, document types, and other elements directly on an Integration Server. You connect Software AG Designer to Integration Server through server definitions.

    For more information about how to create publishable document types, see Working with Publishable Document Types in webMethods Service Development Help.

  3. Create JNDI provider alias to on-premises Integration Server using Cloud Universal Messaging.

    To configure Integration Server for JMS messaging, you need to create one or more JNDI provider aliases to specify where Integration Server can look up administered objects when it needs to create a connection to the JMS provider or specify a destination for sending or receiving messages.

    For information on how to create an alias to a JNDI provider, see webMethods Integration Server Administrators Guide.

    If Integration Server uses the Universal Messaging connection alias to connect to a secure socket protocol port on the Universal Messaging server, you must configure the connection alias to use SSL. A messaging connection alias defines the configuration needed to establish a connection between Integration Server and a webMethods messaging provider.

  4. Create a JMS connection alias to establish an active connection between Integration Server and JMS provider

    A JMS connection alias specifies the information that Integration Server needs to establish an active connection between Integration Server and the JMS provider. Integration Server uses a JMS connection alias to send messages to and receive messages from the JMS provider.

    For more information on how to enable a messaging connection alias, see Enabling a Messaging Connection Alias.

  5. Connect to Enterprise Manager for management of your Universal Messaging environment.

    a. Start the Enterprise Manager. Once the Enterprise Manager is up and running, select the Connect to Realm option from the Connections menu.

    b. Provide the webMethods Cloud Container URL in RNAME. For example, nhps://<domain-name>:9443//<path>/ along with webMethods Cloud Container credentials, as shown in the figure below:

    If the connection is successful, a new realm node is rendered on the tree with the unique name of that realm. You can manage and monitor the new realm by selecting that newly rendered tree node.

    Payload restriction in pub-sub calls
    In the current configuration where the size of the disk file of Universal Messaging pod is 5GB with the spindle size value set to 3000, it is observed that you can execute the Universal Messaging pub-sub calls with 200KB of payload with a single thread at a time and in a sleep time of 1 second between each message call. Changing these parameters might impact the long-running of the pub-sub scenario. A bigger payload can be handled operationally.

Two-Way SSL communication for Messaging

If you want more secure communication between two business applications, you can set up two-way SSL communication. webMethods Integration Server supports two-way SSL communication between the on-premises webMethods Integration Server and webMethods Cloud Container. webMethods Integration Server, by default, supports one-way SSL communication in which the on-premises webMethods Integration Server acts as a client and validates the certificate issued by webMethods Cloud Container that acts as a server.

In two-way SSL communication, both the on-premises webMethods Integration Server and webMethods Cloud Container validate each other’s certificate using private keys.

To set up two-way SSL Communication

  1. Go to the Manage Certificate page in webMethods Cloud Container and download the webMethods signed certificate file in jks or p12 format, which contains the private key and the certificate. You can also upload your own CA signed certificate. webMethods Integration Server does not support self signed certificates.

  2. Go to webMethods Integration Server Administrator and add the JKS file in the Security > Keystore > Create Keystore Alias page. Provide the keystore or JKS file path in the Location field and specify the keystore password. By default it is changeit. Click Submit.

  3. In webMethods Integration Server Administrator, click Settings and specify the details.

    Field Description
    User Name User name for an account on webMethods Cloud Container.
    Password Password identified in the user account for User Name.
    webMethods Cloud URL The URL of webMethods Cloud Container with which to share accounts and applications created on the on-premise webMethods Integration Server.
    For example, the URL would be of the following format:
    https://<sub-domain>.<domain-name>
    For example, https://softwareag-education.webmethodscloud.com
    Note: To set up a two-way SSL communication, add port 7443 in the URL. For example, https://<sub-domain>.<domain-name>:7443. These ports are configurable.

    Under Certificate Settings (optional), complete the fields if you want to set up a two-way SSL communication with webMethods Cloud Container.

    Field Description
    Keystore Alias A user-specified, text identifier for the webMethods Integration Server keystore.
    The alias for the keystore that contains the client certificates that you want webMethods Integration Server to use when connecting to webMethods Cloud Container. Select the same keystore alias.
    Key Alias The alias for the private key, which must be stored in the keystore specified by the above keystore alias. This value is automatically selected.
    Truststore Alias The alias for the truststore.
    The truststore must contain the trusted root certificate for the CA that signed webMethods Cloud Container certificate associated with the key alias. The truststore also contains the list of CA certificates that webMethods Cloud Container uses to validate the trust relationship. Select Default_JVM_Truststore.
  4. Click Update Settings.
    webMethods Integration Server connects to webMethods Cloud Container specified in the webMethods Cloud URL field and downloads the configuration information that is required to receive any incoming requests.

Example - Messaging as a Service

Summary

In this tutorial, we will see how to use messaging as a service to pass data from your cloud using the webMethods Cloud Container platform and in return get processed data back to your service from on-premises Integration Server and check if both the publishers and subscribers services have executed successfully in cloud Universal Messaging.

Before you begin

Basic Flow

  1. In Software AG Designer on the publishing side, create:

    • Publishable document types for the documents that are to be published.
    • Services that publish the documents.

  2. In Software AG Designer on the subscribing side, create:

    • Services to process the incoming documents that are published by the publishing side.
    • Triggers that associate the incoming documents with services that process the documents.

      • In the Destination Type, select Topic to send the message to a topic or use Queue to send the message to a particular queue. In this example, we will use durable subscriber for Topic and specify this is JMS trigger.

      • Use pub.flow:debugLog to write an arbitrary message to the server log. Also, use pub.string:concat service to concatenate to inString2.

      For more information about how to create publishable document types, see Working with Publishable Document Types in webMethods Service Development Help.

  3. Click Save.

  4. Log in to webMethods Cloud Container and select a solution, for example, Demo.

  5. On the Messaging Access Settings page, turn on the Allow External Access to Messaging option to enable messaging access.

  6. Copy the Access URL.

  7. On on-premises Integration Server, create a JNDI Provider Alias.

    Specify the following information for the JNDI provider alias.

    Note: You need to paste the access URL that you copied from the Messaging Access Settings page in the Provider URL field. Also, provide the principal name and credentials or password for accessing the JNDI directory.

    For more information on how to create an alias to a JNDI provider, see webMethods Integration Server Administrators Guide.

  8. Perform a Test lookup to verify that the URLs are valid.

    Note: If you want more secure communication between two business applications, you can set up two-way SSL communication. For more information on setting up a two-way SSL communication, see Two-Way SSL communication for Messaging.

  9. Create a JMS Connection Alias.

    Set the following General Settings for the JMS connection alias:

  10. Make the Publishable Document Types available in webMethods Cloud Container.

    Using Software AG Designer, you can deploy your publishable document types available in Software AG Designer. Before you configure a connection to webMethods Cloud Container, ensure that the following criteria are met:

    • A valid URL exists to connect to webMethods Cloud Container.
    • A valid user account is created on webMethods Cloud Container.

    • After the Software AG Designer is configured to connect to webMethods Cloud Container using the webMethods Cloud Container preference page, right-click the package and click Deploy to Cloud.

    • Once the deployment is successful, you can verify the deployment on webMethods Cloud Container.

  11. Open the service and click Run Once. The Run service dialog box appears.

  12. Specify input values in the fields for the service and click Run.

  13. Now you can see the Hello message in the server log.

  14. The on-premises Integration Server log will now display the concatenate message `Hello World`.

  15. To see if the document has been consumed, go to the Cloud Universal Messaging Channels page, and verify the total published and total consumed services.

Service Access Settings

The Service Access Settings page allows you to configure the webMethods Integration Server services to be called externally over HTTPS. The services will be available to consumers based on the Allow All and Deny All access modes.

To configure service access settings

  1. Log in to the webMethods Cloud Container.

  2. From the webMethods Cloud Container navigation bar, click Solutions > Solution List > Select a solution > Manage > Service Access Settings.

  3. On the Service Access Settings page, configure the webMethods Integration Server services to be called externally over HTTPS. Required fields are marked with an asterisk on the screen.

Field Description
Base URL The base URL is a part of the complete service URL, for example, https://tenant1.container.webmethodscloud.com/integration/service.*
Solution Alias An alias for the solution in the base URL. The alias name for a solution is unique in that particular environment.
Select Integration Server Select the solution webMethods Integration Server instance where the services need to be configured.
Access Mode Ensure that the access mode of the services are properly set. Select Deny All if you want to deny most of the services to be invoked and allow a few. Then click ADD to add services to the Allowed Services table. In the Add Service window, the Base URL is a part of the complete service URL. In the Service URL field, type the webMethods Integration Server Service URL. The Base URL and the Service URL together forms the complete service URL.
Select Allow All if you want to allow most of the services to be invoked and deny a few. Click ADD to add services to the Denied Services table. In the Add Service window, the Base URL is a part of the complete service URL. In the Service URL field, type the webMethods Integration Server Service URL. The Base URL and the Service URL together forms the complete service URL.
Note: You can update the service URL by clicking the Edit icon beside the service URL in the services table.
The services will be available to be invoked from a software application, for example, a REST client, after you add the services to the table.
For example, the Service URL /invoke/pub.math:addInts has the following components:
  • Directive - Invoke
  • Namespace of the service - pub.math:addInts
Note: You can match all services to be allowed or denied by typing * at the end of the Service URL. For example, if you have two services, service url1: /invoke/pub.date:formatDate and service url2: /invoke/pub.date:getCurrentDate /invoke/, then instead of typing two entries, you can provide only one entry, service url: /invoke/pub.date.*. All services matching pub.date will be allowed or denied.

Administration

Use this page to manage a solution webMethods Integration Server Administrator instance.

The webMethods Integration Server Administrator is an HTML-based utility you use to administer the webMethods Integration Server. It allows you to monitor server activity, manage user accounts, make performance adjustments, and set operating parameters. You can run the webMethods Integration Server from any browser-equipped workstation on your network. When you click Administration, your browser displays the Statistics screen.

The Title bar displays the name of the host machine where webMethods Integration Server is running, the name of the webMethods Integration Server instance, and the name of the user currently logged into the webMethods Integration Server instance.

The Navigation panel on the left side of the page displays the names of menus from which you can select a task. To start a task, click a subject in the Navigation panel. The server displays a screen that corresponds to the task you select.

Note: Click Help to view the Help system, which provides information about the features and functionality of webMethods Integration Server.

To view the Administration page

  1. Log in to webMethods Cloud Container.

  2. From the webMethods Cloud Container navigation bar, click Solutions > Solution List > Select a solution > Manage > Administration.
    The webMethods Integration Server Administrator page appears.

In a cluster solution, you can select an individual webMethods Integration Server node from the Select Integration Server drop-down list. The drop-down list has the capability to show up to four Integration Server instances. The pattern for identifying an individual Integration Server cluster is <solutionName>-<Integration Server application name>-<instance number>. Here <instance number> is the identifier for the Integration Server instance. For example, solution1-IS1-0.271075547.

Restart

Restart the server when you need to stop and reload the server. You should restart the server when:

  1. Log in to webMethods Cloud Container.

  2. From the webMethods Cloud Container navigation bar, click Solutions > Solution List > Select a solution > Manage > Restart.

    Note: webMethods Integration Servers running in a clustered mode cannot be restarted. Further, restarting servers will terminate all active sessions.

  3. Click Restart.

    In a cluster solution, you can select a webMethods Integration Server node from the Integration Server drop-down list. The drop-down list has the capability to show up to 4 instances. By default, the Assets view always connects to the first node of the webMethods Integration Server.

Updating Products

Updating products to a higher fix version in a solution

You can update any product in a solution to the available higher fix version after you create the solution. The Update Available option appears if a higher fix version is available for any of the products in the solution. The latest fix version appears in the Fix drop-down list. For example, if you have selected Fix 3 of webMethods Integration Server while creating a solution, and if Fix 4 is now available, you can select Fix 4 and save the solution.

Note: When updating any product in a solution with Integration Server cluster, you can now select the instances or nodes from the four cluster nodes available for both stateful and stateless cluster types. This is applicable when cloning the solution as well.

Updating products to a higher version in a solution

You can update any product in a solution to the available higher version after you create the solution. The Update Available option appears if a higher version is available for any of the products in the solution. The latest version appears in the Version drop-down list. For example, if you have selected 10.5 of webMethods Integration Server while creating a solution, and if 10.7 is now available, you can select version 10.7 and save the solution. Further, if you update to v10.7, the latest available fix for v10.7 will be automatically selected.

If a higher version is available for a product in a solution, you can click Update Available, and in the Edit Solution screen, you can select the higher version for the product in the solution.

The Schedule option appears if you select a higher version available for any of the products in the solution. Click Schedule to schedule the update process by specifying the date and time on which you want the update process to execute. Once the solution is scheduled for update, you can click Cancel Schedule to cancel the schedule or click Modify Schedule to modify the schedule. If the update process is scheduled, the status of the solution on the Solution List page displays Update scheduled. The status of the solution on the Solution List page displays Update in progress if the scheduled update process is under way.

Note: After a solution is updated successfully, ensure that you click Confirm Update within seven days to complete the update process or click Rollback to rollback the solution to the previous version. After seven days, except for the Confirm Update and Rollback options, the solution page will not be available. If you rollback, the status of the solution on the Solution List page displays Rollback in progress until the solution is rolled back to the previous version.