staging.inyokaproject.org

[php]->[jsp] Entwicklungsumgebungen, IDEs

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Pocket

Anmeldungsdatum:
13. Februar 2005

Beiträge: 18

Moin,

Ich arbeite an fogendem Projekt:
Ich will ein bestehendes Browsergame auf PHP/Mysql Basis umschreiben in eine JSP/Servlet/Mysql(?) Version, weil es doch zu einigen Rechenarbeiten kommt die PHP einfach kaum noch behandeln kann.
ICh möchte dafür folgende IDEs benutzen:
[JSP] (neuland für mich)
JDK1.5 Update2
Eclipse mit Tomcat unterstützung
Mysql DB

[PHP] (recht gute Kenntnisse vorhanden)
gPHPedit
Apache 2 mit PHP4
Mysql DB

Meine Fragen:
Ist diese Umgebung für beide Zwecke geeignet?
Wer kennt sich mit JSP aus? ich frage mich zB ob es möglich ist einen Thread wieterlaufen zu lassen der quasi alle Berechnungen abwickelt und die Datenbank Zugriffe miniert, während die gleichen Daten den Spielern zur Laufzeit zur Verfügung gestellt werden?

Ich suche Leute die sich damit schon mal befasst haben,damit man sich evtl beraten kann wie was umzusetzen ist...

Gruss Pocket

blackbird Team-Icon

Avatar von blackbird

Anmeldungsdatum:
19. November 2004

Beiträge: 3397

Als Entwicklungsumgebung ist Quanta ganz gut geeignet.

Bei allem Hass auf php. Es ist eine sehr schnelle Sprache. Ich kann mir kauf vorstellen, dass du es an die Belastungsgrenze von php und mysql geschafft hast, wo doch gerade wikipedia auf das Duo aufsetzt 😕

Habe leider keine Erfahrung mit Java als Serversprache. 😳

MaV

Anmeldungsdatum:
12. Dezember 2004

Beiträge: 68

Pocket hat geschrieben:

Moin,
Ich arbeite an fogendem Projekt:
Ich will ein bestehendes Browsergame auf PHP/Mysql Basis umschreiben in eine JSP/Servlet/Mysql(?) Version, weil es doch zu einigen Rechenarbeiten kommt die PHP einfach kaum noch behandeln kann.
- snip -
Meine Fragen:
Ist diese Umgebung für beide Zwecke geeignet?

Wenn du damit fragst, ob du sämtliche Programme auf einem Rechner laufen lassen kannst → ja. Es wird aber mit weniger als 256MB keinen Spaß machen, besser 512MB (oder mehr). Eclipse, JDK und Tomcat sind vor allem bei größeren Sachen die Speicherfresser schlechthin.

Um unter Java auch MySQL benutzen zu können, benötigst du MySQL Connector/J, zu finden auf
http://www.mysql.com/products/connector/j/
Kann sein, dass das Paket bei Eclipse schon dabei ist, da musst du mal nachschauen.

Wer kennt sich mit JSP aus? ich frage mich zB ob es möglich ist einen Thread wieterlaufen zu lassen der quasi alle Berechnungen abwickelt und die Datenbank Zugriffe miniert, während die gleichen Daten den Spielern zur Laufzeit zur Verfügung gestellt werden?

Ich suche Leute die sich damit schon mal befasst haben,damit man sich evtl beraten kann wie was umzusetzen ist...

Ich stell's mal ganz einfach da:

JSP ist banal ausgedrückt nur HTML mit dazwischengeschobenem Java-Code. Zu Beginn hat's mich vor allem wegen des Aussehens stark an ASP erinnert, JSP kann aber natürlich mehr.
Der Tomcat wandelt die JSP-Seiten intern in Servlets um, und ich denke, die Servlets sind, was du eigentlich angesprochen hast, denn dort kannst du die Requests, etc. auch z.b. gleich direkt abfangen und verarbeiten.

Mir ist die Sache mit den Threads noch nicht ganz klar, aber ich denke das lässt sich machen. Auf so ein Problem bin ich bis jetzt noch nicht gestoßen, muss ich zugeben. Ich muss mir das mal am Wochenende durch den Kopf gehen lassen. Das letzte Mal, wo ich Tomcat/JSP/Servlets benutzt habe, ist auch schon mehr als ein halbes Jahr her. :-/

MaV

PS: Tomcat arbeitet auch mit Apache zusammen, ist sogar besser so.

Pocket

(Themenstarter)

Anmeldungsdatum:
13. Februar 2005

Beiträge: 18

