この記事では、最近エンドユーザーが利用できるようになった新しいソフトウェア製品についてお話したいと思います。 私はこのソフトウェア製品の著者であり、したがって、誰かにとって興味深く有用であると思われる情報を読者と共有することを二重に喜んでいます。 私はこのプロジェクトに4年間取り組んでいます(さらに、どの瞬間を数えるかにもよりますが)。
それでは、 LilacServerとは正確には何ですか?
これは、 Java NIOテクノロジーを使用してJavaで記述されたWebサーバーです。 Javaで作成された他のWebサーバー(TomcatやResinなど)との主な違いは、Webサーバーだけではないことです...
LilacServerは、 1つのソフトウェア製品に含まれるWebサーバー、テンプレートエンジン、およびフレームワークです 。
1. Webサーバー
前述のとおり、Java NIOを使用してJavaで記述されているため、高いパフォーマンスとストレス耐性を備えています。 特別なハードウェア要件はありません。 Linux(キットにはCentOSとDebian用のスクリプトがあります)とWindows(キットにはサービスとしてインストールするためのラッパーがあります)の両方にインストールできます。 共有ホスティングでは、ほとんどの場合、機能しません。 最低VPSが必要です。
インストーラーは、グラフィカルとテキストの両方のインストールモードをサポートするjarアーカイブとして設計されています。
Webサーバー設定の機能は、構成ファイルがまったくないことです。 すべての管理は、特別なWebインターフェイスを使用して実行されます。 Webサイトのパラメーターを設定するための通常の機能に加えて、Webインターフェイスには組み込みのファイルマネージャーとオンラインエディターがあります。
2.テンプレート
LilacServerにはテンプレートエンジンが組み込まれています。 もっと正確に言うと、テンプレートエンジンはソフトウェア製品全体の基盤です。
ページテンプレートを作成するには、 ライラック言語が使用されます。 これは、PrologおよびErlangに類似した宣言型言語です。 データはリスト形式で表示されます。 リストで使用できる操作は、ヘッドテイキングのみです。 初心者にとっては恐ろしいことのように聞こえますが、結局、これはサイクルも条件付き遷移もパターンの設計に使用されないことを意味します(単に言語には存在しません)。
すべての言語操作は、ディレクティブの形式で発行されます。 合計で7つのディレクティブがあります(より正確には、6 + 1)。 ディレクティブは、拡張子が.lilacのファイルに保存されます。 ページテンプレートは、ページへのパスに応じて、部分的に組み立てられます。 ディレクティブを持つ特別なファイルがあります-これらはconfig.lilacとindex.lilacです。
3.フレームワーク
プログラムモジュールを作成するには、Java言語とネイティブLilacServer APIが使用されます。 このAPIは標準のJavaサーブレットAPIと互換性がありませんが、オブジェクトとメソッド名のセットはほとんど同じです。
LilacServerは、テンプレート指向のソフトウェア製品です。 これは、必要なソフトウェアコンポーネントがテンプレートから呼び出されることを意味します(逆の場合も同様です。必要なテンプレートを読み込むプログラムが呼び出される場合)。 実際には、これは、Javaコードを作成せずにテンプレートサイトを作成できることを意味します。 つまり、Webサイトがソフトウェアコンポーネントを必要としない場合、LilacServer APIは省略できます。
LilacServer APIクラスはLilacServerソフトウェアパッケージに含まれており、個別にインストールする必要はありません。 ソフトウェア開発にはJava SE JDKが必要です。 必要に応じて、サードパーティのライブラリを使用できます。サーバーはそれらを自動的にロードします。
4.パン(それらがない場合はどうでしょう!)
- 組み込みのローカライズ機能
LilacServerでは、標準ツールを使用して多言語サイトを作成できます。 ローカライズコードは、ドメインの名前、URIの最初の部分、およびリクエストパラメータで指定できます。 - データベースのサポート
LilacServerは、JDBCプロトコルを使用したデータベースの操作をサポートしています。 開発者は、必要なドライバーのセットをインストールし、Webサイト設定でデータベースへの接続パラメーターを指定するだけです。 それ以降のメンテナンス作業はすべて、WebサーバーとLilacServer APIによって行われます。 - キャッシング
LilacServerはルールとコードの両方をキャッシュします。 キャッシングオプションは、Webサイトの設定で制御できます。 - アクセス制限
LilacServerでは、特別なディレクティブを使用して、Webサイトの個々のページおよびセクションへのアクセスを制限できます。 ユーザーを認証するには、ダイジェスト認証方法が使用されます。 - セッション
LilacServerには、ユーザーセッションを追跡するための組み込みツールがあります。 LilacServer APIには、このための特別なクラスがあります。 - マルチパートフォームとファイルのアップロード
LilacServerには、マルチパートフォームを処理し、Webサーバーにファイルをアップロードするための組み込みツールがあります(奇妙なことに、Java Servlet APIはまだこれを誇っていません)。 LilacServer APIには、このための特別なクラスがあります。 - コードとプレゼンテーションの分離
LilacServerは、このMVCパラダイムに完全に準拠しています。アプリケーションロジックをプレゼンテーションから完全に分離します。
上記に加えて、さらに多くの興味深い機能があります。
5.ドキュメントとサポート
公式ウェブサイト: LilacServer.com
(サイトのロシア語版への直接リンク: lilacserver.com/ru )
このリソースはLilacServer自体で作成され、ソフトウェア製品とLilacServer APIの両方の機能を完全に実証しています。
このサイトには次のものがあります。
- LilacServerディストリビューション。すべての人が無料でダウンロードしてインストールできます。
- この製品を使用したWebサイトのインストール、プログラミング、および作成に関する詳細なドキュメント。
- 不明なドキュメントがある場合に質問できるフォーラム。
- 突っ込んで触れるだけでなく、詳細な調査のために完全にダウンロードできるデモWebサイト。
- 著者との連絡フォーム;
だけでなく、はるかに有用です。
私の情報メッセージは、Web開発者、特に仕事でJava言語を積極的に使用している人々に役立つと確信しています。 LilacServerソフトウェア製品の機能の詳細については、 こちらをご覧ください 。
ご清聴ありがとうございました!