Toon posts:

[J2EE] (web) Frameworks

Pagina: 1
Acties:
  • 567 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Naar aanleiding van het grote aanbod aan frameworks in de java community en de overzicht hierin wil ik hier aandacht voor vragen aan de mensen die dit lezen en mogelijk gebruik maken van een framework.

Zelf ben ik dus op zoek naar een framework ten behoeve van ontwikkeling van web services en applicaties. Echter doordat er maar enkele reviews op internet terug te vinden zijn over frameworks en er nergens een daadwerkelijke vergelijking te vinden is vraag ik me af wat gebruikt men hier of ontwikkeld men zelf een framework?

De laatste tijd zijn meta-frameworks, dit zijn frameworks die bestaan uit meerdere frameworks om zo diverse web services en applications te kunnen koppelen en aanbieden met behulp van combinaties, erg in op mars.

Zelf ben ik erg gecharmeerd van een meta-framework als Expresso en Keel, echter de community heeft zo zijn bedenkingen en laat veel frameworks die een portal geïmplementeerd hebben of commerciële troep voorbij schieten. 9 van de 10 frameworks bieden ondersteuning voor het Struts framework en/of een bridge hiervoor. Het Struts framework wordt overal tegen gesproken, echter is vaak de conclusie dat het Struts framework wel een bewezen framework is en vaak gebruikt wordt.

Hieronder een aantal links van frameworks en resources wellicht hebben jullie er wat aan.

Links:
http://jakarta.apache.org (Diverse Frameworks)
http://www.jcorporate.com (Expresso Framework)
http://www.keelframework.org (Keel Framework)
http://www.opensymphony.com (WebWork Framework)
http://www.theserverside.com (Enterprise Java Community)
http://www.waferproject.org (Framework Research Project)

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 01:53

Janoz

Moderator Devschuur®

!litemod

Ikzelf heb het afgelopen jaar erg veel met Struts gewerkt. Ik kan je zeggen dat het aan het begin af en toe wat onduidelijk is en dat er in een keer erg veel op je af komt, maar als je er een tijdje mee werkt 'valt het muntje'. Ik heb ACM ooit nog eens beloofd een standaard setje te maken (wat acties met xml erbij . Soort voorbeeld voor 1 formulier). Misschien moet ik daar maar eens vaart mee maken. Struts is redelijk nieuw en er zijn nog niet zo heel erg veel voorbeelden (en degene die er zijn spreken elkaar vaak tegen).

Tegenwoordig ben ik me aan het verdiepen in JBoss Nukes. Dit is een open source CMS gebaseerd op de php versie. Waarschijnlijk komt de eerste versie over een maandje uit. Het ziet er allemaal zeer veelbelovend uit.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
ook kijken naar Cocoon dat imho op 'abstract' vlak heel wat verder zit dan Struts. Maar ik begrijp je verwarring en kijk ook uit naar een 'overzicht' van diverse 'frameworks'.

Wel vind ik dat heel van van die 'spullen' nogal kicken op fancy word use. Uiteindelijk zit je nog steeds met HTML en GET/POST te werken. 'Services' (ie: GET/POST met een welldefined contract, oftewel niets anders dan een 'Interface' in OO) zijn wel erg cool / handig.

Elk ding bestaat uit zoveel lagen dat het soms moeilijk is om te zien waar het framework begin en eindigt:. MVC is niet zo eenduidig als het doet overkomen (Struts is een soort van MVC) dan heb je nog je business layer , logic layers, etc...

Verwijderd

Topicstarter
In case of out-of-the-box CMS is JBoss Nukes niet direct een mooi voorbeeld van een CMS als ze dezelfde visie hebben als hun voorbeeld project: php/post nuke

Dan kan je beter kijken naar:
- ion-cms (heel overzichtelijk, dankzij eenvoud)
- mmbase (wel erg complex, en daardoor weer onaantrekkelijk)
- jahia (erg mooi pakket, echter voor niet persoonlijk gebruik of development use very prijzig)

http://ion-cms.sf.net
http://www.mmbase.org
http://www.jahia.org/jahia/Jahia

