Schroedinger is the combination of Apache Tomcat with a nice, clean Swing GUI. It provides an easy way to create and test JSP and Servlet Web applications. It records every JSP/HTTP activity so that every possible bug can be corrected immediately. Schroedinger can be used in personal mode, which prevents others from using its JSP Server while you develop the application. Alternatively, Schroedinger's working directory can be opened via file-sharing, so that a JSP can be copied to any computer of the JSP development team.
Gtk2::Ex::DBI is a Perl module that is used in conjunction with Gtk2::Perl and Gtk2::GladeXML to give data-aware "form" functionality. The programmer creates a database form with Glade2, and then creates a Gtk2::Ex::DBI object, which then "binds" a DBI data source to the form, managing querying, navigating records, applying updates to the database, and error handling.
DatabaseToUML reverse engineers a database schema from an existing relational JDBC database. Tables and fields are reversed to classes and attributes, constraints are reversed to association, and tables composed only of foreign keys are converted to many-to-many associations. The main idea is to reuse the reversed model in a generator, taking UML2.x (EMF XMI 2.0/2.1) models as input.
SMDB is a small, portable database library that exports an API similar that of GDBM and allows for the simple storage and retrieval of key/data couples. The library is totally system independent due to the use of externally supplied interface pointers. File locking is left to the caller, allowing single instance users to not pay the the price (in terms of performance and portability) of the locking framework. It supports transactions, multiple tables inside the same DB file, and is less than half the size of GDBM.
pg-python provides access to Python from PostgreSQL. It contrasts with the built-in procedural language by interfacing with PostgreSQL types rather than converting them. This allows large instances of data types to be handled with greater efficiency while also allowing reasonable support for arbitrary data types without the need for a specialized implementation. Procedures are managed as entire modules so that initialization can be performed naturally by a stored procedure (each PostgreSQL function has a "main" entry point). Import statements may exist in a more natural position, and the "main" entry point may be decorated.