Tntnet er en modulær, flertrådet webapplicationserver skrevet fra bunnen for C ++.
Å lage webapplikasjoner Tntnet har en mal-språk kalt ecpp ligner på PHP, JSP eller murer, der du kan legge c ++ - kode inne i en html-side for å generere aktivt innhold.
De ecpp-filer er ferdigbygd til c ++ - klasser kalt komponenter og kompilert og linket til et delt bibliotek. Denne prosessen er gjort på compiletime. Webserveren Tntnet trenger bare den kompilerte componentlibrary.
Fordi webapplikasjoner er kompilert til egen kode, de er veldig rask og kompakt.
Komponenter kan ringe andre komponenter. Så du kan lage buildingblocks av html-deler og kaller dem på andre sider som delprosesser.
Forespørsler er analysert ved tntnet og forespørselen-informasjon er lett tilgjengelig for komponentene. Den støtter GET og POST-parametere og Mime-fler-forespørsler for fil-opplasting.
Den templatelanguage har også støtte for internasjonaliserte applikasjoner. Du kan enkelt lage webapplikasjoner for ulike språk.
Andre funksjoner er: cookies, HTTP-opplasting, automatisk forespørsel-parameter parsing og konvertering, automatisk sessionmanagement, omfangs variabler (søknad, forespørsel og økt), internasjonalisering, hold i live.
Logging er gjort gjennom cxxtools, som gir en unik API for log4cpp, log4cxx eller enkel logging til filer eller konsoll.
Tntnet er fullt multithreaded og mye arbeid har blitt gått til å gjøre det skalerbar. Den bruker et dynamisk basseng av workerthreads, som gir svar på forespørsler fra http-klienter.
Ssl er støttet via OpenSSL-biblioteket
Egenskaper .
- skrevet i standard-c ++ med Linux
- testet med & quot; Debian Woody x86 & quot; og & quot; SuSE Linux 9.1 x86_64 & quot;
- Bruk mal-språk for å legge c ++ - kode i html ligner på PHP, JSP, ASP eller Mason
- komponent-konseptet gjør modularisering av webapplikasjoner
- flertrådet
- kompilere en webapplication inkludert grafikk i ett enkelt delt bibliotek
- få- og POST-parametere er analysert og er lett tilgjengelig
- støtte for fil-opplastinger
- støtte for i18n av webapplikasjoner -. Enkelt kodebase for ulike språk
Hva er nytt i denne utgaven:
- Ny proxy modul:
- Den nye modulen proxy @ tntnet tillater videresending forespørsel til andre http-servere.
- Sikker session omfang for variabler kun gyldige i ssl økter:
- En ny omfang typen `` tillater brukere å definere variabler som bare er gyldig i SSL-tilkoblinger. Også en egen informasjonskapsel sendes som en egenskap å gi råd til leseren å bare bruke den ved ssl er mulig.
- Konfigurer tntnet med xml (eller JSON) inkludert logging:
- Tidligere en tntnet ble konfigurert med en tekstfil med en enkel, men proprietært format. Logging ble konfigurert i en egen fil med et annet format. Begge er kombinert nå i en enkel xml fil.
- Fjern cgi bibliotek:
- Det pleide å være et bibliotek, som gjør det mulig å kjøre ecpp komponenter som cgi prosesser. Bruken var begrenset og ytelsen i cgi er alltid dårlig. Så vidt jeg vet ingen har brukt det (med god grunn). Derav den er fjernet nå.
- Utvid url kartlegging med kartlegging av metode eller ssl:
- Kartlegging forespørsler til komponenter er utvidet. Ikke bare url kan brukes som en tilstand, men også http metode eller ssl tilstand. Den forrige egen kartlegging per virtuell vert er nå også definert som en kartlegging tilstand.
- Bruk serialisering rammeverk for å lese% config variabler fra tntnet konfigurasjon for å støtte komplekse konfigurasjoner:
- ecpp tag `` tillater webapplikasjoner å lese verdier fra tntnet konfigurasjonsfilen. Tidligere bare en skalar variabel kunne leses. Nå bruker de cxxtools serialisering komplekse objekter kan konfigureres og sendes til en web-applikasjon.
- ecpp kompilatoren ikke stoppe på første feilen noe mer, men prøver å finne flere problemer:
- ecpp kompilatoren `ecppc` stoppet kompilering på den første feilen. Nå prøver den å komme seg og fortsetter sammenstilling og rapportering av feil.
- Tillat programmer for å fjerne dagens økt:
- Ringe den nye metoden `request.clearSession ()` fjerner alle øktvariabler etter gjeldende forespørsel.
- Les filnavn for multibinary komponent eventuelt fra fil ved bruk av opsjons -i i ecppc:
- Multibinary komponentene inneholder en samling av statiske filer, som er utarbeidet som en enkelt tntnet komponent. Dette bidrar til å spare overhead siden hver komponent trenger noen kode, noe som gjør det callable. Siden listen over statiske filer som benyttes i et nettprogram kan være ganske lang, er det ofte fordelaktig å opprettholde listen i en separat fil. Også en meget lang liste kan forlenge den maksimale tillatte lengde av et skall kommando. Nå `ecppc` kan lese listen fra en fil for å løse det.
- Argumenter i url kartlegging har nå navn:
- Når kartlegge en forespørsel til en komponent, argumenter kan sendes fra konfigurasjonen til komponenten. Tidligere var det bare en liste over verdier. Nå verdiene har navn, som gjør håndtering enklere og mer lesbare.
- Tillat distinquishing mellom GET og POST argumenter:
- Ecpp kan definere søkeparametere ved hjelp av en `` tag. Tntnet passerte her alle GET og POST parametere. For utviklere var det vanskelig å finne ut, hvis argumenter ble vedtatt via GET eller POST. Nå argumenter kan defineres i en `` eller `` delen for å få bare de GET eller POST parametere.
- Bugfikses og optimaliseringer:
- Noen mindre feilrettinger og optimaliseringer er gjort i tntnet.
Hva er nytt i versjon 2.1:
- Det oppdatering tid. Disse utgivelsene er et resultat av to års utvikling whith mange forbedringer.
- Denne utgivelsen legger json og jsonrpc til cxxtools samt en rask binær RPC server og klient. Begge er basert på den forbedrede serialisering rammen av cxxtools.
- JSON og binært format kan brukes som et lagringsformat. Også serialisering og deserialization av csv er mulig.
- Unicode-streng som en spesialisering av std :: basic_string fikk en stor omskriving med kort streng optimalisering.
- Tntnet har hovedsakelig mange små forbedringer, bedre standard etterlevelse og en noe høyere ytelse.
- Tntdb fikk en replikering driver, som er i stand til å gjenskape data mellom databaser uten database støtte. Den desimal klasse ble omskrevet og fikk unittests. Den nye RowReader-klasse gjør koden mer lesbar, da mange kolonner leses fra et resultat rad. En ny klasse BlobStream implementerer en std :: istream grensesnitt til blobs.
Hva er nytt i versjon 2.0:
- Etter mer enn to år ny uten stabile versjoner det er tid for oppdateringer. Cxxtools har varme store forbedringer og funksjonsforbedringer som xmlrpc, et signal slot rammeverk, anynchronous I / O og andre.
- Det innebar noen API endringer. Fortsatt mesteparten av den eksisterende koden skal kjøres. Tntnet og tntdb trengte noen endringer for dette, slik at de nye tntnet og tntdb utgivelser trenger cxxtools 2,0.
- Tntnet har fått mange små har og ytelsesforbedringer. Heldigvis var det ingen mye behov for API endringer. Nesten søknader bør kjøre ut av boksen ved rekompileres.
- Tntdb fikk noen funksjonsforbedringer. Det viktigste er kanskje den støtte for automatisk for verdiene ved å bruke metoden tntdb :: Connection :: lastInsertId (std :: string) og støtte for brukerdefinerte typer ved overbelastning to operatører.
Hva er nytt i versjon 1.6.99:
- Tntnet har fått noen mindre feilrettinger og justeres til API endringer i cxxtools (som er ganske liten).
Kommentarer ikke funnet