Tntnet ist ein modulares, multithreaded webapplicationserver von Grund auf für C ++ geschrieben.
So erstellen Sie Webapplikationen Tntnet hat ein Template-Sprache namens ecpp ähnlich wie PHP, JSP oder Maurer, wo Sie c ++ einbetten - Code in einer HTML-Seite, um aktive Inhalte zu generieren.
Die ecpp-Dateien werden in c ++ vorkompilierte - Klassen aufgerufen Komponenten und kompiliert und in einer gemeinsamen Bibliothek verbunden. Dieser Prozess ist bei compiletime geführt. Der Webserver tntnet nur die kompilierte componentlibrary muss.
Da die Webapplikationen sind in nativen Code kompiliert, sie sind sehr schnell und kompakt.
Die Komponenten können andere Komponenten aufrufen. So können Sie buildingblocks von html-Teile anlegen und von dort auf den anderen Seiten wie Teilprozesse.
Die Anforderungen werden durch tntnet analysiert und die Anfrage-Informationen leicht zugänglich zu den Komponenten. Es unterstützt die GET und POST-Parameter und Mime-Multipart-Anforderungen für Datei-Upload.
Die templatelanguage hat auch Unterstützung für internationalisierte Anwendungen. Sie können sehr einfach Webapplikationen für verschiedene Sprachen.
Weitere Features sind: Cookies, HTTP-Upload, automatische Anfrage-Parameter-Analyse und Konvertierung, automatische session, scoped Variablen (Anwendung, Anfrage und Sitzungs), Internationalisierung, Keep-Alive.
Die Protokollierung wird durch cxxtools getan, was eine einzigartige API für log4cpp, log4cxx oder einfache Protokollierung in Dateien oder Konsole bietet.
Tntnet vollständig multithreaded und viel Arbeit in die es skalierbar ist verschwunden. Es verwendet einen dynamischen Pool von Worker, die Anfragen von http-Clients beantwortet.
Ssl wird über den OpenSSL-Bibliothek unterstützt
Eigenschaften .
- in Standard-C ++ unter Linux geschrieben
- mit & quot getestet; und & quot; SuSE Linux 9.1 x86_64 & quot;
- verwenden, um Template-Sprache c einbetten ++ - Code in HTML ähnlich wie PHP, JSP, ASP oder Mason
- Komponenten-Konzept ermöglicht die Modularisierung von Webapplikationen
- Multithread
- erstellen eine Webapplikation einschließlich Grafiken in einem einzigen gemeinsamen Bibliothek
- GET- und POST-Parameter werden analysiert und sind leicht zugänglich
- Unterstützung für Datei-Uploads
- Unterstützung für i18n von Webapplikationen -. Einzigen Codebasis für verschiedene Sprachen
Debian Woody x86 & quot;
Was ist neu in dieser Pressemitteilung:
- New Proxy-Modul:
- Das neue Modul Proxy @ tntnet ermöglicht die Weiterleitung Anfrage an andere http-Server.
- Sichere Sitzungsbereich für Variablen nur in SSL-Sitzungen gültig:
- Ein neuer Rahmen Typ `` ermöglicht es Benutzern, Variablen, die nur in SSL-Verbindungen gültig sind, zu definieren. Auch eine separate Cookie gesendet wird, die ein Attribut den Browser, um zu beraten, es zu benutzen, nur wenn ssl wird ermöglicht.
- Configure tntnet mit XML (oder JSON) einschließlich Protokollierung:
- Früher ein tntnet wurde mit einer Textdatei mit einem einfachen, aber proprietären Format konfiguriert. Beim Einschlag in einer separaten Datei mit einem anderen Format konfiguriert. Beides wird nun in einer einzigen XML-Datei kombiniert.
- Entfernen cgi-Bibliothek:
- Früher gab es eine Bibliothek, die zu ecpp Komponenten cgi Prozesse laufen zu lassen ist. Die Verwendung war begrenzt und die Leistung in cgi ist immer schlecht. Soweit ich weiß, niemand hat es (aus gutem Grund) verwendet. Daher ist es nun entfernt.
- Erweitern url Zuordnung mit Zuordnung von Verfahren oder ssl:
- Mapping Anforderungen an Komponenten verlängert. Nicht nur die URL kann als Voraussetzung, sondern auch den http-Methode oder ssl Zustand verwendet werden. Der bisherige getrennte Zuordnung pro virtuellen Host wird nun auch als Abbildung Bedingung festgelegt.
- Verwenden Serialisierung Rahmen für% config-Variablen aus tntnet Konfiguration zu lesen, um komplexe Konfigurationen unterstützt:
- Die ecpp Tag `` können Web-Anwendungen, um Werte aus der tntnet Konfigurationsdatei gelesen. Früher konnte nur eine skalare Variable gelesen werden. Jetzt mit den cxxtools Serialisierung komplexe Objekte können konfiguriert und mit einer Web-Anwendung übergeben werden.
- ecpp Compiler nicht beim ersten Fehler nicht mehr zu stoppen, aber versucht, mehr Probleme zu finden:
- Die ecpp Compiler `ecppc` Erstellung beim ersten Fehler beendet. Jetzt versucht sich zu erholen und weiterhin die Zusammenstellung und Meldung von Fehlern.
- Ermöglicht Anwendungen, um die aktuelle Sitzung zu löschen:
- Der Aufruf der neuen Methode `request.clearSession ()` löscht alle Session-Variablen, nachdem die aktuelle Anforderung.
- Lesen Sie die Dateinamen für multibinary Komponente wahlweise aus einer Datei mit der Option -i in ecppc:
- Multibinary Komponenten enthalten eine Sammlung von statischen Dateien, die als Einzel tntnet Komponente kompiliert wird. Dies hilft sparen Aufwand, da jede Komponente einen Code, der es aufrufbar macht braucht. Da die Liste der statischen Dateien in einer Web-Anwendung verwendet werden, können sehr lang sein, ist es oft zweckmäßig, die Liste in einer separaten Datei zu erhalten. Auch eine sehr lange Liste kann die maximal zulässige Länge eines Shell-Befehl zu verlängern. Jetzt `ecppc` die Liste aus einer Datei zu lesen, um zu lösen, dass.
- Die Argumente url Mapping haben jetzt Namen:
- Bei der Zuordnung einer Anforderung an eine Komponente, Argumente aus der Konfiguration an die Komponente übergeben werden. Bisher war es nur eine Liste von Werten. Jetzt sind die Werte hat Namen, die die Handhabung und besser lesbar macht.
- Lassen distinquishing zwischen GET und POST Parameter:
- ECPP ermöglicht die Definition Abfrageparameter mit einem `` tag. Tntnet bestanden hier alle GET und POST Parameter. Für Entwickler war es schwierig, herauszufinden, ob Argumente via GET oder POST übergeben. Jetzt Argumente können in einem `` oder definiert werden `` Abschnitt nur die GET oder POST Parameter.
- Bugfixes und Optimierungen:
- Einige kleinere Bugfixes und Optimierungen sind in tntnet getan.
Was ist neu in der Version 2.1:
- Die Aktualisierungszeit. Diese Versionen sind das Ergebnis von 2 Jahren Entwicklungs whith viele Verbesserungen.
- In dieser Version json und jsonrpc zu cxxtools sowie eine schnelle binäre RPC Server und Client. Beide basieren auf der verbesserten Serialisierung Rahmen cxxtools basiert.
- Die JSON-und Binär-Format kann als Speicherformat verwendet werden. Auch Serialisierung und Deserialisierung von csv möglich ist.
- Die Unicode-String als Spezialisierung von std :: basic_string bekam ein komplett neu geschrieben mit kurzen String-Optimierung.
- Tntnet hat vor allem viele kleine Verbesserungen, bessere Einhaltung von Standards und eine etwas höhere Leistung.
- Tntdb bekam eine Replikation-Treiber, der in der Lage, die Daten zwischen Datenbanken ohne Datenbankunterstützung zu replizieren. Die Komma Klasse wurde neu geschrieben und bekam Unittests. Die neue RowReader Klasse macht Code besser lesbar, wenn viele Spalten von einer Ergebniszeile zu lesen. Eine neue Klasse BlobStream implementiert eine std :: istream Schnittstelle zu Blobs.
Was ist neu in der Version 2.0:
- Nach über 2 Jahren ohne neue stabile Versionen ist es Zeit, Nach Updates suchen. Cxxtools hat heiße große Verbesserungen und Funktionserweiterungen wie xmlrpc, ein Signal-Slot Rahmen anynchronous I / O und andere.
- Das bedeutete einige API-Änderungen. Immer noch die meisten der vorhandenen Code ausgeführt werden soll. Tntnet und tntdb benötigt einige Änderungen für diese, so dass die neuen tntnet und tntdb Mitteilungen müssen cxxtools 2.0.
- Tntnet hat viele kleine Funktion und Leistungsverbesserungen haben. Zum Glück gab es keinen großen Bedarf an API-Änderungen. Fast Anwendungen sollten aus der Box durch Neukompilierung laufen.
- Tntdb bekam einige Funktionserweiterungen. Am wichtigsten sind vielleicht die Unterstützung für Auto erhöht Werte mit der Methode tntdb :: Connection :: lastInsertId (std :: string) und Unterstützung für benutzerdefinierte Typen durch Überlastung 2 Betreiber.
Was ist neu in Version 1.6.99:
- Tntnet hat einige kleinere Fehler behoben haben und werden angepasst zu den API-Änderungen in cxxtools (die recht klein sind).
Kommentare nicht gefunden