Search
in:
Login
[ register | I forgot my pass ]
standard | secure
Translate this page
print pdf

Aubit x4GL Compiler Home Page

About

Aubit compiler is software that translates x4GL programming language into executable programs, enabling fast and productive creation of BRDO applications utilizing x4GL programming language. Features include embedded SQL and 3GL programming languages, connectivity to many relational databases, character/GUI/web-based user interfaces, multi-format reports generation, and many other advanced development options.

As most OpenSource projects are, Aubit project was created by developers trying to "scratch there itch". Most of the Aubit project developers are BRDO applications developers themselves, often professional consultants, that especially appreciate how competitive (read: productive) using 4GL technology makes them.

It is generally accepted that an 4GL developer can create or maintain BRDO application in far less time, and with far more predictable results, then developers utilizing any other development tools available for BRDO development. However, perception, technical limitations, as well as marketing positioning of available commercial x4GL tools were threatening our ability to continue to benefit from above competitive advantages. So we decided to address these shortcomings.

Some of specific frustrations that motivate us include:
  • Available x4GL commercial products were perceived as "legacy" technology, simply because x4GL it is more then few years old, and lacked the marketing fireworks large vendors pour millions in for "modern" technology. Instead, we prefer to be evaluated based on productivity, project success rates, and performance. Existence of x4GL product as active, successful and with an open development process, clearly removes x4GL technology from the list of "legacy" technologies.
  • Since the original x4GL product (Informix-4GL) was owned by a single company, the whole technology was labelled "proprietary" with all the negative connotations that brings. We wanted to clearly demonstrate that is no longer the case, and that feature of x4GL technology is guaranteed, as well as open, as long as there is a single person interested in maintaining Aubit Compiler.
  • The reason for the 4GL technology concept loosing ground to 3GL technologies in 90', was a failure of commercial 4GL providers to follow closely emerging technologies, such as GUI and web browser interfaces, and more recently, XML and Web services. Many vendors appreciated productivity gained with x4GL tools, but simply did not have a choice if they needed to utilize emerging technologies to stay competitive. We work hard to remove reasons for this unfortunate step backwards. After decades of trying to compensate for shortcomings of 3GL technologies in BRDO space (using never realized promises of OOP (primarily re-usability), component development model, "Agile" development methodologies, attempting to migrate complexity of languages to development environments, etc.), we feel that it is time to re-evaluate reasons for inability of 3GL technologies to deliver. Key to enabling this process, is to remove reasons that cause the reversal of gears in the first place.
  • Marketing positioning of most commercial providers of 4GL technology was in conflict with our primary goal - staying competitive in the marketplace as BRDO application developers and consultants. Lack of marketing and technology promotion, as well as simple financial issues such as charging for a run-time, , and are, in conflict with realities of the marketplace, where vendors can source and utilise technology platforms such as Java without any purchase or licensing costs. Relatively small size of most commercial vendors was also limiting to there marketing budgets, and to make even worse for the cause of technology promotion, some vendors instead of addressing the issues, tried to disassociate themselves form 4GL technology.
  • "Closed-source" as such is in many cases in the conflict with ability of technology developers, such as BRDO application developers. It limits developers ability to resolve issues, enhance existing, or implement new functionality. Essentially, its "their" way or highway. Resolving issues becomes "working around", and implementing new functionality becomes "ask and pray", or "glue & No. 8 fencing wire" exercise. Complete lock-down found in most 4GL commercial tools (often forced by the need to enforce licensing), including the lack of even basic extensibility methods, puts us in a position of car mechanic that is trying to work on an engine under the hood welded shut.

Aubit x4GL Compiler is created with following goals in mind:
  • Full compatibility with Informix-4GL, and as high as possible compatibility with other x4GL compilers
  • Complexity is migrated as much as possible, from end-users to x4GL software developers, and from x4GL software developers to Aubit compiler developers.
  • Flexibility for x4GL developers takes priority, as long as it does not increase complexity for end users, or conflicts with philosophy of 4GL concepts
  • Following closely technology options available, including emerging technologies that benefit development and deployment of BRDO applications, and incorporating them in the x4GL framework in form of pluggable extensions (plug-ins) instead of creating monolithic solutions.
  • Abstracting particular implementations of underlying technologies as much as possible, using API/plug-in architecture and by extending x4GL language syntax to encapsulate multiple implementations that are selectable at run-time.
  • Extending x4GL language syntax with goals of encapsulating new technologies as well as enhancing productivity for x4GL programmers, while maintaining the spirit of original language syntax.
  • Remove the risks associated with proprietary technologies (lack of support choices, vendor lock-in, unpredictable product future and directions), and remove perception of x4GL as the "legacy" technology.

This goals are discussed in more detail, including specific implications of each goal of the users of Aubit Compiler on the "Aubit Strategy, goals and philosophy" (Or, What Does It Mean To You) page. (TODO)

Features and Benefits

