# "jWic" Projekt: Framework für Webapplikationen



## ronny (16. Aug 2005)

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!!   

Ciao!
Ronny


----------



## Gast (13. Apr 2007)

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


----------



## KSG9|sebastian (13. Apr 2007)

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 (13. Apr 2007)

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.


----------



## schalentier (13. Apr 2007)

Respekt, sieht sehr interessant und professionell aus, *und* es gibt ne Dokumentation


----------



## ronny (13. Apr 2007)

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 (13. Apr 2007)

Gast hat gesagt.:
			
		

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



Wofür suchst Du denn jWic Entwickler? Für ein Projekt? Für jWic Support? Suchst Du Freiberufler? Studenten? Oder einen Dienstleister? Die pol GmbH bietet u.a. auch "Entwicklungsleistung" im jWic Umfeld, wenn es das ist was Du suchst (siehe http://www.jwic.de/home/services.htm ).


----------



## LordSam (13. Apr 2007)

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
> ...



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 (16. Apr 2007)

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.


----------

