Hallo Leute.
Ich hoffe, das ist das richtige Forum - ich tendierte zwischen Anfänger und diesem hier, aber ich denke wegen der Nähe zu JSP passt es hier besser hin.
Zur Sache: Ich arbeite jetzt seit ca. 2-3 Jahren mit Java und denke, dass ich dabei einiges falsch mache. Zuerst mal kurz meine Java-Geschichte: Ich arbeite in einem mittelgroßen Betrieb mit ca. 150 Mitarbeiten – von denen leider keiner außer mir mit Java arbeitet. Deshalb habe ich auch keine Ansprechperson für solche Sachen. Schulungen für Java habe ich erst vor ca. einem halben Jahr genehmigt bekommen, und zwar darf/habe ich das Kurspaket „Java-Programmier“ angefangen.
Meine "eigentlichen" Anfänge begannen damit, das ich ein vorhandenes kleines JSP-Script (was auch nicht wirklich „State of the Art“ war) umgeschrieben habe um eine (andere) Oracle-Tabelle zu pflegen. An sich also nichts wildes. Mittlerweile bin ich aber sehr viel weiter – aber trotzdem glaube ich, dass ich sehr viel noch falsch mache. Ich habe mir Java größtenteils selber beigebracht – was zwar anfangs zielführend war, aber mittlerweile merkt man meinem Code schon deutlich an, dass ich mir Java per Selbststudium selber beigebracht habe :/
Über die Jahre hinweg habe ich mir nun quasi ein eigenes, kleines „Framework“ geschrieben… mit dem üblichen wieder verwendbaren Zeug: Standard-Icon-Leisten, „Seitengenerator“ mit Menügenerator (meine Anwendungen sehen alle gleich aus – immer gleicher Kundenkreis), Formgenerator (dem ich z.B. Vorgabewerte mit übergebe, welche erst überschrieben werden, wenn der Benutzer etwas anderes eingegeben hat und dabei ein Fehler aufgetreten ist), LDAP-Verzeichnis-Verbindung (die ich auch zum Prüfen des Logins nutze) bis hin zu einer Klasse, die die Verwaltung eines Bildes in einer Oracle-Datenbank tätigt (Oracle „interMedia“ (heißt mittlerweile glaube ich anders), falls es wen interessiert).
Dateneinheiten, wie z.B. ein Datensatz einer Tabelle „modelliere“ ich als Klasse und gebe denen, neben gettern/settern Lade-, Speicher- und Lösch- Methoden mit, die nur dazu dienen, einen Datensatz aus einer Datenbank zu laden. Für mehrere Datensätze baue ich dann statische Methoden, welche mir Vectoren mit den entsprechenden Objekten zurückgeben.
Falls es Detaildatensätze gibt, werden diese nicht automatisch mitgeladen (da ich damit meine Anwendungen schon mal an Performancegrenzen gestoßen bin) sondern bei Bedarf geladen werden - dazu habe ich die getter mit einem DB-Verbindungsobjekt als Parameter ausgerüstet, welche an eine interne fetch-Methode weitergegeben werden, falls das Detailobjekt noch null ist.
Meine Webanwendung an sich bindet diese Klassen ein und besteht – leider – aus einem Mischmasch von HTML und Java. Leider weiß ich es aber auch nicht besser, ich lese nur abundan von anderen Möglichkeiten, weiß aber nicht wie ich diese bei mir „einsetzen“ soll.
Hier ist erstmal eine kurze Beschreibung wie die Anwendung an sich funktioniert:
Dann folgt eine riesige if-then-else-Verzweigung, welche die Konstanten mit den action, subaction, etc. vergleicht und so bestimmt, welcher Bereich gerade offen ist. Innerhalb dieser Bereiche werden andere Dateien eingebunden – auf statischem Wege, damit ich die an zentraler Stelle deklarierte (s.o.) Datenbank- und LDAP-Verbindungen sowie den Seitengenerator nutzen kann. Leider hat dies den Nachteil, dass diese index.jsp dann irgendwann riesengroß wird (und vor ein paar Tagen bin ich durch Zufall auch an eine Grenze gestoßen). Alles in allem komme ich mit meinen Anwendungen gut klar und auch z.B. Funktionserweiterungen kann ich relativ schnell realisieren.
Ich bin mir ziemlich sicher, dass das so normalerweise nicht gemacht wird und suche nun für meine Aufgaben geeignete Mittel, die ich dann in Zukunft einsetzen kann. Ich hoffe ihr könnt mir bei dieser Frage helfen, damit ich aus meiner Insellösung und aus dem Selbstgelernten rauskomme – zumal mich früher oder später die oben erwähnte Grenze sowieso dazu zwingen wird, anders an diese Sache heran zu gehen. Also suche ich nun Frameworks bzw. Techniken, die mir diesen (mittlerweile selbst geschaffenen) Komfort möglichst auch bieten, womit ich nicht alleine in der Welt bin und welche vor allem für kleine bis mittelgroße Anwendungen geeignet sind (wir sind ja nur ein „kleines“ Haus mit relativ kleinen Anwendungen, zumal ich (noch) der Einzige bin, der damit arbeitet).
Ich hoffe ihr könnt mir bei diesen Fragen helfen bzw. mir zeigen, wo ich Vorgehensweisen verbessern/ersetzen kann und bedanke mich schon mal im Voraus.
Gruß,
eSK
Ich hoffe, das ist das richtige Forum - ich tendierte zwischen Anfänger und diesem hier, aber ich denke wegen der Nähe zu JSP passt es hier besser hin.
Zur Sache: Ich arbeite jetzt seit ca. 2-3 Jahren mit Java und denke, dass ich dabei einiges falsch mache. Zuerst mal kurz meine Java-Geschichte: Ich arbeite in einem mittelgroßen Betrieb mit ca. 150 Mitarbeiten – von denen leider keiner außer mir mit Java arbeitet. Deshalb habe ich auch keine Ansprechperson für solche Sachen. Schulungen für Java habe ich erst vor ca. einem halben Jahr genehmigt bekommen, und zwar darf/habe ich das Kurspaket „Java-Programmier“ angefangen.
Meine "eigentlichen" Anfänge begannen damit, das ich ein vorhandenes kleines JSP-Script (was auch nicht wirklich „State of the Art“ war) umgeschrieben habe um eine (andere) Oracle-Tabelle zu pflegen. An sich also nichts wildes. Mittlerweile bin ich aber sehr viel weiter – aber trotzdem glaube ich, dass ich sehr viel noch falsch mache. Ich habe mir Java größtenteils selber beigebracht – was zwar anfangs zielführend war, aber mittlerweile merkt man meinem Code schon deutlich an, dass ich mir Java per Selbststudium selber beigebracht habe :/
Über die Jahre hinweg habe ich mir nun quasi ein eigenes, kleines „Framework“ geschrieben… mit dem üblichen wieder verwendbaren Zeug: Standard-Icon-Leisten, „Seitengenerator“ mit Menügenerator (meine Anwendungen sehen alle gleich aus – immer gleicher Kundenkreis), Formgenerator (dem ich z.B. Vorgabewerte mit übergebe, welche erst überschrieben werden, wenn der Benutzer etwas anderes eingegeben hat und dabei ein Fehler aufgetreten ist), LDAP-Verzeichnis-Verbindung (die ich auch zum Prüfen des Logins nutze) bis hin zu einer Klasse, die die Verwaltung eines Bildes in einer Oracle-Datenbank tätigt (Oracle „interMedia“ (heißt mittlerweile glaube ich anders), falls es wen interessiert).
Dateneinheiten, wie z.B. ein Datensatz einer Tabelle „modelliere“ ich als Klasse und gebe denen, neben gettern/settern Lade-, Speicher- und Lösch- Methoden mit, die nur dazu dienen, einen Datensatz aus einer Datenbank zu laden. Für mehrere Datensätze baue ich dann statische Methoden, welche mir Vectoren mit den entsprechenden Objekten zurückgeben.
Falls es Detaildatensätze gibt, werden diese nicht automatisch mitgeladen (da ich damit meine Anwendungen schon mal an Performancegrenzen gestoßen bin) sondern bei Bedarf geladen werden - dazu habe ich die getter mit einem DB-Verbindungsobjekt als Parameter ausgerüstet, welche an eine interne fetch-Methode weitergegeben werden, falls das Detailobjekt noch null ist.
Meine Webanwendung an sich bindet diese Klassen ein und besteht – leider – aus einem Mischmasch von HTML und Java. Leider weiß ich es aber auch nicht besser, ich lese nur abundan von anderen Möglichkeiten, weiß aber nicht wie ich diese bei mir „einsetzen“ soll.
Hier ist erstmal eine kurze Beschreibung wie die Anwendung an sich funktioniert:
Code:
Instantiiere Seitengenerator, Datenbank- und LDAP-Verbindungen
Bereite einige Variablen zur Bestimmung der gewünschten Anwendungsbereiche vor (action, subaction, area, subarea)
Lege Zahlen-Konstanten für die einzelnen Bereiche zum Vergleich an
Wenn eingeloggt, generiere das Menü
Sonst generiere nur ein leeres Menü
Gib Fehlermeldung aus, falls ein Anmeldeversuch vorliegt
Dann folgt eine riesige if-then-else-Verzweigung, welche die Konstanten mit den action, subaction, etc. vergleicht und so bestimmt, welcher Bereich gerade offen ist. Innerhalb dieser Bereiche werden andere Dateien eingebunden – auf statischem Wege, damit ich die an zentraler Stelle deklarierte (s.o.) Datenbank- und LDAP-Verbindungen sowie den Seitengenerator nutzen kann. Leider hat dies den Nachteil, dass diese index.jsp dann irgendwann riesengroß wird (und vor ein paar Tagen bin ich durch Zufall auch an eine Grenze gestoßen). Alles in allem komme ich mit meinen Anwendungen gut klar und auch z.B. Funktionserweiterungen kann ich relativ schnell realisieren.
Ich bin mir ziemlich sicher, dass das so normalerweise nicht gemacht wird und suche nun für meine Aufgaben geeignete Mittel, die ich dann in Zukunft einsetzen kann. Ich hoffe ihr könnt mir bei dieser Frage helfen, damit ich aus meiner Insellösung und aus dem Selbstgelernten rauskomme – zumal mich früher oder später die oben erwähnte Grenze sowieso dazu zwingen wird, anders an diese Sache heran zu gehen. Also suche ich nun Frameworks bzw. Techniken, die mir diesen (mittlerweile selbst geschaffenen) Komfort möglichst auch bieten, womit ich nicht alleine in der Welt bin und welche vor allem für kleine bis mittelgroße Anwendungen geeignet sind (wir sind ja nur ein „kleines“ Haus mit relativ kleinen Anwendungen, zumal ich (noch) der Einzige bin, der damit arbeitet).
Ich hoffe ihr könnt mir bei diesen Fragen helfen bzw. mir zeigen, wo ich Vorgehensweisen verbessern/ersetzen kann und bedanke mich schon mal im Voraus.
Gruß,
eSK