# Um komplexe Geschäftsprozesse in verteilten und skalierbaren



## Sabine (31. Okt 2003)

Hallo,

auf http://www.akademie.de/websiteaufbau/workshops/jsp-java-server-pages-workshop/index.html steht:

" Die immer stärker werdende kommerzielle Nutzung des WWW stellt stetig höhere Anforderungen an die Generierung dynamischer Webseiten und -Services. Um komplexe Geschäftsprozesse in verteilten und skalierbaren Anwendungen abzubilden, reichen die seitenbasierten Ansätze von CGI- und CGI-ähnlichen Technologien in der Regel nicht aus. Entwickler nutzen dann zunehmend die Java Server Technologie, deren einheitlicher Standard J2EE (Java 2 Enterprise Edition) heute von einer Vielzahl namhafter Unternehmen und weiten Teilen der "Open Source Community" unterstützt wird. "

Ich programmiere derzeit mit/für Apache/PHP/MySQL.

Jetzt würde mich interessieren, was kann Tomcat/Java/JSP, was PHP nicht oder nicht so toll kann - ein Beispiel aus der Praxis würde mir vielleicht auf die Sprünge helfen ;-)

Sabine


----------



## schalentier (7. Nov 2003)

hehe... nice.

ich hab auch mit apache/mysql/php (amp) angefangen. damit kommt man recht schnell klar und mit ein bissel erfahrung kann man problemlos auch größere projekt durchführen. wichtig ist, dass man vorher in gewissen grenzen eine planung durchführt, sonst entsteht sehr schnell, nahezu unwartbarer code. (php verleitet sehr schnell zu "hacks", was in java meist nicht wirklich klappt) 

um zu verstehen, wieso man zunehmend auf java setzt, sollte man nicht anfangen, dieses ganze (wirre) java-zeug zu verstehen versuchen. man wird dadurch mit einer gigantischen apparatur von komisch und kompliziert anmutenden dingen konfrontiert und wird wahrscheinlich ziemlich schnell aufgeben und sich wieder amp zuwenden.

viel mehr sollte man wissen, wo die grenzen von amp liegen. man stelle sich ein webportal einer größeren firma vor. dort werden in spitzenzeiten viele anfragen pro sekunde an den webserver gestellt. dieser, auf amp basierend, startet für jede anfrage die php engine, um die dynamische seite zu erzeugen und zum client zu schicken. mit php und mysql wird man feststellen, dass hier die resourcen des servers sehr sehr schnell erschöpft sind. also muss man eine lastverteilung entwickeln, die anfragen von clients auf mehrere server rechner verteilt.

in java gibts eine technologie names enterprise java beans, die genau das und noch viel mehr macht. (skalierbarkeit, lastverteilung, remote-method-invokation, ...)

oder thema security. in php muss man alles selber machen. authentifizierung, session verwaltung, verschlüsslung, etc. bei ejb is das bereits fertig, und man kann es "einfach" benutzen.

oder persistenz. in php muss man direkt mit der datenbank kommunizieren (z.b. die mysql_* befehle). in java gibt es techniken, dass man eine klasse persistent machen kann, so dass sie in eine datenbank geschrieben und gelesen werden kann. automatisch und ohne sql anfragen. klappt ohne änderung des codes mit nahezu allen datenbanken. 

mit php ist man auf websachen beschränkt. mit java und ejb kann man eine geschäftslogik serverseitig umsetzen und unabhängig davon, mehrere clients entwickeln (z.b. einen fürs web mit jsp/struts und eine mit java/swing). 

mit ejb entwickelt man echte server, d.h. ein prozess der serverseitig dauerhaft läuft und anfragen beantwortet. in php gibt es sowas nicht.

es gibt noch viel mehr dinge, auf die ich jetzt aber nicht eingehen möchte.

wichtig ist letzendlich, was man machen will. eine kleine website, ein forum oder was auch immer mit er überschaubaren anzahl von anfragen pro sekunde, ist mit amp einfacher, schneller und vor allem billiger entwickelt.

wenn es jedoch um große projekte, mit einer komplexen geschäftslogik, um große teams von entwicklern, um geschwindigkeit, um die effiziente ausnutzung der resourcen, um extrem wartbare und anpassungsfähige software geht, sollte man java/ejb/struts/... auf jeden fall genauer ansehen. 

so ich hoffe ich hab dir etwas weiterhelfen und vielleicht auch intresse wecken können 

schalentier.


----------



## Guest (12. Nov 2003)

schalentier hat gesagt.:
			
		

> hehe... nice.
> 
> ich hab auch mit apache/mysql/php (amp) angefangen. damit kommt man recht schnell klar und mit ein bissel erfahrung kann man problemlos auch größere projekt durchführen. wichtig ist, dass man vorher in gewissen grenzen eine planung durchführt, sonst entsteht sehr schnell, nahezu unwartbarer code. (php verleitet sehr schnell zu "hacks", was in java meist nicht wirklich klappt)
> 
> ...


----------

