Skip to Content
Technical Articles

Cloud Integration- Activating and Managing Enterprise Messaging Capabilities ( AS2, JMS and XI Adapters )

Introduction

SAP Cloud Platform Integration comes up with a new feature to enable Enterprise Messaging capabilities like AS2, JMS, XI (with JMS storage) adapters on all licensed versions of cloud integration tenants.This feature will be available for customers after 5-Jan-2019.

In this blog, I would describe the steps required to activate Enterprise Messaging on a tenant and explain the following scenarios:

  • Activate Enterprise Messaging on a tenant
  • Increase Message Queue quota on a tenant
  • Decrease the Message Queue quota on a tenant
  • Move Message Queue Quota between tenants
  • Increase Queue Storage on a tenant
  • Increase Transactions on a tenant
  • Increase Message Queues quota on Enterprise/CPEA licensed Tenants

Overview

Below diagram depicts the flow of activities required to consume this new feature.

  Procedure to consume Enterprise Messaging on Non-Enterprise Edition Tenants

   Step 1. Place Additional Order for SAP Enterprise Messaging

You need to reach out to your account executive to place an additional order for SAP Enterprise Messaging (material ID: 8005999) with the required quantity on the existing cloud platform contract.

Once the order is placed, SAP sales would process the order and your Global Account would be credited with the SAP Enterprise Messaging SKUs.

   NOTE: If you are planning to activate Enterprise Messaging on a Non-Enterprise edition tenant, you need to buy a minimum quantity of 10 units of Enterprise Messaging SKU. You always have to buy in multiplication of 5.

Out of the overall units, 5 units will be internally utilized by the monitoring application on the tenant.

    Step 2. Activation of Enterprise Messaging for a Non-Enterprise Edition Tenants – Managing Entitlements

The management of the entitlements quota should be done by the Global Account Admin of your cloud platform account.  He/She needs to assign quotas to the sub accounts wherever you want to activate/manage the enterprise messaging.

Consider a scenario, where you have a Global account with two cloud integration tenants (TEST and PROD), Let’s assume that you have a requirement to run integration flows with AS2 and JMS adapters consuming 10 Message Queues on both these tenants.

In such cases, you need to buy 10*5 + 5 = 55 SKUs for each tenant. If you want to run these scenarios simultaneously on both these tenants, then you need to assign 55 SKUs for each tenant. You need to request your account executive to buy 110 SKUs for the Global Account.

2.1 Below diagram shows the steps required by Global Account Admin to assign quota on a subaccount

Step 3. Managing Cloud Integration Service

Once the quota gets assigned to the subaccount, the Cloud Integration tenant admin can now activate the Enterprise Messaging service following the below mentioned steps.

    Prerequisite:To perform the next steps, you need to have AuthGroup.Administrator role assigned for provision application.

3.1 Navigate to Cloud Integration service as shown below

3.2. Click on Configure Cloud Integration

   3.3 Navigate to Configure Tenant -> Enterprise Messaging and click on Activate.

During the activation, the tenant would be allocated with all the assigned quota on the subaccount.

In the example shown below, the subaccount has been assigned with 50 SKUs. Hence the Cloud Integration tenant will be assigned with 10 Message Queues after activation.

The below screen appears after the activation of Enterprise Messaging.

NOTE: Message broker activation requires the tenant restart and would cause the downtime of the tenant for few minutes.

Step 4. Create and Deploy Integration Flows with JMS capabilities:

The Integration Developer can now logon to the tenant and check the status of the Enterprise Messaging by navigating to Monitor -> Message Queues -> JMS Resources Details

Now you should be able to create and deploy integration flows with AS2 and JMS adapters and use the XI adapter with JMS Queue as temporary storage.

 Message Queue Quota Management

With the Message Queue quote assigned to a tenant, the following scenarios describe how to:

  • Increase the Message Queue Quota
  • Decrease the Message Queue Quota
  • Move the Message Queue Quota between tenants
  • Increase the JMS storage
  • Increase the JMS transactions
  • Increase the Message Queue Quota in Enterprise/CPEA licensed tenants

  Scenario 1: Increase of Message Queue Quota

Sometimes, you would end up consuming all the assigned JMS queue quota resources (queues/storage/transactions/consumers/providers ) on the tenant and the new integration flows with JMS,AS2 or XI adapters would fail during deployment with an error like “Queue creation failed”.

