Entwickler-Ecke
Off Topic - ASP vs. CGI vs. JSP
Nightfly - Mi 03.09.03 13:27
Titel: ASP vs. CGI vs. JSP
moin
also demnächst möchte ich ein größeres HP projekt in angriff nehmen, mit dynamischen webseiten. Den Server gedenke ich selber aufzusetzen. Doch jetzt meine FRage: was eignet sich am besten, was is zukunftssicher, wird man sagen können eine dieser Techniken setzt sich durch? Meines wissens sind ja die ASP auf dem Absteigenden ast, also JSP oder CGI..oder .Net? Bei 0 anfangen muß ich ohnehin, wär mir seeehr lieb wenn mir einer Vor- und NAchteile dieser Sprachen aufzählen könnte.
UC-Chewie - Mi 03.09.03 14:22
Zunächst mal: Weder CGI noch ASP sind Sprachen, sondern Schnittstellen.
Die CGI-Schnittstelle (CGI = Common Gateway Interface) ist ein Standard, der von den meisten Webservern unterstützt wird und folgendermaßen funktioniert:
Wird eine Anfrage an den Webserver gestellt, prüft der Server die Anfrage darauf, ob er sie an eine CGI-Modul weitergeben soll. Das kann sowohl eine festgecodete Anwendung sein als auch ein Script, das von einer Anwendung interpretiert wird.
Nun passiert folgendes: Die im Webserver registrierte CGI-Anwendung wird aufgerufen, nachdem wichtige Daten über die Anfrage in Umgebungsvariablen gespeichert worden sind (zumindest ist das beim Apache so). Das CGI-Modul kann nun damit machen, was es will, wichtig ist, dass die Daten, die in die Standardausgabe (StDOUT) geschrieben werden, an den Browser geschickt werden.
Bekanntester Vertreter hier ist Perl, außerdem kann PHP auch im CGI-Modus betrieben werden.
Ich hab auch mal probehalber eine CGI-Anwendung geschrieben, die SVG-Dateien komprimiert hat.
ASP ist eine Schnittstelle des IIS-Servers, funktioniert folglich nur auf Win-Systemen. Das ist schonmal IMO ein Riesennachteil. Welche Sprachen da verwendet werden, weiß ich nicht, da ich mich damit noch nie befasst habe.
Empfehlen würde ich entweder CGI oder PHP als Webservermodul, was so ziemlich jeder Webpaceprovider unterstützt. Der Vorteil ist, dass es auf Linux und auch auf Win-Servern laufen kann.
Nightfly - Mi 03.09.03 14:41
Der Server sollte bei meiner Entscheidungsfindung keine Rolle spielen, da ich den selber aufsetze. Also kann ich da machen was ich will. Heißt aber auch: ich muß mich mit dem Serverkram von CGI, ASP und Co. auseinandersetzen. Also hat da jemand erfahrungen welches sich da durchsetzen wird?
Mein Hauptanliegen: das Projekt wird groß, ich werde VIEL Zeit investieren und VIEL lernen..und ich möchte soweit es geht vermeiden "aufs falsche Pferd" zu setzen, nich das ich 2 JAhren alles nochmal mach, weil ich mich für die falsche Sache entschieden habe.
UC-Chewie - Mi 03.09.03 15:10
Wenn du langfristig sein willst, würde ich auf LAMP (Linux+Apache+PHP+MySQL) oder WAMP(Windows+Apache+PHP+MySQL) setzen. Denn Microsoft kann irgendwann den Support für ASP einstellen. Da Apache und PHP (und auch MySQL) OpenSource-Projekte sind, ist die Wahrscheinlichkeit, dass das in absehbarer Zukunft nicht mehr weiterentwickelt wird, sehr gering.
Perl ist leistungsfähiger als PHP, da die Funktion als CGI-Modul nur eine von vielen Funktionen ist, aber auch deutlich schwerer zu lernen (Versuch dort mal, ein Modul in den Interpreter einzubinden :roll: ). Außerdem ist die Syntax etwas gewöhnungsbedüftig.
Nightfly - Mi 03.09.03 15:12
Schön soweit...ASP hatte ich im Hinterkopf auch schon abgehakt. Kann noch mal jemand was zu Java Server Pages sagen? wie sieht's damit aus?
Klabautermann - Mi 03.09.03 15:27
Hallo,
ich möchte zum Thema CGI noch mal folgendes gervor heben:
| UC-Chewie hat folgendes geschrieben: |
Die CGI-Schnittstelle (CGI = Common Gateway Interface) ist ein Standard, der von den meisten Webservern unterstützt wird und folgendermaßen funktioniert:
Wird eine Anfrage an den Webserver gestellt, prüft der Server die Anfrage darauf, ob er sie an eine CGI-Modul weitergeben soll. Das kann sowohl eine festgecodete Anwendung sein als auch ein Script, das von einer Anwendung interpretiert wird. |
CGIs kannst du also bei bedarf auch in Delphi/Kylix schreiben. Das kann sinvoll sein wenn du z.B. Webfrontends für deine Delphi Anwendungen aufsetzen willst. Du kannst dann einen großteil deines Codes wiederverwenden, lediglich die Ein-/Ausgabe musst du neu machen (auf HTML umgestalten).
Nichtsdestotrotz sollte man sich mit PHP und Perl auseinandersetzen.
Gruß
Klabautermann
JoelH - Mi 03.09.03 18:50
Titel: hmm,
LAMP oder WAMP ist wohl momentan die gänigste Lösung, vor allem ist sie sehr weit verbreitet und man bekommt relativ Billig Webspace der damit ausgerüstet ist. Naja und dadurch dass es LAMP total für umme gibt kann man sehr günstig zuhause entwickeln.
derDoc - Mi 03.09.03 19:54
Ich glaube auch, dass LAMP die beste Lösung ist, weil du einfach geringe Kosten hast. Der preisliche Unterschied zwischen Linux und Windows ist da auch nicht mehr so groß.
ak - Do 04.09.03 15:30
Da du den Server selbst aufsetzt, würde ich dir zu asp.net und c# bzw. vb.net raten. Mit MS Visual Studio.net kannst du relativ einfach sehr gute Webanwendungen programmieren. PHP ist sehr weit verbreitet und sollte auch mal betrachtet werden, leider gibt es hier nicht so tolle (wenig praktikable, da langsame) Entwicklungsumgebungen, das wurde mir von einem professionellem php-Programmierer bestätigt (er selbst nimmt ultraedit als Editor). Da du total neu anfangen musst sollte das MS Visualstudio in betracht gezogen werden, da es die beste Entwicklungsumgebung ist die ich kenne (aber nicht ganz billig).
ak - Do 04.09.03 15:34
Jsp und java ist natürlich auch gut, damit kenne ich mich aber nicht aus.
Phobeus - Do 04.09.03 15:37
Aha... Maguma, PHPEd und zahlreiche andere Varianten machen auf mir fast einen besseren Eindruck als VStudio... wenns gratis sein soll?
[url]
http://www.nostalb.de[/url]
M$ ist in jedem Fall teurer, da man OS und Server seperat bezahlt... Ich würde eine LAMP-Lösung empfehlen. Ob Du das p für Perl oder PHP nimmst, sollte fast egal sein, PHP wird einfacher zu lernen sein.
Alibi - Do 04.09.03 15:44
Dann wäre da noch die häufig verwendete Variante, dass man PHP für die Ausgabe nutzt und Perl im Hintergrund alles macht. Die hat sich ebenfalls gut bewährt.
ak - Do 04.09.03 15:50
Wie sieht es bei PHPed mit der Geschwindigkeit beim runterscrollen im Quelltext aus? Ich habe gehört dass dieses Programm dabei sehr ins stocken kommt (es ruckelt unangenehm).
neojones - Do 04.09.03 15:55
Zum Thema JPS: was massivst dagegen spricht ist, dass es derzeit nur von 2 Herstellern gute Schnittstellen gibt und zum zweiten, dass es extrem langsam ist.
ak - Do 04.09.03 16:06
Eine saubere Trennung von Webseite und Applikationslogik hast du nur in jsp und asp.net. Im gegensätzlichen Fall ist html code und Programmiercode gemischt.
Alibi - Do 04.09.03 16:23
Wieso? Du kannst doch, wie gesagt, das Backend mit Perl machen und die Ausgabe mit PHP. Diese Technik ist weit verbreitet.
ak - Do 04.09.03 16:28
Hallo Alibi,
dann müsste unser nightfly aber php und perl lernen. Wie dem auch sei, es gibt eine menge Variationen, da fällt eine Pauschalempfehlung schwer. Ich würde auf Grund meiner persöhnlichen Erfahrung aber ASP.net empfehlen.
UC-Chewie - Do 04.09.03 17:04
Wenn du nix neues lernen willst, kannst du auch Delphi benutzen.
Einfach ein Konsolenprogramm erstellen, was du in die Standardausgabe schreibst, wird an den Browser geschickt.
barfuesser - Do 04.09.03 17:29
Hi,
da Du schreibst, daß es ein größeres Projekt werden soll, solltest Du wirklich ins Auge fassen, dieses mit Delphi (oder einer anderen Compiler-Sprache) zu erstellen. Es ist zwar löblich, sich auch mit anderen Sprachen zu befassen, aber ein Projekt in einer fremden Sprache zu entwickeln, halte ich für reichlich gewagt. Außerdem sind compilierte Programme bei der Ausführung durch den WebServer deutlich schneller als interpretierte Scripte. Falls Du trotzdem an Interpreter-Sprachen denkst, würde ich Dir auf jeden Fall Perl empfehlen, da es sich dabei um eine vollwertige Programmiersprache handelt, die für String- und Listenverarbeitung mächtige, flexible und auch sehr schnelle Werkzeuge zur Verfügung stellt.
barfuesser
JoelH - Do 04.09.03 19:42
| ak hat folgendes geschrieben: |
| Da du den Server selbst aufsetzt, würde ich dir zu asp.net und c# bzw. vb.net raten. Mit MS Visual Studio.net kannst du relativ einfach sehr gute Webanwendungen programmieren. |
Was hast du dafür gezahlt ? ASP inc. Datenbankanbindung ist wohl etwas teuer für den gemeinen Homeuser, oder ?
Alibi - Do 04.09.03 20:24
Och, die Perl/PHP Lösung ist nicht schwer zu lernen. ;) Erst Perl und dann geht PHP innerhalb von 1-2 Stunden. ;)
JoelH - Do 04.09.03 20:30
Titel: hmm,
| Alibi hat folgendes geschrieben: |
| Och, die Perl/PHP Lösung ist nicht schwer zu lernen. ;) Erst Perl und dann geht PHP innerhalb von 1-2 Stunden. ;) |
Warum zuerst Perl und dann PHP ? php ohne Perl lernt sich IMHO leichter ;)
UC-Chewie - Do 04.09.03 20:59
Wofür denn eigentllich Perl? Für ein simples Frontend sollte IMO PHP völlig ausreichend sein.
axellang - Fr 05.09.03 00:29
Hallo Nightfly,
| Nightfly hat folgendes geschrieben: |
moin
also demnächst möchte ich ein größeres HP projekt in angriff nehmen, mit dynamischen webseiten. Den Server gedenke ich selber aufzusetzen.
|
Dynamische Webseiten? Was meinst Du damit?
Heute ist alles dynamisch. Ausser Seiten wie "hallo ich bin peter und das ist meine homepage".
| Zitat: |
Doch jetzt meine FRage: was eignet sich am besten, was is zukunftssicher, wird man sagen können eine dieser Techniken setzt sich durch? Meines wissens sind ja die ASP auf dem Absteigenden ast, also JSP oder CGI..oder .Net? Bei 0 anfangen muß ich ohnehin, wär mir seeehr lieb wenn mir einer Vor- und NAchteile dieser Sprachen aufzählen könnte. |
Also ASP ist nicht auf dem absteigendem Ast. So ein Schwachsinn.
CGI ist wie schon gesagt keine Sprache, Du meinst wohl Perl.
JSP würde ich nicht nehmen. (Persönliche Meinung)
PHP ist ok und kann viel.
.NET also C#, ASP.NET.
Sprachen:
Es gibt nicht die bessere Programmiersprache.
Meiner Meinung nach stellen sich nur zwei Fragen.
Was will ich oder was muß ich programmieren und daraus ergibt sich schon die Antwort auf die nächste Frage, was für eine Technologie ist für mein Vorhaben die optimalste.
Damit meine ich, möchte ich bei einem discount Webanbieter eine Homepage mit Benutzerverfolgung und enfachen Datenbank Abfragen vielleicht noch ein kleines Forum, Counter, Gästebuch dann nehme ich php und mySql. Ist weit verbreitet, kostengünstig und kostenlose Scripts gibt es wie Sand am Meer.
Ist es ein IIS Server nehme ich ASP und als DB die MSDE oder Access. Ist auch weit verbreitet, kostengünstig und kostenlose Scripts gibt es auch wie Sand am Meer.
Perl ist auch eine mächtige Sprache, mit der Du alles machen kannst.
Coldfusion (Macromedia) währe auch noch da.
Python ist auch vom feinstem. Geile Sprache sehr mächtig.
An XML kommt auch keiner vorbei.
Und erst SOAP/Webservices.
usw.......
Datenbanken:
Falls Du eine DB möchtest ist für einfache Selects, Inserts, Updates ist mySQl oder Access voll ausreichend.
Möchtest Du Storedprocedures und Triggering dann brauchst Du MSSQL Server oder Oracle. Die MSDE unterstützt das auch.
Businesslogic:
Immerwiederkehrende Arbeiten wie DB Connect, DB disConnect, Suchfunktionen, einfache Selects, Inserts oder, oder, oder sollte man vielleicht in eine ISAPI "Internet Server Applications Programming Interface" (*.dll/*.exe) ausgliedern. Die kann man in Delphi, C++, wunderbar schreiben und was die Schnelligkeit betrifft sind ISAPIs unschlagbar. Siehe
http://www.ebay.de an ( suche was auf eBay und sehe Dir die Adresszeile deines Browsers an), die machen fast alles über ISAPIs.
Du fragst: was is zukunftssicher?
Ich glaube nicht das es in der näheren Zukunft, also 5 -10 Jahre,
eine Revolution geben wird, die die heutigen Webstandards von heute auf Morgen ablöst.
Diese Frage stellt sich wenn ich beabsichtige eine Softwarelösung in meinem Unternehmen einzuführen um z.B.
meine Dokumentarchivierung umzustruktuieren. Da muss ich mich fragen, gibts die Firma und das Produkt noch in 2-3 Jahren.
Was passiert wenn die pleite gehen. Muss ich Vertäge machen die mir den Source zusichern so das ich bei einer Firmenpleite weiterentwickeln kann. Das ist kein Hirngespinst solche Vertäge gibt es. Bei einer 10 Mann Klitsche bekommt das Softwarehaus einen Lachanfall aber bei einem Auftraggeber wie z.B. ePlus oder Siemens da sieht es schon anders aus.
Ich (Wir [mein Arbeitgeber]) programmieren im Intranetbereich, zusätzlich zu unserer Softwarelösung, Zeiterfassung für Mitarbeiter in Verbindung mit verteiltem Reporting (Crystal Reports). Erstellung und Bereitstellung von dynamischen Datenbankauswertungen. Dynamische Rechteverteilung usw.,usw..
Wir arbeiten auf der Basis von Delphi, ASP/VB.NET, IIS5/6, Oracle8/MSSQL Server 2000.
Ich würde bei einem neuem Projekt es in C# machen. Geile Sprache C/C++ angehaucht und kostenlos.
Net Framework SDK herunterladen. Als Entwicklungsumgebung würde ich WebMatrix nehmen.
VS.NET ist teuer lohnt nur bei Firmen die es zahlen. WebMatrix ist genauso gut und hat eine große Gemeinde.
Bei WebMatrix ist ein integrierter Datenbankmanager bei.
http://www.asp.net/webmatrix/
Da zur Zeit MS 2003 Webserver im kommen sind (siehe große Provider) ist wohl die NET Technologie die interessanteste.
Ab Delphi 7 gibt es schon den Delphi for .NET-Compiler-Preview. Ein sehr interessanter Artikel über .NET Programmierung mit Delphi unter:
http://www.tutorials.delphi-source.de/dotneteinstieg/index.shtml
Ab Delphi 8 wirds interessant. Borlands C#-Builder ist auch im Anmarsch.
Aber das ist meine persönliche Meinung
Grüße
Axel
ak - Fr 05.09.03 08:57
Hallo JoelH,
ich habe die "Studentenversion" genommen ;-) .
maze2k - Mi 08.10.03 21:17
Also LAMP bzw. WAMP kann ich nur empfehlen...
Wenn du deine Seite dann mit MySQL, PHP, DHTML, CSS usw. machst, dann wird das ganze schön und dynamisch *g*
Klabautermann - Do 09.10.03 09:57
Hi,
Intra Web Sieten laufen aber nur im IE. Daher sind sie fürs Internet eigentlich nicht zu gebrauchen.
Gruß
Klabautermann
ak - Do 09.10.03 11:25
Hallo Klabautermann,
soviel ich weiss laufen die auch auf Netscape und Opera, es gibt auch extra Opera-Komponenten für Intraweb. Ich kann das ja mal heute Abend ausprobieren.
Mann muss auch unterscheiden zwischen der Pageedition die ab Delphi 7 Professional dabei ist oder der "richtigen" Version die es erst ab D7 Enterprise gibt beziehungsweise, wenn man sie extra kauft.
---------------------------------------------------------
Update:
Soo ich habe jetzt eben mal in den "Entwickler 1/2003" geschaut und dort steht, dass Intraweb (die neuste Version 6) im Netscape, Opera und natürlich im IE läuft.
Ein "kurzer Blick" genügt eben nicht Klabautermann ;-).
Ich werde das aber erst morgen testen können.
Klabautermann - Do 09.10.03 13:31
Hallo,
| ak hat folgendes geschrieben: |
| Soo ich habe jetzt eben mal in den "Entwickler 1/2003" geschaut und dort steht, dass Intraweb (die neuste Version 6) im Netscape, Opera und natürlich im IE läuft. |
das währe durchaus schick, mich würde dann aber mal interessieren mit welcheser Technik die Komponenten im HTML ergebnis erstellt werden. Ist dann z.B. das DB-Grid ein JAVA Applet?
Gruß
Klabautermann
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!