Giter Club home page Giter Club logo

jtopen's Introduction

JTOpen - The IBM Toolbox for Java

What is the Toolbox?

JTOpen is the open source software product known as the "IBM Toolbox for Java." It is also commonly referred to "jt400" or simply "the toolbox." In short, this package provides a set of Java classes that enable applications to integrate with IBM i

JTOpen is governed by the IBM Public License.

JTOpen is the open source counterpart to a version of the IBM Toolbox for Java that is delivered as part of the 5770-SS1 Licensed Program Product (LPP). The LPP version is supported by IBM and can be obtained from the IBM Toolbox for Java web site. The Toolbox is available as an installable licensed program for IBM i. Here is a breakdown of the supported Toolbox releases versus operating system versions:

JTOpen release Min. Java Version Installs on IBM i version Connects to IBM i version
JTOpen 10.x 1.1 7.2 or later 7.2 or later
JTOpen 11.x 1.1 7.3 or later 7.3 or later
JTOpen 20.x.y 7 7.3 or later 7.3 or later
JTOpen 21.x.y 8 7.4 or later 7.3 or later

Changes in Version 20 and Newer

There are several key changes introduced into JTOpen starting with version 20.x. These differences warranted a significant version jump to differentiate from 11.x and earlier code streams. Key differences include:

  1. Adoption of semantic versioning, based on the guidelines published at semver.org. In summary, JTOpen versions now consist of three digits, x.y.z. This provides differentiation between bug fixes, new features, and breaking changes.

  2. Java 7 or later is required (breaking change).

  3. Function signatures may be changed from previous versions, in an effort to add typesafety. Version 20 will remain source-compatible, but may have binary incompatibility (breaking change).

  4. Breaking changes may be introduced on major version upgrades. Some examples of breaking changes include:

    • Newer minimum Java version requirements
    • Changes in Java classes that require source modification or recompilation
    • Dropped support for older releases of IBM i Note that Version 20 contains some breaking changes as documented here.
  5. Changes to code hosting location and support processes (see Migration to GitHub and Support information)

  6. Immediate removal of several antiquated components of JTOpen, including

    • JTOpenLite
    • jt400Android
    • jt400Micro
    • jt400Proxy
    • jt400Servlet

    If you need these packages, please acquire older versions from the archive site on sourceforge (breaking change)

  7. Publication of "native" form to Maven Central (see Download Information). This allows Maven-based applications running on IBM i to take advantage of extra optimizations present in the operating system

Download/Installation

The recommended way to build Java applications is to use Maven, Gradle, or some other system to manage dependencies. Manually maintaining a Java classpath is not desired.

Maven

JTOpen is published to Maven Central as artifact ID jt400 in group net.sf.jt400. Visit specific versions on the jtopen page on Maven Central for example build declarations for Maven's pom.xml manifest file. Configuration text is also available for other build systems, including Gradle, SBT, Ivy, Grape, Leiningen, and Buildr.

Several coordinates are published to Maven. See Download Information for information about Maven coordinates

Download Information

JTOpen releases for versions 20 and newer include the following files:

Jar file Maven Coordinate (v20) Contents
jtopen-x.y.z.jar <default> This is the main JTOpen jar file. It contains almost all open source code (except for the few Toolbox classes that could not be open-sourced), including the utilities package and the JDBC driver (JDBC 3.0). This is analagous to the jar file classically named jt400.jar.
jtopen-x.y.z-native.jar native This is the main JTOpen jar file with support for "Native Optimizations" when running on IBM i. This is analagous to the file classically named jt400Native.jar.
jtopen-x.y.z-native-java8.jar native-java8 This is the main JTOpen jar file with support for "Native Optimizations" built with Java 8.
jtopen-x.y.z-native-java11.jar native-java11 This is the main JTOpen jar file with support for "Native Optimizations" built with Java 11.
jtopen-x.y.z-java8.jar java8 This is the main JTOpen jar file but built for Java 8 (or newer). Some components (most notably the JDBC driver) may have extra capabilities available in Java 8.
jtopen-x.y.z-java11.jar java11 This is the main JTOpen jar file but built for Java 11 (or newer). Some components (most notably the JDBC driver) may have extra capabilities available in Java 11.
jtopen-x.y.z-sources.zip N/A This is a zip file of all the source files in the repository. It is not a Java jar file.
jtopen-x.y.z-javadoc.zip N/A This is a zip file of the javadoc (in HTML format) for the JTOpen source files. It is not a Java jar file.

Migration to GitHub

As of April 2023, the JTOpen site on sourceforge.net is considered a historical archive for older versions. GitHub is now used for issue tracking, release management, etc.

Support information

Please note the following regarding support/collaboration options:

  • Documentation for JTOpen can be found on the Toolbox web site.
  • See the "Community" section of the IBM i open source resources page for community forums/chat/etc. In particular, the Ryver forums have a topic dedicated to Java development and is a good place to discuss JTOpen.
  • The JTOpen mailing list has been discontinued
  • You may submit a GitHub issue for bug reports, enhancement requests, or questions.
  • In general, the version of toolbox shipped with the IBM i operating system is supported by IBM as part of a software maintenance agreement ("SWMA")

jtopen's People

Contributors

jeber-ibm avatar zhanghze avatar theprez avatar nicolaisotta avatar dependabot[bot] avatar nadiramra avatar nelsoncj-ibm avatar worksofliam avatar rgala avatar yog3shwar avatar jwoehr avatar mikswens avatar sumitdethe27 avatar mdg1349 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.