In such scenarios, the below mentioned steps need to be executed to increase Message Queues.

  1. Global Account Admin assigns the required additional quota to the subaccount from the unused quota of the Global Account. Refer Step2. Activation of Enterprise Messaging – Managing Entitlements for more details.
  2. Tenant Admin needs to navigate to Configure Tenant and Edit the message broker to assign the additional Quota

With the increased Message Queue Quote, the Integration Developer can now deploy new iFlows with AS2 ,JMS or XI adapters.

Additional Information: Refer the blog Cloud Integration – JMS Resource and Size Limits

 Scenario 2: Decrease of Message Queue Quota

In certain cases, you might have to free up JMS resources (queues/storage/transactions/consumers/providers) from one tenant (Eg: TEST) to assign additional JMS resources to another tenant (Eg: PROD).

Follow the below steps to achieve this:

  1. Integration Developer should delete the unused JMS queues. The roles required for delete queues are mentioned in the documentation . Note, that you should make sure that there are no integration flows still using those queues, check out blog ‘Checks in Queue Monitor’ for more details.

2. Tenant Administrator can reduce the Message Queues value up to the min. value suggested in the Edit Message broker dialog.

     For example, in the below diagram, We see the min. value as 3, as the tenant is consuming JMS resources of 3 Message Queue (queues /storage/transactions/consumers/providers). So,by setting the new value to 3, we can free up the JMS resources of 27 Message Queues.

   3. Global Account Admin should reduce the assigned entitlement of the above tenant subaccount to the new value. In this case, the value must be 3*5 = 15.

These freed up Enterprise Messaging SKUs can now be assigned to other tenant sub accounts.

Scenario 3: Move Message Queue Quota between tenants

Sometimes, you will be required to move the complete Enterprise Messaging quota from one tenant to another tenant.

In such scenarios, you would need to perform the below mentioned steps.

NOTE: The default quota of 30 Message Queues of Enterprise Edition/CPEA tenants  cannot be distributed to Non-Enterprise tenants

  1. Deactivate Enterprise Messaging from the tenant where you no longer need it.

2. Global Account Admin needs to reduce the assigned quota on the subaccount to 0 value and increases the quota onto the other subaccount where he wants to consume more JMS queues.

3. Tenant Admin increases the Message Queues to the new value with the additional quota in the configure tenant->Enterprise Message-> Edit Message broker dialog

Scenario 4: Increase Maximum JMS Storage

Sometimes, you would come across a scenario to increase the maximum JMS storage.

1 Message queue (i.e., 5 SKUs of Enterprise Messaging) would allow a maximum JMS storage up to 300 MB.

Incase if you have a scenario to increase the maximum JMS storage to 9 GB, you need to assign 9000/300 = 30 message queues to the tenant.

 Max. JMS Storage = 300* Number of Message Queues MB

Scenario 5: Increase Maximum JMS Transactions

Sometimes, you would come across a scenario to increase the Max. JMS Transactions.

1 Message queue (i.e., 5 SKUs of Enterprise Messaging) would allow a Maximum JMS Transactions up to 5.

Incase if you a scenario to increase the Max. JMS Transactions to 30, you need to assign 30/5 = 6 message queues to the tenant.

Max. JMS Transactions = 5* Number of Message Queues

Scenario 6: Increase Message Queues quota on Enterprise/CPEA licensed Tenants

Enterprise and CPEA tenants get activated with default quota of 30 Message Queues without the need of purchasing SAP Enterprise Messaging.

Enterprise licensed tenants can increase the Message Queues on their tenant by purchasing additional SKUs of SAP Enterprise Messaging (8005999) and following all the steps (Step 1 to 3) mentioned in Procedure to consume Enterprise Messaging in Cloud Integration

CPEA tenants can increase the Message Queues on their tenant by simply editing the Edit Message Broker in the Configure Tenant screen. They need not purchase any additional SKUs and they would be charged based on their usage at runtime.

Conclusion:

This concludes my blog about Activating Enterprise Messaging, and managing Message Queues Quotas on a Cloud Integration tenant. Hope you enjoy the new feature on cloud integration.

See you again with another blog on another new feature. Until then, Take care.

Further Reading:

JMS :

https://blogs.sap.com/2017/10/04/cloud-integration-jms-resource-and-size-limits-in-cpi-enterprise-edition/

https://blogs.sap.com/2017/06/19/cloud-integration-configure-asynchronous-messaging-with-retry-using-jms-adapter

https://blogs.sap.com/2017/10/04/cloud-integration-checks-in-jms-message-queue-monitor

