UI Plattform unabhängig

Sie schreiben den Source Code für die Benutzeroberfläche nur einmal und die Applikation kann als  Desktop, Web oder Mobile Applikation gestartet werden.

  • Swing
    Applet, Webstart oder Desktop
  • Vaadin
    HTML5/Ajax
  • iOS und Android
    Native App für Smartphone, Tablet
 
 

Schnell & einfach entwickeln

 
GUI Code:
private void initializeUI() throws Exception  {
  UITable table = new UITable();
  table.setDataBook(rdbContacts);//bind to UI model
  add(table, UIBorderLayout.CENTER);
  setTitle("Contacts");
  setSize(new UIDimension(600, 500));
}
private void initializeModel() throws Throwable {
  RemoteDataBook rdbContacts = new RemoteDataBook();
  rdbContacts.setDataSource(getDatasource()); // bind to DAO „contacts“
  rdbContacts.setName("contacts"); 
  rdbContacts.open();
}

Server Code:
public IStorage getContacts() throws Exception {
  DBStorage dbsContacts = (DBStorage)get("contacts");
  if (dbsContacts == null) {
    dbsContacts = new DBStorage(); // Automatic DAO
    dbsContacts.setDBAccess(getDBAccess()); 
dbsContacts.setWritebackTable("CONTACTS"); dbsContacts.open(); put("contacts", dbsContacts); } return dbsContacts;
}
 

Mehr Code brauchen Sie nicht!

Sie schreiben mit wenigen Zeilen Code eine Applikation zum Verwalten Ihrer Kontakte.

  • initializeUI()
    Eine UITable instanzieren, mit dem Model binden und zu einem Screen hinzufügen. 
  • initializeModel()
    Model für Kontakte (Contacts) instanzieren, an den Server und DAO "contacts" binden.
  • getContacts()
    DAO "contacts" instanzieren, mit Datenbank und Tabelle "CONTACTS" initialisieren.
 

Wie funktioniert das?

         

 

feat_link_edit_input

feat text editor

 

Die DAO Klasse DBStorage von JVx analysiert das Datenmodell zur Tabelle "CONTACTS". Damit werden alle Datentypen zu allen Spalten ermittelt, sowie alle Fremdschlüssel zu Stammdaten Tabellen. Diese Metainformationen aus der Persistence werden zum Client Model übertragen.

Das dynamische Client Model, für alle Daten gebundenen GUI Controls, übernimmt die Persistence Metadaten.
Daher erhalten Eingabefelder den Datentyp, Längen laut Datenbank. Auswahllisten werden automatisch Aufgrund von Fremdschlüssel zu Stammdatentabellen erstellt, usw.

Dadurch ist kein weiterer Source Code notwendig.  
"Covention over Configuration"

Jegliche Abweichung vom Standardverhalten kann natürlich entsprechend codiert werden.

 
 

Full Stack - Alle Features

 


Allgemeine Features


  • Open Source Framework
    Apache 2.0 Lizenz
  • Full Stack Framework
    • Vollständiger Applikationsstack von GUI bis Persistence
    • Simple APIs, kurze Einarbeitungszeit
    • Gut dokumentiert
    • Einfach zu erweitern
  • Datenbankunabhängigkeit
    Oracle, DB2, MS SQL, MySql, PostgreSql, HSQLDB, uvm.
  • Applikationsserver unabhängig
    Servlet Container z.B.: Tomcat
  • Multi Tier Architektur

GUI Features


  • GUI Plattform unabhängig
    • Web (vaadin)
    • Mobile (native iOS, Android)
    • Desktop (Swing, zukünftig JavaFX)
  • Einheitliches dynamisches Model für alle Daten gebundenen GUI Controls
    • Übernimmt Persistence Metadaten als Basis 
      Datentypen, Längen, Datentyp abhängige Editoren
      (z.B.: „Datum“ ->Datumseditor, Stammdaten -> Auswahlliste)
    • Editor (Nummer, Datum, Auswahl), Tabelle, Baum, Graph


GUI/Server übergreifende Features


  • Flexibles Authentication Management mit
    unterschiedlichen Security Managern
    Datenbanktabelle, NTLM, LDAP, XML
  • CRUD Triggers am Client & Application Server
    Before/After Insert, Update, Delete, Select, …
  • Event & Listener Konzept
  • Mehrsprachigkeit
  • Lazy Loading
    • Es werden nur die Informationen, welche am GUI sichtbar sind geladen
    • Kein Paging, Lazy loading ist in GUI Controls integriert -> Scrollbar
    • Millionen von Datensätzen sind damit verarbeitbar
  • Flexibler Applikationsrahmen
    • Im Framework integriert
    • bestehend aus Toolbar, Menu, Login/out, Passwort ändern, Hilfe, About, Speichern, Reload, …
    • Kann einfach erweitert und an die Anforderungen der Applikation angepasst werden
    • CSS Styling, Web Appliaktionsrahmen
    • Völlig frei definierbarer Applikationsrahmen durch Interfaces

Weitere Features


  • Online Hilfe System für Web & Desktop Applikationen
    Inhaltsverzeichnis, Suche, HTML
  • Benutzer und Rollen Verwaltung
    Datenbanktabellen, wenn (Rolle=Admin) dann zeige Daten
 
EnglishDeutsch