Eclipse Data Tools Platform

Im Sommer 2005 wurde das Data Tools Project ins Leben gerufen.

The Data Tools Platform (DTP) project will include extensible frameworks and exemplary tools, enabling a diverse set of plug-in offerings specific to particular data-centric technologies and supported by the DTP ecosystem. In the spirit of Eclipse, the project will be guided by the following values:

Vendor neutrality
Extensibility
Community Involvement
Transparency
Agile development

Es handelt sich dabei um eine Sammlung von Plugins die die Erstellung von DB spezifischen Tools erleichtern soll. Hier eine kurze/nebulöse News 😉
Zitat:

[…] Seine Elemente umfassen unter anderem über Templates generierte Datenbanktreiber, Datenbank-Verbindungsprofile, einen Datenbanktabellen-Explorer und SQL-Werkzeuge – mit anderen Worten: es vereinfacht die Verbindung zur Backend-Datenbank […]

Was sind den über Templates generierte Datenbanktreiber??

Im Januar 2007 äusserte ein Autor in diesem Artikel die Hoffnung das Eclipse für Qualität und Innovation sorgt und den DB Tools Markt in Bewegung bringt… Nun ist 2008 zur Hälfte verstrichen aber der Knüller ist das DTP bisher nicht?! Hat es schon jemand genutzt?

Und noch ein: „free cross platform database tool“

Auf javalobby bin ich auf den Epictetus Database Manager gestossen:

Epictetus – free cross platform database tool. Currently supports Oracle, MSSQL, MySQL, Firebird, HsqlDB. Latest version is 0.3 beta. It’s not final release but you can download and use it already

Dabei handelt es sich um ein weiteres DB Tool, diesmal aber auf Basis der Netbeans RCP. Diese Gattung scheint etwas seltener zu sein 😉 Das aber nichts an der Tatsache ändert, das es scheinbar zum guten Ton gehört das jeder Entwickler sein eigenes Tool in diesem Bereich erstellt… ganz besonders unter Java-Entwickler!

Instant SQL Formatter

Auf dieser Seite gibt es einen netten Online SQL Formatter:
Instant SQL Formatter er kann dort auch heruntergeladen und in eigene Anwendungen eingebunden werden. Dazu gibt es versionen für NET, COM and VCL.

Das sagt die Webseite:

General SQL Parser adds powerful sql processing capability to your program, including sql syntax check, beautify complex sql code with lots of customizable format options, identify various database objects such as table, column, constraints in sql scripts, modify and rebuild sql on the fly, translate sql expression into a binary expression tree that ready for your further processing such as creating filter, and you take full control of sql with detailed parse tree of the whole input sql.

General SQL Parser is designed to deal with SQL statement used by different Database Such as Oracle,DB2,Informix,Sybase,Postgres,MySQL and so on. And it conforms to most of the entry-level SQL99 Standard.

Mogwai ER Designer

Der Mogwai ER Designer ist ein ER Modellierungstool wie z.b. ERWin. Es ist Open Source und wird bei sourceforge.net gehostet. Das sagt die Webseite:

The Mogwai ERDesigner is a entity relation modeling tool such as ERWin and co. The only difference is that it is Open Source and does not cost anything. It was designed to make database modeling as easy as it can be and to support the developer in the whole development process, from database design to schema and code generation. This tool was also designed to support a flexible plug in architecture, to extend the system simply by installing a new plug in. This way, everybody can implement new features and tools to make ERDesigner fit the requirements.

ERDesigner NG is based on Java and can be run on Windows and Unix systems
has a powerfull WYSIWYG for physical database design
handles tables, relations, indexes and comments
supports subject areas
supports MySQL, Oracle, Microsoft SQLServer and Postgres
creates the SQL DDL statements for schema creation
has an integrated schema version control system
can generate schema migration scripts for every change
stores the database definition as XML files for further processing
can export the database schema as GIF, BMP, JPEG or SVG files has an integrated reverse engineering module for existing schemas it is based on GPL license support is available by authors and newsgroups

SQL Prompt von Red Gate

In den letzten Tagen bin ich auf dieses Tool von Red Gate aufmerksam geworden: SQL Prompt
Da ich mich schon seit einiger Zeit selbst mit SQL Editoren beschäftige, bin ich natürlich immer neugierig was die Profis so zu bieten haben. Die Demo sieht richtig gut aus. Sobald ich etwas Zeit habe werde ich mir die Testversion mal genauer ansehen.

SQuirreL SQL und NetBeans?