https://blogs.sap.com/2018/06/04/cloud-integration-automated-notification-for-critical-or-exhausted-jms-resources/

CPEA Self-service:

https://blogs.sap.com/2018/05/12/self-service-enablement-of-cloud-integration-service-on-consumption-based-commercial-model-for-sap-cloud-platform/

9 Comments
You must be Logged on to comment or reply to a post.
  • Thanks Appala Naidu Uppada for the detailed blog so below are few questions –

    1. Does it support auto scaling in case of increase in the message flow?
    2. Any auto mechanism to notification the exhausted queues like a standard Functions(FaaS) for event based triggering instead of separate iflows for individual queues.
    3. Is there any REST/OData end points for these queues to access from 3rd party?
    4. What is the mechanism of removing messages from the queue once they consumed from 3rd party?
    5. Any road map to integrate API management and Workflow with this message brokers of Cloud Integration for re-usability.
  • Many thanks for an excellent blogs.

    What are the main differences between activating the service within CPI or using Enterprise Messaging as a standalone service outside of CPI?

    As far as I have read in the previous reply, when enabled in CPI, the interactions with the queues/topics are limited to the CPI adapters whereas Enterprise Messaging provides capabilities to push and retrieve messages to/from queues/topics using several communications protocols as JMS, AMQP or REST. Any additional considerations to bear in mind when choosing the correct option in order to handling asynchronous queuing in CPI?

    Many thanks,

    Cristian.

    • Hello Cristian,

      In Neo, you can consume Enterprise Messaging service only through CPI adapters.

       

      Whereas in Cloud Foundry, you can consume it as a standalone service.

      More details can be found here : https://help.sap.com/viewer/bf82e6b26456494cbdd197057c09979f/Cloud/en-US/df532e8735eb4322b00bfc7e42f84e8d.html

       

      Thanks,

      Appala

       

  • Hi Appala Naidu Uppada 

    You write in the beginning “SAP Cloud Platform Integration comes up with a new feature to enable Enterprise Messaging capabilities like AS2, JMS, XI (with JMS storage) adapters on all licensed versions of cloud integration tenants.This feature will be available for customers after 5-Jan-2019.”

    But when I read the material on:
    https://cloudplatform.sap.com/capabilities/product-info.SAP-Enterprise-Messaging.dc3dcc84-cd9c-477c-ba1c-862340abd874.html

    I get a bit confused in regards to how it enables AS2 and XI? From my point of view Enterprise Messaging enables an MQTT environment. How is AS2 and XI enabled? I can’t seem to find any other info than this blog on that subject.

    I really hope you can clear that for me?

    Best,
    Jonas

  • Hello Jonas,

    Enterprise Messaging is available as a standalone service on Cloud Foundry environment. AS2, JMS and XI enablement is not applicable here.

    Whereas, On Neo Environment, it is consumed internally with SAP Cloud Integration within the adapters like AS2,XI and JMS. These adapters use the Enterprise Messaging service capabilities to store and process the messages asynchronously.

    Hope this clarifies.

    Thanks,

    Appala

    • Hi Appala Naidu Uppada

      Thanks a lot for your reply. I believe I understand you. I believe the sentence should state:
      “SAP Cloud Platform Integration comes up with a new feature to enable Enterprise Messaging capabilities with AS2, JMS, XI”, since I understood Enterprise Messaging provided you with AS2.

      So just to clarify in detail: I have a scenario where we have CPI PI Editions available, but not Enterprise edition – therefore no AS2 adapter. I hoped that by utilizing Enterprise Messaging I could get access to AS2 capabilities. But I understand from your clarification, that Enterprise Messaging only provides an MQTT/ADQP platform and on Neo Environment you can access that with the adapters available in your CPI tenant (ie. AS2 if you have Enterprise Edition only), correct?

      Thanks a million,

      Jonas

      • Hello Jonas,

        If you have a PI Edition of Cloud Integration and Enterprise Messaging of atleast 10 SKUs ( i.e, 10 GB), you will get AS2,JMS adapter capabilities on Cloud Integration design time as well the JMS Queuing capabilities on the run time after you activate the Enterprise Messaging through self-service screen of cloud integration as mentioned in blog.

        Long story short,

        AS2 becomes active on a standard PI edition tenant as soon as you activate Enterprise Messaging on the Cloud Integration self-service screen as mentioned in the blog.

        Thanks,

        Appala