Integrating Remedy applications with BMC Digital Workplace Catalog using plugins
Functionality enabled through Remedy application integration
The following table shows a few examples of the features that require this integration.
Remedy application | Example of integrated functionality |
---|---|
BMC Approval Central | A service catalog administrator can design a workflow that sends a request for approval before fulfilling the request. For more information, see Workflow-to-request-approval. |
BMC Service Request Management or BMC HR Case Management | Information is sent from the Remedy server back to BMC Digital Workplace Catalog. For example, the integration script installs the INT:DWPWOI:WOI:ServiceRequestStubUpdate_WorkOrderStatusChange filter in Remedy IT Service Management. This filter sends a work order status each time the value is changed. |
Custom applications developed on the Remedy platform | A BMC Digital Workplace Catalog workflow can use generic actions to create and modify records through any AR System form. For more information, see Remedy-connector. |
Integration process overview
The following diagram illustrates the process for integrating Remedy applications with BMC Digital Workplace Catalog so that end users can request services.
An administrator runs the integration script on each AR System server that hosts a unique Remedy application. The integration script installs the required objects and populates the database entries that support the integration. Next, the administrator must create records through the configuration forms to define the relationship between the Remedy application and the BMC Digital Workplace Catalog server. For Remedy applications deployed in a server group, run the integration on the primary server only. Then, duplicate the ARSystemInstallDir/pluginsvr/remoteaction folder, and the pluginsvr_config.xml and ar.cfg files to each of the secondary servers.
The catalog administrator configures a connection that uses the Remedy connector to connect to the Remedy application server. If applications run on different servers, the catalog administrator must create and configure a connection for each server, and must also set the default connection for ITSM functionality. After completing the integration, the catalog administrator creates services that use the connection, and end users request the services.
To prepare for integration
- Download the BETA Remedy-plugin-integration-patch-for-DWP-Catalog Version 20.02.00 file from BMC Electronic Product Distribution (EPD).
For more information, see Downloading-the-BMC-Digital-Workplace-Catalog-installation-files. Obtain the credentials to administer the AR System server.
- For each application to be integrated, enable the AR System Object List on the server.
For instructions, see "To enable and use the AR System Object List" in Setting-up-a-Remedy-Mid-Tier-for-system-administration-of-the-BMC-Digital-Workplace-Catalog-server. - (Optional) To inspect the objects that the integration script creates, configure BMC Remedy Developer Studio with access to the AR System server.
For instructions, see Starting and logging on to Remedy Developer Studio.
To run the Remedy application integration script
- Copy the Remedy-intg-plugin-DWPC-20.02.00-BETA.zip file to the AR System server, and extract the files into a temporary folder.
- Open a command-line or terminal window.
Ensure that the JAVA_HOME environment variable is set.
Windows
> echo %JAVA_HOME%Linux
# echo $JAVA_HOMEIf the JAVA_HOME environment variable is not set, set it.
Windows
> set JAVA_HOME="C:\Program Files\Java\latest"Linux
# export JAVA_HOME=/usr/java/latestRun the script for the server operating system.
Windows
> install.bat
Enter AR System install directory :C:\Program Files\BMC Software\ARSystem
Enter AR System admin user :Demo
Enter AR System Password :password
Enter ITSM hostname :bmc-itsm-sample
Enter port number [zero if no port] : 0Linux
# sh ./install.sh
Enter AR System install directory :/opt/bmc/ARSystem
Enter AR System admin user :Demo
Enter AR System Password :password
Enter ITSM hostname :bmc-itsm-sample
Enter port number [zero if no port] :0The script copies the required files and installs the forms, filters, and escalations.
To verify that the installation is complete
After you run the integration script the first time, you might want to inspect the files, forms, filters, and escalations that were loaded onto the server. You do not have to verify the creation of these objects with every integration.
Open the Remedy AR System ARSystemInstallDir folder and check for the creation of a remoteaction folder. The same files are created on both Windows and Linux systems.
- Open BMC Remedy Developer Studio and log on as the AR System administrator.
Verify whether the following forms have been created. Also verify that filters and escalations have been created for the forms listed below.
If all the files, forms, filters, and escalations were created as described, then the installation was successful.
To configure the callback to the BMC Digital Workplace Catalog server from the AR System server
Use the Remedy Mid Tier for the AR System server to create records to specify the BMC Digital Workplace Catalog server that will receive the callbacks.
Open the AR System Objects List on the mid tier by using a URL similar to the following example. Replace <bmc-itsm-sample.com> with the address of the AR System server.
Examplehttp://<bmc-itsm-sample.com>:8080/arsys/formsWhen you are prompted, log in as an administrative user who has access permission to use the SB:RemoteApprovalConfiguration form to create records.
Search for the SB:RemoteApprovalConfiguration form, and create the following record with values that match your system configuration:
Examplehttp://<bmc-itsm-sample.com>:8080/arsys/forms/<bmc-itsm-sample.com>/SB:RemoteApprovalConfiguration
To register the new plugin
To edit the configuration files
Copy the updated plugin configuration below and paste it into the appropriate plugin server instance configuration in the pluginsvr_config.xml in the pluginsvr folder.
<plugin>
<name>BMC.DWP.REMOTEACTION</name>
<classname>com.bmc.myservice.filterplugin.RemoteActionPlugin</classname>
<filename>[pluginsvr_home]\remoteaction\remoteactionplugin-[version].jar</filename>
<pathelement type="path">[pluginsvr_home]\remoteaction</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\activemq-all-5.10.0.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\aopalliance-repackaged-2.5.0-b32.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\aspectjrt-1.8.4.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\com.bmc.arsys.companion.client-17.5.0-SNAPSHOT.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\com.bmc.arsys.companion.remote-17.5.0-SNAPSHOT.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\com.bmc.arsys.messaging.client-17.5.0-SNAPSHOT.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\com.bmc.arsys.rx.application-17.5.0-SNAPSHOT.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\com.bmc.arsys.rx.services-17.5.0-SNAPSHOT.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\commons-jxpath-1.3.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\commons-lang-2.6.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\geronimo-j2ee-management_1.1_spec-1.0.1.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\geronimo-jms_1.1_spec-1.1.1.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\hawtbuf-1.10.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\hk2-api-2.5.0-b32.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\hk2-locator-2.5.0-b32.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\hk2-utils-2.5.0-b32.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\j2ee-1.4.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\jackson-annotations-2.8.4.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\jackson-core-2.8.4.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\jackson-databind-2.8.4.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\jackson-jaxrs-base-2.8.4.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\jackson-jaxrs-json-provider-2.8.4.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\jackson-module-jaxb-annotations-2.8.4.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\javassist-3.20.0-GA.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\javax.annotation-api-1.2.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\javax.inject-2.5.0-b32.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\javax.ws.rs-api-2.0.1.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\jersey-client-2.25.1.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\jersey-common-2.25.1.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\jersey-entity-filtering-2.25.1.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\jersey-guava-2.25.1.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\jersey-media-json-jackson-2.25.1.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\jersey-media-multipart-2.25.1.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\log4j-1.2.17.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\mimepull-1.9.6.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\osgi-resource-locator-1.0.1.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\retroguard-2.3.1.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\slf4j-api-1.7.7.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\slf4j-log4j12-1.7.2.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\commons-logging-1.2.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\spring-beans-4.1.9.RELEASE.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\spring-core-4.1.9.RELEASE.jar</pathelement>
<pathelement type="location">[pluginsvr_home]\remoteaction\lib\spring-tx-4.1.9.RELEASE.jar</pathelement>
<userDefined>
<maxQueueSize>50000</maxQueueSize>
<minThreads>5</minThreads>
<maxThreadsRetry>10</maxThreadsRetry>
<maxThreads>10</maxThreads>
<maxQueueSizeRetry>50000</maxQueueSizeRetry>
</userDefined>
</plugin>Add the following Plugin related entries with your AR System details to the ar.cfg file. For UNIX servers, add them to the ar.conf file:
Server-Plugin-Alias: BMC.DWP.REMOTEACTION BMC.DWP.REMOTEACTION <ar-system-server.com>:<ar-system-plugin-port>
Sample pluginsvr_conf.xml file
<name>BMC.DWP.REMOTEACTION</name>
<classname>com.bmc.myservice.filterplugin.RemoteActionPlugin</classname>
<filename>C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\remoteactionplugin-20.02.00.000.jar</filename>
<pathelement type="path">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\activemq-all-5.10.0.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\aopalliance-repackaged-2.5.0-b32.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\aspectjrt-1.8.4.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\com.bmc.arsys.companion.client-17.5.0 SNAPSHOT.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\com.bmc.arsys.companion.remote-17.5.0-SNAPSHOT.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\com.bmc.arsys.messaging.client-17.5.0-SNAPSHOT.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\com.bmc.arsys.rx.application-17.5.0-SNAPSHOT.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\com.bmc.arsys.rx.services-17.5.0-SNAPSHOT.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\commons-jxpath-1.3.jar</pathelement>
<pathelement type="location">C:\Program files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\commons-lang-2.6.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\geronimo-j2ee-management_1.1_spec-1.0.1.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\geronimo-jms_1.1_spec-1.1.1.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\hawtbuf-1.10.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\hk2-api-2.5.0-b32.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\hk2-locator-2.5.0-b32.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\hk2-utils-2.5.0-b32.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\j2ee-1.4.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\jackson-annotations-2.8.4.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\jackson-core-2.8.4.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\jackson-databind-2.8.4.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\jackson-jaxrs-base-2.8.4.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\jackson-jaxrs-json-provider-2.8.4.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\jackson-module-jaxb-annotations-2.8.4.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\javassist-3.20.0-GA.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\javax.annotation-api-1.2.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\javax.inject-2.5.0-b32.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\javax.ws.rs-api-2.0.1.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\jersey-client-2.25.1.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\jersey-common-2.25.1.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\jersey-entity-filtering-2.25.1.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\jersey-guava-2.25.1.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\jersey-media-json-jackson-2.25.1.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\jersey-media-multipart-2.25.1.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\log4j-1.2.17.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\mimepull-1.9.6.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\osgi-resource-locator-1.0.1.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\retroguard-2.3.1.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\slf4j-api-1.7.7.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\slf4j-log4j12-1.7.2.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\commons-logging-1.2.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\spring-beans-4.1.9.RELEASE.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\spring-core-4.1.9.RELEASE.jar</pathelement>
<pathelement type="location">C:\Program Files\BMC Software\ARSystem\pluginsvr\remoteaction\lib\spring-tx-4.1.9.RELEASE.jar</pathelement>
<userDefined>
<maxQueueSize>50000</maxQueueSize>
<minThreads>5</minThreads>
<maxThreadsRetry>10</maxThreadsRetry>
<maxThreads>10</maxThreads>
<maxQueueSizeRetry>50000</maxQueueSizeRetry>
</userDefined>
</plugin>
To configure connections for ITSM functionality
A catalog administrator must configure at least one connection that uses the Remedy connector. To use Atrium Configuration Management Database (CMDB) functionality, a catalog administrator must also configure a connection that uses the CMDB connector. When you create the first connection for the Remedy connector, the system sets this connection as the default connection for entitlements and approvals. If you are integrating with Atrium Configuration Management Database (CMDB), when you create the first connection for the CMDB connector, the system sets this as the default CMDB connection. For information on creating connections, see Configuring-service-connectors.
To set the default connections for ITSM functionality
If you have more than one connection that uses the Remedy connector or more than one connection that uses the CMDB connector, a catalog administrator can set the default connection in BMC Digital Workplace Catalog.
To change the default connections from the default values set by the system:
- Click the configuration gear (
) to open the Application Settings panel.
- In the Connectors section, click the arrow (>) to open the Default Connections panel, and select the applicable connections:
- Entitlement/Approval—Displays connections that use the Remedy connector. Select the connection to the BMC Service Request Management server. The connection to this server is used for entitlements and approvals, and should connect to the same Remedy ITSM server that is configured in BMC Digital Workplace.
- CMDB—Displays connections that use the CMDB connector. Select the connection to Atrium CMDB.
- Click Save.
To validate the plugin details
- In a browser, open the Remedy AR System Administration Console, and click System > General > Plugin Server Configuration.
- Select the Plugin Server Instance that applies to your configuration.
- Select the BMC.DWP.REMOTEACTION plugin.
Select the Plugin Configuration tab, and verify the Plugin Class Name, Plugin File Name, Path Elements and User Defined Elements to ensure that the values are accurate.
Troubleshooting the integration
Perform these tasks if you experience any problems while running workflows after you configure the integration to an AR System server.
Options to troubleshoot the AR System server integration
- To monitor a request to observe the fields that a filter action updated, log on to the mid tier to access the AR System server and search for records created through the SB:ServiceRequestStub form.
To troubleshoot issues with the approval engine, log in to the AR System server and examine the approval log (which must be enabled):
- (Windows) C:\Program Files\BMC Software\ARSystem\arserver\db\arapprov.log
- (Linux) /opt/bmc/ARSystem/arserver/db/arapprov.log
To enable the approval log, log in to the mid tier and update the setting under Quick Links > Approval Administration Console > Server Settings.
For more information, see .
To troubleshoot the communication from the BMC Digital Workplace Catalog server
Open the
BMC Digital Workplace Catalog
server file system. Replace <installLocation> with the location of your BMC Digital Workplace Catalog application, for example:
/opt/bmc/digitalworkplace- Review the following log: <installLocation>/db/bundle.log
(Recommended) Run-time log example
# tail -f /opt/bmc/digitalworkplace/db/bundle.logText editor log example
# vi /opt/bmc/digitalworkplace/db/bundle.log
Filter Plugin Misconfigured Errors
The SB:ServiceRequestStub form entry that has failed to process, will display errors in the "Error Message" field. When the filter plugin has not been configured, or is not correctly configured, the following error will show up in the Error Message field:
ERROR (8755):The specified plug-in does not exist.;BMC.DWP.REMOTEACTION
If you see this error try the following:
- Check the remoteaction folder exists in the %AR_INSTALL_BASE%\pluginsvr directory. Verify that the remoteactionplugin-<version #>.jar file and its dependent jar files (in lib subdirectory) exist in the directory.
- Check the pluginsvr_conf.xml configuration is correct, especially the version of the remoteactionplugin-<version>.jar file
- Check the ar.cfg (ar.conf) file and make sure that the alias exists and is configured correctly.
Where to go from here
To configure connections to additional Remedy application servers, see Configuring-service-connectors.
To import services from Remedy Service Request Management, see Importing-service-catalog-items-from-external-systems.
To create services, see Adding-and-updating-services.