|
From: | ibenheni |
Subject: | Re: [Oracle Forms replacement] Ways to start this project |
Date: | Wed, 07 Mar 2012 18:10:09 +0100 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.27) Gecko/20120216 Thunderbird/3.1.19 |
Hi, As a developer in the gnu-kopi package (distributed under GPL), i want to introduce to you the kopi suite, not only as a replacement for oracle forms but also as a complete framework to develop enterprise-level database-aware applications. The kopi suite contains a set of several tools, among which 3 are the most important: - Kjc: a java compiler written entirely in java (it was the first free java compiler written in java when first released in 1999); - XKjc: a compiler extending the java language with seamless integration of SQL (even mixing java and SQL in the same _expression_), new primary types (e.g. Date, Time, nullable types) and operator overloading (like in C++); - VKopi: a textual language to create dynamic forms, reports and printable reports linked to the database in a simple manner (a visual library deals with all swing stuff, another library deals with all database stuff); - other interesting tools (a java assembler, a java disassembler, ...). Also, some of the features of the kopi suite: - applications are generated in JVM bytecode, so they are cross-platform; - localization is done through simple xml files; - the kopi framework is based on java, so java classes and libraries can be used; - interfacing with numerous DBMS using JDBC (e.g. Oracle, PostgreSQL, DB2, MaxDB, MySQL); - compile-time verification of SQL requests by referring to a file describing the DB schema in SQL; - multiple triggers can be executed on the form fields (e.g. entering a field, leaving a field, changing the value, ...); - different commands, modes, acces rights are applied to the fields and blocks in forms; - a common library containing typical commands, types, forms; - and many other features. I want also to mention another open source tool developed by KopiLeft called tanit. It is a tool that translates from PLSQL, Oracle Forms and Reports (version 3) to a kopi application. So, it may be an interesting solution to migrate easily from Oracle. As a conclusion, i think that the kopi framework can be a stable open source solution for developing database based applications. We have already thousands of kopi forms used by our customers and some of our customers use kopi applications to deal with databases containing millions of records with no problem. So it is not an emerging project but rather a mature one. Nevertheless, there are many facts that prevent kopi from being wide-spread (even though it is is a gnu package) and i think the main fact is the lack of documentation and demonstration. My suggestion is the following: instead of developing a new replacement for oracle forms from scratch, why not contribute to the improvement of the kopi platform. As an improvement example, we are making effort to make kopi generate web applications in addition to desktop swing based ones (in the fashion of: write once compile for both desktop and web, interesting, isn't it?), and we already have a working beta version but a really bugging one. We really need the help to take gnu-kopi to the next level. I am personally going to start documenting the kopi project in order to make it accessible to as many people as possible. If you have any ideas about how i should start, they are welcome. Should i start by writing a quick start guide, making a video tutorial, publishing screenshots of existing kopi generated applications, ... ??? You are also welcomed to post to our forum (it is still empty, what a shame): questions, criticisms, how to, problems, bug report, suggestions, ... http://forum.kopileft.com/ Here are the links for the kopi and tanit projects (hosted on sourceforge): http://sourceforge.net/projects/kopi/ http://sourceforge.net/projects/tanit/ ------ regards Imed Ben Heni ICT engineer / Java developer KopiLeft - Tunisia On 03/06/2012 08:44 PM, Andrew Russell wrote:
|
[Prev in Thread] | Current Thread | [Next in Thread] |