Tntnetは、C ++のためにゼロから書かれたモジュラー、マルチスレッドwebapplicationserverです。
アクティブなコンテンツを生成するために、HTMLページ内のコード - webアプリケーションTntnet作成するには、C ++を埋め込むことができ、PHP、JSPや石工、と同様、テンプレート言語と呼ばれるECPPを持っています。
クラスのコンポーネントと呼ばれ、共有ライブラリにコンパイルされ、リンクされて - ECPP-ファイルは、C ++にプリコンパイルされている。このプロセスは、コンパイル時に行われる。ウェブサーバTntnetだけコンパイルさcomponentlibraryを必要とします。
webアプリケーションをネイティブコードにコンパイルされるので、それらは非常に高速でコンパクトである。
コンポーネントが他のコンポーネントを呼び出すことができます。だから、HTMLベースの部品のbuildingblocksを作成して、サブプロセスのような他のページでそれらを呼び出すことができます。
リクエストはtntnetによって解析され、要求情報は、コンポーネントに簡単にアクセスできます。これは、GETとPOSTパラメータおよびファイルアップロード用のMime-マルチパート·リクエストサポートしています。
templatelanguageも国際化されたアプリケーションをサポートしている。あなたは簡単に別の言語のwebアプリケーションを作成することができます。
その他の機能は以下のとおりです。クッキー、HTTP-アップロード、自動リクエスト·パラメータの解析と変換、自動sessionmanagement、スコープの変数を(アプリケーション、要求およびセッション)、国際化、キープアライブ。
ロギングは、ファイルまたはコンソールにlog4cpp、log4cxxがまたは単純なロギングのためのユニークなAPIを提供しcxxtools、を介して行われます。
Tntnetは完全にマルチスレッド化されており、多くの仕事は、それが拡張性のある作りになってきた。これは、http-クライアントからの要求に応答するworkerthreadsの動的プールを使用しています。
SSLは、OpenSSLのライブラリを介して支持されている。
の特長の:ます。
- Linuxに標準C ++で書かれてます。
- &QUOTでテストし、Debianのウッディのx86&QUOT。そして&QUOT、SUSE LINUX 9.1 x86_64で"
- C ++を埋め込むために使用テンプレート言語 - PHP、JSP、ASPまたはメイソンと同様、HTMLのコードます。
- コンポーネント - コンセプトは、webアプリケーションのモジュール化します。 ができます
- マルチスレッドします。
- 1つの共有ライブラリ内のグラフィックスを含むwebアプリケーションをコンパイルします。
- GET用およびポストパラメータが解析され、 簡単にアクセス可能です
- ファイル·アップロードのサポートします。
- webアプリケーションの国際化のためのサポート - 。さまざまな言語のための単一のコードベースします。
のこのリリースで新しいのは何ですか。
- 新規プロキシモジュール:
- 新しいモジュールプロキシの@ tntnetは、他のHTTPサーバに要求を転送することができます。
- セキュアセッションスコープ:
- 新しいスコープタイプが ``、ユーザーがSSL接続でのみ有効な変数を定義することができます。また、独立したクッキーは、属性は、SSLが有効にされている場合にのみ、それを使用するようにブラウザに助言するためにどの送信されます。
- ロギングなど、XML(またはJSON)でtntnetを設定
- は以前tntnetはシンプルだが独自の形式のテキストファイルで構成されました。ロギングは別の形式と別のファイルで構成された。両方とも、単一のXMLファイルになりました組み合わされます。
- のCGIライブラリを削除します。
- CGIプロセスとしてECPPコンポーネントを実行することができ、ライブラリ、がありました。用途は限られていたとCGIでのパフォーマンスは常に悪いです。私の知る限り誰も(正当な理由のため)それを使用していない。したがって、現在では削除されます。
- メソッドまたはSSLによりマッピングURLマッピングを拡張
コンポーネントへの - のマッピング要求が拡張されます。 urlは条件ものHTTPメソッドまたはsslの状態として使用することができるだけでなく。仮想ホストごとに前の別々のマッピングは今もマッピング条件として定義されます。
- 複雑な構成をサポートするtntnet構成から%の設定変数を読むためにシリアライズフレームワークを使用してください
- ECPPタグが `` Webアプリケーションがtntnet設定ファイルから値を読み取ることができます。以前は唯一のスカラー変数を読み取ることができた。今cxxtoolsシリアライゼーション複合オブジェクトを使用して構成され、ウェブアプリケーションに渡すことができます。
- ECPPコンパイラは、最初のエラーで、それ以上を停止し、より多くの問題を発見しようとしないでください:
- 最初のエラーでコンパイルが停止ecppc` ECPPコンパイラ `。今ではコンパイルしてエラーを報告し回復しようとし続けます。
- アプリケーションは、現在のセッションをクリアすることを許可する
- 新しいメソッドを呼び出すと `request.clearSessionは()`現在の要求の後、すべてのセッション変数をクリアします。
- ecppcのオプション-iを使用して、必要に応じてファイルからmultibinaryコンポーネントのファイル名を読む
- Multibinaryコンポーネントを単一tntnetコンポーネントとしてコンパイルされる静的ファイルのコレクションを、含まれています。これは、各コンポーネントは、それが呼び出し可能にするいくつかのコードを、必要とするためのオーバーヘッドを節約するのに役立ちます。 Webアプリケーションで使用される静的ファイルのリストが非常に長くなる可能性があるので、別のファイルにリストを維持することがしばしば便利である。また、非常に長いリストは、シェルコマンドの最大許容長さを延長することができる。今 `ecppc`はそれを解決するために、ファイルからリストを読み取ることができます。
- URLマッピングで引数は現在の名前を持っている
コンポーネントへの要求をマッピングする場合 - は、引数はコンポーネントに構成から渡すことができます。以前は、値のリストだけだった。今の値は簡単に、より読みやすいの取り扱いになり名前を持っています。
- GETとPOST引数の間distinquishing許可:
- ECPPに ``タグを使用してクエリパラメータを定義することができます。 TntnetはここにすべてのGETとPOSTのパラメータを渡す。開発者にとっては、引数がGETまたはPOST経由で渡された場合、見つけることは困難であった。今の引数は唯一、GETやPOSTのパラメータを取得するために ``や ``セクションで定義することができます。
- バグ修正と最適化:
- いくつかのマイナーなバグ修正と最適化がtntnetで行われます。
SSLセッションで有効な変数だけのために
のバージョン2.1のの新機能:
- その更新時間。これらのリリースは多くの改善コンテンツ配信特性開発の2年の結果である。
- このリリースでは、JSONとJSONRPC cxxtoolsにだけでなく、高速なバイナリRPCサーバおよびクライアントを追加します。どちらも、cxxtoolsの改善された直列化フレームワークに基づいています。
- のstd ::のbasic_stringの専門化としてUnicode文字列は、短い文字列の最適化と主要なリライトを持ってます。
- Tntnetは、主に多くの小さな改善、より良い標準準拠とわずかに高い性能を持っています。
- Tntdbデータベースのサポートなしでデータベース間でデータを複製することができる複製ドライバを、得た。小数クラスが書き直され、ユニットテストを持った。多くの列が結果の行から読み取られるときに、新しいRowReader-classは、コードをより読みやすくなります。新しいクラスBlobStreamブロブへのstd :: IStreamインターフェイスを実装しています。
<李> jsonのバイナリ形式は、ストレージ·フォーマットとして使用することができる。また、CSVファイルのシリアライズとデシリアライズが可能です。
のどのバージョン2.0のの新しいです:それは時間である安定版リリースせずに新たな2年以上の後
- 更新のために。 CxxtoolsがXMLRPC、信号スロットフレームワーク、anynchronous I / Oなどのような熱い巨大な改善と機能強化を持っています。
- これは、いくつかのAPIの変更を意味した。まだ、既存のコードの大部分が実行する必要があります。新しいtntnetとtntdbリリースはcxxtools 2.0を必要とするようにTntnetとtntdbは、このためのいくつかの変更を必要としています。
- Tntnetは、多くの小規模な機能とパフォーマンスの強化を持っている。幸いにもAPIの変更のための多くの必要はありませんでした。ほとんどのアプリケーションは、再コンパイルすることによって、箱から出して実行する必要があります。
- Tntdbいくつかの機能拡張を得た。最も重要なのは、多分2の演算子をオーバーロードすることにより、ユーザー定義型のメソッドtntdb ::接続::におけるlastInsertId(スタンダード::文字列)とサポートを使用して、自動インクリメント値のためのサポートされます。
のバージョン1.6.99のの新機能:
- Tntnetはいくつかのマイナーなバグ修正を持っているし、調整されている(非常に小さい)cxxtoolsにおけるAPIの変更します。 へ
コメントが見つかりません