"jWic" Projekt: Framework für Webapplikationen

Status
Nicht offen für weitere Antworten.

ronny

Bekanntes Mitglied
Hallo zusammen!

Ich bin nun schon seit längerem in diesem Forum unterwegs und würde gerne an dieser Stelle ein Framework
für Web-Applikationen vorstellen, das 2 Freunde von mir ins Leben gerufen haben und an dem ich auch seit ca. 2
Jahren immer wieder mal mit daran arbeite. Es programmiert sich eher wie ein "normaler" Rich-Client ala
Swing als eine herkömmliche Web-Applikation.

Ja, ich weiß, es gibt bestimmte Meinungen ala "Wer braucht den NOCH ein Framework..." etc., aber wir würden
uns trotz allem freuen, wenn der eine oder andere sich die Zeit nehmen könnte, um es sich mal näher anzuschauen.
Es lohnt sich! :wink:

Das Framework wird aktuell von einigen Leuten in Projekten eingesetzt. Einer entwickelt damit z. B. ein
Administrator-Tool für einen Server und in einem anderen Projekt wird es für ein Diagnosetool verwendet.
Es wurden sowohl kommerzielle Projekte als auch private Homepages und Tools damit erstellt.


Mal kurz die Features:

- einfach (jaaa, das sagen alle, aber probiert es aus, es ist wirklich einfach, intuitiv zu lernen bzw.
zu benutzen :wink: und es macht einfach Spaß damit zu entwickeln... )

- kein Konfigurationswahnsinn...

- AJAX Unterstützung

- SPRING Integration

- Event orientiert

- Rendering mit VELOCITY

- und vieles mehr...


Schaut einfach mal auf die Homepage, dort findet Ihr alles weitere:
Tutorials, Dokus, Infos und auch eine kleine Beispiel-Applikation:

http://www.jwic.de

Es ist mittlerweile ein Open Source Projekt und kann auch auf sourceforge
gedownloadet werden... Da gibts auch mailinglists usw.

http://sourceforge.net/projects/jwic


Wir sind sehr auf euer Feedback gespannt. Also postet einfach mal eure ersten Eindrücke, egal ob Lob, Kritik oder
Anregungen. Wir freuen uns über alles!! :D

Ciao!
Ronny
 
G

Gast

Gast
Hallo, kennt einer eine gute Quelle wo man Entwickler findet die mit JWic umgehen koennen ?
 

KSG9|sebastian

Top Contributor
Cool, ich schau's mir mal an. Hab die Nase langsam voll von irgendwelchen Monsterframeworks welche kein Mensch benutzen kann ohne 1Jahr einarbeitungszeit :)
 

KSG9|sebastian

Top Contributor
Hi,

hab mir grad das jwic-FW kurz angeschaut. Hab leider nicht viel Zeit zwecks arbeit.
Was ich so gesehen hab ist es wirklich einfach und intuitiv.
Riesengroßer Pluspunkt: Kein Javascript-Dreck in den HTML-Files wie bei vielen anderen Framewoks (z.b. extjs, DWR u.s.w.).

Was noch fehlt ist eine durchdachte API für ServiceCalls (wie es z.B. der Google WebToolkit hat).
Am Server liegt die Implementierung des Services. Der Client geht z.B. über einen ServiceContainer indirekt an den Service, z.B. über den Namen.

Das momentante Konzept sieht ja meines Wissens nur vor dass z.B. Hibernate oder div. Backendcalls direkt in nem Listener o.ä. gemacht werden. Das finde ich persönlich nicht sonderlich schön.

Besser einen Service aufrufen (über ein Interface) und der Service wird dann getrennt implementiert. Damit ist die 3-Schichten-Architektur gewährleistet und das größte Plus ist das getrennte Entwickeln an GUI/BusinessLogic und Backendzugriff. Beispielsweise können so auch SimulationsServices erstellt werden und bei Bedarf wird dann umgeswcht.
 

ronny

Bekanntes Mitglied
Hallo zusammen,

ich arbeite mit jwic schon seit längerer Zeit und hab auch meine Dipl.-Arbeit damit
gemacht.
Wenn Ihr einfach einen Kontakt sucht, meldet euch auf sourceforge bei der Mailing-Liste an.
Die Entwickler/User von jwic antworten dann so schnell wie möglich.

Gern könnt Ihr auch mir per PN ne Nachricht hinterlassen. Entweder antworte ich
selbst auf eure Fragen oder leite sie weiter. :wink:
Da ich im engen Kontakt mit den Hauptentwicklern stehe, sollte eine schnelle Hilfe
kein Problem sein.

Viele Grüße,
Ronny
 

LordSam

Mitglied
KSG9|sebastian hat gesagt.:
Was noch fehlt ist eine durchdachte API für ServiceCalls (wie es z.B. der Google WebToolkit hat).
Am Server liegt die Implementierung des Services. Der Client geht z.B. über einen ServiceContainer indirekt an den Service, z.B. über den Namen.

