RCP Design

Alles zu NetBeans als RCP-Platform

Moderator: wegus

SubCore
Beiträge: 10
Registriert: 04.03.2014, 08:35
Wohnort: NRW

RCP Design

Beitragvon SubCore » 31.12.2014, 10:26

Hallo zusammen,
zum Jahresabschluss noch mal eine reine Design Frage von RCP Anwendungen.

Bis jetzt hab ich die Platform eher als RAD oder eine Art Application Framework benutzt.
Da ich jetzt an einer RCP sitze die aus mehreren nachinstallierbaren Modulen bestehen soll, sind mir so ein paar Grundlegende Fragen gekommen.
Benutzt ihr Module Suites für eigene Modulanwendungen, zB für einen Kalendar, der nur das ACL der Hauptanwendung benötigt?
Ist es eigentlich möglich eine Modul Suite in ein einzelnes nbm zu packen oder als einzelnes Modul aus mehreren nbm's im UpdateCenter anzuzeigen?

Benutzt ihr für Datenbankzugriffe mehrere modulabhängige Entity Wrapper oder nur einen, für alle Module?


Allen die das heute noch lesen, einen guten Rutsch ins neue Jahr, dem Rest frohes Neues ;)

ebaumann
Beiträge: 285
Registriert: 22.01.2009, 08:53
Wohnort: Würzburg
Kontaktdaten:

Re: RCP Design

Beitragvon ebaumann » 31.12.2014, 14:23

Module Suites


Eine Module Suite steht für eine Anwendung. Sie definiert alle Module, die die Anwendung benötigt. Es ist auch möglich, mehrere Module Suites zu definieren, z.B. für kundenspezifische Spezialisierungen, die einen Kern der Module teilen aber zusätzlich exklusiv spezifische Module enthalten (oder auch "Einsteigerversion", "Vollversion", ...).

Nicht trivial ist, die Module als eigenständig (kümmern sich nur um eigene Belange) zu implementieren und die Abhängigkeiten zu anderen Modulen zu minimieren. Falls Abhängigkeiten, dann in der Regel über Interfaces und per SPI können die Module die Funktionalität bereitstellen (Bereitstellen via @ServiceProvider und nutzen mit Lookup#lookup[All](Interface.class)).

Ist es eigentlich möglich eine Modul Suite in ein einzelnes nbm zu packen oder als einzelnes Modul aus mehreren nbm's im UpdateCenter anzuzeigen?


Es gibt einen Task (Kontextmenü), der die Suite inklusive aller erforderlichen Module in ein NBM packt. Das Update-Center zeigt alle Module neuerer Versionen an. Falls mehrere Suites erzeugt werden sollen, ist es praktisch einen Task zu definieren, der das Build für alle Suites in der erforderlichen Reihenfolge anstößt.

Benutzt ihr für Datenbankzugriffe mehrere modulabhängige Entity Wrapper oder nur einen, für alle Module?


Da die Module unabhängig sein sollen, ist es möglich, dass diese mehrere Persistenz-Strategien nutzen, je nachdem welche für die Funktionalität am günstigsten ist (JPA, JDBC, NoSQL, sonstiges). Allgemeingültig lässt sich hier keine Aussage treffen, da es von vielen Faktoren und der Anwendung abhängt (Umfang der persistierten Daten, Performance-Ansprüche etc.). Es kann ebensogut ein einziges Persistenz-Modul sinnvoll sein, das nach außen unter Verbergung der Persistenz-Strategie Daten annimmt und liefert. Es kann dann intern "leicht" umstellen von z.B. JDBC auf JPA.


Zurück zu „NetBeans - Platform / RCP“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste