Ziel dieses Blogs ist es, den Lesern das JMatter-Framework und seine Funktionen und Möglichkeiten vorzustellen. JMatter ist ein Software-Anwendungs-Framework. Es wurde speziell für die Entwicklung von Geschäftssoftwareanwendungen für Arbeitsgruppen entwickelt. Mit JMatter kann eine Vielzahl von Anwendungen entwickelt werden, z.B. Buchhaltungssoftware, Software für Anwaltskanzleien usw. Der Hauptvorteil von JMatter-Anwendungen ist die massive Verkürzung der Entwicklungszeit. Die Entwicklungszeit ist im Vergleich zu herkömmlichen Methoden der Softwareentwicklung unglaublich gering. Lassen Sie uns sehen, wie das möglich ist.
Die meisten Anwendungen haben eine Menge gemeinsamer Funktionen wie Anmeldedialoge, Authentifizierung usw. Die Entwickler verbringen die meiste Zeit mit der Entwicklung dieser gemeinsamen Funktionen. Technisch gesehen kann man diese als orthogonale Dienste bezeichnen, die für verschiedene Anwendungen allgemein gültig sind.
Einige dieser orthogonalen Funktionen sind Benutzeroberfläche, Abfragedienste wie z.B. die Anzeige aller Personen, die in einer Stadt leben, Validierung, Persistenz, Kalender, Protokollierung, Autorisierung, Reporting - die Möglichkeit, aus den von einer Anwendung verwalteten Informationen druckbare (PDF-)Berichte zu erstellen.
JMatter enthält die meisten dieser orthogonalen Dienste, so dass die Entwickler nicht bei Null anfangen müssen. Das wiederum hilft, die Entwicklungszeit zu verkürzen.
.. com.u2d.type.composite.Person com.u2d.type.composite.Business ..
Wir sind nun bereit, das Datenbankschema zu erstellen: $ ant schema-export Beachten Sie, dass JMatter hinter den Kulissen für jede Klasse eine Hibernate-Datenbank-Mapping-Datei generiert und schließlich Hibernate bittet, die DDL-Anweisungen (Data Definition Language) zu generieren und an die Datenbank zu senden. Standardmäßig verwendet JMatter die H2-Datenbank, aber wir können es so konfigurieren, dass eine beliebige Datenbank verwendet wird. Die Klassenleiste: JMatter gibt den Standardbildschirm für alle seine Anwendungen vor. Auf der linken Seite des JMatter-Anwendungsbildschirms befindet sich eine Klassenleiste, die verschiedene Symbole wie Benutzer, Rollen, Typen, Ordner usw. enthält. Wenn wir mit der rechten Maustaste auf diese Symbole klicken, können wir alle CRUD-Operationen durchführen, die JMatter nach dem Naked Object-Muster anbietet. Wir können auch unsere eigenen Modellobjekte zur Klassenleiste hinzufügen, nachdem wir die Klassen geschrieben haben. Wir können src/class-list.xml bearbeiten, um unsere eigenen Modellobjekte zur Klassenleiste hinzuzufügen.
Klassenliste Modell com.u2d.type.composite.Person com.u2d.type.composite.Business com.u2d.type.composite.Folder ...
Hier haben wir das Person-Objekt hinzugefügt, das bereits von JMatter zur Verfügung gestellt wird.
Starten Sie die Anwendung: Führen Sie das Ant-Target , ant run, aus.
Melden Sie sich bei der Anwendung mit dem Standard-Login admin (admin) an. Wir können auch unser Passwort ändern. Erstellen Sie nun die Personenobjekte mit den Kontakten.
Wir haben 0 Zeilen Code für diese Anwendung geschrieben. Das macht das Leben des Entwicklers einfach!!
JMatter bietet die CRUD-Funktionen für Person oder jedes andere Objekt, das Sie nach dem Naked Object-Muster entwickeln. Alle Datenbankoperationen und Hibernate-Mappings werden von JMatter übernommen.
Paket com.u2d.mytunes;
import com.u2d.type.atom.StringEO;
import com.u2d.type.atom.ImgEO;
import com.u2d.model.AbstractComplexEObject;
import com.u2d.model.Title;
import com.u2d.list.RelationalList;
import com.u2d.persist.Persist;
@Persist
public class Album extends AbstractComplexEObject
{
private final StringEO _name = new StringEO();
private final ImgEO _cover = new ImgEO();
public static final String[] fieldOrder = {"name", "cover"};
public Album() {}
public StringEO getName() { return _name; }
public ImgEO getCover() { return _cover; }
public Titel title() { return _name.title(); }
}
Wir können diese Klasse zur Klassenleiste hinzufügen und sie verwenden. JMatter stellt alle CRUD-Operationen zur Verfügung. Sehen wir uns nun an, was der obige Code (Klasse Album.) bewirkt... AbstractComplexEObject ist die Basisklasse, die von allen JMatter-Modellobjekten erweitert wird. JMatter stellt uns viele atomare Typen zur Auswahl, darunter Typen für Telefonnummern, Sozialversicherungsnummern, Zeitdauern, Bilder, E-Mail-Adressen, Farben und vieles mehr. StringEO ist nur eine Erweiterung von String. Es gibt zwei Unterschiede zwischen einem StringEO und einem TextEO: 1) StringEO werden in der Datenbank als varchar-Typen gespeichert (die Grenze liegt in der Regel bei 255), während TextEOs als Texttypen oder andere ähnlich große Textobjekte gespeichert werden; und 2) StringEO-Editoren in der grafischen Benutzeroberfläche sind Textfelder, während TextEO-Editoren Textbereiche sind. Wir können uns den EO-Teil des Typnamens als Akronym für Enhanced Object vorstellen. Fazit: Ich hoffe, Sie haben eine ausführliche Einführung in JMatter erhalten. Ich bin mir immer noch nicht sicher, inwieweit wir JMatter nutzen können, wenn die Komplexität der Anwendung zunimmt. Aber für kleine Anwendungen für Betriebsgruppen, die über ein LAN verbunden sind, ist es absolut großartig. Ich würde mich freuen, wenn Sie mir Ihre Erfahrungen mit der Handhabung komplexer Projekte mit JMatter mitteilen würden. Referenzen: jmatter.org Weitere Informationen finden Sie auf der Website jmatter.org.
Verfasst von
Sunil Prakash Inteti
Unsere Ideen
Weitere Blogs
Contact



