Tntnet є модульною, багатопоточної webapplicationserver написаний з нуля для C ++.
Щоб створити webapplications Tntnet має шаблон мовою під назвою ЄКПТ, схожий на PHP, JSP або муляра, де ви можете вставляти C ++ - коду всередині HTML-сторінки для створення активного вмісту.
ЄКПТ-файли, попередньо скомпільовані для C ++ - класи називаються компонентами об'єднані і пов'язані в загальну бібліотеку. Цей процес здійснюється на compiletime. Веб-сервер Tntnet потрібно тільки скомпільований componentlibrary.
Тому що webapplications складаються в машинний код, вони дуже швидко і компактно.
Компоненти можуть викликати інші компоненти. Таким чином, ви можете створити buildingblocks з HTML-частини і називати їх на інших сторінках, як подпроцессов.
Запити обробляються по tntnet і запиту, інформація легко доступна для компонентів. Він підтримує GET і POST-параметри і MIME-складові-запити для файлу-завантаження.
Templatelanguage також підтримка локалізованих додатків. Ви можете легко створювати webapplications для різних мов.
Інші особливості: печиво, HTTP-завантаження, автоматичний розбір запиту параметрів і перетворення, автоматична sessionmanagement, контекстні змінні (заява, прохання, і сесія), інтернаціоналізації, Keep-Alive.
Вхід здійснюється через cxxtools, яка забезпечує унікальну API для log4cpp, log4cxx або простої реєстрації до файлів або консолі.
Tntnet повністю багатопотокова і велика робота увійшла в що робить його масштабованим. Він використовує динамічний пул workerthreads, який відповідає на запити від HTTP-клієнтів.
Протокол SSL підтримується через OpenSSL-бібліотеки
Особливості :.
- написано в стандарті-C ++ з Linux
- протестовані з & Quot; Debian Woody x86 & Quot; і & Quot; SuSE Linux 9.1 x86_64 та Quot;
- використання шаблонів мови для вбудовування C ++ - код в HTML схожий на PHP, JSP, ASP або Мейсон
- компонент-концепція дозволяє модулярізаціі з webapplications
- багатопоточний
- скласти WebApplication в тому числі графіки в одному вашої бібліотеки
- Get-і пост-параметри обробляються і легко доступні
- підтримка завантаження файлів
- підтримка i18n з webapplications -. Однією кодової бази для різних мов
Що нового У цьому випуску:
- Новий модуль проксі:
- Новий модуль проксі @ tntnet дозволяє пересилання запиту на інші сервери HTTP.
- Secure сесія можливості для змінних дійсні тільки на SSL сесій:
- новий тип області `` дозволяє користувачам визначати змінні, які дійсні тільки в SSL з'єднань. Також окремий печиво відправляється яких атрибут для консультування браузер використовувати її тільки тоді, коли протокол SSL дозволяє.
- Налаштувати tntnet з XML (або JSON), включаючи рубки:
- Раніше tntnet був налаштований за допомогою текстового файлу з простою, але власний формат. Вхід був налаштований в окремому файлі з іншому форматі. І в поєднанні тепер в одному файлі XML.
- Видалити бібліотеку CGI:
- Там колись бібліотека, яка дозволяє запускати компоненти ЄКПТ, як CGI-процесів. Використання було обмежено і продуктивність в CGI це завжди погано. Наскільки я знаю, ніхто не використовував його (з поважної причини). Тому в даний час видаляється.
- Розширення відображення URL з відображенням методом або SSL:
- запити зіставлення на компоненти поширюється. Не тільки URL-адресу може бути використаний в якості умови, але також і в способі HTTP або стану SSL. Попередня окремий відображення на віртуальному хості в даний час також визначається як стан відображення.
- Каркас Використання серіалізациі для читання% змінні конфігурації від конфігурації tntnet для підтримки складних конфігурацій:
- ЄКПТ тег `` дозволяє веб-додатків для читання значення з файлу конфігурації tntnet. Раніше тільки скалярна змінна може бути прочитана. Тепер, використовуючи об'єкти cxxtools серіалізациі комплекс може бути налаштований і передаються в веб-додатку.
- компілятор ЄКПТ не зупинятися на першій помилку більше, але намагається знайти більше проблем:
- компілятор ЄКПТ `ecppc` зупинився компіляції на першій помилки. Тепер він намагається відновити і продовжує складання та повідомлення про помилки.
- Дозволити додатки, щоб очистити поточну сесію:
- Дзвінок новий метод `request.clearSession ()` видаляє всі змінні сесії після поточного запиту.
- Читати імена файлів для multibinary компонента за вибором з файлу за допомогою опції -i в ecppc:
- Multibinary компоненти містять колекцію статичних файлів, який складається в одному компоненті tntnet. Це допомагає економити витратам, так як кожен компонент необхідний код, який робить це викликати. Оскільки список статичних файлів, що використовуються в веб-додатки можуть бути досить довгими, часто буває зручно, щоб підтримувати список в окремому файлі. Також дуже довгий список може продовжити максимально допустиму довжину команди оболонки. Тепер `ecppc` можете прочитати список з файлу, щоб вирішити, що.
- Аргументи у відображенні URL тепер мають назви:
- Коли з'явиться запит на компонент, аргументи можуть бути передані від конфігурації до компоненту. Раніше це був просто список значень. Тепер значення має назви, які робить управління простіше і більш зручним для читання.
- Дозволити distinquishing між GET та POST аргументів:
- ЄКПТ дозволяє визначити параметри запиту, використовуючи `` мітку. Tntnet тут пройшла всі отримати і POST параметри. Для розробників було важко з'ясувати, якщо аргументи передаються через GET або POST. Тепер аргументи можуть бути визначені в `` або `` розділ, щоб отримати тільки GET або POST параметрів.
- Виправлені помилки та оптимізації:
- Деякі незначні виправлення та оптимізації виконуються в tntnet.
Що нового у версії 2.1:
- Його час оновлення. Ці релізи результат 2 років розвитку ти багато поліпшень.
- Цей реліз додає JSON і jsonrpc до cxxtools, а також швидкий бінарний сервер RPC і клієнт. Обидва вони засновані на вдосконаленій платформи серіалізациі cxxtools.
- JSON і двійковий формат може бути використаний в якості формату зберігання. Також серіалізациі і десеріалізациі CSV можна.
- Unicode рядок в спеціалізації ЗПСШ :: basic_string отримав головну переписати з коротким оптимізації ланцюжків.
- Tntnet має в основному багато дрібних поліпшень, краще стандартно і трохи більш високу продуктивність.
- Tntdb отримав водій реплікації, який здатний відтворити дані між базами даних без підтримки бази даних. Десяткової класу був переписаний і отримав UnitTests. Новий RowReader-класу робить код більш читабельним, коли багато стовпці читаються з результатів поспіль. Новий клас BlobStream реалізує STD :: IStream інтерфейс для краплі.
Що нового у версії 2.0:
- Після більш ніж 2 років нова, що не мають стабільних релізів пора за оновленнями. Cxxtools має гарячі величезні покращення та вдосконалення функції, як XMLRPC, в рамках слота сигналу, anynchronous I / O та інші.
- Це означало, деякі зміни API. Проте більша частина існуючого коду повинен працювати. Tntnet і tntdb потрібні були зміни для цього, так що нові tntnet і tntdb релізи потрібно cxxtools 2,0.
- Tntnet отримав безліч дрібних поліпшень функцій і продуктивності. На щастя, не було великої необхідності зміни API. Майже додатки повинні працювати з коробки перекомпіляції.
- Tntdb є деякі поліпшення функцій. Найголовніше, може бути, підтримка авто збільшуються значень за допомогою методу tntdb :: підключення :: lastInsertId (STD :: рядок) і підтримку для певних користувачем типи, перевантажуючи 2 операторів.
Що нового у версії 1.6.99:
- Tntnet отримав незначні виправлення і коригуються із змінами API в cxxtools (які досить малі).
Коментар не знайдено