Struts heb ik wel mee gewerkt (oa met IDE's als Intellij IDEA, Eclipse icm diverse plugins en Exadel (non eclipse version)). Ik vind struts erg prettig om mee te werken echter heb ik het gevoel dat het ook onoverzichtelijk op den duur wordt als je te veel in actions gaat denken. Dat ligt dus in je eigen hand.

Struts gaat wel een mooie toekomst genieten als ik de mailinglists mag geloven. Hierbij denkend aan meer ondersteuning voor diverse JSR's en container portlet.


[edit]
Ben nu Keel Framework (http://www.keelframework.org) aan het bestuderen en dat ziet er erg interessant uit. Ze hebben ook plugins voor Eclipse om met de workflow component aan de haal te gaan, iets waar veel frameworks nog van kunnen leren. (http://66.105.113.115/vqw...?PluginRedKeelRedWorkflow)

[ Voor 17% gewijzigd door Verwijderd op 15-02-2004 23:38 ]


Verwijderd

Mega kick! ;)

We zijn ondertussen een tijdje verder. Hoe is het iedereen verlopen met de ervaringen met de verschillende frameworks?

Ondertussen is JSF ook echt beschikbaar, is Struts weer wat moderner, heb je zelfs al een layer op Struts als Beehive ( http://dev2dev.bea.com/technologies/beehive/index.jsp ) en zo zijn er wel meer goodies.

Zelf ben ik bezig wat dingen uit te zoeken over JSF, en dan vooral JSF vs Struts. Eerste impressie is dat Struts meer 'controller' is en JSF meer 'widget library', hoewel Struts ook 'widgets' (web components) heeft, oa icm Tiles, en JSF ook controller doet.

  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Kan je misschien eens wat meer specifiek zijn over de bevindingen tussen Struts & JSF.

Zelf gebruik ik enkel Struts, over JSF heb ik enkel nog maar gelezen, maar vind niet dat het echt gebruiksvriendelijker/bruikbaarder is dan struts in mijn geval. Ook de maturiteit van een framework (zéker als ze opensource zijn) is voor mij een belangrijk feit!

De frameworks waar ik verder nog mee gewerkt heb, is:
ORM: - Hibernate: Leuke tool, maakt de persistentie naar de DB zoooveel gebruiksmakkelijker. Het enige negatieve aan Hibernate dat ik totnutoe, in discussie met Alarmnummer, heb kunnen vinden is hun foutafhandeling. Zij zijn hier tamelijk abstract in (als in onduidelijk en weinig details!). Dus je zal zelf dikwijls de stacktraces moeten doorlopen om te weten wat er fout aan is. Misschien nog een negatief puntje is dat Hibernate, imho, teveel queries naar de DB doet. Iemand die zich hierin (niet) kan vinden?

  • MrBarBarian
  • Registratie: Oktober 2003
  • Laatst online: 07-03-2023
Ik ben ondertussen geen ontwikkelaar meer (carriereswitch), maar de laatste maanden bij mijn vorige werkgever heb ik wel redelijk wat tijd in J2EE frameworkes gestoken:

Hibernate: op het moment de beste/meest eenvoudige/meest belovende OR mapping
Spring: Moeilijk te zeggen wat dit framework allemaal moet doen. Heb er teweinig tijd voor gehad, maar het transactionmanagement die ik heb gezien was er cool. IS wel redelijk abstract!

Struts: erg bekend, maar hoe meer je erover leest, hoe minder het wordt. Veel framework ontwikkelaars zijn er niet er positief over viel me op..

JSF: Java Server Faces; de nieuwe ontwikkeling van Sun die Struts moet gaan vervangen. Ik heb er even mee geknutselt (Sun ontwikkeld er ook een IDE voor) en dat zag er erg veeel belovend uit!

Verdere hotte items: portals/portlets(die van apache, ben de naam kwijt) en JBoss...

iRacing Profiel


Verwijderd

-FoX- schreef op 07 oktober 2004 @ 15:05:
Kan je misschien eens wat meer specifiek zijn over de bevindingen tussen Struts & JSF.
Zou ik met alle plezier willen doen, maar kan er op dit moment weinig zinigs over zeggen omdat ik het zelf nog aan het uitzoeken ben. Wel gaan we waarschijnlijk waar ik werk een aantal test cases met JSF implementeren om te kijken hoe het bevalt, maar dat zal dan pas over een tijdje zijn. Als het goed gaat is dat mischien eindelijk een stimulans om van onze ongeveer 4 jaar (ofzo) oude Orion produktie server over te stappen naar tenminste Orion 2.02.
Misschien nog een negatief puntje is dat Hibernate, imho, teveel queries naar de DB doet. Iemand die zich hierin (niet) kan vinden?
Wat betreft hibernate had ik begrepen dat het opgenomen zal gaan worden door Sun in de J2EE 1.5 (of 5.0) als onderdeel (standard mapping?) van het EJB gedeelte.

Verwijderd

MrBarBarian schreef op 07 oktober 2004 @ 15:16:

Struts: erg bekend, maar hoe meer je erover leest, hoe minder het wordt. Veel framework ontwikkelaars zijn er niet er positief over viel me op..
Mischien daarom ook dat beehive project? Dat zou als ik het goed begreep Struts zijn, maar dan beter & makkelijker. Het is ook gebouwd boven op Struts.
JSF: Java Server Faces; de nieuwe ontwikkeling van Sun die Struts moet gaan vervangen. Ik heb er even mee geknutselt (Sun ontwikkeld er ook een IDE voor) en dat zag er erg veeel belovend uit!
Volgens mij was het niet echt de bedoeling om Struts te gaan vervangen (zou wel kunnen), maar meer om het aan te vullen. Er wordt dan ook extra moeite gedaan om de 2 te laten samenwerken. Dit zie je oa terug in speciale intergration libs.

Verwijderd

MrBarBarian schreef op 07 oktober 2004 @ 15:16:

Verdere hotte items: portals/portlets(die van apache, ben de naam kwijt) en JBoss...
JetSpeed dacht ik. (weet er verder ook niets van).


Verder ben ik benieuwd of iemand WebWork2 al eens onder de loep heeft genomen. Ik heb de JIRA al eens doorgelezen en het lijkt me wel iets sterker dan Struts (waar ik dagelijks mee werk).
Je actions hoeven niet thread safe te zijn, wat de impact daarvan is op de performantie is weet ik niet, maar het geeft enkele interessante alternatieven tov de struts werking. Je actionform is eigenlijk je actie zelf, waardoor je eigenlijk net hetzelfde werkt als op een object. Je action implementeert een interface ipv het extenden van de struts Action class.
Je kan listeners definieren per actie die rond je actie gewrapt worden (try catch -> transactie afhandelen bijvoorbeeld).
Als je actie een interface (bijv. HibernateSessionAware) implementeert kun je via een eenvoudige listener/component.xml configuratie IoC gewijs een hibernate session laten 'setten' op die actie.
De jsp tags hebben ook enkele interessante dingetjes die struts niet heeft. <ww:component> laat het toe een custom velocity template in te voegen. tags als <ww:textfield verwijzen ook naar een velocity template die je zelf kan aanpassen/uitbreiden. <ww:action> kun je gebruiken om een hele action uit te voeren en de output (vm, jsp, ..) in te voegen in de huidige view (beetje als bij tiles & struts, maar daar moet je ene action dan alle data aanleveren).
Zoals gezegd heb ik hier geen praktijkervaring mee, maar daar zou verandering in moeten komen. (ik heb ook gezien dat het naar mijn mening mooi integreert met Spring, maar ik heb geen zin elvendertig nieuwe dingen in 1 keer aan te leren).

Hibernate zou ik enkel gebruiken voor update/create/delete operaties en simpele reads. Als ik echt véél data moet hebben (over veel verschillende tabellen) zou ik toch voor iBatis opteren, met de Spring DAO abstractielaag. Het is net als bij CMP dat je het fastlane reader pattern gebruikt voor grote read operaties. Op die manier vind ik het de ideale afweging tussen snel programmeren (hibernate) en performantie (iBatis, die zelf je objecten ook aanmaakt).

JSF heb ik nog niet naar gekeken. Ik heb gehoord dat het ongeveer werkt als SWING, waar ik ook geen ervaring mee heb, dus daarom had ik nog niet veel zin me er in te verdiepen.

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Verwijderd schreef op 08 oktober 2004 @ 13:47:
[...]


JetSpeed dacht ik. (weet er verder ook niets van).


...
Klopt dat is JetSpeed. Leuk om te weten is ook dat de codebase van de Websphere portal in eerste instantie op Jetspeed was gebaseerd. Als ik mij niet vergis beweert IBM inmiddels dat de codebase geheel is herschreven, dus hoeven ze dat niet meer te vermelden.

Jetspeed zelf is een aardige poging om de portlet standaard van de JCP (http://www.jcp.org) te implementeren. De versie waar ik mee heb gewerkt was nog niet erg volwassen, maar er zaten wel wat handige dingen in, zoals Velocity templates en maakte gebruik van andere Jakarta initiatieven zoals Turbine.
Pagina: 1