AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Abschlussarbeit: Webserver mit eigener Programmiersprache
Thema durchsuchen
Ansicht
Themen-Optionen

Abschlussarbeit: Webserver mit eigener Programmiersprache

Ein Thema von milos · begonnen am 7. Dez 2014 · letzter Beitrag vom 7. Dez 2014
Antwort Antwort
Benutzerbild von milos
milos

Registriert seit: 14. Jul 2008
Ort: Bern (CH)
508 Beiträge
 
Delphi 11 Alexandria
 
#1

Abschlussarbeit: Webserver mit eigener Programmiersprache

  Alt 7. Dez 2014, 05:13
Hallo liebes Forum,

ich muss mich ab Januar voll und ganz mit meiner Abschlussarbeit auseinandersetzen.
Der Schwierigkeitsgrad sollte anspruchsvoll sein, der Nutzen spielt hier nur eine nebensächliche Rolle. Bei der Sprache musste ich mich zwischen C# und Delphi entscheiden, wobei ich Delphi vorzog um es auch in FreePascal schreiben zu können um später auch Linux Anwendungen daraus zu erstellen.

Beim Projekt soll es sich um einen einfachen Webserver handeln, der eine eigene Programmiersprache nach HTML, CSS, JavaScript kompilliert.
Am liebsten würde ich es so machen, dass man selbst kein HTML, CSS oder JavaScript können muss (bei bedarf aber trotzdem anwendbar ist), also wirklich alles vom compiler generiert wird.

Da ich mich lieber mit der Programmiersprache beschäftigen will, als and der Kommunikation vom Webserver rum zu frickeln, werde ich den Webserver von Indy benutzen.

Die Sprache soll Objektorientiert sein und sich dabei stark an Object Pascal orientieren.

Hier das simpelste Hello World:
Delphi-Quellcode:
program WebService;

import
  Core,
  Document;

interface

type
  { Main-Klasse - heisst gleich wie Datei  }
  WebService = class
  public
    { Constructor wird bei der Main-Klasse automatisch aufgerufen }
    constructor Create();
  end;

implementation

constructor WebService.Create();
begin
  Body.Append('<b>Hello World!</b>'); // Benutzung von HTML
end;

end.
Wie man sehen kann, könnte man den code fast 1:1 in Delphi benutzen.

Wie ein Webserver grob arbeitet:
http://svr2k.de/webserver.png

Ich habe vor hier meine erfolge zu dokumentieren, hochzuladen und fragen zu stellen. Falls ihr eine Frage an mich habt, werde ich sie natürlich auch gerne beantworten.

Wie findet ihr das vorhaben? Ist es gut für ein Abschlussprojekt? Habt ihr ein paar Tipps?
Bin für jeden Beitrag dankbar!

Freundliche Grüsse
Milos
  Mit Zitat antworten Zitat
mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#2

AW: Abschlussarbeit: Webserver mit eigener Programmiersprache

  Alt 7. Dez 2014, 09:20
..."Da ich mich lieber mit der Programmiersprache beschäftigen will, als and der Kommunikation vom Webserver rum zu frickeln, werde ich den Webserver von Indy benutzen.
Die Sprache soll Objektorientiert sein und sich dabei stark an Object Pascal orientieren."...

=> also willst du scheinbar mehr "eigene Programmiersprache mit WebServer" als Abschlussarbeit... ja als Abschluss wovon eigentlich?
Als Thema der Abschlussarbeit zu irgend einem FH Studium, naja wenn es sein muss.

gibt es aber schon einiges fertig, z.B. das:
http://sourceforge.net/projects/scriptengine2/


Mein Gefühl sagt mir aber, das es da eventuell "nur" um sowas wie ne Lehre als Fachinformatiker XXX oder sowas in der Richtung geht. Und wenn ich da dein betrieblicher Betreuer wäre, würde ich dir von einer eigenen Sprache abraten, weil ausbildungsseitig da die theoretischen Grundlagen für Parser/Interpreter&Compilerbau fehlen und das nicht in den max. zur Verfügung stehenden Arbeitsstunden für solche Arbeiten (samt DoKu!) zu realisieren wäre.

Als FachInfo/SI mit Hang zu LowLevel Protokollen wäre es ehr möglich eben doch einen einfachen WebServer "ohne Indy" von blanker Socketebene an "zu frickeln", nach Protokollnorm zu planen und zu realisieren... das ist öde, weil man kaum was sieht, aber es würde zeigen, das du "verstehst", was da in deinem Bild "so funktioniert ein Webserver" gemalt hast.
Für mehr wie ein "Hello World" reicht da dann die Zeit schon gar nicht, musst ja auch noch deine Doku im vorgegebenem Zeitrahmen schreiben.


