Problem - The software development industry suffers from a lack of long term stability in the tools they rely on. With the majority of these being closed-source proprietary tools, developers have very little leverage to shape or direct the future direction, get problems resolved which are important to their work. Many good tools have been bought out by a competitor solely to put the product out of circulations, while the clients of that product are forced to bear the pain of an abrupt dead end.

Secondly, due to inadequacies in System Management and Software Development capabilities in the industry, there once again is a large push towards "mainframe-like" schemes. This shift puts all of the computing eggs into the central shared basket, does not work well in disconnected mobile computing environments, and does not leverage the huge computing power contained within today's standard desktop and laptop computers.

Solution - Leveraging available Open Source Software / Free Software (OSS/FS) projects, develop a new Rapid Application Development (RAD) tool environment as an OSS/FS project. Then deliver the developed software through a state-of-the-art System Management platform.

There are several components that go into creating a RAD environment. Following is a brief list highlighting a few other OSS/FS projects which may be easily leveraged for use within the Rexxphi™ project.

  • IBM made the contribution of their Object Rexx language to the Rexx Language Association. There is no need for LFSF to develop an interpretive programming language from the ground up thanks to this contribution.
  • wxWidgets develops a cross platform user interface class library which has been being developed for twelve years at this point.
  • The Globus Alliance develops "Grid" computing software which we expect to greatly assist in developing the Rexxphi™ Application Server platform.

During the Client/Server ira of the 1990's, the thinking was in the correct place of leveraging the computing power available close to the users of the applications. Unfortunately standards for software development, network communications, security, and IT System Management were not mature in the 1990's. In many ways, what was called Client/Server flopped due to a lousy foundation.

In reality, all computing which involves a network is Client/Server. The Internet is Client/Server - Mozilla being the client, Apache being the server. Sharing files and printers is Client/Server - each user's computer being the client, the server holding the files and printers. Database servers are Client/Server - the client being a piece of software on another computer sending a query to the database server, the database server performing the query and sending the results back over the network. It is all Client/Server!

The thing which has changed is that the entire world has gotten so frustrated with managing IT Systems, is they are buying into a gimmick to go back to "mainframe-like" designs where only a minimal part of the entire IT system operates on each user's computer. There is greater efficiency in IT systems if each computer does as much of the work as possible, not sending large amounts of work to another computer to have it perform it. Client/Server done correctly turns all of the computers working together in the network into a giant grid computer... such as the computers which make the giant search engine Google crank through every web page on the Internet in a split second. World, you are headed in the wrong direction! Come on back to an efficiently engineered Client/Server design, with System Management software to eliminate the headaches which drive people away from "code on the C: drive" as they call it. It is not the "code on the C: drive" that was bad, it was the total lack of a complete end-to-end System Management platform to keep the system working properly that is the issue. Silicone and magnet memory can only do what they are told, nothing was put in place to make sure those systems were maintained exactly the way IT administrators need them to be in order for the software to work. Let's stop the insanity, let's get our money's worth out of IT systems.

Vision - Rapid Application Development (RAD). The RAD tool is a development environment design pioneered and championed by Borland. The concept was to create a visual development environment where the programmer could lay out the various windows and controls on those windows which users of the software will see. Then they attach program code to those visual controls to define behavior, business logic, and other sorts of things the computer should do as the user interacts with the visual controls. Due to their ability to create efficiency and productivity for software developers, tools such as the ones from Borland have been very popular among software developers. Sadly, due to the incorrect shift in IT system design, today there is not much emphasis on leveraging RAD tools to their fullest. Borland has their tools up for sale at this point, and while not required for LFSF's success with Rexxphi™, LFSF would be interested in seeing Borland's quality line of development tools as OSS/FS projects.

This Rexxphi™ will leverage the Open Object Rexx language as its development language. Rexx has not had a good RAD environment for several years now since both the VisPro Rexx and VX-Rexx tools are no longer developed. The timing is right for the re-introduction of a RAD tool for the Rexx language thanks to IBM's generous contribution of their Object Orientated version of Rexx to the open source community.

Application Server - In true Client/Server designs, there is both a client and a server. Where the RAD tool helps develop the client side, the RAD tool still needs an application server which can be leveraged to quickly work with data right where it is stored on the server. The vision behind the Client/Server edition of Rexxphi™ is to leverage the great performance and stability prepositions which a robust Application Server can offer. By utilizing the standards which have been developed over the past 15 years, the next generation of Client/Server need not be complicated nor proprietary.

Additionally, through leveraging OSS/FS Grid technology, the Rexxphi™ Application Server can itself be scalable and fault tolerant. No need to invent proprietary fail-over technology, load-balancing, other otherwise. Making the Rexxphi™ Application Server Grid ready means that a number of servers could be configured as Rexxphi™ Application Servers and run any number of applications written with the tool. For example, while the Rexxphi™ Application Server is busy running the SysCaster System Management software after hours, during the day the same servers can run the organizations CRM or ERP software.

Copyright © 2006 by Lueck Free Software Foundation™
Last update:   28 June 2006