PHP と JAVA 開発テクノロジ LAJP を組み合わせた
http://www.oschina.net/p/lajp
LAJP という名前は、有名な LAMP (Linux、Apache、Mysql、Php) に由来しており、インターネット上で Web プログラムを開発するための軽量環境です。 LAMP には幅広い用途がありますが、金融や通信分野などのエンタープライズ開発には、通常、Java (J2EE) の影響範囲であると思われます。 LAJP は、LAMP のシンプルさと Java の機能を組み合わせたテクノロジーです。LAJP の J は Java を指します。これにより、データベースは特に Mysql に限定されなくなりました。 。
特徴
補足的な利点: PHP は非常に人気のある WEB プログラミング スクリプト言語です。学習が簡単で、開発と展開の効率が高く、WEB に非常に適しています。 JAVA は複雑なスクリプトを記述するのに適しており、ビジネス機能とデータ プログラムを組み合わせることでそれぞれの利点を最大限に発揮でき、B/S エンタープライズ プログラムの開発に適しています。
効率的かつ安定: Apache PHP の組み合わせは優れた WEB サービスの安定性をもたらし、JAVA は接続プーリング、トランザクション管理、配布、オブジェクト モデルなどのハイエンド機能を補完できます。
革新的な通信メカニズム PHP と Java 間の通信方式には、通信効率とプラットフォームの互換性の両方を考慮して、システム メッセージ キューとソケットの 2 つのメカニズムが採用されています。
データ型自動変換機構 PHPデータとJavaデータを正確かつ自動で突き合わせて変換することができます。
使いやすさ: LAJP は、いくつかのコア Java クラス ファイルと Java JNI インターフェイス プログラムを除いて、それぞれのプログラミング習慣に準拠した追加のプラグインは必要ありません。
軽量: LAJP アーキテクチャは非常に軽量で、最も基本的な PHP および Java 環境を除き、拡張されたサードパーティ コンポーネントを必要としません。
LAMP と LAJP の簡単な比較。LAMP は従来の技術アーキテクチャの観点から見ると 2 層構造ですが、php5 以降はオブジェクト指向機能が強化されており、ビジネス ロジック層を形成するための言語基盤があります。複雑なエンタープライズレベルの WEB アプリケーションには適しておらず、PHP の言語能力がまだ不十分です。 LAJP は、WEB プログラミングの分野における LAMP の活力を継承し、Java を使用してビジネス ロジック層を構築します。これは、エンタープライズ レベルの WEB プロジェクトの開発に非常に適しています。
php と java 間の相互運用性
php と java は 2 つの異なる言語であり、LAJP アーキテクチャには 2 つの相互運用性のためのメカニズムがあります。
1. メッセージキュー
は、通信プロセス中にオペレーティングシステムのメッセージキューを使用し、Java 側のサービスを呼び出すクライアントとして機能します。メッセージ キューは IPC テクノロジ (プロセス間通信) に属しており、System V メッセージ キューと通信できる一連の関数 (msg_send、msg_receive など) が PHP 言語に組み込まれています。 Java では、C 関数を使用して、基礎となる JNI インターフェイスを呼び出します。 メッセージキューを使用すると、以下のようなメリットがあります。
phpとjavaの独立性を保つ
ソケットよりも通信速度が非常に速い
ソケット方式と比較してJavaサーバーのみローカル マシンにサービスを提供します (外部リスニング ポートはありません)。比較的安全で管理が簡単です。
2. ソケット
メッセージ キュー テクノロジは Unix/Linux/BSD システムにのみ適用できるため、LAJP はさまざまなプラットフォームに適応する TCP/IP ベースの通信メカニズムを提供します。
データ型変換
PHP と Java は、PHP データを Java に転送するとき、または Java データを PHP に転送するときに、それぞれ言語内で定義された独自のデータ型を持ちます。 、LAJP これらは、プログラマーがデコード作業を行う必要がなく、内部で自動的かつ正確に変換されます。