database applications development
Rapid Application Development Library 2.8.3
Rapid Application Development Library 2.8.3 is yet another excellent utility you should not miss. It is actually a C language library developed to abstract details of interprocess communications and more>>
Rapid Application Development Library 2.8.3 is yet another excellent utility you should not miss. It is actually a C language library developed to abstract details of interprocess communications and common linux/unix system facilities so that application developers can concentrate on application solutions. It encourages developers (whether expert or novice) to use a proven paradigm of event-driven, asynchronous design. By abstracting interprocess messaging, events, timers, and any I/O device that can be represented as a file descriptor, radlib simplifies the implementation of multi-purpose processes, as well as multi-process applications.
Radlib greatly improves typical process performance through the use of shared memory buffers to avoid costly "malloc" and "free" library calls. These buffers are used for interprocess messages. radlib utilizes shared memory constructs to provide global message queue management and global "Queue Groups" for increased interprocess communications flexibility. All shared resources are semaphore protected to avoid issues with concurrent access.
In short, radlib is a sincere attempt to provide real-time OS capability on a non-real-time OS. It has been successfully deployed on linux, MacOSX and FreeBSD but there is no reason it would not build and run on any flavor of unix supporting System V IPC.
Specifically, radlib provides fast system buffers, a simple config file utility, events, doubly-linked lists, process logging through syslog, message queues, semaphores, shared memory utilities, timers, stacks, state machine utilities, a process framework, a process management utility to start/stop groups of processes, optional MySQL or PostgreSQL database API, a straightforward TCP/streams socket API, a UDP/datagram unicast/multicast/broadcast API, CRC and SHA utility APIs, and other assorted system utilities.
An example application template is provided in the distribution (see the "Example Application Template" link in the left column of this page). The template example serves two purposes: it demonstrates, through source code inspection, how a well constructed radlib process is implemented and it provides an example build environment with the capability for someone new to radlib to build and execute an example application "right out of the box".
Proprietary forms of radlib have been used in several mission-critical commercial applications with excellent results. It is light yet very powerful and efficient in real time. radlib is BSD-licensed (free to use in binary or source forms) and distributed as source to be built on the target platform. Build instructions are included in the distribution. See the file "COPYING" in the distribution for details concerning open source software and the BSD license.
Major Features:
- Includes SQLite3 support.
- Can be used on both 32 and 64 bit platforms with no special configuration required.
- Supports native development on the LinkSys NSLU2 as well as binary package support for radlib applications. See the README file for details.
- Includes a new message router daemon and API. This new paradigm simplifies interprocess communications substantially. See radmsgRouter.h for details.
- Includes a new example template which demonstrates multiprocess applications and the new message router API. See template/README in the distro for details.
- Built with libtool which generates shared libraries as well as static if supported on the build platform. Header files are now C++ friendly and radlib can be linked with C++ applications. LIST and LIST_ID were changed to RADLIST and RADLIST_ID to avoid problems with newer versions of MySQL.
- Includes SHA-1, SHA-256 and CRC16/32 utilities. See the header files "radsha.h" and "radcrc.h" for details.
Enveria IDE for Rapid Application Development 0.3
Enveria IDE for Rapid Application Development is an intuitive platform for programming robust GUI (graphical user interface) sof more>>
We have launched the Enveria RAD IDE as an open source application (https://sourceforge.net/projects/enveria). Previously, the Enveria IDE was utilized as an internal development tool at Kaizen Denki Inc. -- a Toronto-based software and web development house.
Enveria is free to use for non-commercial purposes under the GPL. Users who wish to use Envria in a commercial capacity should visit the Kaizen Denki home page at http://www.kaizendenki.com.
Major Features:
* An interface that maintains an look and feel that is intuitive for those familiar with IDE software, while user friendly enough for those who are not.
* Backed up by the power of the ubiquitous C programming language. We have chosen C because it is fast, stable, powerful, portable and has a long history of use in computing. An additional bonus for us was that the API for GTK+ (the widget set we use) uses C natively.
* Our use of GTK+ allows Enveria to tap into a well-supported widget set that is available for all major desktop operating systems. On its own, GTK+ is easy to use but with Enveria it is even easier. While Enveria RAD IDE can be an interface builder for GTK+/C programs (like Glade), its power is its capabilities as a complete development tool.
* Enveria can produce code without compiling for those who wish to enhance their applications manually prior to building. Enveria programs are optimized for Make/GCC, which is a widely used combination for C development on many platforms.
Programming languages, libraries, databases, and frameworks used to develop Enveria include:
* C
* MySQL
* SQLite
* GTK+ 2
Currently Linux is the main supported platform for Enveria RAD IDE.
At the same time, we are in the process of evaluating other target operating systems including: Mac OS X, Minix 3, BSD and others.
WAG Applications 0.6.3
WAG Applications provides a collection of WAG-hosted Web applications. more>>
WAG Applications is a collection of Web applications that are capable of being hosted by the Web Application Gateway.
WAG provides core functionality such as user definition, authentication, and administration, for all hosted Web applications.
Enhancements:
- Added application specific handlers to the wagErrorHandler function.
- Added is_email() function to functions.php which checks if a a given e-mail address is valid. It checks for all top level domains including the new ones (.biz, .info, .museum etc.) and the special ones (.arpa, .int etc.) as well as with e-mail addresses based on IPs (e.g. webmaster@123.45.123.45). (Function derived from PHP user contributed notes.)
- Enhanced the error reporting for both WAG and application database errors to include the server name and user name/id. This will help admins target problems if they are responsible for multiple WAG installations.
- Added "Date Added" and "Date Last Login" information to Administration > Users screen.
- Made style sheet changes related to form field fonts.
- Bug Fixes
- Validation of user e-mail addresses was not performed correctly and causing any valid e-mail address to be flagged as invalid.
- When admin changes a users password, the e-mail password, if configured, is also changed. This allows the admin to "lockout" a user from both WAG and e-mail if needed.
Calyxo Web Application Framework 0.9.0
Calyxo Web Application Framework encourages in MVC model 2 based web application development. more>>
It offers support for true modular applications, i18n, a flexible view manager, a powerful validation engine, and more! Calyxo is entirely written in Java and builds on the latest Servlet and JSP technologies.
The Calyxo project divides into several components
Calyxo Base - this component collects some of the basic, reusable classes used throughout all the other components. It introduces basic concepts like modules, i18n, accessors and so on...
Calyxo Control - this component implements the Calyxo controller. Calyxo uses an approach similar to Struts here, so Struts users should feel familiar with Calyxo from the start. Calyxo Control may be considered as the "main part" of the Calyxo platform.
Calyxo Forms - this component allows the definition of forms, along with all their validation steps and lets you map inputs to properties of a data object. Complex validations, dependencies between inputs and mapping an input to a set of properties are supported. The Calyxo Forms JSP tag library provides replacements for HTML elements related to forms.
Calyxo Panels - this component allows the definition of pages in a container/component manner. Pages are dynamically composed from a tree of page fragments. Panel definitions may be nested to arbitrary depth and may use inheritance.
Calyxo Struts - this component focuses on integrating Calyxo parts into the very popular Apache Struts framework. The Calyxo Panels and Calyxo Forms components may be used with Struts to replace Struts Tiles and the Struts Validator.
Lucidium Application Platform 4.0.2
Lucidium Application Platform project consists of a platform for the rapid and agile delivery of custom data/process application more>>
ucidium is an application development environment in which fully featured, custom, Web-based data/process solutions can be delivered using little or no code. After describing your data model to the platform, it will automatically create powerful search, list, review, and update screens.
Skins can be customized using XSL, and complex actions can be added using JavaScript or Java. Any relational data model and process can be described and delivered.
Available ERP type modules include HR, Accounts, Logistics, Project Management, Case Log, and Document Management.
Main features:
- A platform upon which data driven applications can be configured and deployed.
- Cuts development cost, risk, complexity and effort.
- Is a proven open-source Java solution.
PHP_Application 0.3b
PHP_Application is a platform for development of event-driven applications. more>>
The mechanism of distribution of events of the applications supports distribution of the directed and broadcasting events, and also provides synchronous or asynchronous processing events.
The structure of the application represents hierarchy of objects with various levels of abstraction. Functionality of the application is completely defined by a set of the objects included in the application, and interaction between them, i.e. a stream of events. The used structure of the application allows to operate a stream of events extending downwards on hierarchy of objects.
PHP_Application includes, also, two interchangeable libraries: HTML Component Library (HCL) and XML Component Library (XCL) which use, accordingly, HTML Template Engine and XSLT Processor for generation of page. Thus, the application can be adjusted easily for use of this or that way of generation of page.
To additional features PHP_Application concern: multilanguage support; the ability to control access of object properties; multilevel access to the data of tabulared and tree-like type and many other things.
Enhancements:
- In the new version support of Aspect-Oriented programming is added;
- the rendering system is refactored;
- many new classes are added;
- new examples and the documentation are added;
- many bugs are corrected.
Database Bean Generator 2.1.3
Generator is a command line application to facilitate the construction of small applications that need some database objects. more>>
Database Bean Generator isnt a replacement of complex object persistence solutions, like hibernate or TopLink but it covers a different target. The little java web applications that dont use sofisticated persistence options.
Generator invocation is simple, just type:
java -jar generator.jar -xml (config-file.xml)
where config-file is a xml config file with the definitions to connect to the database and generate the bean classes.
Main features:
- Generates classes to access via custom connection resources to database tables.
- Configuration files are in clear xml format and can be embedded or separate.
- Supports individual or global field updates.
- Supports custom set of Exceptions.
- Provides toXML function for each entity generated.
- Provides automatic generation of finders coonfigured in the xml configuration file.
- Provides some utility static methods via the BdUtils.java class generation.
- Generates an xml file with the database structure.
- Supports configuration of the methods that produces XML (String as CDATA, data as attributes or values, ...)
- Initial support for MySQL and Oracle (Oracle support is in initial stage at this moment).
- Provides an ant task for automatic integration builds.
- Supports transparent renaming of the generated class individual fields.
- Supports normal or CDATA output in individual fields.
- Supports utilization in all database methods with your own external connection.
- Preliminar support of a pluggable logging system (The goal is use log4j integration)
- Support for SEQUENCES in Oracle and AUTOINCREMENT in MySQL
- Support arbitrary raw code and imports from configuration file
- Correct treatment for NULL values of the fields in the generated class
Enhancements:
- Optionally, you may include the extra jars to get JSON support.
- JSON output for finders and generic JSON output for general have been added.
Python Integrated Development Application 0.5.1
Python Integrated Development Application is an IDE based around the idea of reusing existing tools. more>>
Python Integrated Development Application uses Vim as the editor, either with its traditional user interface or with a user interface that resembles more common text editors.
PIDA is different from other IDEs. Rather than attempting to write a set of development tools of its own, PIDA uses tools that the developer has available. In this regards PIDA is a framework for assembling a bespoke IDE. PIDA allows you to choose the editor you wish to use (yes, Vim out of the box works).
Although still a young application, PIDA can already boast a huge number of features because of the power of some of the tools it integrates. For example features such as code completion and syntax highlighting are well implemented in PIDAs integrated editors far better than any editor built for a commercial IDE.
Additionally PIDA insists on stealing excellent ideas from applications it cannot embed. For example the Rapid Application Development in the style of Microsofts development products is achieved by the combination of Gazpacho (a user interface designer) and Tepache (a code sketcher), via the text editor.
PHP Database Interface 1.0 RC4
PHP Database Interface is an easy to use PHP database interface. more>>
Installation
These are just a few notes installation notes regarding DBi and using it with your project
txtSQL support requires the following files from the release archive (currently 3.0 Beta is Supported) :
txtSQL.class.php, txtSQL.parser.php & txtSQL.core.php To be placed in the 3rdparty/txtsql/ directory or the location of your choice
fileSQL support requires the the following file from the release archive (currently 1.0 RC4 is Supported) :
fileSQL.php To be placed in the 3rdparty/fql/ directory of the location of your choice
Test data and a demo script is available in the demo/ directory
Simple Example
// The filesystem root path to DBi needs to be defined before the include
define(PHP_DBI_ROOT, C:/program files/apache group/apache2/htdocs2/modules/dbi/);
define(PHP_DBI_FQL, PHP_DBI_ROOT.3rdparty/fql/fileSQL.php); //Required for FQL Support
define(PHP_DBI_TXTSQL, PHP_DBI_ROOT.3rdparty/txtsql/); //Required for txtSQL Support
include_once("../dbi.php");
$interface = dbi::factoryControllerConstruction(); //create a new dbi object
// open a connection to the database (this will example will work with any
// of the interfaced databases
$interface->open_connection_now_persistent("fql&".PHP_DBI_ROOT."3rdparty/fql/data&demo");
//Select the entire contents of test2 table and store the first row
$inteface->ExecuteQueryAndReturnRow?(array(select => *, from => test2));
$results = $interface->fetchRowThenGetAnotherrow();
//Display the first row of results
print "First Row: ";
print_r($results);
print "< br >";
$interface->disconnect_fromDatabase(); // Closes connection to the database
Enhancements:
- The tableInfo function was added to return the schema.
- LIMIT was added to select functions for supporting databases.
- LIMIT emulation is available to all database types.
- Support for the Firebird database was added.
Task Database 1.0
Task Database brings users the convenience of an Adobe AIR application that effectively demonstrates Flex database capabilities. SQL database is created on your desktop. more>>
Task Database 1.0 brings users the convenience of an Adobe AIR application that effectively demonstrates Flex database capabilities. SQL database is created on your desktop.
Adobe Air is a Cross-operating system runtime that lets developers combine HTML, AJAX, Adobe Flash, and Flex technologies to deploy rich Internet applications on the desktop.
Companies like eBay, AOL, and NASDAQ are already using Adobe AIR to deliver engaging RIAs to their users' desktops. To run applications, you will need to first download and install Adobe Air on your computer.
<<lessThe Object Oriented Database Kit 0.5.8.1
The Object Oriented Database Kit is a set of tools to help database applications developers to handle database communication. more>>
Open Blue Lab 2.0.1 (Groupware/Project Management)
Open Blue Lab is a rapid application development framework for building Web 2.0 portal applications. more>> <<less
Mckoi SQL Database 1.0.3
Mckoi SQL Database is a Java relational database management system. more>>
The software can operate as either a dedicated multi-client, multi-threaded database server, or can be used as an embedded database inside a Java application.
The engine is designed to be easy to use and maintain and versatile for sophisticated database development tasks. The software provides a JDBC 2.0 driver.
To use Mckoi SQL Database, you will need a JavaTM runtime environment version 1.2 or greater. Sun provides Java runtimes for Win32, Solaris and Linux from their website at http://www.javasoft.com/j2se/. IBM also provides various Java runtimes for a number of platforms at http://www.ibm.com/java/jdk/download/.
When Java has been installed on your system, unpack the mckoi distribution file to a directory in your file system. Then you are ready to create a database and develop your database application.
Creating A Database
Before you can begin development of your database application, you will need to create and configure a blank database. The database configuration file describes all of the configurable properties of the database (details of the database configuration file are covered in the next section). The software ships with a default configuration that looks for a database at path ./data in your filesystem.
To create a database using the default configuration with an admin username of admin_user and password aupass00, go to a prompt, change to the Mckoi Database distribution directory and type:
java -jar mckoidb.jar -create "admin_user" "aupass00"
We do not advise using either this username or password in a production system. The user created here has full control over every aspect of the database so choose a username / password carefully.
When the command has completed, a sub-directory called data will have been generated. This directory is used to store data from the database. A sub-directory called log is also generated which stores debugging and query log information.
Database Configuration
When you run the mckoidb.jar package, it looks for a file named db.conf in the current directory. This file contains a number of variables that determine where the database looks for information, as well as other user-definable properties. The configuration file can be renamed and copied to a different location. If you change the configuration file location, you must supply the location when you run the database;
java -jar mckoidb.jar -conf [location of conf file] .....
You can edit the configuration file with a text editor. The default configuration file that ships with the software contains extensive comments on what each variable does.
phpCodeGenie 3.0.2
phpCodeGenie is a code writer/generator for PHP/MySQL applications. more>>
The database servers it can talk to via ADODB are :- MySQL, PostgreSQL, Interbase, Firebird, Informix, Oracle, MS SQL, Foxpro, Access, Sybase, FrontBase, DB2, SAP DB, SQLite and Netezza. While the core version generates mostly PHP Code, phpCodeGenie can be modified to generate code in any programming language - Perl, Java, C#, ASP etc..
phpCodeGenie attempts to generate these CRUD code so that programmers have a base they can work on. The core database access code and scripts are usually the same for most applications.
Rather than spending a lot of time doing these common code, we can spend our time on the business logic of our applications and let PCG do the boring code for you. phpCodeGenie can generate simple code for beginners where everything is done in the same PHP script or structure Object Oriented PHP Code that follows the PCG framework.
phpCodeGenie requires you to design your tables and then the genie can generate code for reading and writing to the database, the html forms to enter or edit data in the database, scripts to list data, scripts to delete data, search forms, search scripts among others.
phpCodeGenie can interact and generate code from many database servers - MySQL, PostgreSQL, Interbase, Firebird, Informix, Oracle, MS SQL, Foxpro, Access, Sybase, FrontBase, DB2, SAP DB, SQLite, Netezza, LDAP, and generic ODBC, ODBTP, through the ADODB Database Abstraction Library.
phpCodeGenie uses a plugin mechanism for the different code that it generates. While most the core plugins are plugins for PHP Code Generation, one can write plugins for any language, be it Perl, Java, C#, Visual Basic, ASP etc.. Basically, code generation is String manipulation. So it is very easy to make a new PCG plugin. Feel free to write your own PCG plugins and it would be nice if you could share it back with the PCG community.
DataReel 4.30
Datareel is a comprehensive development kit used to build multi-threaded database and communication applications. more>>
C++ is a programming language that produces fast executing compiled programs and offers very powerful programming capabilities.
Unlike interpreted languages such as JAVA and PERL the C++ language by itself does not contain built-in programming interfaces for database, communications, and multi-threaded programming.
By using DataReel you can extend the power of the C++ programming language by using high-level programming interfaces for database, communications, and multi-threaded programming.
The DataReel development package was produced by independent work and contract work released to the public through non-exclusive license agreements.
The initial work began independently in 1997 and was augmented from 1999 to 2004 by code produced under contract to support various applications.
Several developers throughout the World have made contributions to enhance the DataReel code and promote its stability.
In 2005 the DataReel code library underwent intense analysis to produce a bulletproof code base suitable for use in complex commercial applications.