Tntnet je modulární, multithreaded webapplicationserver psaný od nuly pro C ++.
Chcete-li vytvořit webapplications Tntnet má šablony, jazyk zvaný ecpp podobné PHP, JSP nebo zedník, kde můžete vložit C ++ - kód uvnitř HTML stránky, jež generují aktivní obsah.
V ecpp-soubory jsou předkompilována do C ++ - třídy s názvem komponenty a sestavují a propojeny do sdílené knihovny. Tento proces se provádí na compiletime. Webserver Tntnet potřebuje pouze kompilované componentlibrary.
Vzhledem k tomu, webapplications jsou sestaveny do nativního kódu, jsou velmi rychlé a kompaktní.
Komponenty mohou volat další komponenty. Takže si můžete vytvořit buildingblocks HTML částech a volat jim na jiných stránkách, jako jsou dílčí procesy.
Žádosti jsou analyzovány pomocí tntnet a request-informace jsou snadno dostupné komponenty. Podporuje GET a POST-parametry a MIME vícedílné-žádosti o soubor nahrát.
Templatelanguage má také podporu pro internacionalizovaných aplikace. Můžete snadno vytvářet webapplications pro různé jazyky.
Další funkce jsou: sušenky, HTTP nahrát, automatická žádost parametru rozebrat a konverze, automatické sessionmanagement, rozsahem proměnných (aplikace, dotaz a relace), internacionalizace, keep-alive.
Záznam se provádí pomocí cxxtools, který poskytuje jedinečný API pro log4cpp, log4cxx nebo jednoduchý záznam do souborů nebo konzole.
Tntnet je plně multithreaded a hodně práce je pryč už do tvorby je škálovatelné. Používá dynamický fond workerthreads, který odpovídá na požadavky od HTTP klientů.
SSL podporován prostřednictvím openssl-knihovna
Vlastnosti :.
- napsaný ve standardu-C ++ s Linuxem
- testovány s & quot; Debian Woody x 86 & quot; a & quot; SuSE Linux 9.1 x86_64 & quot;
- použití šablony, jazyk, vložit C ++ - kód HTML podobný PHP, JSP, ASP nebo Mason
- komponentní koncepce umožňuje modularizace webapplications
- multivláknového
- sestavit WebApplication, včetně grafiky v jedné sdílené knihovny
- get- a Post-parametry jsou analyzovány a jsou snadno přístupné
- Podpora souborových obrázky
- Podpora pro i18n o webapplications. - Jediné codebase pro různé jazyky
Co je nového v této verzi:
- Nový modul Proxy:
- Nový modul Proxy @ tntnet umožňuje předání požadavku na jiné servery HTTP.
- Secure prostor sezení pro proměnné platné pouze v relací SSL:
- Nový typ rozsah `` umožňuje definovat proměnné, které jsou platné pouze v ssl spojení. Také samostatný cookie zaslána, který atribut poradit prohlížeč používat pouze tehdy, když je ssl umožňuje.
- Configure tntnet s XML (nebo JSON), včetně těžby dřeva:
- Dříve tntnet byl konfigurován pomocí textového souboru s jednoduchou, ale proprietárním formátu. Těžba byla nakonfigurována do samostatného souboru v jiném formátu. Oba jsou nyní sloučeny do jednoho souboru XML.
- Odstranit cgi knihovna:
- Tam bývala knihovna, která umožňuje provozovat ecpp komponenty jako CGI procesy. Použití bylo omezeno a výkon v CGI je vždy špatné. Pokud je mi známo, nikdo se používá to (z dobrého důvodu). Proto je nyní odstraněn.
- Prodloužit mapování url s mapováním metodou nebo SSL:
- Mapování žádosti do složek prodloužena. Nejen, že url může být použit jako podmínku, ale i způsob http nebo SSL státu. Předchozí samostatný mapování na virtuálním serveru je nyní také definována jako mapování stavu.
- rámec Použít serializaci číst% konfiguračních proměnných z konfigurace tntnet na podporu komplexní konfigurace:
- tag ecpp `` umožňuje webovým aplikacím číst hodnoty z konfiguračního souboru tntnet. Dříve jen skalární proměnnou by mohl být přečíst. Nyní pomocí cxxtools serializace složité objekty lze konfigurovat a předán do webové aplikace.
- ecpp kompilátor se nezastaví na první chybě o nic více, ale snaží se najít více problémů:
- ecpp překladač `ecppc` zastavil kompilaci na první chybě. Nyní se snaží získat zpět a pokračuje sběr a hlášení chyb.
- Povolit aplikacím vymazat aktuální relaci:
- Volání novou metodu `request.clearSession ()` vymaže všechny proměnné relace po aktuálním požadavku.
- Přečtěte si názvy souborů multibinary složky, případně ze souboru pomocí volby -i v ecppc:
- Multibinary komponenty obsahují kolekci statických souborů, který je sestaven jako jediná složka tntnet. To znamená úsporu režii, protože každá složka potřebuje nějaký kód, který dělá to callable. Vzhledem k tomu, seznam statických souborů používaných ve webové aplikaci, může být poměrně dlouhá, je často výhodné udržovat seznam v samostatném souboru. Také velmi dlouhý seznam může prodloužit maximální povolenou délku příkaz shellu. Nyní `ecppc` můžete přečíst seznam ze souboru, který chcete řešit to.
- Argumenty mapování url nyní jména:
- Při mapování požadavek na komponentu, argumenty mohou být předány z konfigurace do složky. Dříve to byl jen seznam hodnot. Nyní hodnoty má jména, která umožňuje manipulaci jednodušší a čitelnější.
- Povolit distinquishing mezi GET a POST argumenty:
- Ecpp umožňuje definovat parametry dotazu pomocí `` značku. Tntnet prošel tady všichni dostali a POST parametry. Pro vývojáře bylo obtížné zjistit, zda argumenty byly předány prostřednictvím GET nebo POST. Nyní argumenty mohou být definovány v `` `` nebo část získat pouze GET nebo POST parametrů.
- Opravy chyb a optimalizace:
- Drobné opravy chyb a optimalizace se provádí v tntnet.
Co je nového ve verzi 2.1:
- Její aktualizace čas. Tyto zprávy jsou výsledkem 2 roky vývoje nosič údajů mnohá vylepšení.
- Tato verze přidává JSON a jsonrpc na cxxtools, stejně jako rychlý binární rpc serveru a klienta. Oba jsou založeny na zlepšení rámci serializaci cxxtools.
- json a binární formát může být použit jako formát ukládání. Také serializaci a deserializace CSV je možné.
- unicode string jako specializace std :: basic_string dostal hlavní přepsání s krátkými optimalizaci řetězce.
- Tntnet má především mnoho malých vylepšení, lepší standardní dodržování a mírně vyšší výkon.
- Tntdb dostal ovladač replikace, který je schopen replikace dat mezi databázemi bez podpory databáze. Desítkové třída byla přepsána a dostal unittests. Nová RowReader-class je kód čitelnější, když mnoho sloupců jsou čteny z výsledků řady. Nová třída BlobStream implementuje std :: istream rozhraní puntíky.
Co je nového ve verzi 2.0:
- Po více než 2 roky, nová bez stabilních verzí, že je čas aktualizace. Cxxtools má horká obrovské vylepšení a rozšíření funkcí, jako XMLRPC, rámce slot signálu, anynchronous I / O a další.
- To znamenalo nějaké změny API. Přesto většina z existující kód by měl běžet. Tntnet a tntdb potřeboval nějaké změny pro to, aby se nové tntnet a tntdb uvolňuje potřebují cxxtools 2.0.
- Tntnet má mnoho malých funkcí a výkonu vylepšení. Naštěstí nebylo potřeba mnoho změn API. Téměř aplikace by měly běžet po vybalení z krabice rekompilací.
- Tntdb má nějaké vylepšení funkcí. Nejdůležitější jsou možná podpora pro automatické vzrůstajícími hodnoty pomocí metody tntdb :: připojení :: lastInsertId (std :: string) a podporu pro uživatelsky definované typy přetížením 2 operátory.
Co je nového ve verzi 6.1.99:
- Tntnet má drobné opravy chyb a jsou upraveny ke změnám v API cxxtools (které jsou poměrně malé).
Komentáře nebyl nalezen