Benefits of Aubit compiler for users steam from two primary sources; first one is created by technical features of the software itself, while the other side, possibly even more important to many users, is based on the fact that all software developed by Aubit project is released under OpenSource GNU/GPL license. Most, if not all, license derived benefits are not available in comparable commercial products.

Compared with 3GL (Third Generation Languages - C/C++, C#, Java, PHP/ASP/JSP, etc.), when used for development of BRDO (Business Related, Database Oriented) application, main benefit of Aubit Compiler comes from the x4GL programming language, in terms of developers productivity and application maintainability. Low-level flexibility of 3GL languages is preserved by directly embedding them into 4GL syntax, as well as by offering several implementations of IPC and RPC communication (Inter-Process Communication and Remote Process Communication) and with ability of compiled x4GL applications to utilise compiled 3GL libraries at run-time, using several mechanisms (linking, dynamic loading). Interpreted languages (Perl, Python, PHP, etc.) can be utilised via wrapper tools, such as SWIG.

Key technical benefits:
  • Fully role separated architecture, utilising dynamically loadable plug-ins and well-defined set of API's
  • Fully configurable behaviour, with global, user, location and application granularity
  • Embedded 3GL languages syntax in x4GL language allows unique "High-Low" approach to developers flexibility to utilise low-level languages (such as C), while fully maintaining productivity of higher level language (x4GL)
  • Broad range of supported platform and technologies choices. (See Components, purpose and development status page for full list)

Key license benefits:
  • Free to use, in both OpenSource and commercial environments
  • Full source code available, which enables users to adapt, maintain, and enhance it themselves, or delegate this tasks to any vendor or individual they prefer as there services supplier
  • Both vendors and individuals are not only able, but encouraged, to participate directly in the development process, enabling them to directly influence products direction and priorities

Benefits of OpenSource development methodology and licensing, in general, applies to all software released under one of OpenSource licenses. In-depth general discussion of this benefits can be found HERE. (TODO)

Important Links

Here are some important links, to begin exploring the Aubit Project and Aubit x4GL Compiler:
  • Components and development status - Lists in detail each component of Aubit compiler, including all compilers, libraries, plug-ins, utilities, ports, etc., there purpose, development status, and more
  • 3rd party components - Dependencies and optional 3rd-party components used by Aubit 4GL compiler
  • Documentation - Catalogue of all available sources of documentation and information
  • Downloads - Full list of all sources and options for obtaining software developed in Aubit Project

What to do next?

A few suggestions to get you started:
  • See a presentations on OpenSource, x4GL technology, and Aubit Project & Compiler (on Documentation page)
  • Take a look at the available documentation, and proceed to Download page.
  • Follow the installation instructions (QuickStart HowTo) to install compiler and compile your first program
  • Choose and utilise appropriate technologies from Components and development status, following the manual
  • Join the discussion mailing list, so you can get help, and provide feedback to developers
  • Help decide on Aubit4GL future by suggesting features for Aubit4GL Version 2 Aubit4GLV2

Join us! (Or, How to help us to help you biggrin)

Main benefit of OpenSource development process is the ability to participate, share, and contribute. Success of all OpenSource projects depend on there ability to attract user participation and contribution. Here are some ways to become active in Aubit project development process:
  • Naturally, use Aubit x4GL compiler; read the documentation, install and use software. A successful user base is what makes a successful OpenSource project
  • Provide feedback to developers; report issues, discuss your needs and ideas. To do so, join the Email Discussion List
  • Log bugs in the Bug Tracking system; remember - we can't fix what we don't know about!
  • Help promote Aubit Project by talking to your colleagues at work, maybe even give a presentation using available downloadable presentation slides
  • If you or your company feel as passionate about this project as we do, and can see a clear benefit in helping us, there are several other ways to contribute, for example:
    • Help us maintain our web site, by sharing your knowledge and experience.
    • Write an article documenting your experiences
    • Join our documentation effort, by enhancing our manuals and other forms of documentation
    • If you have programming skills in C, Perl, or other 3GLs, take a look at the Aubit source code. See if you can "scratch your itch" and share your results with others
    • If you have x4GL skills, take a look at "x4GL Applications Repository" project (link in left pane)
    • Help us port Aubit software to your favourite operating system, or database, that you have good knowledge of
    • If you don't have time to contribute with direct participation, there is always the option of donating money that will enable active developers to spend more time working on Aubit project. Follow the link found in left menu pane, "Donate To Aubit Project"

The best way to start your involvement with Aubit Project is to join the mailing list. See "Features Links" section in left pane menu bar.

Welcome!

Created by: afalout last modification: Friday 13 of October, 2006 [15:27:32 UTC] by mikeaubury



This project is hosted by:

This project is hosted by SourceForge
rss Wiki rss Blogs rss Articles rss Image galleries rss File galleries rss Forums rss Maps rss Directories
[ Execution time: 0.59 secs ]   [ Memory usage: 11.22MB ]   [ 71 database queries used ]   [ GZIP Enabled ]   [ Server load: 1.00 ]