All Projects → jwoehr → ublu

jwoehr / ublu

Licence: BSD-2-Clause and 2 other licenses found Licenses found BSD-2-Clause LICENSE BSD-3-Clause POSTGRESQL_LICENSE GPL-2.0 tn5250_LICENSE
Ublu Midrange and Mainframe Life Cycle Extension Language

Programming Languages

java
68154 projects - #9 most used programming language
HTML
75241 projects
shell
77523 projects
Makefile
30231 projects
Less
1899 projects
Vim Script
2826 projects

Projects that are alternatives of or similar to ublu

IBMi-Book
"Learning IBM i as a Web Developer", my subpar eBook for learning the basics of IBM i, RPGLE, Control Language, and more from the eyes of a web developer.
Stars: ✭ 31 (+138.46%)
Mutual labels:  ibmi, ibmioss, as400
ILEditor
IBM i development environment (IDE)
Stars: ✭ 83 (+538.46%)
Mutual labels:  ibm, ibmi, ibmioss
Notepad-RPG
RPG Free-Format & CL syntax for Nodepad++
Stars: ✭ 28 (+115.38%)
Mutual labels:  ibm, ibmi
nodejs-idb-pconnector
Promise-based DB2 Connector for IBM i
Stars: ✭ 22 (+69.23%)
Mutual labels:  ibmi, ibmioss
QshOni
The QShell on IBM i library contains useful CL wrapper commands to allow QShell and PASE apps to be called and consumed from regular IBM i jobs via CL, RPG or COBOL programs.
Stars: ✭ 34 (+161.54%)
Mutual labels:  ibmi, as400
ServiceCommander-IBMi
Service Commander for IBM i
Stars: ✭ 29 (+123.08%)
Mutual labels:  ibm, ibmi
ILEastic
Embedded application server for ILE on IBM i
Stars: ✭ 31 (+138.46%)
Mutual labels:  ibmi, ibmioss
vscode-ibmi
IBM i development extension for VS Code
Stars: ✭ 122 (+838.46%)
Mutual labels:  ibmi, as400
nodejs-idb-connector
A JavaScript (Node.js) library for communicating with Db2 for IBM i, with support for queries, procedures, and much more. Uses traditional callback-style syntax
Stars: ✭ 35 (+169.23%)
Mutual labels:  ibmi
nlc-email-phishing
Detect email phishing with Watson Natural Language Classifier
Stars: ✭ 26 (+100%)
Mutual labels:  ibm
mq-java-exporter
Exporter for IBM MQ metrics https://prometheus.io/
Stars: ✭ 19 (+46.15%)
Mutual labels:  ibm
node-red-contrib-FIWARE official
FIWARE-Node-Red integration supporting NGSI-LD
Stars: ✭ 14 (+7.69%)
Mutual labels:  cim
CVE-2020-4463
IBM Maximo Asset Management is vulnerable to Information Disclosure via XXE Vulnerability (CVE-2020-4463)
Stars: ✭ 41 (+215.38%)
Mutual labels:  ibm
pywbem
Pywbem - A WBEM client and related utilities, written in pure Python.
Stars: ✭ 38 (+192.31%)
Mutual labels:  cim
devtools
A simple set of tools for teams building live Carbon pages.
Stars: ✭ 31 (+138.46%)
Mutual labels:  ibm
openshift101
OpenShift 101 on IBM Cloud tutorial: https://ibm.github.io/openshift101/
Stars: ✭ 27 (+107.69%)
Mutual labels:  ibm
oec
IBM 3270 terminal controller - a replacement for the IBM 3174
Stars: ✭ 29 (+123.08%)
Mutual labels:  ibm
IBMulator
The IBM PS/1 emulator.
Stars: ✭ 62 (+376.92%)
Mutual labels:  ibm
SecretColors
Python package for fantastic colors :)
Stars: ✭ 31 (+138.46%)
Mutual labels:  ibm
terraform-module-icp-deploy
This Terraform module can be used to deploy IBM Cloud Private on any supported infrastructure vendor. Tested on Ubuntu 16.04 and RHEL 7 on SoftLayer, VMware, AWS and Azure.
Stars: ✭ 13 (+0%)
Mutual labels:  ibm

ublu

Ublu Midrange and Mainframe Life Cycle Extension Language
Copyright (c) 2015, Absolute Performance, Inc. http://www.absolute-performance.com
Copyright (c) 2016, 2018, 2022, Jack J. Woehr http://www.softwoehr.com
All rights reserved.
See file LICENSE for license information.

General 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 Android UserLAnd.

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. 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 2.0.0.

Ublu is distributed with some of the open source libraries it needs and their license files which permit such distribution. Others are fetched into the project at build time via maven.

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 and java -jar ublu.jar to run Ublu.

Or clone https://maven.apache.org/the source for Ublu and do a maven build:

  • Clone the Ublu GitHub repository or download source from the latest release
  • Load the project in NetBeans or Eclipse or cd to the top dir of the checkout and type make clean dist which will run the appropriate maven commands for you.
  • target/ublu.jar is the runtime system.
  • java -jar target/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

Ublu's interpreter relies on Java's console support, which is very weak. So I have coded Goublu in Go language.

goublu_screenshot

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. cd $GOPATH/src/github.com/jwoehr/goublu; ./make.sh to build Goublu for your architecture.

Ublu in a Window

You can start Ublu in a window with the -w [propsfilepath] switch. Ublu in a Window

Discussion of Ublu

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 Java forum.

Ublu running native on IBM i Ublu running native on IBM i

Default Branch Renamed

The default branch has been renamed!

master is now named main

If you have a local clone, you can update it by running:

git branch -m master main
git fetch origin
git branch -u origin/main main
git remote set-head origin -a

Jack Woehr 2022-06-04

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].