Java - von am Montag, Juli 10, 2006 18:37 - 1 Kommentar

Ist Struts tot?

Tags: ,

Neulich wurde in einem Forum die Frage gestellt, ob das Struts-Framework tot sei. In meiner Antwort habe ich mich auf den Lebenszyklus einer Technologie konzentriert, was ich hier noch ein bisschen ausführen möchte. Dieser Artikel gliedert sich in zwei Teile:
1. Tot oder Lebendig, 2. Deja Vu mit Ajax.

Grundsätzlich gehe ich bei Software von einem Lebenszyklus aus.
A) Nachdem eine Idee durch eine technische Implementierung geboren ist, durchlebt diese ihre Kindheit, in der ganz viele Erfahrungen gesammelt werden, ganz viel zu lernen ist und man gelegentlich hinfällt.

B) Irgendwann ist eine Technik dann erwachsen.
Jetzt ist der Zeitpunkt,
– um Geld zu verdienen,
– um über eine Heirat mit einer anderen Technik (Tiles, Workflow, …) nachzudenken
– es gibt Folgetechniken (in dieser Analogie wären das dann Kinder).

C) Auch Erwachsene werden mal krank, müssen zum Arzt (Weiterentwicklung), kriegen mit dem Alter Gebrechen.

D) Erst wenn keine Entwicklung mehr stattfindet oder stattfinden kann würde ich davon reden, dass die Technik „stirbt“. Eine Weiterentwicklung wird beispielsweise dann unmöglich, wenn die zugrunde liegende Basis wegbricht.

Einige Beispiele für „tote“ Techniken: Wer nutzt heute noch ECL-Monitore? Wer Bipolar-Transistoren? Wie viele Hersteller gibt es für Motorola 6502 CPUs? Wo kriegt man ein EDO-Ram her? Wer liefert mir ein QIC-Tape?
Solange Java als Plattform, die von Struts benötigten Libraries, Servlets und JSPs noch auf aktuellen Rechnern laufen, wäre die Technik noch nicht tot.

Vorher kommt dann vielleicht noch eine Phase der Demenz, in der sich keiner mehr erinnert, wie man Struts-Anwendungen baut/pflegt, in der sich keiner mehr für Struts interessiert und keine Struts-Projekte bezahlt werden.

Sagen wir mal, Modula-2 ist in dieser „finalen“ Phase angelangt. Es gibt noch Compiler, die übersetzten Programme laufen noch und es gibt noch genügend Entwickler, die mal Modula-2 gesehen/genutzt haben.

Für produktive Systeme setze ich stärker auf die „erwachsenen“ Techniken. Von Neuerungen erwarte ich einen kurzen Feedback-Zyklus, so dass ich schnell feststellen kann, ob mir die Technik nützt, oder ob „der neue Schuh“ drückt.
Abschließend möchte ich einen Rückblick als alternativen Aspekt auf Ajax eröffnen:
In den 90er Jahren gab es ein marktbeherrschendes Unternehmen Netscape, welches kleinere, innovative Firmen aufkaufte. Eines der Unternehmen hat eine Technik angeboten (Mambo, Conga oder so ähnlich), die dem heutigen Web 2.0 sehr ähnlich ist.
Im Web habe ich einen älteren Link gefunden, in dem DataChannel’s WebBroker erwähnt wird, welches XML und HTTP gebündelt hat.
Wir haben damals auch einmal einen Rich-Client geschrieben, der in JavaScript auf dem Client aus übermittelten Daten das DOM verändert hat, statt die Seite zu reloaden.

Das hat damals aber nicht so richtig funktioniert, auch wegen Inkompatibilitäten bei den Browsern und wegen Unzulänglichkeiten bei den Browser-Implementierungen.
Heute gibt es sehr viele aktuelle Sicherheitsprobleme, bei denen Microsoft immer wieder empfiehlt, das ActiveScripting auszuschalten.
… und plötzlich funktioniert Web 2.0 nicht mehr.

Ich persönlich halte nichts vom Hype „an sich“. Andere interessieren sich mehr für die Neuheiten und probieren viele Techniken in der frühen Kindheit aus. Ich kann mich jedoch mehr für Coole Designs, fette Algorithmen, schöne Spezifikationen und interessante und gut geschriebene Bücher begeistern.



1 Kommentar

Sie können Kommentare zu diesem Artikel über den RSS 2.0-Feed nachverfolgen. Sie können einen Kommentar hinterlassen, oder einen Trackback von Ihrer eigenen Website setzen.

Ulf Bicker
Jul 28, 2006 10:45

Hallo,

die Aussage: „Grundsätzlich gehe ich bei Software von einem Lebenszyklus aus.“ finde ich einwenig schlecht getroffen.
Da man unter dem Begriff „Software Life Cycle“ in der IT allgemein etwas anderes versteht.

Die Softwareentwicklung ist eine Ingenieurdisziplin. Bei der Softwareentwicklung spricht man von Software „Lebenszyklus“. Life cycle Modellen sind abstrakten Beschreibungen von der strukturierten, methodischen Entwicklung und Änderungsprozeß, das typischerweise die Hauptstadien in der Herstellung und Wartung von lauffähige Software zeigen.
Die Entwicklungs-Modelle betrachten einen umfassenden Bereich, in welcher die Anforderungen, Entwurfsspezifikationen, Aktivitäten u.a. in betrachte werden. Bei der Definition von „life cycle“, werden auch die Benutzung und Wartung der Software betrachtet.

Ulf Bicker

Kommentieren

Weitere Empfehlungen:




-->

Java - Jul 19, 2011 20:30 - 0 Kommentare

Eine (wirklich gute) Einführung in Maven

Mehr Artikel der Kategorie Softwarearchitekturen


Datenbanken, Internet Technologien - Nov 19, 2009 9:24 - 0 Kommentare

Oracle WebServices im praktischen Einsatz

More In Datenbanken


Betriebssysteme - Jul 27, 2006 22:28 - 0 Kommentare

Angriff der Klone!

More In Betriebssysteme