Also ich habe mich mit dem Thema auch weiter befasst und bin zu der Überzeugung gekommen, dass ich mit JSP besser arbeiten kann, bzw dass dieses System meine Anforderungen besser erfüllt. Schon alleine wegen der besseren Verteilbarkeit.. Es ist auch definitiv möglich Threads im Hintergrund laufen zu lassen, und diese eine Priorität zu geben, sodass man am Frontend nichts davon mitbekommt. Natürlich wird das ganze ne Menge Speicher fressen, schon alleine wegen der Datenstrukturen die ich zur schgnelleren Berechenbarkeit in den Heap Schaufele.
Der Vergleich mit Wikipedia hinkt ein wenig, es geht nicht um die reine Rechenlesitung und auch nicht um den reinen Zugriff.. bei Wikipedia sind nur relativ kruze Rechenphasen notwendig, und DB Zugriffe sind auch nur selten das Problem. Bei einem Online Spiel muss ich aber ständig die Aktualisierten Daten aus der DB lesen, für Anzeigen oder irgendwelche Listen und zwischen berechnungen, da ja laufen auch von anderen alle Möglichen Zusammenhänge geändert werden.
Stell Dir einfach vor 200 Leute haben ein Konto mit Geld drauf und handeln miteinander zur Gleichen Zeit, daurch ändern sich nahezu alle Kontostände gleichzeitig, alle Zusammenfassungen, Logs, Preise und jede Menge mehr.. da kommt ganz schön was zusammen, auch bei einem kleinen Spiel...
Vielen Dank aber für eure Anregungen... wenn das Spiel in neuer Version läuft, sag ich Bescheid, dann könnt ihr testen kommen ;o))
Gruss Pocket

odix

Anmeldungsdatum:
22. April 2005

Beiträge: Zähle...

Meiner Meinung ist es performance mäßig egal ob du php oder java einsetzt. Wichtig ist das saubere design. So richtig ausspielen kannst du J2EE (JSP ist ein Teil davon) nur in verbindung mit einem J2EE Container, welches aber erst für Mehr(Viele)benutzer Anwendung so richtig seine Stärken ausspielen kann. Und was dir das Threading bei JSPs bringen sollte kann ich nicht nachvollziehen.

odiX

Pocket

(Themenstarter)

Anmeldungsdatum:
13. Februar 2005

Beiträge: 18

ich glaube durch die Precompilierung von JSP-Seiten, bzw deren Kombination mit den Classes im Hintergrund entfällt das Interpretieren auf Scriptebene, wodurch ich mir einen leichten Geschwindigkeitsvorteil erhoffe. Aber Hauptsächlich denke ich kommen die Geschwindigkeitsvorteil zur Geltung wenn ich zB eine GameCalss im Aplicationscope annähernd alle relevanten Spieldaten verwalten lasse und von dort Intefaces zu den SessionScopes baue, wodurch ich die Zugriffe auf die DB und das Filesystem minimiere. Gleichzeitig baue ich zwischen den Phys. Speichern einen Handler ein der die DAtenverwaltung aus der Gameclass übernimmt. Jetzt kommen noch die Rechenthreads mit niedriger Priorität ins Spiel die immer wenn gerade zeit ist weitere Berechnungen auch für Ereignisse berechnen, die jetzt nicht gerade mit dem Aktuellen Spieler zu tun haben. Geht es dabei um Berechnungen die Notwendig sidn um den Aktuellen Spieler mit "frischen" Daten zu versorgen, bekommen die Threads dafür eine hohe Priorität, so das ich die Vorteile der nebenläufigkeit Optimal undter umgehung der Nachteile ausnutzen kann. Die Frontends der Spieler werden jeweils als Parallele Objekte imSession Scope aufgehängt, sodass der eigentliche Zugriff auf die Seite wriklich schnell von Statten gehen sollte.
Das ganze nimmt mittlerweile schon etwas grössere Ausmaße an als ich zu beginn der Entwicklung in PHP noch gedachtc hatte, aber das macht es dadurch evtl auch zu einem Interessanten Projekt um daran die Mechanismen von Software Entwicklung anzuwenden.
Das bringt mich natürlich zu dem Punkt, wo ich auch mal Werbung machen möchte. Wir suchen für dieses Projekt auch noch Leute die sich daran beteiligen möchten. Wir brauchen noch Grafiker und Programmierer, und Gamedesigner, die gerne Logische Zusammenhänge entwicklen auch. Da wir aber alles neben dem Studium machen, ist dabei auch etwas Geduld nötig. Wer uns dabei unterstützen möchte oder sich das bisherige Spiel einfach mal ansehen möchte kann mir ja ne PM schreiben, den Link poste ich hier mal nicht, das wäre zu aufdringlich ;o))
Gruss Pocket

blackbird Team-Icon

Avatar von blackbird

Anmeldungsdatum:
19. November 2004

Beiträge: 3397

Pocket hat geschrieben:

...den Link poste ich hier mal nicht, das wäre zu aufdringlich ;o))
Gruss Pocket

Stimmt. Dafür haben wir ja Die Projektvorstellungen 😀

Antworten |