Ublu Midrange and Mainframe Life Cycle Extension Language
Copyright (c) 2015, Absolute Performance, Inc. http://www.absolute-performance.com
Copyright (c) 2018, Jack J. Woehr http://www.softwoehr.com
All rights reserved.
See file LICENSE for license information.
Ublu is an interpretive language for remote systems programming of midrange or mainframe hosts from a Java platform such as Linux, Mac, OpenBSD or Windows. It also can run natively on IBM i ®, IBM z/OS USS ® or any other reasonable Java platform including GnuRoot Debian on your Android ® device.
I wrote Ublu because I wanted a language to run on OpenBSD/Mac/Linux/Windows to perform ad-hoc process automation primarily on IBM i Series OS ®. I was supporting consulting clients by writing individual utility programs using JTOpen which I have used since 1998 to control the AS/400. I decided to consolidate the programs in a language, and the result is Ublu. Ublu is a work in progress, as there is always more one could add.
Additionally, Ublu can call Java directly allowing the user to extend the language interpretively in nearly any direction desired.
Running Ublu directly on IBM i is especially useful for modelling processes which you might later wish to code in straight Java. Or maybe you'll leave them in Ublu. Whatever works!
Ublu is Open Source Software under the BSD-2 license.
The user's guide is userdoc/ubluguide.html
The full reference is userdoc/ubluref.html
Here's an example of Ublu code
The example is syntax-colored using a jEdit edit mode provided with Ublu.
The latest release version of Ublu is version 1.2.1.
It is strongly advised you use a release version of Ublu, preferably the latest.
Ublu built from the tip of the master branch between releases calls itself n.n.n+ where n.n.n is the previous release
Ublu is distributed with the open source libraries it needs and their license files which permit such distribution.
Ublu is already a stable and useful tool which has seen much use in the real world. It is neither complete nor perfect, but what is in this world? As with all open source software, there is NO WARRANTY nor GUARANTEE include as regards suitability for any given application.
Quick start instructions
Download the release, unpack
java -jar /opt/ublu/ublu.jar to run Ublu.
Or clone, build and run:
- Clone the Ublu Git repository https://github.com/jwoehr/ublu.git
- Either load the project in NetBeans
or cd to the top dir of the checkout and type ant.
- Of course you have Apache Ant installed, right?!
- ./dist/ublu.jar and its necessary ./dist/lib directory are the runtime system.
- java -jar ublu.jar to run Ublu as a plain Java console application.
Note regarding checking out the current source: Release versions of Ublu come with a standard release of JTOpen. Between Ublu releases, I build and sometimes modify JTOpen so that Ublu can leverage forthcoming features of JTOpen. When you check out the source between releases, it is an intermediate version JTOpen that is checked out with Ublu.
Goublu console support for Ublu
Goublu is a console front-end that provides an editable Ublu command line. The go command
go get -u github.com/jwoehr/goublu
will fetch the source to your
$GOPATH/src directory. Use
go build main/goublu.go to build Goublu for your architecture.
Ublu in a Window
Report bugs or make feature requests in the Issue Tracker
There is some more information in the Ublu Wiki including zine article references.
Discuss Ublu in the IBMiOSS Java forum on Ryver.
Here is the IBMiOSS signup page for the free Open Source Software on IBM i organization on Ryver that hosts the Ublu forum.
Jack Woehr 2018-12-03