• 27.06.2025, 04:48
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

biddschedabber

Senior Member

[S] Hilfe beim Design einer Java-Anwendung

Dienstag, 18. Juli 2006, 15:47

Moin Leute,

da sich hier ja anscheinend auch einige Programmierer rumtreiben, dachte ich mir, dass ich die Frage hier auch mal stellen kann.

Ich soll eine Anwendung schreiben, die es uns leichter macht unser Projekt zu administrieren und zu warten.
Anforderungen sind u.a. die Möglichkeit, dass man Einträge in bestimme Datenbanktabellen machen kann und das Shellskripte gestartet werden können (inklusive Anzeige der Logs und Auswertung des Returncodes!). Das ganze natürlich in einer schönen GUI, die auch gleich noch die Plausibilitätsprüfung bein Eingaben durchführt.

So, an Technologien habe ich drei zur Auswahl: JSP, JBoss (und somit J2EE, allerdings mit einem Fat-Client, also keine Webanwendung!) oder alles selbst in Java zu schreiben(Client und Server). Auf letzteres habe ich eigentlich keine Lust, da ich sowas in der Richtung schon mal versucht habe, aber mit dem ganzen Socket-Gedönse und den Threads wurde das dann irgendwann zu lahm.

Bin für alle Tipps und Meinungen offen...

Grüße
biddschedabber

Y0Gi

God

Re: [S] Hilfe beim Design einer Java-Anwendung

Dienstag, 18. Juli 2006, 16:42

Was genau ist jetzt die Frage? Ich hab da so einige Meinungen zu, aber davon bringen dich die meisten wohl nicht in der Situation weiter ;)

biddschedabber

Senior Member

Re: [S] Hilfe beim Design einer Java-Anwendung

Dienstag, 18. Juli 2006, 16:51

Naja, die Frage ist: Wie gehe ich da jetzt am besten mit welcher Technologie ran? :)

Mein Problem ist einfach, dass ich nicht weiß wo und wie ich anfangen soll. Ob jetzt reine Webanwendung, oder doch JBoss oder, oder, oder... Ich bin jetzt z.B. noch über RMI gestolpert, das hört sich auch gut an. Da versuche ich gerade mehr Infos im Netz zu finden. Das würde dann halt auf eine reine Client/Server-Anwendung rauslaufen.

Ich brauche halt irgendwas, dass es mir erlaubt nicht nur vom Client Anfragen an den Server zu schicken (und der macht dann irgendwas), sondern der Server muss auch den Client benachrichtigen können... z.B. wenn ein Shellskript mit der Ausführung fertig ist.

Kurz und knapp: Mir mangelt es an Know-How ;D

Y0Gi

God

Re: [S] Hilfe beim Design einer Java-Anwendung

Dienstag, 18. Juli 2006, 17:33

Auf jeden Fall solltest du nicht das Rad neu erfinden und direkt mit Sockets rumjuckeln. Eine Möglichkeit der Kommunikation, neben RMI, wären Webservices. Wenn du eine Bücherei in der Nähe hast, findest du da vielleicht "Java Web Services" von O'Reilly. Vorteil: Du setzt auf bestehende, abstraktere Technologien wie HTTP (welches auf TCP aufsetzt, wodurch du auch dessen Vorteile wie Verbindungen hast) und z.B. SOAP.

BTW: Wieso impliziert JBoss einen Fat-Client?

crushcoder

God

Re: [S] Hilfe beim Design einer Java-Anwendung

Dienstag, 18. Juli 2006, 17:38

ok, webanwendungen sind jetzt nichts wirklich das richtige um benachrichtigungen vom server zu bekommen.
aber das geht auch, fragt man halt per javascript, stichwort ajax, immer wieder an.

zu rmi gibts ein gutes tutorial: http://java.sun.com/docs/books/tutorial/rmi/index.html

einen j2ee-server zu benutzen um shell-skripte zu benutzen ist irgendwie wie mit kanonen auf spatzen zu schießen.
j2ee lohnt sich eh immer erst wenn man mehrere tausend user auf einer applikation arbeiten lassen will und clustering usw braucht.

die meiste arbeit macht dann sowieso der fat-client. Bei den shell-skripten muss man dagegen, außerhalb dessen was der server unterstützt, basteln.