Das momentante Konzept sieht ja meines Wissens nur vor dass z.B. Hibernate oder div. Backendcalls direkt in nem Listener o.ä. gemacht werden. Das finde ich persönlich nicht sonderlich schön.

....

Vielen Dank für das positive Feedback, auch an schalentier. Ich hab mit Sebastian über das Thema per Mail diskutiert, bevor ich gesehen habe, dass die Frage auch hier steht. Deshalb will ich für die anderen Leser einfach unseren Dialog (leicht gekürzt) hier posten. Wer keine Lust hat sich das alles durchzulesen, findet ganz unten eine kleine Zusammenfassung :).

In jWic gibt es keinen Support für ServiceCalls wie z.B. beim Google WebToolKit, da die gesamte Applikation auf dem Server läuft. Im GWT läuft die Applikation ja letztlich als JavaScript im Browser, weshalb es hier nötig ist mit Services zu arbeiten. Bei einer jWic Applikation wird im Browser lediglich das UI dargestellt, via HTML und soviel JavaScript wie zur Darstellung nötig ist. Die eigentliche Applikations-Logik bleibt aber auf dem Server, von wo aus dann die Backend-Zugriffe erfolgen.

Da es gerade in diesem Bereich schon sehr viele Frameworks/Tools gibt, versuchen wir uns hier auch heraus zu halten. So ist es dem Entwickler freigestellt, ob er z.B. nach dem DAO Pattern mit dem Springframework oder mit EJBs arbeiten möchte. Der Aufruf von solchen Operationen sollte dabei auch nicht direkt in einem Listener erfolgen. Dafür hat man dann wie im MVC Pattern definiert sein Model - das sehen wir also genauso wie Du. Schade das hier ein falscher Eindruck entstanden ist, aber vielleicht kannst Du uns ja kurz erklären wie dieser Eindruck entstanden ist? Dann könnten wir die Doku/Homepage etc. so anpassen.


KSG9|sebastian hat gesagt.:
ich hab nur ein paar Minuten in das Framework geschaut da ich grade viel
Stress auf der Arbeit hab (verteilte Anwendungen mit Java sind einfach
eine Qual *g*, vor allem für zigtausend Kunden).
Vor lauter Stress hab ich mich wohl in der Nachricht nicht ganz korrekt
ausgedrückt.
Meine Anregung war nicht so gemeint dass es speziell für Backendaufrufe
eine ServiceAPI gibt. Es war eher so gemeint dass die BusinessLogic von
dem eigentlichen UI-Code ausgelagert wird. Kleines Beispiel hierfür:

UI:
Code:
public void doSomething(){
  ServiceLogicBlah serviceEnv =
ServiceContainer.getService("de.blah.ServiceLogicBlah");

  ServiceLogicBlahRequest request =
(ServiceLogicBlahRequest)serviceEnv.getRequest();
  request.setId(1);
  request.setName("Testperson");
  srEnv.execute();

  ServiceLogicBlahResponse response =
(ServiceLogicBlahResponse)serviceEnv.getResponse();

  if(response.getResponceCode() == ServiceEnvironment.RC_OK){
     out.println("ok");
  } else{
     out.println("fehler");
  }
}

Der Service an Sich soll nur eine weitere Trennung in der Anwendung
(zwischen den Schichten) darstellen und hat nichts direkt mit dem Backend
o.ä. zu tun.
Große Vorteile dieser Trennung:

- weitere Abstraktionsschicht
- Anwendung kann sehr einfach auf Simulation oder Produktion geschalten
werden, oder auch auf Online/Offlineanwendung, u.s.w. (sehr vielfältig)
- Durch die Verwendung eines ServiceContainers hat der Entwickler keinen
Kontakt mit der direkten Implementierung, dadurch werden die Dinge sehr
modular und austauschbar
- Der Entwickler muss sich nicht um die Trennung kümmern da ihm eine sehr
gute Schnittstelle zur Verfügung steht

Was in dem Service dann passiert bleibt dem Entwickler überlassen, ebenso
wird dadurch keine Einschränkung auf ein Framework getroffen. Die Trennung
in Server/Client macht natürlich keinen Sinn, soll damit aber auch nicht
bezweckt werden.
Es geht lediglich darum eine weitere Abstraktionsschicht einzuführen, was
die Architektur der Anwendung (imho) stark verbessert.

Ansonsten ist das Framework schön "klein und knackig" und, was ich gesehen
habe, sehr einfach zu verwenden.

Und wieder meine Antwort:
die Kapselung von BusinessLogic in einer eigenen Schicht ist schon sehr wichtig und wird auch von uns in "Real Life" Projekten gemacht. In den Beispielen, die überwiegend von mir sind, habe ich nur bewußt darauf verzichtet um die Beispiele einfach zu halten. Vielleicht wäre es ja ganz hilfreich, wenn es einen kleinen "Best Practice" Guide gäbe, der zeigt wie man eine jWic Applikation erstellt und dabei auch auf dieses Thema eingeht?

