Jakarta Struts probably is the most famous web application framework in the Java Community. Although it has some good features many others are more or less neglectable.
Considering Struts as your web application framework you should be aware of some important issues.
The Struts implementation is not as one might want it to be. For example it doesn't support interceptors for request parameter binding. Such a mechanism is required if you need to seemlessly convert data formats before storing the data in transfer objects (in Struts called FormBeans). Furher implementation details make the web programmer's life more uncomfortable. Because of forcing FormBeans to be derived from a special base class, it keeps the FormBean from being reused in the ejb tier, if you did't want to have dependencies from the ejb tier the web tier. That's when you start some wild data copying.
Struts does not support any output formatting required by many web applications. For that purpose you have to add formatted output methods for each attribute that has to be formatted.
I could continue the list. Most of my points are valid for Struts 1.0.2 as well as for Struts 1.1. Even if Struts had some good features it doesn't have to be so large.
If I was again in a project thinking about using Struts as a third party library - without adapting it to the project's needs, I probably would not use Struts.
An alternative could be Tapestry that's becoming a Jakarta project, too. Though it probably takes more time than Struts to master. If I had to stick to Struts, I'd just use a well-defined and adapted subset.
Posted by Phillip Ghadir at 9:36 AM | Comments (4) | TrackBack
This is my recently obtained weblog. I'm willing to provide information about two of my favorite topics: software engineering/programming and roleplaying games. I'm not sure whether I will be able to provide well-founded information on these topics.
Further more I still don't know whether I can write my weblog in English. Maybe I'll provide some posts bilingually.
Posted by Phillip Ghadir at 10:06 PM
Ich bin CTO (Technischer Leiter) der innoQ Deutschland GmbH. Als Consultant und Software Architekt habe ich bereits eine Vielzahl von Kunden beraten und bei der Entwicklung von unternehmensweiten Anwendungen in den verschiedensten Rollen mitgewirkt.
Ich war Projektleiter w�hrend der Entwicklung von iQgen - unseres hochleistungsf�higen und MDA-konformen Software-Generator, der wie kein anderer mit einer Vielzahl von Modellierungswerkzeugen interoperieren kann.
Mein pers�nliches Interesse gilt der Software-Technik. Ich bin immer auf der Suche nach effektiveren Methoden der Software-Entwicklung. Dennoch bleibe ich in der Projektarbeit konservativ und experimentiere nicht herum.
Ich glaube, dass man nur dann �ber sich selbst hinaus wachsen kann, wenn man ein h�heres Ziel verfolgt. In der Projektarbeit gibt es nur den Erfolg des Projekts. - Kein Ausleben pers�nlicher Vorlieben oder Befriedigen des irgendwelcher Egos.
Ich bin erreichbar unter: [email protected]
My name is Phillip Ghadir. I'm the CTO of innoQ Deutschland GmbH. As a consultant and software architect I've worked on several customers' projects and contributed to their developments of large scale mission critical software systems adopting various roles.
I managed the development of iQgen - innoQ's powerful, lightweight, MDA-conformant software generator with an amazingly large and unmatched interoperability list.
Personally I'm highly interested in software technology in general. I'm searching for ways to develop software more effectively. Though while working on a project I'm used to being conservative - and do no experiments.
I strongly believe that one can only grow beyond oneself if one works towards a higher goal. During project work this higher goal is the project's success. There is no room left for personal preferences or satisfaction of ego.
You can contact me via: [email protected]
Posted by Phillip Ghadir at 12:23 AM