Als FachInfo/AW könntest du um beim "gewolltem" Thema zu bleiben, das so lösen: Du nimmst wie geplant Indy-Zeug als Servergrundlage, dann nimmst du irgend eine ScriptEngine(begründe aber die Auswahl in der Doku!) und verbindest ein paar Inputfelder aus HTML-Templates oder ein paar Aufrufparameter mit Scriptvariablen, sodass du dynamischen Inhalt erzeugen und zurückgeben kannst. Funktional würde mir als Prüfer da glatt ein "Result := a + b" reichen was du einfach per Script in "Result := a - b" abändern kannst. Ich würde dir zu deiner hoffentlich guten Doku dann lieber noch ein paar Detailfragen zur Fehlerbehandlung und zum Thema Sicherheitsaspekte im Zusammenhang scriptfähigen Anwendungen stellen.


Auswahlbegründungen ala "Indy, weil keine Lust an der Kommunikation vom Webserver rum zu frickeln" kommen bei Abschlussarbeiten egal welcher Art nicht gut an! Sowas kannst du dir "denken", aber nicht irgendwo sagen/schreiben wo es eventuell deine Ausbilder/Prüfer hier mitlesen. Böse Prüfer könnten sonst plötzlich auf die Idee kommen was in diese Richtung zu fragen.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Abschlussarbeit: Webserver mit eigener Programmiersprache

  Alt 7. Dez 2014, 09:38
Du willst einen Webserver mit eigener Programmiersprache programmieren...

Aber dann nimmst Du einen Indy Webserver... fertig
Und freepascal... fertig

Wo ist die Leistung? Willst Du zur Laufzeit Pascal interpretieren?
Gibt es scripter z.b. TMS...

Was ist die Frage?
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#4

AW: Abschlussarbeit: Webserver mit eigener Programmiersprache

  Alt 7. Dez 2014, 09:41
Ich finde die Idee, eine Hochsprache (Delphi) in eine andere Hochsprache (JavaScript) zu übersetzen, etwas merkwürdig. Damit wird das Abstraktionsniveau doch nicht verändert, aber gerade darum geht es doch. Willst Du damit nur den Programmierern entgegenkommen, die nur Delphi können wollen?

Projekte dieser Art (vielleicht ein proof-of-concept) würde ich dann in jedem Fall mit einem Compilergenerator umsetzen (Yacc, Coco, k.A. was es derzeit so gibt). Dann kannst Du dich auf andere Dinge konzentrieren und musst dir keinen Compiler/Translator selbst programmieren. Denn dazu fehlt dir das, wass mensch72 schon sehr treffend erwähnt hat (theor. Grundlagen vom Parser- und Compilerbau).

Mavarik: Kann man mit den Scriptengines auch Code im Browser ausführen?

PS: Mir würde hier das naheliegende DWS (Delphi WEB Script) einfallen, weil da jemand schon eine ähnliche Idee hatte.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.126 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Abschlussarbeit: Webserver mit eigener Programmiersprache

  Alt 7. Dez 2014, 09:51
Mavarik: Kann man mit den Scriptengines auch Code im Browser ausführen?
Wieso Brwoser? Ich denke er will einen Server bauen?
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#6

AW: Abschlussarbeit: Webserver mit eigener Programmiersprache

  Alt 7. Dez 2014, 10:28
Mavarik: Kann man mit den Scriptengines auch Code im Browser ausführen?
Wieso Brwoser? Ich denke er will einen Server bauen?
Na er will Delphi nach "HTML und JavaScript" übersetzen und ich dachte (bin aber echter Web-Laie), das JS immer im Browser läuft. Deshalb.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Abschlussarbeit: Webserver mit eigener Programmiersprache

  Alt 7. Dez 2014, 10:30
Zitat:
Ich finde die Idee, eine Hochsprache (Delphi) in eine andere Hochsprache (JavaScript) zu übersetzen, etwas merkwürdig.
Funktioniert beim Smart Mobile Studio oder bei emscripten ( C++ nach JavaScript) von Mozilla doch gut.

Es geht ja nicht unbedingt nur darum, das "Lernen" einer Sprache zu umgehen, sondern möglicherweise verhanden Code weiterzuverwenden.

Zudem ist ja nicht klar, was die Sprache alles können soll.
Zitat:
PS: Mir würde hier das naheliegende DWS (Delphi WEB Script) einfallen, weil da jemand schon eine ähnliche Idee hatte.
Oder halt die freie Kommandozeilenversion vom Smart Mobile Studio.

Es kommt halt darauf an, an was er gedacht hat:
-Delphi/Pascal als ASP/PHP-Ersatz -> DWS
-Delphi/pascal als JS-Ersatz -> SMS
Markus Kinzler
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#8

AW: Abschlussarbeit: Webserver mit eigener Programmiersprache

  Alt 7. Dez 2014, 10:36
Guter Einwand, wieder was gelernt.
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#9

AW: Abschlussarbeit: Webserver mit eigener Programmiersprache

  Alt 7. Dez 2014, 14:37
[...] ich dachte (bin aber echter Web-Laie), das JS immer im Browser läuft. [,,,]
node.js ist eins der populärsten Gegenbeispiele...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz