Application Integration

Application integration functionality includes the following enhancements in version 5290 of the MATRIXX software.

New features in this release include the following:

Business API SDK

New helpers are available in the Business API SDK for building REST services. The setOrAppendValue helper modifies a field value in a specified array slot that is not a top-level field in the MDC. If the field is an array and is not an instance of ArrayList, the value is appended; otherwise, the value is set. If the field is not an array, the value is set. The setValueAt helper sets a value in an array structure in a specified slot in the array. For more information about these helpers and building REST services, see MATRIXX Business API SDK.

Events

  • MATRIXX Engine generates MtxSubscriptionModifyEvent and MtxGroupModifyEvent EDRs when the ServiceAddress field is modified. MATRIXX Engine generates MtxSubscriptionModifyNotification and MtxGroupModifyNotification notifications when the ServiceAddress field is modified. For more information about events and notifications, see MATRIXX Integration.

Notification Framework

  • There is a new, optional ExternalId field (unsigned int32) in the MtxNotificationProfileData and MtxPricingNotificationProfileData MDCs. When generating a notification, MtxNotificationProfileData.ExternalId in the notification profile is copied to MtxPricingNotificationProfileData.ExternalId in the notification. The MtxRequestPricingQueryNotificationProfile SubMan API returns MtxPricingNotificationProfileInfo.ExternalId in the response.

RS Gateway

  • MATRIXX Business API SDK includes more information describing how to create multi-request REST services, including information about the following new helpers:
    • buildUserSearchMulti
    • buildGroupSearchMulti
    • setOrAppendField
    • fromJson
    • fromResource

    For more information, see the discussion about creating multi-request REST services in MATRIXX Business API SDK.

  • You can specify RS Gateway REST extensions by providing a bean implementation whose name matches the name of a rest service. For example, the following bean implementation specifies that TestExtension should intercept the pricing_pricing_status and system_domain_info_query API calls:
    @Bean(name = {"pricing_pricing_status", "system_domain_info_query"}) 
    TestExtension testExtension() 
    { 
        return new TestExtension(); 
    }

    After creating the callout, you must create a TestExtension class and implement IMtxRestApiCallout or extend MtxRestApiCallout which implements it. After you have created the extension, you must deploy the JAR that contains the extension into one of the directories that RS Gateway has in its classpath, such as /opt/mtx/conf/webapps/rsgateway/lib. The JAR file loads and the extension is ready to intercept the named REST calls.

    Important: MATRIXX Support recommends that you use this new bean method for specifying REST extensions. MATRIXX upgrades require that you recompile your extensions to be compatible with the supported versions of Spring Boot and Apache Camel in this release of MATRIXX. For more information, see the discussion about upgrade changes in MATRIXX Release Notes.
  • When the URL includes special characters such as a hash character (#), you should encode the character. You can en­code each special character or you can specify a base 64 encoding level for the entire parameter value. For more information, see the discussion about encoding in MATRIXX Subscriber Management API.