also erstmal ein paar fragen:
- wieviele user?
- ist das ein schneller hack oder soll es ein richtiges system sein?
- soll es später erweitert werden, soll zb die möglichkeit offen bleiben später andere clients einzusetzen (zb. fat und web)?
- sollen die skripte/tabellen konfiguriert werden können oder stehen diese fest?
- willst du was lernen oder einen schnellen erfolg?
Gott hat die Welt ja nur in sieben Tagen erschaffen können, weil es keine installierte Basis gab.

Y0Gi

God

Re: [S] Hilfe beim Design einer Java-Anwendung

Dienstag, 18. Juli 2006, 17:57

Zitat von »crushcoder«

ok, webanwendungen sind jetzt nichts wirklich das richtige um benachrichtigungen vom server zu bekommen.
aber das geht auch, fragt man halt per javascript, stichwort ajax, immer wieder an.

Oh, hast natürlich Recht, damit wäre nur Polling möglich. Es sei denn, der Client stellt ebenfalls einen Webservice zur Verfügung, aber das ist wohl kein guter Ansatz. Da muss was anderes her, was Pushing ermöglicht.

biddschedabber

Senior Member

Re: [S] Hilfe beim Design einer Java-Anwendung

Dienstag, 18. Juli 2006, 18:06

Zitat von »Y0Gi«


BTW: Wieso impliziert JBoss einen Fat-Client?


JBoss impliziert keinen Fat-Client. Ich schätze mal, dass 99% der Leute, die einen Application-Server einsetzen auf Webinterfaces setzen, aber ich HASSE Webinterfaces. Deswegen der Fat-Client. ;)


Zitat von »crushcoder«


einen j2ee-server zu benutzen um shell-skripte zu benutzen ist irgendwie wie mit kanonen auf spatzen zu schießen.
j2ee lohnt sich eh immer erst wenn man mehrere tausend user auf einer applikation arbeiten lassen will und clustering usw braucht.


Zu der Erkenntnis bin ich mittlerweile auch gekommen. Das wird einfach Overkill.



Zitat von »crushcoder«


also erstmal ein paar fragen:
- wieviele user?


Ich schätze maximal irgendwas zwischen 10 und 20. Davon werden höchstens 3 Leute parallel eingeloggt sein.

Zitat von »crushcoder«


- ist das ein schneller hack oder soll es ein richtiges system sein?
- soll es später erweitert werden, soll zb die möglichkeit offen bleiben später andere clients einzusetzen (zb. fat und web)?
- sollen die skripte/tabellen konfiguriert werden können oder stehen diese fest?
- willst du was lernen oder einen schnellen erfolg?


Das soll kein schneller Hack, sondern was halbwegs anständiges werden. Wir gehen mit der Idee jetzt schon seit 2 Jahren "schwanger" nur war nie genug Zeit vorhanden. Diese Zeit soll sich jetzt genommen werden.
Das Programm soll schon erweiterbar sein, aber nur im Sinne der Funktionalität und nicht in Hinsicht auf andere Clients oder ähnliches.
Skripte und Tabellen sind fix, die sollen/dürfen nicht veränderbar sein.

Hm... was lernen oder schneller Erfolg? Am liebsten wäre mir natürlich beides. Aber egal was ich mache, ich kann dabei nur lernen, da ich in Java bisher nur ein paar kleine Tools mit Datenbankanbindung geschrieben habe.


Ich denke, dass RMI vielleicht die Lösung sein könnte. Wenn ich mir das so überlege, brauche ich gar keine Benachrichtigungsfunktion vom Server zum Client. Es müsste reichen, wenn ich auf dem Client einen Thread starte, der die remote Methode auf dem Server aufruft, welche für das Ausführen von Skripten verantwortlich ist. Ist die Methode beendet gibt sie einfach den Inhalt der Log-Datei (erzeugt vom Skript) zurück und ich kann die auf dem Client anzeigen.


*edit*
Argh, wie es nervt, wenn man viel Text schreibt und sich halb zu tode quoted und man aus Versehen auf das X im Firefox kommt bevor der Beitrag abgeschickt wurde!

crushcoder

God

Re: [S] Hilfe beim Design einer Java-Anwendung

Dienstag, 18. Juli 2006, 18:31

also sagen wir mal so: du willst einen fat-client. ;)
das ist ja auch völlig legitim, bei der user-anzahl und wenn man bedenkt das man auch mal längere log-files anzeigen will, diese also nicht mehrmals komplett laden will, bietet sich das auch an.

