StarData GmbH

TLGen - EJB3 Code-Generator

 

StarData GmbH

 

0. News

November 2008

Aufgrund von Missverständnissen was TLGen eigentlich ist, wird hier bald ein Forum zu finden sein. Desweiteren richten wir gerade ein Entwickler-Blog für mehr Informationen ein und haben die Seite erweitert!

Oktober 2008

Die neue Version 1.004 ist freigegeben und bald ist die Version 2.0 verfügbar, einfacher in der Handhabung und mit besserer Generierung.

 

1. Beschreibung

1.1 Wozu?

Wozu TLGen? Weil wir uns in unserer langjährigen praktischen Erfahrung in der Entwicklung von Unternehmen-Backend Projekten überzeugten, das eine unternehmensfreundliche, vollständige und schnelle Backend-Code - Generierung möglich ist. Zum Beispiel beinhaltete eines unserer Projekte mit 50 Datenbank-Tabellen ca. 230 Backend-Java-Klassen (50 Entity-Beans mit ihren 50 Manager-Klassen und 50 Interfaces, ca. 10 Session-Beans, 50 Data-Objekte, einige Backend-Klassen, z.B. konstante Klassen usw.).

Nehmen wir an, wir haben bereits unser Datenbank-Modell und wir benötigen max. 2 Mannstunden für einen erfahrenen Programmierer für die Entwicklung, Programmierung sowie das Testen je folgender Klasse wie z. B. einem Entity-Bean (mit den get-, set-, create- Methoden usw.), deren Schnittstelle, ihrer Manager-Klassen oder dem entsprechende Daten-Objekt. Dann haben wir 200 * 2 = 400 Mannstunden. Für die anderen 30 Klassen (Session-Beans usw.) setzen wir wegen der Komplexität max. 8 Stunden voraus, somit haben wir weitere 8 * 30 = 180 Mannstunden. Dividieren wir die Summe aller Stunden durch 40 Arbeitsstunden einer Arbeitswoche, so ergeben sich 580/40 = 14,5 Wochen = ca. 3.5 Monate.

Jetzt erstellen wir diese Klassen mit einem erfahrenen Programmierer mit Hilfe von TLGen und gehen auch davon aus, dass ein Datenbank-Modell bereits besteht. In max. 2-3 Tage ist die Konfigurationsdatei erstellt, TLGen generiert in 5 Minuten die 230 Klassen zusammen mit den Test-Klassen und für die Überprüfung des Codes sollten max. 20 Stunden für die kompletten Test ausreichen.

TLGen in hours/person                       
1xmax.24h=24h/p(config-file)
1x20h=20h/p(testing)
=44h/p=5,5days
Programmer for creating, programming, testing in hours/person
180x2h=360h/p(Entity-Beans,interfaces, Manager-Classes,Data-Objects)
101x3h=303h/p (Session-Beans, other classes)
=663/40=16,6weeks/p = 4month/p.

Zurzeit ist es beliebt mit David A. Wheeler „SLOCCount“ die SLOC (Source Line of Code) und Ihren Wert zu ermitteln (nach seinem vervendeten Modell). Es liefert nicht den wahren Wert, aber wir waren auf das Ergebnis, welches dieses liefern würde, gespannt. Also ließen wir das Programm auf drei unserer generierten Klassen los, 1 Entity-Beans (74 get/set/create/add-Methoden für 34 Spalten einer Tabelle), 1 Session-Bean (26 Methoden) und 1 Manager-Klasse (8 Methoden z. B. flush, create, update, remove, findByPrimaryKey, usw.). Folgende Ergebnisse lieferte „SLOCCount“: 923 total physical source lines of code (SLOC), the development effort estimate 2 month, 6 days for one person (Basic COCOMO model) and the total estimated cost to develop = $ 24,837 (average salary of $56,286/year)

1.2 TLGen

StarData GmbH

TLGen ist ein Java-Code-Generator, der auf Basis eines Datenbankmodells und einer Konfigurationsdatei alle notwendigen Backend-Klassen/Dateien nach der EJB3-Spezifikation generiert.

TLGen generiert alle Session- und Entity-Beans, Manager-Klassen und Daten-Objekte mit den dazugehörigen Interfaces sowie die für EJB3 notwendigen XML-Dateien.

Das gesetzte Ziel von TLGen ist, durch die komplette Generierung der Backend-Klassen/Dateien, Kosten für die Softwareentwicklung zu sparen. Dies wird durch die vollständige Umsetzung von objekt-orientierten Vorgaben und dem strikt strukturiert generierten Java-Code ermöglicht. Dies senkt die Kosten für Wartung und Weiterentwicklung.

Die Verwendung von TLGen für die Softwareentwicklung reduziert die Menge an Code auf dem Server. Der Entwickler kann sich voll und ganz auf das Programmieren der Fachlogik konzentrieren. Durch Generierung des Codes wird zudem der Zugriff auf die Daten-Objekte vereinfacht.

Fast jedes Projekt verwendet heute eine Datenbank (z.B. eine Webseite) und um diese Daten einfach über Objekte in die Applikation zu verwenden, muss man dafür üblicherweise Objekt - Datenbank-Daten Mappings im Backend erstellen, was sehr zeitaufwändig sein kann!

Genau das erledigt TLGen! Es generiert den kompletten Backend-Code mit Hilfe einer Konfigurationsdatei und dem Datenbankmodell (direkt aus den Datenbank-Tabellen und egal welcher Datenbank) und das noch für Ihren Applikation-Server (egal welcher)!

Desweiteren werden dazu wie gewünscht die Session/Manager-Klassen etc. generiert, mit denen man z.B. eine Methode wie "findByName" gewisse Daten-Objekte aus der Datenbank holen kann oder eine Methode, um Daten-Objekte eine Zeile "upzudaten".

 

2. Download/Dokumentation

TLGen ist Freeware und unter dieser Lizenz verwendbar. Das Copyright liegt bei der StarData GmbH. Für Fragen mailen Sie bitte an support AT logicsys DOT org.

Version 1.x

VersionLinkDokumentation
1.004tlgen3_v1004.zip Doku (.html) (.pdf) (.txt)

 

... für mehr Informationen besuchen Sie doch auch die StarData GmbH