Setting up your development environment
A fully licensed running instance of IBM┬« Maximo┬« Asset Management V7.6. For developing with Maximo Asset Management, you also need a licensed, running server. If you are an IBM Business Partner┬« and do not have a copy of Maximo Asset Management, you can get a license using the IBM Software Access Catalog. If you want access to a Maximo instance running locally for development and integration purposes, this section shows a way to get your local copy of a Maximo instance.
There are lots of ways to develop for Maximo Asset Management. You can do some development on Maximo Asset Management with configuration and scripting, while other, more advanced Maximo Asset Management development uses Java, Java Server Pages (JSP) and other web components such as Polymer. If you are using Java, you will need to compile Java code with the Maximo libraries. Additionally, you can develop some standalone mobile, web or server-side applications and integrate with Maximo Asset Management via REST APIs.
In all cases, you will need a running Maximo Asset Management server instance that we’ll refer to as a developer instance. This developer instance is usually a full Maximo Asset Management server that you run locally, in a VM, or even sometimes on cloud.
There is nothing special about a developer instance, other than it is your personal instance that you’ll use for development purposes. If you are an IBM Business Partner you can get a license using the IBM Software Access Catalog. From there, you can download the Maximo components and install them. For example, IBM WebSphere┬« Application Server, IBM DB2┬« database and the latest Maximo release.
What is Docker?
Docker offers self-contained, lightweight and stand-alone execution environments with their own isolated resources including processor, memory, network, code, runtime, system tools, system libraries and settings. These containers tend to be lighter on resources and isolate software from its surroundings so teams can run different containers on the same infrastructure. The container images are generally much smaller than virtual images. Docker is a Linux technology, but, docker containers can also be run on Microsoft Windows and Apple Mac as well.
Stay tuned for updates on a Maximo Docker container. Follow Sean Stuckless on Twitter for news.
Which development environment is needed
The type of application you are looking to develop will determine what kind of development environment you need to set up.
- Mobile apps
- Web apps
Set up your environment to build mobile and web applications
If you are building a mobile application and using the Maximo REST APIs, then the Maximo developer instance is all that is needed.
If you are creating a web app that is not hosted in Maximo Asset Management, such as a dashboard that will simply extract information out of Maximo Asset Management to show into your web application, then all you need is the Maximo developer instance.
When developing these kinds of applications, you can use whatever development tools you need and you simply need the Maximo server URL and a valid username and password.
Take the samples for a spin
Once you get your Maximo developer instance up and running for web or mobile app creation, check out the Android and Polymer samples.
Set up your environment for classic Maximo Asset Management
If you are looking to build a classic Maximo application, for example, an application that is bundled on top of Maximo Asset Management and runs within the Maximo instance, then the process is different.
In this case, you will need to access the full Maximo binaries, and you will need to overlay your changes on top of the Maximo base code.
We will refer to the core Maximo files as MAXIMO_HOME.
Under this location, you’ll have directories such as:
- applications/maximo/businessobjects, tools/maximo
- deployment/buildmaximoear.cmd (which assembles and builds the Maximo EAR file for deployment)
Set up your environment to create add-ons
When developing your own applications, which we commonly refer to as a “Maximo add-on,” we don’t recommend that you put your main source files in the MAXIMO_HOME area. Instead, we suggest that you create a completely separate development area and then merge/copy your changes into the MAXIMO_HOME area as needed.
Separating the development area when creating add-ons allows you to more easily track your specific changes. You will now be developing your add-on in line with how Maximo developers create their add-ons.
Steps when creating add-ons
- Create your add-on location
- Add your custom files
- Copy your files into MAXIMO_HOME
- Update your Maximo server using the buildmaximoear command and test/see your changes.
NOTE: depending your application server, you may be able to bypass the buildmaximoear and use an exploded EAR format)
- Repeat steps 2-4 until your add-on is complete
Adding Java class files
If you are adding Java class files, then you will need an environment that is capable of compiling Java files and it should be configured to use the Maximo classes and jars.
You can use Eclipse or IntelliJ IDEA as your IDE for this, however, some additional configuration is required since you’ll need to tell your project where the classes and jars are located in the MAXIMO_HOME area.
Building and compiling
We recommend using Gradle as your build engine to automate the build process.
When you compile your code, your classes should go into the respective classes folder in your project area. You then can later move those files to the Maximo deployment area in order to track and package your files more efficiently.
Related topics and information