Information Systems:Notes on development using Iptor Integrator

From uniWIKI
Revision as of 17:34, 18 March 2021 by Norwinu (talk | contribs)
Jump to navigation Jump to search

Overview

This document discusses generally the concepts behind programming integrations using Java and Iptor Integrator.

Topics

Avoiding Integrator Studio as an IDE

Iptor Integrator includes an IDE called Integrator Studio, but even 10 minutes of use is enough to indicate its inferiority as any kind of serious IDE. Specifically, some of its limitations are listed below.

  • There are two modes, a drag-drop user mode and a Java/code mode. Except the Java mode does not show you everything. Upon inspecting the source reverse-generated (i.e. decompiled) from the Java class, it was discovered that additional code is added on later or is in the background, and so even the raw Java mode doesn't show you all the code of the resulting program. For example, import statements are not shown, as well as the main() function.
  • Apart from the inability to see code altogether, code that deals with proprietary features is also marked up. For example, doing something in the visual editor will translate to what looks like Java code, but in the actual source file the code indicates a more complicated syntax.
  • Often, compiler errors point to a line containing an error but don't suggest further information about what the error could be.
  • Sometimes, the code inspector will get hung up on an error that is no longer present, and the IDE has to be restarted.
  • Running a program crashes the IDE a lot.
  • Their data mapping wizard also crashes a lot, especially when you browse database libraries on the i.
  • The lack of a dark theme (lol).
Personally, I find the IDE unusable for developing programs beyond the complexity of a simple sript. Therefore, I use the IDE to learn Integrator-specific capabilities by testing them out using the visual editor and then studying the generated java source. Then I code in IntelliJ IDEA. Actually, the real value in Integrator from a development aspect comes from the Integrator libraries e.g. net.ibs.*, not their crappy IDE -norwizzle (talk). However, these are not documented (because you're supposed to use their IDE), so their functionality has to be studied by inference. -norwizzle (talk)


Indispensable libraries

This section lists some important libraries that greatly enhance development, or make it possible altogether.

  • [Information Systems: IBM Toolbox for Java|IBM Toolbox for Java] - Programming in Java for IBM i would be useless without this quintessential package.
  • Apache Commons - another immensely useful library. Actually, Commons is an umbrella for a collection of many libraries. The significant ones thus far are:
  • Apache POI - For reading/writing to Microsoft document formats. The XSSF is particularly useful for dealing with XLSX files e.g. the Health Canada MAR report uses this to output and stylize the report.
  • Apache Commons Net - FTPClient class used for creating
  • Apache Commons CSV - Useful for reading/writing CSV files.
  • JCraft - For sFTP communication. Apache Commons Net is limited to FTP.
  • univocity - CSV parser/writer. The CSVWriter class has features that are not found in Apache Commons CSVPrinter.
  • MariaDB JDBC driver - to read/write to the database.