SQuirreL SQL ist ein sehr guter Java basierender SQL Client. Dieses Tool verwendet JDBC um sich mit jeder beliebigen Datenbank zu verbinden. Einzige Voraussetzung: Ein JDBC Treiber muß vorhanden sein.
SQuirreL ist OpenSource und wird bei Sourceforge gehostet. Ins leben gerufen wurde das Projekt von Colin Bell ich denke es war im Jahr 2001. Jedenfalls sagt das der Copyright Eintrag in der Klasse: Main.java.
Einige Jahre später hat dann Gerd Wagner ins Geschehen eingegriffen. Colin und Gerd sind bis heute die Projektadmins bei Sourceforge. Die Bedienung und die Leistungsfähigkeit sind super und die Möglichkeiten sehr umfangreich. Man bemerkt beim arbeiten das das Eichhörnchen schon einige Jahre reifen konnte und durch viele kleine gute Features überzeugt. Jetzt ist Schluß mit der Lobhudelei 😉
Leider konnte das UI mit dem Fortschritt nicht mithalten. Es wirkt etwas in die Jahre gekommen:

SQuirreL SQL UI

Aber es ist ja OpenSource. Also nicht lange meckern: Anpacken! Gesagt getan. Um nicht das Rad neu zu erfinden, habe ich mich auf NetBeans gestürzt. Genauer, auf die NetBeans Plattform. Hier ein Auszug der Beschreibung aus Wikipedia:

Die NetBeans Platform ist eine Anwendungs-Laufzeitumgebung – eine Basis für eine generische große Desktop-Anwendung. Die meisten Anwendungen haben ähnliche Anforderungen: Menüs, Dokumentenmanagement, Änderungen von Einstellungen und so weiter. Die NetBeans-Plattform erstellt beispielsweise Menüs oder generiert Code für das Speichern von Einstellungen. Der Entwickler muss seinen Anwendungscode als ein NetBeans-Modul erzeugen und dieses der Plattform hinzuzufügen, um eine plattformunabhängige Anwendung zu erstellen. Die NetBeans-Plattform soll es ermöglichen, dass Entwickler sich auf die Geschäftslogik als wesentliche Aufgaben konzentrieren und somit Zeit und Aufwand sparen.

Mehr Details gibts hier.

SQuirreL nutzt derzeit bereits einen kleinen Teil der NetBeans Plattform. Der SQL-Editor basiert auf dem Netbeans-Editor. Er bietet SQL-Code-Vervollständigung und eine automatische Syntax-Überprüfung. Er verfügt über nützliche Shortcuts für Bookmarks und mit Ctrl-Space löst man die IntelliSense Funktion aus (Autovervollständigung von SQL-Befehlen).

Meine ersten portierungsversuche mit SQuirreL und Netbeans kann man auf den Bildern unten sehen:

SQuirreL on NetBeans: SQL History

SQuirreL on NetBeans: JDBC Panel

SQuirreL on NetBeans: Session Panel

Um diese Stand zu erreichen waren Eingriffe an vielen Stellen im SQuirreL Sourcecode nötig. Leider wird oft direkt mit JInternalFrames gearbeitet, was eine schlanke Anpassungen durch ein paar wenige Refactorings verhinderte. Mit dem derzeitigen Stand kann ich sagen das der Umfang des Packetes „SQuirreL“ beachtlich in die Höhe geschnellt ist.
Wegen des großen Aufwands bin ich von diesem NetBeans Weg nicht mehr so ganz überzeugt. Der Aufwand\Nutzen steht in keiner guten Relation. Erst wenn mehr Funktionen der NetBeans Plattform zum Einsatz kommen würden, sähe es wieder besser aus. NetBeans hat z.b. ein feines Modul System, ein Auto-Update-Mechnismuss, Shortcut Verwaltung und vieles mehr. SQuirreL könnte durch eine vollständige Portierung auf die NetBeans Plattform z.b. Syntax Hightlighting für XML anbieten. Auch das bekannte Problem mit sehr großen SQL Statements im SQL Editor wäre gelöst. Allerdings ist diese Anpassung noch ein unbekannte Größe für mich. Der SQuirreL Editor beruht bereits auf dem NetBeans Editor, dies allerdings in einer sehr alten Version. Gerade seit NetBeans 6.0 hat sich in der Verwendung\Einbindung des Editors einiges getan (Projekt: Schliemann)
Aber, gestartet bin ich ja in der Mission das Frontend zu polieren. Also zurück zum Thema: Ich werde den NetBeans Weg erstmal nicht weiter verfolgen sondern nach einer Alternative suchen.
um dem Eichhorn ein frisches UI zu verpassen 😉
Wer an den Sourcen interessiert ist, kann sich gerne melden!