Onyx
Onyx is a tool for rapid prototyping of database applications. The theory behind Onyx is that any application consists of the following:
Internal tables to store temporary data
Masks to view and edit the date
Transactions between the internal tables and the rest of the world
Transactions can be bound to a menu, an input field, a function key or to the change of the current row of the cursor. So if the user selects a menu item or leaves an input field by pressing return the transaction will automatically be started.
Unlike other 4GLs, Onyx doesn't hide your environment (UNIX/Linux) but gives you the full functionality of the shell. For example, this is how we could print letters using data in an Onyx table combined with the capabilities of shell commands.
export table to pipe {
awk | mailmerge | groff -Tps -mm | lpr -Pps; }
It is also possible to import a table using shell commands as in the example below:
import table from pipe {
tar xvf /dev/rmt0 | sed "s/ *-> */->/" | sed "s/ */ /g"
| sed "s/[^]*$/& &/"; }
And, of course, it is possible to export or import to an SQL statement.
Onyx needs a SQL database which is doing the real work. So its possible to use a SQL anywhere in your Net. I'm normally using Informix on a Sparc II or Ingres at home under Linux.
Databases are named as database%engine@host.domain. Supported engines are currently GNU-Awk, Informix, Ingres and SHQL.
The last one (SHQL) is a genius shell-hack which is parsing the SQL by the shell and doing the job by awk. Of course that's really slow. It is included because that is where my idea for the Onyx project came from. Also, you need SHQL because it is used to manage the schema definition (create table, etc) for gawk.
I started looking at Linux in late 91 and since MCC 95c+ I've thown away Xenix and am using Linux at home. As TCP/IP got into 98p1 kernel I thought about using Linux as a client for databases.
In winter 92 I began a project for the ”Wasserwirtschaftsamt Bremen“ called ”Verwaltung von Anlagen mit Wassergefaehrdenden Stoffen“. They had a Siemens MX 500 which was so slow that it was possible to roll a cigarette and smoke it to the end when somebody wants to do a query.
I told them that ”Client/Server computing is the only solution" and they installed my suggested hardware consisting of a Sparc II and 8 PCs. Having Linux in mind I gave the PCs 8 MB of RAM and a Tseng video card. This was the right idea as I saw later.
Informix SE and NET for the Sparc were delivered together with Informix for MS-DOS. The port of the old database and program was only a job of character conversation between DIN to MS-DOS. (In Germany we always have a umlaute problem.)
The hardware was installed as described above. It was fast enough to do the querys in just a second. Unfortunately, the MS-DOS systems were crashing nearly every hour! We didn't know if it's MS-DOS, PC-NFS, or Informix that was causing the problem. But we knew it was the time to look for a stable operating system. Of course Linux was my choice!
As an interim measure, the MS-DOS systems were used as terminals to telnet into the Sparc and jobs where run on the Sparc. The query times grew to up to half a minute and and I started to hack a better solution using Linux.
Two month later I installed the first version with Linux 99p6. It's now running 99p9. And I now have earned enough money (6,000 DM) to live for the next two years and I'm now rewriting this quick hack that I did in the first month. As there are some more Wasserwirtschaftsaemter (administration of installations with water endangering substances) for the Department of the Environment of the State of Bremen having interest in the program, I will continue the project earning more money and giving the Onyx-4GL to the Internet community. Onyx a killer application for Linux? Large databases are a place where the money is made. So let's talk about money. As I saw it, MS-DOS is bad choice as a possible platform for a database clients. I see two possible solutions:
Use a Mainframe for doing the job
Use Sparc or $CO Unix systems as clients
Both are really expensive choices. With Linux you only need a cheap PC to do the job in client/server computing and you don't have to pay a lot of money to a Unix vendor for every client.
Another possible scenario is needing to upsize an entry-level database from an MS-DOS platform. Let's think about the following configuration
First a 486-bases system with Linux and [university] Ingres as a server
If there are old 286 systems they can be used as terminals
Newer 86 can be upgraded to run the client locally
As the database is growing up you can use a faster (commercial) SQL on a commercial Unix as a server without trouble
DOS applications can be run by QuarterDeck DeskView-X without the posibilty of crashing the database in an xterm on any Linux box, if
DOS applications are really necessary
Such a configuration can be sold to any company and it cost less than a Novell Netware. And if the company has several locations in perhaps different cities its possible to mirror the transactions on normal modem lines which is impossible to do with a traditional database over a remote Novell FS.
Today’s modular x86 servers are compute-centric, designed as a least common denominator to support a wide range of IT workloads. Those generic, virtualized IT workloads have much different resource optimization requirements than hyperscale and cloud applications. They have resulted in a “one size fits all” enterprise IT architecture that is not optimized for a specific set of IT workloads, and especially not emerging hyperscale workloads, such as web applications, big data, and object storage. In this report, you will learn how shifting the focus from traditional compute-centric IT architectures to an innovative disaggregated fabric-based architecture can optimize and scale your data center.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
| Non-Linux FOSS: Seashore | May 10, 2013 |
| Trying to Tame the Tablet | May 08, 2013 |
| Dart: a New Web Programming Experience | May 07, 2013 |
- New Products
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- A Topic for Discussion - Open Source Feature-Richness?
- Drupal Is a Framework: Why Everyone Needs to Understand This
- Home, My Backup Data Center
- What's the tweeting protocol?
- New Products
- One Hand Slapping
- Readers' Choice Awards
- RSS Feeds
Enter to Win an Adafruit Prototyping Pi Plate Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Prototyping Pi Plate Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- Next winner announced on 5-21-13!
Free Webinar: Linux Backup and Recovery
Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.
In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.




6 hours 51 min ago
9 hours 24 min ago
10 hours 41 min ago
11 hours 16 min ago
11 hours 39 min ago
16 hours 27 min ago
17 hours 14 min ago
18 hours 48 min ago
20 hours 24 min ago
22 hours 22 min ago