so kann man sich auch viel bastelei sparen.

also ist noch die frage welche art von server und welches protokoll.

da ich kein produkt, ob j2ee oder anderes, kenne das eine schnittstelle zur konsole bietet, muss man sich dabei sowieso bei den normalen j2se paketen bedienen, läuft wohl auf Runtime.exec raus.
läuft also darauf hinaus das man sowieso schon alles selber programmiert. also auch ein eigener server.

objektserialisierung muss man sich wirklich nicht antun, da ist rmi (fast) immer die bessere lösung.
webservices sind auch eine möglichkeit, wird aber erst ab dem nächsten jdk richtig schön unterstützt. Das jwsdp steht im moment noch im verruf nicht sehr effektiv zu sein.

Der webservice hätte aber den riesenvorteil besser testbar zu sein.
außerdem kann man dann auch einen j2ee server sinnvoll einsetzen, zumindest um sich die services für die datenbank erstellen zu lassen. Dafür reicht aber auch ein tomcat mit axis. ;)

ich glaub die richtung ist jetzt klarer.
Gott hat die Welt ja nur in sieben Tagen erschaffen können, weil es keine installierte Basis gab.

biddschedabber

Senior Member

Re: [S] Hilfe beim Design einer Java-Anwendung

Dienstag, 18. Juli 2006, 18:48

Zitat von »crushcoder«


ich glaub die richtung ist jetzt klarer.


Die Richtung ist klarer, das auf jeden Fall.
Habe nur noch eine Frage: Was meinst Du mit Services für die Datenbank?

Danke Euch beiden erstmal. Hach was 'ne Wohltat, Menschen die mein Geschreibsel verstehen. Ich habe hier so manchen Kollegen, da hätte ich für diese Art von Konversation eine Woche gebraucht und denen wäre immer noch nicht klar gewesen, um was es mir geht... naja, Informatiker... wir sind ja nicht gerade für unsere soziale Kompetenz und Kommunikationsfähigkeit bekannt. ;D

Y0Gi

God

Re: [S] Hilfe beim Design einer Java-Anwendung

Dienstag, 18. Juli 2006, 18:53

Zitat von »biddschedabber«

naja, Informatiker... wir sind ja nicht gerade für unsere soziale Kompetenz und Kommunikationsfähigkeit bekannt. ;D

Regel Nr. 1: Es liegt immer an den anderen ;)

biddschedabber

Senior Member

Re: [S] Hilfe beim Design einer Java-Anwendung

Dienstag, 18. Juli 2006, 19:14

Zitat von »Y0Gi«


Regel Nr. 1: Es liegt immer an den anderen ;)


Lautet bei uns ähnlich: "Iiiiiich? Neeeeee, ich war das nicht!" ;D

crushcoder

God

Re: [S] Hilfe beim Design einer Java-Anwendung

Dienstag, 18. Juli 2006, 19:41

Zitat von »biddschedabber«

Habe nur noch eine Frage: Was meinst Du mit Services für die Datenbank?

die webservices die dann auf die datenbank zugreifen.
da kann man sich mit einer guten ide (eclipse mit jboss-plugin oder netbeans) einige arbeit ersparen.
ich denke aber nicht das das wirklich nötig ist.

Zitat

Ich habe hier so manchen Kollegen, da hätte ich für diese Art von Konversation eine Woche gebraucht und denen wäre immer noch nicht klar gewesen, um was es mir geht... naja, Informatiker... wir sind ja nicht gerade für unsere soziale Kompetenz und Kommunikationsfähigkeit bekannt.  ;D

als ob wir eine unterhaltung zwischen ärzten über eine seltene krankheit verstehen würden.
oder durchsagen im supermarkt ("die 42 bitte die 23").

aber immer noch besser als das neusprech der manager.
Gott hat die Welt ja nur in sieben Tagen erschaffen können, weil es keine installierte Basis gab.

biddschedabber

Senior Member

Re: [S] Hilfe beim Design einer Java-Anwendung

Dienstag, 18. Juli 2006, 19:49

Zitat von »crushcoder«


als ob wir eine unterhaltung zwischen ärzten über eine seltene krankheit verstehen würden.
oder durchsagen im supermarkt ("die 42 bitte die 23").


Naja, die Kollegen, die ich meinte sind auch Informatiker... das ist dann so als würden sich Deine Ärzte nicht verstehen. :)
OSZAR »