TRIRIGA - Maximo Connector
The TRIRIGA - Maximo Connector is released in TAS under the name "TAS Connector for Maximo" and in MAS under the name "MAS Connector for TRIRIGA". This connector supports the following capabilities through a collection of App Connect flows:
- Bi-directional loading, and continuous synchronization of portfolio data such as People, Locations and Assets.
- Bi-directional routing of service requests between TAS and Maximo
- Automatic shadowing of TAS Work Tasks with Maximo Work Orders to enable Facility teams to do planing, budgeting and project management in TAS while work tasks get reflected in Maximo as Work Orders for execution.
Use case examples
- TAS is the system of record for People and Space data while Maximo is the system of record for Assets. The Maintenance team wants consistent reports across the entire organization and more streamlined operations. The Spaces flows provided can be used to bulk-load all Spaces data from TAS into Maximo Locations, and then continuously keep the data in sync as it gets updated in TAS by a Facility Management team. This can apply to Assets, or People data in both directions.
- Employees use Request Central to submit a Service Request for a broken elevator. Since elevators are maintained in Maximo, the flow will create a corresponding Service Request in Maximo that will be assigned to technicians and resolved. As the Maximo Service Request gets updated, the changes are automatically reflected in the TAS Service request so the originator of the request remains informed of its status. This flow can operate in reverse as well if a Service Request originates from Maximo against a maintenance operation that should be tracked in TAS.
- Facility Management team have a capital project in TAS to upgrade all the lights to LEDs. The project has the budget, scope and tasks already defined. The flow can then create corresponding Work Orders in Maximo for each task to get executed by technicians using the Maximo Manage and Mobile applications. As the tasks get updated in Maximo, those updates flow back into TAS to reflect in the project plan.
Connector architecture
IBM App Connect provides a flexible environment for integration solutions to transform, enrich, route, and process business messages and data.
App Connect Flows enable specific integration use cases by connecting to predefined APIs to route and map data. Mapping has been pre-defined, but it can be customized.
Native API framework is used for Maximo and TAS and enabled thorugh provided packages that can be imported.
Data Mapping
The image below illustrates the record types that are available the APIs and App Connect Flows Provided.
App Connect Flows
Included with this connector are 20+ flows that map TAS records to Maximo, and vice versa, along with all the required fields they contain. The table below shows all the flows you can use in differnet combinations to implement your desired integration use cases. For a more detailed mapping of all the fields please review the data mapping spreadsheet.
File | Flow | Destination | Operation |
---|---|---|---|
PLUSITRIPerson2MX_v1_0_0.yaml | People | TRI to Max | Single Record at a time |
PLUSITRIOrg2MX_v1_0_0.yaml | People | TRI to Max | Single Record at a time |
PLUSIMXPerson2TRI_v1_0_0.yaml | People | Max to TRI | Batch & Individual Records |
PLUSITRISpace2MX_v1_0_0.yaml | Spaces/Locations | TRI to Max | Single Record at a time |
PLUSITRISpaceClass2MX_v1_0_0.yaml | Spaces/Locations | TRI to Max | Single Record at a time |
PLUSITRILocPath2MX_v1_0_0.yaml | Spaces/Locations | TRI to Max | Single Record at a time |
PLUSIMXLocation2TRI_v1_0_0.yaml | Spaces/Locations | Max to TRI | Batch & Individual Records |
PLUSITRIAsset2MX_v1_0_0.yaml | Assets | TRI to Max | Single Record at a time |
PLUSITRIAssetSpec2MX_v1_0_0.yaml | Assets | TRI to Max | Single Record at a time |
PLUSIMXAsset2TRI_v1_0_0.yaml | Assets | Max to TRI | Batch & Individual Records |
PLUSITRIServiceReq2MX_v1_0_0.yaml | Service Requests | TRI to Max | Single Record at a time |
PLUSITRIReqClass2MX_v1_0_0.yaml | Service Requests | TRI to Max | Single Record at a time |
PLUSIMXServiceReq2TRI_v1_0_0.yaml | Service Requests | Max to TRI | Single Record at a time |
PLUSITRIWorkOrder2MX_v1_0_0.yaml | Tasks / Work Orders | TRI to Max | Single Record at a time |
PLUSIMXWorkOrder2TRI_v1_0_0.yaml | Tasks / Work Orders | Max to TRI | Single Record at a time |
PLUSITRIPEOPLEBATCH_v1_0_0.yaml | Batch People | TRI to Max | Batch |
PLUSITRIORGANIZATIONBATCH_v1_0_0.yaml | Batch Org | TRI to Max | Batch |
PLUSITRISPACEBATCH_v1_0_0.yaml | Batch Space | TRI to Max | Batch |
PLUSITRIPROPERTYBATCH_v1_0_0.yaml | Batch Property | TRI to Max | Batch |
PLUSITRIBUILDINGBATCH_v1_0_0.yaml | Batch Building | TRI to Max | Batch |
PLUSITRIFLOORBATCH_v1_0_0.yaml | Batch Floors | TRI to Max | Batch |
PLUSITRIASSETBATCH_v1_0_0.yaml | Batch Assets | TRI to Max | Batch |
Installation & Configuration Guide
Before you begin you will need:
- An instance of App Connect Enterprise or App Connect Pro with the Designer component.
- Admin access to your Maximo instance with an API key generated for this integration. Storage will need to be properly configured to store the images as they are coming in. Refer to the Doclinks setup page
- TRIRIGA with dedicated user/pw for this integration
- Secure connection between TRIRIGA, App Connect, and Maximo. If required IBM does provides a product that accomplishes this: Secure Gateway. Learn more about getting started with Secure Gateway.
- Import AppConnect Cert to Maximo to enable encrypted communication
- Import AppConnect Cert to TRIRIGA to enable encrypted communication
Downloadable Resources
Download the zip file that has all of the flows and configuration files.
Installation Steps Overview
- Install Connector
- Configure App Connect
a. Authenticate
b. Import Flows - Configure TRIRIGA
a. Import TRIRIGA OM Package
b. Point integration object to App Connect Flow - Configure Maximo
a. Add necessary fields
b. Publish channel to point to App Connect Flow - Test
a. MAS outbound connectivity
b. TRIRIGA POSTMAN
Part 1. Install Connector
MAS 8.10+
The MAS Connector to TAS in Manage can be installed on the MAS administration dashboard through the tile.
- Search for TRIRIGA from the Catalog page and select the TRIRIGA Connector tile.
- On the tile page, click Configure and it will take you to the update configuration page. Select the latest version of the connector under the Components section and then click Apply Changes at the top of the page and Confirm on the next window.
Step 1: Select Connector Tile
Step 2: Apply Changes for Connector
The process can take anywhere between 20 minutes to 1-2 hours depending on the cluster resources. Monitor the logs in the created build
pods in the Manage namespace in the OpenShift cluster to see the progress.
MAS 8.8 & 8.9
The MAS Connector to TAS in Manage can be installed by using the proper customization .zip file provided from Passport Advantage. This .zip file will have all of the configurations necessary to complete step 4 in the Installation process.
- Navigate to the Admin dashboard of the instance of Manage within MAS.
- Select the workspace the instance is deployed on and update the configuration.
- Scroll down to Customization and link to the location of the .zip file in the field (Additional details on setting customizations)
- Click Apply Changes and Manage will update the instance with the customization.
The process can take anywhere between 20 minutes to 1-2 hours depending on the cluster resources. Monitor the logs in the created build
pods in the Manage namespace in the OpenShift cluster to see the progress.
Maximo 7.6.1.2+
-
On the Maximo Admin workstation, overlay the Maximo SMP directory (
/opt/IBM/SMP/maximo
) with the contents from the solution zip file that is provided. This will lay down the Java Classes and .dbc files provided with the solution. -
Shutdown the MXServer
-
Run UpdateDB command to install the solution components
a. Navigate to/opt/IBM/SMP/maximo/tools/maximo
b. Run./updatedb.sh
-
Build the Maximo EAR file
a. Navigate to/opt/IBM/SMP/maximo/deployment
b. Run./buildmaximoear.sh
-
Deploy the new Maximo EAR File on all Maximo servers
a. In WebSphere console, navigate to Applications->Application types->Websphere enterprise applications
b. Select MAXIMO and then hit Update button
c. Select Browse and select the EAR file from Step 4
d. Hit Next and accept defaults from all pages
e. After deployment, click on Save -
Start the applications and MXServer
Part 2. Configure App Connect
App Connect Authentication
Note: IBM App Connect Professional or Enterprise is needed to run these flows. The flows have been tested on IBM Cloud App Connect, AWS App Connect, as well as the containerized version of App Connect.
-
Two accounts need to be created from the Catalog tab in order to connect the applications. Once all of the connectors have loaded, type in http to find the HTTP Application.
-
If this is the first account, select Connect to begin setting up the initial HTTP account. If this is not the first account, make sure to take note if there are any other generic account names present because the number of the one created will depend on what has already been created. App Connect creates an account with a generic name in sequential order (Example: if Account 1 and Account 2 are present, the new account will be Account 3).
-
Use the below table to associate the proper credentials for the accounts.
- Once the account is connected, head back to the HTTP Application on the Catalog page and rename the new account according to the Account Name column in the table below.
Flow | Account Name | Username | Password | API key | API location | API key name |
---|---|---|---|---|---|---|
Max -> Tri | mxtririga | Your TAS Username | Your TAS Password | N/A | N/A | N/A |
Tri -> Max | trimaximo | N/A | N/A | Your Maximo apikey | header | apikey |
App Connect catalog
Importing App Connect Flows
- Locate the .yaml files for the desired flows from the provided zip.
- Import the Selected Flows into App Connect Enterprise, or App Connect SaaS on IBM Cloud using the instructions below
Import Steps - App Connect Enterprise (CP4I) & App Connect SaaS (AWS)
- From the App Connect Dashboard, click New and select Import Flow from the drop down menu.
- Either drag and drop or select the flow for import. In this example, the MX2TRI Person flow will be used.
- The flow should now be uploaded onto the App Connect instance. From this screen navigate using the Edit flow button to see the individual nodes of this flow. Be sure to select the HTTP account that was configured for Maximo to TRIRIGA for the connector.
- Click Done on the top right of the screen then click on the three dots in the top right corner and select Start API.
- Go to the Test tab once it shows that the flow is Running and select the POST option on the left side of the screen. Click on Try It and grab the URL and security credentials from this screen for the next step.
Step 1: App Connect Dashboard
Step 2: Import a Flow
Step 3: Completed Flow
Step 4: Start Flow
Step 5: Try It
Import Steps - App Connect SaaS (IBM Cloud)
- If your instance of AppConnect is through the cloud, your page will look a bit different.
- The interface is mostly the same, but instead of Try It you'll see a tab called Manage. This page contains a few important pieces of information that you'll need to complete the configuration. First, at the top of the page under API Info you'll see a field called Route. Piece this together with the correct path of the flow that you're implementing in order to create the proper flow URL.
- Collect the API key at the bottom of the page from a field called Sharing outside of Cloud Foundry organization. Click on Create API key and documentation link. Provide a name and it will generate an apikey for you to use with this flow along with a documentation link that looks like the Test page from the on-prem configuration.
- The end of the URL at the top of the page should have the path that will complete the route URL. Copy the end of the URL that begins with tri and add it to the piece gathered earlier. The 6 character string that precedes the path on the documentation should match the last 6 characters of the route piece from before.
Step 1: Manage Tab
Step 2: Cloud Route
Step 3: API key creation
Step 4: API Documentation Link
Running in Production
Once the configuration of the below applications is complete and the connectivity between systems is working as expected, you will need to deploy the flow as an integration server via the App Connect Dashboard.
-
From the dashboard view of the Designer application, click the three dots on the flow's tile, select Export, and then Runtime flow asset (BAR).
-
In the App Connect Dashboard instance, select Create Server and then the type of integration you would like to run. The flows work with all types of integration sizes, so pick the one that is right for your deployment. Import the bar file you just downloaded into the section on the Integrations tab.
-
On the Configuration screen, refer to securing a REST-based integration to properly secure the server.
-
Give the intended details of the server such as the name, version, and correct license to use. Click Create when you're ready to deploy. It may take upwards of 5-10 minutes for the server to be up and running.
Step 1: Export Bar file
Step 2: Create Integration Server
Step 3: Final details
Part 3. Configure TAS
Import Object Migration Package
- Import the OM Package labeled APIConnector into the TAS instance. Go to Tools -> Administration -> Object Migration and select New Import Package to begin the import process. Refer to the Object Migration Overview for more information on Object Migration
TAS API User Access
In order for App Connect to be able to use TAS APIs, it will need a user with certain permissions. These user's credentials will be configured in App Connect.
-
Create an integration user by following the steps given in Chapter 2. This user should be a non-admin user and not part of the Admin security group.
-
Assign that user to a new or existing group for the integration. If you need to create a new security group, follow the steps given in Chapter 1.
-
Add the "TAS Base License" to the License Details section on the user Profile.
-
Select the newly created group or desired existing group and switch to the Access tab and add the appropriate access for the integration.
Outbound Traffic from TAS
For outbound traffic from TAS, grant at least READ access on the Business Objects that will be used. The table below shows the various supported business Objects the API can pull from:
Module | Business Object Label |
---|---|
Asset | Building Equipment |
Classification | Request Class |
Classification | Space Class Current |
Classification | Asset Spec Class |
People | People |
Location | Property |
Location | Building |
Location | Floor |
Location | Space |
Organization | Organization |
Request | Service Request |
Task | Work Task |
In the example below, the API user is able to pull data from the Building Business Object:
Inbound traffic to TAS
For inbound traffic, Data Access needs to be enabled as well as Application Access permissions to the triAPIConnect Module or the individual Objects. To enable an API user to create a building, grant access to the triAPICBuilding Business object as shown below:
Date Time Format
- The Date Time Format field in the user profile must be in UTC. Navigate to Portfolio -> People -> My Profile and select the user profile that will be triggering the action. The Date Time Format should be in UTC as shown below.
Date Time Format Field in My Profile
Configure Integration Object
- Configure the Integration Object - From the main page of TAS, click on Tools -> System Setup -> Integration -> Integration Object. Under the Name column, type in apic, and select the integration object that pertains to the record that is getting sent.
- Click on the object and fill in the credentials in the pop-up box.
TAS End Point
Part 4. Maximo Configuration
Note 1 If you have not already done so, please import AppConnect Cert to Maximo to enable encrypted communication.
Note 2: The following steps and prerequisites are done against a Maximo demo database. The naming conventions may slightly differ from this, but these are the necessary components.
Within Maximo, configure your instance to be ready to receive records from TAS. If these pre-requisites are not completed, the action will not be recorded.
1. Create an Organization named TRIRIGA
a. Navigate to the Organizations page and click the blue + button on the top row.
b. Fill in the Organization name with TRIRIGA and the description as "TAS Organization".
c. Fill in the remaining required fields as such:
Field Name | Value |
---|---|
Base Currency 1 | USD |
Item Set | SET1 |
Company Set | COMPSET1 |
Default Item Status | PENDING |
Default Stock Category | STK |
d. Click Save Organization on the left side of the screen under Common Actions. This will be set to Active later once there is a clearing account.
2. Create a Testing clearing account in Chart of Accounts
Un-require the GL Account fields
a. Navigate to Financial -> Chart of Accounts and click on the previously created TAS org in the Organizations table. Currently, there should be no GL Accounts for TAS present.
b. Click GL Component Maintenance on the left side under More Actions and add a New Row with the following values:
Field Name | Value |
---|---|
GL Component Value | 1001 |
Description | Testing |
Active? | Yes |
c. Click OK. Click New Row under GL Accounts for TRIRIGA and click the magnifying glass to search for that GL Component. Select it and it should populate in the GL Account and Description fields. The Active Date field should auto populate to the current date.
d. Now that this account is present, head back to Organizations and update the TRIRIGA organization to show the just created Clearing Account, tick the Active box, and click Save Organization.
3. Create a site TRIMAIN and set it to active
a. On the Organization page, click on the Sites tab at the top of the page.
b. Click New Row under Sites and enter TRIMAIN for Site and MAIN Site for Description. Set the site to Active.
c. Click Save Organization.
4. API Key
MAS
- Navigate to Integration -> API Keys.
- Click on the button that reads Add API key
- Select user MXINTADM and click the Add button to generate an API key for this user. Securely store this API key for later use.
Maximo 7.6.1.2
- Navigate to Administration -> Administration and a new tab/window should open with the Maximo-X application.
- You should be on a page titled 'Integration'. Click on the tab at the top of the page that says API Keys and click on the button with the blue plus sign that reads Add API key
- Select user MXINTADM and click the Add button to generate an API key for this user. Securely store this API key for later use.
5. Integration Controls
a. Head to Enterprise Services and click on Create Integration Controls. These integration controls help translate specific external values into values Maximo understands. The following tables contain values to set up this demo, but can be customized to fit your TAS and Maximo naming conventions. There should be 5 X-Ref Integration Controls created with the following associations:
Integration Control | MAXIMO Value | External Value | Description | Domain |
---|---|---|---|---|
PLUSILOCSTATUS | ACTIVE | ACTIVE | TAS Location Status mapping for inbound flows | LOCASSETSTATUS |
PLUSILOCSTATUS | INACTIVE | REVIEW IN PROGRESS | N/A | N/A |
PLUSILOCSTATUS | OPERATING | OPERATING | N/A | N/A |
PLUSIORG | TRIMAIN | IBM | Organization mapping for TAS | N/A |
PLUSIORG | TAS | TAS | N/A | N/A |
PLUSIORGEN | TAS | EAGLENA | TAS Organization mapping for Inbound flow | N/A |
PLUSIORGEN | TAS | IBM | N/A | N/A |
PLUSIORGEN | TAS | MAXIMO ORG | N/A | N/A |
PLUSIORGEN | TAS | TAS | N/A | N/A |
PLUSIPRIORITY | 1 | High | Priority mapping for TAS | N/A |
PLUSIPRIORITY | 2 | Medium | N/A | N/A |
PLUSIPRIORITY | 3 | Low | N/A | N/A |
PLUSISITEEN | TRIMAIN | BEDFORD | TAS Location mapping for inbound flows | N/A |
PLUSISITEEN | TRIMAIN | SPACE 01 | N/A | N/A |
PLUSISITEEN | TRIMAIN | TRIMAIN | N/A | N/A |
b. Once these Integration Controls are created, associate them in both the created Enterprise Services and Publish Channels by using the following two tables
Enterprise Service | Control |
---|---|
PLUSIASSET | PLUSIORGEN |
PLUSIASSET | PLUSIPRIORITY |
PLUSIASSET | PLUSISITEEN |
PLUSILOCATION | PLUSILOCSTATUS |
PLUSILOCATION | PLUSISITEEN |
PLUSILOCATION | PLUSISTATUS |
PLUSIPERSON | PLUSIORGEN |
PLUSIPERSON | PLUSISITEEN |
PLUSIWO | PLUSIWOPRIORITY |
Publish Channel | Control |
---|---|
PLUSIASSET | PLUSIPRIORITY |
PLUSILOCATION | N/A |
PLUSIPERSON | PLUSIORG |
PLUSISR | N/A |
PLUSIWO | PLUSIWOPRIORITY |
PLUSIWO | PLUSIWOSTART |
c. Return to the PLUSITRIRIGA External System. On the left side of the External Systems page, select Setup Integration Controls under More Actions and make sure that all 5 Integration Controls are showing as present.
6. Enable Object Structure Security
The user needs to be able to transact against the specific object structureS in Manage. Navigate to Object Structures and search for MXPERSON. On the left side of the MXPERSON screen select Configure Object Structure Storage and turn on the button underneath Use Object Structure for Authorization Name?
Configure Object Security Screen
The structure should save. Complete this process for the following objects:
- MXASSET
- MXOPERLOC
- MXSR
- MXWO
- MXDOMAIN
Next, navigate to Security -> Security Groups and select the security group the current user is apart of. Click the Object Structures tab and filter search for MXPERSON. Once selected, click Grant Listed Options for This Object Structure and Save the Group.
Security Group Page
Note Repeat this process for the other changed structures.
7. Application Designer Changes
Go to System Configuration -> Platform Configuration -> Application Designer
Person
- Search for PERSON, switch to the Person Tab and select a section to add three new boxes.
- At the top, click the icon labeled Control Palette and add a Multipart Textbox at the bottom of the section. Add the values from the below table within the properties of the Multipart Textbox and click Save Definition
Note Be sure that the Attributes are taken from the PERSON Object.
Type of Control | Label | Attribute | Attribute for Part 2 (If Multipart Textbox) | Lookup | Input Mode for Part 2 (If Multipart Textbox) |
---|---|---|---|---|---|
Multipart Textbox | TAS Location Path | PLUSIPRIMARYLOCPATH | PLUSILOCATIONPATH.DESCRIPTION | VALUELIST | Readonly |
Multipart Textbox | TAS Primary Organization | PLUSIORGPATH | PLUSIORGANIZATIONPATH.DESCRIPTION | VALUELIST | Readonly |
Textbox | TAS Record ID | EXTERNALREFID (From the Person Object) | N/A | N/A | N/A |
Follow the same directions using the following information for the other objects that will be used in the integration
Asset
Search for ASSET in Application Designer
Note Be sure that the Attributes are taken from the ASSET Object.
Type of Control | Label | Attribute | Attribute for Part 2 (If Multipart Textbox) | Lookup | Input Mode for Part 2 (If Multipart Textbox) |
---|---|---|---|---|---|
Multipart Textbox | TAS Building Equipment Spec | PLUSIASSETSPECNAME | PLUSIASSETSPECCLASS.DESCRIPTION | VALUELIST | Readonly |
Multipart Textbox | TAS Primary Organization | PLUSIORGPATH | PLUSIORGANIZATIONPATH.DESCRIPTION | VALUELIST | Readonly |
Multipart Textbox | TAS Location Path | PLUSILOCPATH | PLUSILOCATIONPATH.DESCRIPTION | VALUELIST | Readonly |
Textbox | TAS Record ID | EXTERNALREFID (From the Asset Object) | N/A | N/A | N/A |
Location
Search for LOCATION in Application Designer
Note Be sure that the Attributes are taken from the LOCATION Object.
Type of Control | Label | Attribute | Attribute for Part 2 (If Multipart Textbox) | Lookup | Input Mode for Part 2 (If Multipart Textbox) |
---|---|---|---|---|---|
Multipart Textbox | TAS Space Classification | PLUSISPACECLASSIFICATION | PLUSISPCCLASSIFICATION.DESCRIPTION | VALUELIST | Readonly |
Multipart Textbox | TAS Parent Location | PLUSIPARENTLOCATION | PLUSIPARENTPATH.DESCRIPTION | VALUELIST | Readonly |
Textbox | TAS Record ID | EXTERNALREFID (From the Location Object) | N/A | N/A | N/A |
Service Request
Search for SR in Application Designer
Note Be sure that the PLUSIREQCLASSID Attribute is taken from the TICKET Object.
Type of Control | Label | Attribute | Attribute for Part 2 (If Multipart Textbox) | Lookup | Input Mode for Part 2 (If Multipart Textbox) |
---|---|---|---|---|---|
Multipart Textbox | TAS Request Classification | PLUSIREQCLASSID | PLUSIREQCLASS.DESCRIPTION | VALUELIST | Readonly |
Multipart Textbox | TAS Primary Organization | PLUSIORGPATH | PLUSIORGANIZATIONPATH.DESCRIPTION | VALUELIST | Readonly |
Multipart Textbox | TAS Parent Location | PLUSIPARENTLOCATION | PLUSIPARENTPATH.DESCRIPTION | VALUELIST | Readonly |
Textbox | TAS Record ID | EXTERNALREFID (From the Ticket Object) | N/A | N/A | N/A |
e. Click Save Definition after the changes are added.
Work Order
Search for WOTRACK in Application Designer
Note Be sure that the PLUSIREQCLASSID Attribute is taken from the WORKORDER Object.
Type of Control | Label | Attribute | Attribute for Part 2 (If Multipart Textbox) | Lookup | Input Mode for Part 2 (If Multipart Textbox) |
---|---|---|---|---|---|
Multipart Textbox | TAS Location Path | PLUSILOCPATH | PLUSILOCATIONPATH.DESCRIPTION | VALUELIST | Readonly |
Multipart Textbox | TAS Primary Organization | PLUSIORGPATH | PLUSIORGANIZATIONPATH.DESCRIPTION | VALUELIST | Readonly |
Textbox | External Ref ID | EXTERNALREFID (From the WorkOrder Object) | N/A | N/A | N/A |
Click Save Definition after the changes are added.
8. TAS to Maximo Service Request Comment & Attachment Support
The PLUSITRIServiceRequest2MX_v_1_1_0 integration supports both Comments and Attachments from TAS. This includes pictures or images that are attached as either Comments or Attachments in TAS.
Some configuration will need to be done in order to allow for this.
DB Config
- Go to Database Configuration and pull up the WORKLOG object.
- Add 'EXTERNALREFID' as an Attribute with a type ALN and 50 length.
- Turn on Admin Mode and Run Database Configuration for this change as it will need to be referenced in the Index.
- Once EXTERNALREFID has been added, navigate to Indexes and add the index 'PLUSIEXTREF'. Under the Columns table make sure to reference the EXTERNALREFID that was just created as well as to leave 'Enforce Uniqueness' unchecked.
- Turn on Admin Mode and run Database Configuration again to have these changes take effect.
Object Structure
- Navigate to Object Structure and find MXSR. Duplicate this Object Structure and rename it PLUSISRDOCS.
- Add two new Source Objects to the Structure underneath SR: "DOCLINKS" and "WORKLOG". Make sure the Relationships match with the following image.
3. Select the WORKLOG Source Object and in the 'Details' section add the 'PLUSIEXTREF' Index to the Alternate Key field. Then navigate to Exclude/Include Fields. Click on Non-Persistent Fields in the window and make sure 'Description_LongDescription' is selected as Included.
Enterprise Services
- Now that the changes are made in database and object structure level, they need to be referenced by the Enterprise Service. To do this, duplicate the Default PLUSISR Enterprise Service and name this new one 'PLUSISRDOCS' that references the newly created Object Structure.
- Remove the default PLUSISR Enterprise Service from the PLUSITRIRIGA External System in order to Delete the Enterprise Service. Once deleted, duplicate PLUSISRDOCS and name it PLUSISR to replace the deleted Enterprise Service.
- Add the new PLUSISR back into the External System.
Now when a Service Request comes in with a comment or attachment, Maximo will keep track of the comments in the Worklog and images/documents in the Attachments.
Part 5: Testing
To test that the configuration is complete, send a test payload in order to test connectivity.
Maximo
- Go to the End Points application and click Test at the bottom of the integration you would like to test.
- Send a test payload that is a valid object.
{"Hello":"World"}
would work. - If the response is anything other than Bad Request, see what might be causing the error
TAS
Use a tool like POSTMan to test the connectivity of the App Connect flow. You can use a Sample JSON Payload from this open source repository.
Part 6: Data Pre-requisites for the Integrations
Because of internal references within the TRIRIGA and Maximo data models some flows depend on other flows to function. The following tables describe these relationships. You will need to run the pre-requisite flows first before running the main flows.
Maximo to TAS
Flow | Flows to run first |
---|---|
MXPerson2TRI | TRISpace2MX, TRILocPath2MX, TRIOrg2MX |
MXAsset2TRI | TRISpace2MX, TRILocPath2MX, TRIOrg2MX, TRIAssetSpec2MX |
MXLocation2TRI | TRILocPath2MX, TRISpaceClass2MX |
MXServiceReq2TRI | TRILocPath2MX, TRIReqClass2MX, TRIPerson2MX |
MXWorkOrder2TRI | TRILocPath2MX, TRIOrg2MX |
TAS to Maximo
Flow | Flows to run first |
---|---|
TRIPerson2MX | TRISpace2MX, TRILocPath2MX, TRIOrg2MX |
TRIAsset2MX | TRISpace2MX, TRILocPath2MX, TRIOrg2MX, TRIAssetSpec2MX |
TRISpace2MX | TRILocPath2MX, TRISpaceClass2MX |
TRIServiceReq2MX | TRILocPath2MX, TRIReqClass2MX, TRIPerson2MX |
TRIWorkOrder2MX | TRILocPath2MX, TRIOrg2MX |
PeopleBatch | TRISpace2MX, TRILocPath2MX, TRIOrg2MX |
AssetBatch | TRISpace2MX, TRILocPath2MX, TRIOrg2MX, TRIAssetSpec2MX |
SpaceBatch | TRILocPath2MX, TRISpaceClass2MX |
Troubleshooting
Depending on the direction of the flow, cross-referencing errors from two systems can help identify the root cause of an issue with the integration. For example:
- If there is a Not Found error in Maximo Message Reprocessing when running the flow, double check the logs in App Connect to see if there is a corresponding error. If there is, the root cause might be related to what is being sent out of Maximo. If there isn't, then the message never left Maximo and the flow should be checked to make sure it is running.
Where to find logs in App Connect
App Connect Enterprise
The logs in App Connect Enterprise are found in the Integration Server pod. If running from App Connect Designer, this integration server is found in the App Connect namespace in OpenShift. Typically the Designer integration server has 4 pods and the logs can be found in the pod with a similar naming convention to des-01-quickstart-ma-designer-designer-flows
.
App Connect Enterprise
App Connect SaaS & AWS
The logs in App Connect SaaS and AWS can be found within the application itself by clicking on the clipboard icon on the left side task bar.
App Connect SaaS or AWS
Common errors that arise from Maximo
Testing the End Point
When testing that the end point is entered correctly on the End Points application, there are two common errors:
Error | Cause | Resolution |
---|---|---|
Response code received from the HTTP request from the endpoint is not successful | Invalid URL in the Integration Object | Double check the URL that all of the components are entered correctly. Make sure there are no accidental spaces at the beginning or the end in event of a copy/paste. |
404: Not Found | Flow is not Running | Make sure the flow is Running before starting the cron tasks |
PKSync error | Certificate error | Confirm the certificate is configured correctly |
Message Reprocessing
Errors in Maximo can be found in Message Reprocessing
Error | Cause | Resolution |
---|---|---|
Bad Request error | Either the payload being sent out is incorrect or the account configurations are wrong | Double check to make sure the Accounts from the App Connect pre-requisite section are correct and that the item in Maximo has all of the mapped fields |
Common errors that arise from TAS
Error | Cause | Resolution |
---|---|---|
404 - Not Found: Cannot POST | Invalid URL in the Integration Object | Double check the URL in the specific Integration Object that all of the components are entered correctly |
404 - API doesn't exist | Flow is not running | Double check that the flow is Active in App Connect |
404 - The HTTP request returned with an error 404 "Not Found" | Incorrect App Connect connector config | Double check that the credentials being used in the HTTP post node in App Connect are correct |
401 - Authorization error | Too many user sessions open in TAS | Open the Admin dashboard on the TAS environment and check the Users logged in. This issue can arise after a number of requests are made to TAS and then gives a 401 error even with the proper credentials. Clear the users logged in and the issue should clear. |
- Clear OSLC Cache in TAS Admin Console in case the integrations do not work in intended manner.
Reference for Pre-requisite
Pre-requisite: add an App Connect Certificate in MAS 8.9+
-
Extract the App Connect certificate from an imported flow URL. Navigate to the flow's page and click on Test and then Try It to get the proper URL.
-
Navigate to the Admin dashboard for MAS and go to the workspace where Manage is deployed.
-
Update the configuration and scroll down to Imported Certificates. Untick the System managed button and fill in the extracted certificate in the fields.
-
Click Apply Changes at the top of the page and MAS will update the truststore with the new certificate.
Step 2: Manage Workspace
Step 3: Imported Certificates
Pre-requisite: add an App Connect Certificate in Maximo 7.6.1.2+:
Configure WebSphere Certificates. This makes a test connection to a Secure Sockets Layer (SSL) port and retrieves the signer from the server during the handshake.
-
Log into the WebSphere console that is hosting the Maximo server.
-
Click on Security -> SSL certificate & key management. Under Related Items click on Key stores and certificates.
-
Click on CellDefaultTrustStore and on the next page under Additional Properties click on Signer certificates.
-
From this page, click on the button that says Retrieve from Port and fill in the required fields using the table below:
Field Value Host The host from the imported flow URL Port 443 Alias appconnect -
Once all three have been entered in, click Retrieve signer information and the information from the URL will populate on screen. Click Save in the box at the top and then repeat the process for NodeDefaultTrustStore.
Step 2: WebSphere Homepage
Step 3: Websphere Keystores
Step 4: Websphere Signer Certs
Pre-Requisite: Update TAS Custom Resource with App Connect Certificates:
In OpenShift, import the following yaml with the App Connect certificates added under the spec.alias.crt section:
cat <<EOF | oc create -f -
apiVersion: truststore-mgr.ibm.com/v1
kind: Truststore
metadata:
name: my-tas-truststore
spec:
license:
accept: true
includeDefaultCAs: true
servers:
- "example.com:443"
certificates:
- alias: alias_1
crt: |
-----BEGIN CERTIFICATE-----
...
Certificate 1
...
-----END CERTIFICATE-----
...
- alias: alias_n
crt: |
-----BEGIN CERTIFICATE-----
...
Certificate n
...
-----END CERTIFICATE-----
EOF
If there is already a truststore for TAS, update the truststore with the App Connect certificate.