Wie wir das z.B. mit Hilfe des Springframeworks gemacht haben, kann man sich in dem WAP Subprojekt ansehen. Dort sind einzelne Komponenten wie z.B. ein FileService via Interfaces gekapselt und werden über Springs Component Container konfiguriert. Das austauschen einer solchen Komponente ist damit ganz einfach möglich.


Zusammenfassend kann man sagen, dass eine Abstraktion der Business-Logik wie von Sebastian beschrieben sinnvoll und wichtig ist. jWic bietet dafür allerdings keine direkte unterstützung, da es dafür bereits eine reihe von Tools gibt. Im prinzip ist das so wie wenn man mit SWT oder mit Swing eine Applikation entwickelt - jWic kümmert sich ums UI und für alles andere muss man andere Werkzeuge verwenden :).

@Sebastian: Ich hoffe das ist alles so korrekt und in deinem Sinne - andernfalls mail mich nochmal kurz an.
 

KSG9|sebastian

Top Contributor
Hi,

passt alles so. Ich hab eine Minianwendung welche oben im Beispielcode von mir erwähnt ist zusammengeschrieben. Ist nicht sehr schön programmiert aber zeigt die Kapselung der BL ganz gut. Werd sie bei Gelegenheit hochladen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A JPA Fehler beim JPA-Projekt Allgemeines EE 12
pkm Gibt es einen Redirect von der Tomcatstartseite auf ein Projekt? Allgemeines EE 4
R Docker für Windows in Microservices-Projekt Allgemeines EE 2
D Einfaches Java Projekt funktioniert nicht Allgemeines EE 3
P JavaEE- Projekt in Netbeans Allgemeines EE 0
B EJB3.0 Projekt - Eclipse Allgemeines EE 1
D Java Projekt goes Webservice Allgemeines EE 6
N Dynamic Web Projekt und SVN Allgemeines EE 25
T Größeres Java EE Beispiel Projekt Allgemeines EE 4
J JEE6 projekt setup Allgemeines EE 2
J Fehler beim deployen von seam 2.2.2-Projekt Allgemeines EE 9
K Projekt bei seam2 belassen oder auf JEE6 portieren Allgemeines EE 29
M Wegweiser für Projekt einer Katastrophen-Stab-SW gesucht! Allgemeines EE 2
J Wicket-Projekt: "Unable to create application..." Allgemeines EE 2
J Wicket-Projekt: Klasse LoggerFactory fehlt Allgemeines EE 2
D maven für javaEE projekt Allgemeines EE 20
I Für dieses Projekt ausreichend? Allgemeines EE 6
C JEE Projekt Ideen Allgemeines EE 4
I Web-Projekt zum Laufen bringen unter Eclipse Allgemeines EE 3
N erstes Java EE Projekt - Server/ EJB-Verbindung-Anfängerfage Allgemeines EE 17
G Simples JSF-Projekt in Eclipse - Problem Allgemeines EE 9
I Eclipse Projekt SVN, Informationen löschen Allgemeines EE 3
K Sriplets & Servlets: Offline Projekt auf Server realisie Allgemeines EE 2
M Bibliotheken ins Projekt oder auf den Server stellen? Allgemeines EE 4
C Applet in "Dynamic Web Projekt" - Kann Klasse nich Allgemeines EE 2
D EJB3.0 Projekt (Eclipse) Allgemeines EE 3
L mit gleichem eclipse Projekt auf anderem Rechner benutzen Allgemeines EE 3
H Schnelleinstieg für J2EE Projekt? Allgemeines EE 5
P Tomcat Projekt ins Internet stellen Allgemeines EE 2
KonradN Schwachstelle Spring Framework Allgemeines EE 0
KonradN Spring Schwachstelle im Spring Framework (5 und 6) Allgemeines EE 1
T Sauberes, modernes JEE Framework gesucht Allgemeines EE 1
P Welche Technik/Framework/Zauberei ist das? Allgemeines EE 1
S Play Framework: Redirect im Routing auf Scala Seite Allgemeines EE 0
N Eigenes Framework Allgemeines EE 6
O Framework Designfrage Allgemeines EE 11
-MacNuke- Framework-Gewusel entwuseln. Allgemeines EE 35
G Framework für selbsterstellte Formular und Seiten gesucht Allgemeines EE 3
G Framework-unabhängige Validierung Allgemeines EE 12
A Welches Framework könnt ihr empfehlen? Allgemeines EE 12
K MVC Framework Allgemeines EE 5
P keine verbindung vom struts framework zu mysql Allgemeines EE 2
T Suche Framework Allgemeines EE 5

Ähnliche Java Themen

Neue Themen


Oben