Hallo!
Ich bin im Rahmen eines Webprojektes auf teilweise heftigen Widerstand aus IT-Abteilungen verschiedener Firmen gestoßen, nur wenn das Wort "PHP" zur Sprache kam. Dabei geht es noch nichtmal um eine besondere Größenordnung, vielen kommt sowas erst gar nicht ins Haus, eher um die Plattform/Programmiertechnik an sich. Vielen ist eine Software die auf Basis von PHP entwickelt wurde direkt unseriös. Naja, in den "Forums-Ferien"(an dieser Stelle auch von mir herzlichen Dank an alle die an der schnellen Wiederherstellung beteiligt waren!), jedenfalls habe ich mich die letzten Tage etwas mehr mit Java, J2EE... auseinander gesetzt, einfach mal um die Vorbehalte gegen PHP zu verstehen, denn wenn mein Denken auf den Horizont von PHP beschränkt ist werde ich es wohl nie vestehen. Die Dinge auf die ich mehrfach gestoßen bin war zum einen Performance, ab einer gewissen Größenordnung fällt es mit einem professionellen Framework wohl leichter die Last auf verschiedene Maschinen zu verteilen - wovon die Applikation nicht beeinflusst wird - naja, was spricht dagegen sowas mit dem Apachen zu machen, IMHO kann der doch auch zum Load-Balancing genutzt werden, und wenn alle Rechner dahinter gleich sind und auf dieselbe Transaktionssicher Datenbank zugreifen - sehe ich keine Probleme. Aber was ist wenn man mehrere Datenbank-Server braucht - Transaktionen + Replikation, das ist dann wohl nicht mehr ganz so einfach, oder? Wobei die Möglichkeiten bei einer J2EE Plattform wohl etwas mächtiger sind, und Transaktionen wohl noch weiter reichen als nur DB-Transaktionen, naja.
Der nächste Punkt ist Modularität, durch EJBs(Enterprise JavaBeans) hat man so zu sagen eine fertige Schnittstelle um die eigentliche Anwendungs-Logik vom Rest des Web-Projektes zu trennen, in PHP muss ich mir halt selbst solche Schnittstellen basteln, was ich vermutlich nicht so gut kann wie es bei EJBs der Fall ist, die Spezifikation hat gute 600 A4-Seiten ;-)
Naja, dann wäre da noch eine große Zahl an fertigen, ausfürlich gestesteten und für gut befundenen Modulen, auch Schnittstellen um mit anderen Systemen zu kommunizieren, und nicht zuletzt die J2EE Spezifikation an sich, wo mir viel mehr vorgegeben wird, z.B. DB-Zugangsdaten speicher ich in einer ganz speziellen XML-Datei, da ist es nicht jedem Programmierer selbst überlassen wo und wie er das speichert/einbindet.
Das hat natürlich Vorteile, dass es viele andere Programmierer gibt die damit schneller umgehen können als bei einer eigenen Lösung in PHP, in die man sich erstmal einarbeiten kann.
Es ist nur die Sache, das das Projekt nicht wirklich groß ist und mit Sicherheit keine großen Zugriffszahlen aushalten muss, es muss nur mit kitischen Daten umgehen, das ist der einzige Punkt. Bin ich denn mit einer J2EE Architektur gezwungen "besseren Code" oder sichereren zu schreiben? Ich verstehe nicht dass manche EDV-Leute grundsätzlich nichts mit "PHP-Kram" zu tun haben wollen.
Bis zu einer Größenordnung finde ich PHP aber wirklich gut, einfach weil es aufgrund seiner aufs Web zugeschnittenen Funktionsvielfalt gerade für Web-Projekte gut geeigent ist und sich schnell programmieren läßt. Außerdem gibt es mit PEAR, Smarty... inzwichen eigentlich auch brauchbare Bibliotheken die man verwenden kann.
Was sind da Eure Erfahrungen? Wann oder wofür haltet Ihr einen Applikatipons-Server für sinnvoll?
Ich will das Projekt jetzt nicht von heute auf morgen nach Java portieren da es sehr dumm wäre eine Sprache zu verwenden die man kaum kann, aber langfristig will ich mich schon in diese Richtung orientieren, oder haltet Ihr andere Ansätze(.NET oder nochwas anderes? Gibt es da auch was vergleichbares auf C++ basierend?) für besser geeignet?
Was habt Ihr für Erfahrungen mit Applikations-Servern? Ich habe mir jetzt mal JBOSS ein wenig angesehen und ich finde das Teil eigentlich ganz gut, oder habe ich damit wieder das gleiche Problem wie mit PHP nur auf Java-Ebene(halt Ansehen in EDV-Abteilungen)?
Viele Grüße
Andreas