Hope you enjoy it.
Category: Maximo (Page 7 of 12)
– Basic concepts in Maximo asset management: These tutorials are done on the IBM public Maximo preview site, so you don’t need to set up anything to do some exercises
– Basic Maximo configuration tutorials:
– Setting up development environment and writing customized java code for Maximo:
Due to many changes in different versions, the documentation provided by IBM for Maximo Spatial integration is scattered and inconsistent. This video is a quick demo on how to carry out the most basic configuration to enable integration between Maximo Spatial version 7.6 and ArcGIS.
In the video, what we have is a sample non-secured ArcGIS online server, made publicly available by ESRI. However, enterprise GIS map services are often provided via an SSL layer and can use token-based authentication. Thus, below are some of the common problems that you can have when configuring Map Manager with a secured map services:
- If HTTPS is used, the SSL Certificate must be added to WebSphere trust store for Maximo to be able to send requests to the GIS server. If you don’t add the Certificate, when trying to add Map Service in Map Manager, it will give you a ‘BMXAA4199E – The remote object of the server cannot be accessed. A network error has occurred…’. You can follow the steps in this link to add the certificate. After that remember to restart the WebSphere for the change to take effect
- If Map Server uses Token-based authentication, it doesn’t work with HTTP. Thus, you must use HTTPS, otherwise, it will give you a confusing error: ‘BMXAS0467E – Token is required to access this Map Service. Enable token security for this Map Manager’. Some old IBM sources mention that you have to add the ‘tokenEnabled’ and some other properties to System Properties. With Maximo Spatial 7.6.0.1 or newer, it is not required as you can tick the check box and enter username and password directly in the Map Manager app.
- If you have a strange java.lang.ArrayIndexOutOfBoundsException when trying to add Map Service with HTTPS, it is because WebSphere is using TLSv1 and doesn’t support 2048DH key. Follow the steps in this link to change SSL protocol to TLSv1.2 or v2.
- If your GIS provider uses self-signed certificate instead of a certificate issued by a Certificate Authority, users may get a blank screen when opening the Map tab. It is because the browser doesn’t trust the source (GIS service) and blocks it from loading. To work around this issue, try to open the GIS Map service directly on the browser, it will ask if you like to add the untrusted certificate to your exception list. After that, the map will be able to load in Maximo. The best solution is to use an SSL certificate provided by a Certificate Authority. In this case, Maximo users don’t have to worry about adding exceptions to the browsers. You can also enable the “Use Proxy” flag in Map Manager to address this issue.
If you have any other problems with the map control and integration, the first step would be to see the SystemOut.log file and the logs displayed in the ‘Developer Console’ of the browser. Most of the time it will give you some extra information to identify the cause of the problem.
I hope this helps.
- Restarting of Server OS, Websphere, MXServer, or DB2.
- Changing WebSphere configuration – e.g. adding an SSL certificate to trust store so Maximo can send request to a secured cloud-based API.
- Build/deployment of customized codes to TEST/PROD
- Updating data in DB2
- Transferring a large file to servers
- Back-up/Restore database and refresh DEV/TEST environment from PROD
- Get access to IBM support early: for cloud environment, you rely on IBM CDS team to handle many basic admin tasks, as such having access to IBM support for your specific client is crucial. You or someone in your team should be able to raise and check the status of tickets directly. This should be done as soon as you first get the welcome pack.
- Be specific with your support request: for example, if you like to get some access to TEST server, list out the things you need like ‘Read access to DB2’, and ‘Access to MXServer’s Log folder’ and ‘DocLinks folder’. Don’t ask for general access to the server’s file systems as it can be refused. Or like an instance when I got stuck in Admin Mode; when raising a request, I also mention they can restart the server at any time. Otherwise, they will come back asking for what time is suitable for a restart.
- Database access on TEST/PROD: get a read-only database account so you can query the data you need. For data upload/update, use MXLoader (See my other post)
- Mass upload attachments: to upload Doclinks, refer to this excellent BPDZenith’s blog post; To upload images, see my other post here if you have Maximo 7.6 and here if you have 7.5 or older
- Transfer large files from/to DEV: because remote connection to DEV is very slow, while actual HTTP access to Maximo is quite fast, compress the large files or folders to a zip file, rename it to pdf then upload it as an attachment. Then you can copy the file from DEV’s Doclinks folder, rename it back to zip to decompress. You can do the reverse to download large files by first attaching a dummy pdf file, then in the DEV server, replace it with the ‘fake pdf’ large file. In Maximo, download the attachment to your local drive rename it back to .zip to decompress. Using this method, upload/download speed is at least 20-30 times faster than copying over remote desktop session.
- OS Name: DBMAXVARS
- Consume By: Integration
- Add a new row, set Object Name: MAXVARS
a new ‘PEOPLE’ sheet:
structure, and open the ‘Exclude/Include fields’ dialog from the Select Action
menu. In this case, I only need two fields: VARNAME and VARVALUE
= ‘CONFIGURING’, then execute the query by clicking on the ‘Run’ button to retrieve
the record.
tables include:
- MAXMENU – To move/add an app to a different module menu
- APPFIELDDEFAULTS – To set a default value when inserting new
record - MAXSESSION – To release user sessions that got stuck in Admin
mode and the user cannot log in - MAXDOMAIN – To create a new Synonym Domain
[Update 2023]: an easier and more powerful way to achieve this task is using API Automation script
For every client I work with, I always keep a copy of the SMP folder if I can. And every time I need a standard demo instance with the same configuration as the client, I simply deploy it on my local Websphere and Oracle DB.
My current Websphere version is 8.5.5.3, and I had problems whenever I deploy a Maximo 7.6 instance with lots of add-ons. I gave up the attempt the last few times as I didn’t really need it.
Recently, as I was working with Maximo Flex (on the cloud), having a local instance is necessary as Maximo on the cloud has lots of limitations in terms of what you can do. As such, when I had the same problem deploying Maximo, I had to investigate and fix the issue.
Turned out it is an OutOfMemory issue during the deployment process and it took me quite a bit of time to fix it, so I leave the note here as I’m sure many others will have similar problems.
- PROBLEM: when deploying Maximo 7.6 with many add-ons, Websphere keeps running or stops with a failure.
- TROUBLESHOOT: if it takes more than 1 hour, I restart the system and re-deploy Maximo. In many cases, it immediately returns a failure. If it returns a failure, I look at the SystemOut.log file under
[Websphere Home]/AppServer/profiles/ctgDmgr01/logs/dmgr/
- SOLUTION: if the problem is an OutOfMemory error, it can be tricky as there are many different processes in Websphere using Java. I ended up employing the spray and pray approach:
- Increase heap size for WAS Admin console to 2GB: edit the wsadmin.bat under [Websphere Home]/AppServer/bin to update this parameter: PERFJAVAOPTION=-Xms512m -Xmx1024m –Xquickstart
- Increase Application Server heap size: in Websphere admin console, go to Servers section (on the left side menu) -> Server Types -> Websphere Applicaton Servers -> [MXServer] -> Java Process Management (link on the right side menu) -> Process Definition -> Java Virtual Machine. Set both Initial and Maximum heap size to 2048 MB
- Increase deployment manager heap size: in Websphere admin console, go to System Administration section (on the left side menu) -> Deployment manager -> Java and Process management -> Process definition -> Java Virtual Machine. Set both initial and maximum heap size to 2048 MB
- Increase heap for deploy tool: edit the ejbdeploy.bat file under [Websphere Home]/AppServer/deploy/tool/itp to update this parameter: EJBDEPLOY_JVM_HEAP=-Xms512 -Xmx1024m
With these updates, I managed to deploy the EAR file. But Maximo and Websphere alone consume 6GB of my laptop memory. I had to remind myself to reduce them back to probably 1024MB each to save valuable real estate.