Portugiesisch
chinesisch
Fox Pages Server (FPS) ist ein Multithread-HTTP-, HTTPS- und FastCGI-Server für Visual FoxPro.
Mit Fox Pages Server können Sie Webinhalte und -anwendungen mithilfe von Visual FoxPro entwickeln, debuggen und verteilen.
Fox Pages Server lässt nicht zu, dass Visual FoxPro-Code im Internet ausgeführt wird. Aus diesem Grund ist es notwendig, die Sprache und die Entwicklungstools für das Internet zu kennen, die verwendet werden, zum Beispiel: HTML, CSS, Javascript, JQuery, Dojo usw.
Fox Pages Server kann in Kombination mit der boa-Plattform verwendet werden. Auf diese Weise können Sie Webanwendungen ohne Kenntnisse einer Webentwicklungssprache erstellen. Fox Pages Server kommuniziert mit BOA.
Microsoft Visual FoxPro 9.0
Fox Pages Server wird in zwei Modi verteilt: Entwicklungsmodus und Verteilungsmodus.
In diesem Modus arbeitet der Server standardmäßig im Singlethread, sodass es möglich ist, Visual FoxPro für die Entwicklung von FXP-Seiten zu verwenden. Für den Entwicklungsmodus muss Visual FoxPro installiert sein.
In diesem Modus arbeitet der Server im Multithread und bietet so einen extremen Verarbeitungsgewinn. Der Verteilungsmodus erfordert die Installation der Visual FoxPro-Laufzeitumgebung.
Im Entwicklungs- und Verteilungsmodus wird jeder Fehler in Tabellen im LOGS-Ordner aufgezeichnet, sodass Fehler erkannt und nachverfolgt werden können.
Versuchen Sie nicht, den Installationsvorgang im Entwicklungs- und Bereitstellungsmodus auf demselben Computer durchzuführen. Wenn dies erforderlich ist, führen Sie die Datei install.bat im Verteilungsmodus aus, da dadurch die Komponenten registriert und auch der Windows-Dienst erstellt wird. Konfigurieren Sie den Entwicklungsmodus so, dass er eine andere IP oder einen anderen Port als den Verteilungsmodus verwendet.
Das Visual FoxPro-Debugging funktioniert nur im Entwicklungsmodus, da keine Schnittstelle angezeigt werden kann, wenn der Code in einer Multithread-DLL ausgeführt wird. Jeder Versuch führt zu Fehlern oder zum Einfrieren des Threads.
Es wird nicht empfohlen, die .HTML-Dateien mit ihrer .FXP-Datei im selben Ordner des Servers kompiliert zu belassen. Sie können heruntergeladen werden, wenn die Erweiterung im Webbrowser geändert wird.
Fox Pages verwendet standardmäßig Port 80 für HTTP. Daher ist es vor dem Start erforderlich, alle Dienste zu stoppen, die Port 80 verwenden (IIS, Apache usw.), oder den verwendeten Port im Programm HTTP.PRG im Ordner SERVERS zu ändern im Modus oder im Feld PORT der Tabelle SERVERS.DBF im Ordner DATA im Verteilungsmodus.
Andere Protokolle folgen dem gleichen Verfahren.
Die Datenbank FPS.DBC im Ordner DATA speichert die Konfiguration der Server. Die Dokumentation der Tabellen und ihrer jeweiligen Felder finden Sie in der Datei FPS.HTML. Die Beziehung zwischen den Tabellen kann im FPS.JPG-Bild angezeigt werden.
Die Server sind für die Verbindungen der Clients (IE, Chrome, Firefox usw.) und Server (NGinX usw.) verantwortlich.
Jeder Server läuft auf einem separaten Thread und kann je nach Konfiguration der IP-Nummer auf demselben Port lauschen. Bei Konflikten zwischen IP-Nummern und Ports erhält der erste konfigurierte Server die Verbindungen.
Konfigurieren Sie die Server, indem Sie Datensätze in der Tabelle SERVERS.DBF hinzufügen, ändern oder löschen.
Jedes Protokoll verwendet standardmäßig einen bestimmten Port:
FastCGI wird normalerweise bei der Kommunikation zwischen Servern verwendet, es gibt keinen Standardport.
Sites stellen eine Beziehung zwischen einem HOSTNAMEN (z. B. www.example.com) und dem Ordner her, in dem sich die Site-Dateien befinden (z. B. c:sitesexample), und konfigurieren Ihre Homepage (z. B. index.fxp, index. php, index .html usw.).
Konfigurieren Sie die Sites, indem Sie Datensätze in der Tabelle SITES.DBF hinzufügen, ändern oder löschen.
Wenn das Feld HOSTNAME mit „*“ gefüllt ist, beziehen sich alle HOSTNAMEN auf denselben Ordner.
In derselben Tabelle konfigurieren wir Weiterleitungen, indem wir das REDIRECT-Feld mit der vollständigen Adresse der Weiterleitung ausfüllen. Diese Funktion ist sehr nützlich, wenn wir beispielsweise ungesicherte Verbindungen (HTTP) auf einen sicheren Server (HTTPS) umleiten müssen. Dies geschieht beispielsweise durch Ausfüllen des REDIRECT-Felds der Website www.example.com vom unsicheren Server aus (HTTP) mit „https://www.example.com“, der sicheren Site-Adresse (HTTPS).
Gateways werden verwendet, um Anfragen an andere Entwicklungstools zu senden. PHP wurde bisher als einziges getestet, wobei jedes Tool, das FastCGI unterstützt, kompatibel sein muss.
Konfigurieren Sie die Gateways, indem Sie Datensätze in der Tabelle GATEWAYS.DBF hinzufügen, ändern oder löschen.
Das einzige unterstützte Protokoll ist FastCGI.
Gateways funktionieren ähnlich wie Sites und stellen eine Beziehung zwischen einem HOSTNAMEN (z. B. www.example.com) und dem Ordner her, in dem sich die Site-Dateien befinden (z. B. c:sitesexample). Der Unterschied liegt darin, dass der Inhalt des URI-Feldes (z. B. „.php“) im Request-URI enthalten sein muss, damit dieser an das Gateway gesendet wird.
Basierend auf diesen Kriterien wandelt Fox Pages Server die HTTP-Anfrage in eine FastCGI-Anfrage um und sendet sie an den konfigurierten Server. Die FastCGI-Antwort wird dann in eine HTTP-Antwort umgewandelt und an den Client gesendet.
Anfragen, die die Kriterien nicht erfüllen, werden vom HTTP-Server verarbeitet, daher muss für jedes Gateway eine Site konfiguriert werden.
Nicht alle in einer Site enthaltenen Ordner und Dateien müssen zugänglich sein. Beispiele hierfür sind Datenbanken, Tabellen und Programme.
Fox Pages Server verfügt über ein Zugriffskontrollsystem, das autorisierten Zugriff oder die vollständige Sperrung von Site-Ordnern ermöglicht.
Die Zugriffskontrolle wird durch Hinzufügen, Ändern oder Löschen von Datensätzen aus den Tabellen REALMS.DBF, USERS.DBF und REALMUSER.DBF konfiguriert
Die Tabelle REALM.DBF legt die Zugriffseinstellungen für die Site-Ordner fest.
Die Tabelle USERS.DBF definiert die Benutzer, die Zugriff auf die Ordner haben.
Die Tabelle REALMUSER.DBF listet Benutzer mit Ordnern auf.
Es handelt sich um einen Browsermechanismus, der verhindert, dass ein Ursprung (Domäne) ohne Autorisierung auf Ressourcen in einer bestimmten Quelle (einer anderen Domäne) zugreift.
Konfigurieren Sie Berechtigungen, indem Sie Datensätze in der Tabelle CORS.DBF hinzufügen, ändern oder löschen.
Geben Sie im Feld SITE die Site ein, die die Autorisierung gewährt. Dieses Feld bezieht sich auf die Tabelle SITES.DBF.
Geben Sie den Ursprung (autorisierte Domäne) in das Feld ORIGIN ein. Wenn es mit „*“ gefüllt ist, ist jeder Ursprung zulässig.
Geben Sie die Ressource in das URI-Feld ein. Wenn es mit „*“ gefüllt ist, wird jede Ablehnung zugelassen.
Die Felder GET, POST, PUT, DELETE, HEAD und OPTIONS bestimmen, welche Methoden zulässig sind.
Das HEADER-Feld muss mit den zulässigen HTTP-Headern gefüllt sein. Sie sollten durch ein Komma gefolgt von einem Leerzeichen getrennt werden.
Fox Pages Server kann für die Verwendung über andere Webserver mithilfe des FastCGI-Protokolls konfiguriert werden.
Die Datei nginx.conf im NGINX-Ordner ist eine Konfigurationsvorlage für den NGinX-Server. Kopieren Sie diese Datei in den CONF-Ordner, in dem NGinX installiert ist, und konfigurieren Sie den ROOT-Parameter mit dem vollständigen Pfad des Site-Dateiordners.
Um Fox Pages Server für die Verwendung des FastCGI-Protokolls zu konfigurieren, füllen Sie das Feld TYPE der Tabelle SERVERS.DBF mit „FCGI“.
Da alle für die Bearbeitung der Anfrage erforderlichen Informationen vom Webserver bereitgestellt werden müssen, ist keine Konfiguration von Sites, Gateways oder Sicherheit erforderlich.
Verwenden Sie nach dem Serverstart einen beliebigen Browser, indem Sie die konfigurierte Serveradresse eingeben (z. B. http://localhost, https://localhost).
Um die Demo-Site zu betreten, gibt es zwei Konten, eines für den Kunden und eines für den Vertreter.
Über das Kundenkonto gelangt man in den Kundenbereich. Um darauf zuzugreifen, verwenden Sie die E-Mail-Adresse [email protected] und das Passwort 123456.
Mit dem Vertreterkonto wird ein Antrag zur Kunden- und Auftragsregistrierung gestartet. Um darauf zuzugreifen, verwenden Sie die [email protected] und das Passwort 123456.
Eine dynamische Seite verwendet eine serverseitige Programmiersprache bei der Entwicklung einer Website oder Internetanwendung.
Die Fox Server Pages ermöglichen die Entwicklung dieser Seiten unter Verwendung der Ressourcen statischer Entwicklungsseiten (z. B. HTML, CSS, Javascript) mit Visual Fox Pro-Programmierfunktionen (z. B. Konsolensprachenprogrammierung, Datenbank).
In Fox Pages Server wird eine HTML-Seite in eine PRG-Programmdatei konvertiert und in eine kompilierte FXP-Datei kompiliert, sodass die Seitenverarbeitung extrem schnell ist und nicht die Einschränkungen aufweist, die mit der Verwendung eines anderen Interpreters verbunden sind.
Beim Kompilierungsprozess wird nur der Code zwischen den Tags <FPS>
und </FPS>
verarbeitet, der Rest wird als statischer Inhalt gesendet.
Ein Beispiel für statischen Inhalt.
<HTML>
Hello World
</HTML>
Ergebnis:
Hallo Welt
Ein Beispiel für ein Programm als statischen Inhalt aufgrund der fehlenden <FPS>
und </FPS>
-Tags.
<HTML>
for nCounter = 1 to 3
Hello World
next
</HTML>
Ergebnis:
für lnCounter = 1 bis 3
Hallo Welt
nächste
Ein Beispiel mit den Tags <t>
und <e>
, sie sind für das Senden statischer Texte und Ausdrücke verantwortlich.
<HTML>
<FPS>
cWorld = "World"
for nCounter = 1 to 3
<t>Hello </t><e>cWorld</e><br>
next
</FPS>
</HTML>
Ergebnis:
Hallo Welt
Hallo Welt
Hallo Welt
Ein Beispiel für die kombinierte Programmierung anderer HTML-Tags. Jede Zeile, die mit einem HTML-Tag oder dem <t>
-Tag beginnt, wird gesendet.
<HTML>
<FPS>
<b>Begin</b><br><br>
cWorld = "World"
for nCounter = 1 to 3
<b><t>Hello </t><e>cWorld</e></b><br>
next
<br>
<t>End</t>
</FPS>
</HTML>
Ergebnis:
Beginnen
Hallo Welt
Hallo Welt
Hallo Welt
Ende
REST (Representational State Transfer) ist ein Architekturstil, der dafür plädiert, dass Webanwendungen HTTP wie ursprünglich vorgesehen verwenden sollten, wobei GET-, PUT-, POST- und DELETE-Anfragen für Abfragen, Änderungen, Erstellung und Löschungen verwendet werden sollten.
Fox Pages Server verarbeitet eine Anfrage als REST, wenn der Accept-Header „application/json“ oder „application/xml“ lautet.
Weitere Einzelheiten finden Sie in der Anwendung, die auf der Demoseite verfügbar ist, wenn Sie sich mit dem Vertreterkonto anmelden.
Mit Fox Pages Server können Sie eine REST-API erstellen, um die Anforderungen der BOA-Plattform zu bedienen. Sie können in Visual Foxpro eine vollständige Webanwendung erstellen. Fox Server Pages antwortet auf die von BOA gesendeten Anfragen. Die Daten, die zwischen Fox Server Pages und BOA gesendet werden, sind leicht verständliche JSON-Strings.
Nachdem Sie Ihre Visual Fox-Seiten eingerichtet haben, können Sie die Leistungsfähigkeit dieser Kombination testen. Starten Sie die Demo auf https://www.BOA-platform.com oder über diesen direkten Link: http://demo.boa-platform.com. Wenn der Anmeldebildschirm erscheint, können Sie Folgendes verwenden:
Benutzer: de
Passwort: en01
URL des API-Servers: http://localhost/boa. Dies ist Ihr lokaler Fox Pages-Server.
Den Beispielquellcode finden Sie im Ordner demo/boa.
Für die Unterstützung des FastCGI-Protokolls wurde die Verarbeitung der Objekteigenschaften „Request“ und „Response“ geändert.
In Version 2.0 wurde bei Headern mit Bindestrichen (z. B. Accept-Encoding) der Bindestrich entfernt (z. B. AcceptEnconding). In Version 3.0 werden diese Bindestriche durch Unterstriche ersetzt (z. B. Accept_Encoding).
Fox Pages Server ist kostenlose Open-Source-Software. Die Lizenz befindet sich in der LICENSE-Datei.
Als Komponente für die Verbindungen dient der Socketwrench der Firma Catalyst Development Corporation (www.sockettools.com).
Diese Komponente wird in der kostenlosen und kommerziellen Version vertrieben. Die kostenlose Version unterstützt keine sicheren Verbindungen (SSL/TLS).
Die Entwicklungsversion von Fox Pages Server ist für die Verwendung der kostenlosen Version von SocketWrench konfiguriert. Dies stellt nur dann eine Einschränkung dar, wenn die Verwendung sicherer Verbindungen in der Entwicklungsumgebung erforderlich ist.
Um die kommerzielle Version von SocketWrench nutzen zu können, müssen Sie eine Lizenz erwerben, da Fox Pages Server diese Lizenz nicht enthält.
Die verwendete Versionskonfiguration, kostenlos oder kommerziell, oder die Version von SocketWrench, befindet sich wie folgt in der Datei FOXPAGES.H des CORE-Ordners:
//STECKSCHLÜSSEL
#DEFINE USEFREEVERSION
#DEFINE CSWSOCK_CONTROL "SocketTools.SocketWrench.6"
//SocketWrench 8
//#DEFINE CSWSOCK_CONTROL "SocketTools.SocketWrench.8"
//#DEFINE CSWSOCK_LICENSE_KEY „FÜGEN SIE HIER IHRE LAUFZEITLIZENZ EIN“
//SocketWrench 9
//#DEFINE CSWSOCK_CONTROL "SocketTools.SocketWrench.9"
//#DEFINE CSWSOCK_LICENSE_KEY „FÜGEN SIE HIER IHRE LAUFZEITLIZENZ EIN“
Sie müssen das Projekt neu kompilieren, nachdem Sie diese Einstellungen geändert haben.
Multithreading - VFP2C32T.FLL - Christian Ehlscheid
Komprimierung – VFPKomprimierung – Craig Boyd
Verschlüsselung – VFPEncryption – Craig Boyd
JSON-Parser – Modifizierte Bibliotheksversion – Craig Boyd
Steckschlüssel - Steckschlüssel - Katalysatorentwicklung
Wenn dieses Projekt für Sie nützlich ist, denken Sie über eine Spende nach.