PHPでJavaクラスを呼び出す2つの方法
2221 ワード
PHPでJavaクラスを呼び出す2つの方法
Java言語の機能は強力であるため、phpでJavaを呼び出す機能が役立つことが多い.phpでJava言語を呼び出すには、phpのJava拡張モジュールを使用する方法と、minij 2 eeアプリケーションサーバが提供するSJOPプロトコルを使用して実現する方法の2つがあります.この2つの方法のそれぞれの特徴を比較してみましょう.
1.phpのJavaモジュール
phpリリースには、Javaオブジェクトを呼び出すJava拡張モジュールが含まれています.たとえば、次のようにします.
以下は参照の内容です.
この方法を使用する利点は、new Java()でJavaオブジェクトを作成すればphpクラスと同様にJavaオブジェクトを呼び出すことができるという便利さです.しかし、この方法には以下の明らかな欠点があります.
1.phpのJavaモジュールは、phpのデータ型に応じて最適なJavaメソッドを選択するため、Java過負荷の関数を呼び出すことができません.
2.phpのJavaモジュールは、現在のWebサーバのプロセスにJVM(Java仮想マシン)をロードするため、システムのオーバーヘッドが大きく、Webサーバプロセスの実行効率に影響します.
3.一部のオペレーティングシステムおよびWebサーバ環境では、phpのJavaモジュールがWebサーバプロセスを硬直させます.
これらのためphpのJavaモジュールは実際のソフトウェアシステムに適用できない.
2.minij 2 eeアプリケーションサーバSJOPプロトコル実装
minij 2 eeアプリケーションサーバSJOPプロトコルの実装について説明する前に、minij 2 eeアプリケーションサーバについて簡単に説明します.minij 2 eeアプリケーションサーバはphpをサポートするJ 2 EEアプリケーションサーバの最初の製品であり、phpがエンタープライズクラスのアプリケーションシステムの開発に使用できるようにしています.SJOPフルネームはSample Java ORB Protocol(単純Javaオブジェクトリクエストエージェントプロトコル)であり、単純で効率的なオブジェクトリクエストエージェントプロトコルである.例:
以下は参照の内容です.
minij 2 eeアプリケーションサーバがSJOPプロトコルを実現する主な目的は、phpでEJBエンタープライズクラスのコンポーネントにアクセスできるようにすることである.そのため、minij 2 eeはEJB-PHPコンパイラを提供し、EJBコンポーネントをphpのクラスにコンパイルし、phpプログラムでEJBコンポーネントを容易に呼び出すことができる.例えば、
以下は参照の内容です.
minij 2 eeアプリケーションサーバのphpサポートを用いて,phpとJ 2 EE技術に基づく,オブジェクト向けで安定で効率的なエンタープライズクラスアプリケーションシステムを開発できる.
Java言語の機能は強力であるため、phpでJavaを呼び出す機能が役立つことが多い.phpでJava言語を呼び出すには、phpのJava拡張モジュールを使用する方法と、minij 2 eeアプリケーションサーバが提供するSJOPプロトコルを使用して実現する方法の2つがあります.この2つの方法のそれぞれの特徴を比較してみましょう.
1.phpのJavaモジュール
phpリリースには、Javaオブジェクトを呼び出すJava拡張モジュールが含まれています.たとえば、次のようにします.
以下は参照の内容です.
<?php$system=new Java("java.lang.System");
print "Java version=".$system->getProperty("java.version")." <br>
";?>
この方法を使用する利点は、new Java()でJavaオブジェクトを作成すればphpクラスと同様にJavaオブジェクトを呼び出すことができるという便利さです.しかし、この方法には以下の明らかな欠点があります.
1.phpのJavaモジュールは、phpのデータ型に応じて最適なJavaメソッドを選択するため、Java過負荷の関数を呼び出すことができません.
2.phpのJavaモジュールは、現在のWebサーバのプロセスにJVM(Java仮想マシン)をロードするため、システムのオーバーヘッドが大きく、Webサーバプロセスの実行効率に影響します.
3.一部のオペレーティングシステムおよびWebサーバ環境では、phpのJavaモジュールがWebサーバプロセスを硬直させます.
これらのためphpのJavaモジュールは実際のソフトウェアシステムに適用できない.
2.minij 2 eeアプリケーションサーバSJOPプロトコル実装
minij 2 eeアプリケーションサーバSJOPプロトコルの実装について説明する前に、minij 2 eeアプリケーションサーバについて簡単に説明します.minij 2 eeアプリケーションサーバはphpをサポートするJ 2 EEアプリケーションサーバの最初の製品であり、phpがエンタープライズクラスのアプリケーションシステムの開発に使用できるようにしています.SJOPフルネームはSample Java ORB Protocol(単純Javaオブジェクトリクエストエージェントプロトコル)であり、単純で効率的なオブジェクトリクエストエージェントプロトコルである.例:
以下は参照の内容です.
<?php
$conn=minij2ee_fetch_connection()
;print "Java version=".minij2ee_callstatic_javaobj
($conn,"java.lang.System","getProperty",
"java.lang.String","java.version")." <br>
";
?>
minij 2 eeアプリケーションサーバがSJOPプロトコルを実現する主な目的は、phpでEJBエンタープライズクラスのコンポーネントにアクセスできるようにすることである.そのため、minij 2 eeはEJB-PHPコンパイラを提供し、EJBコンポーネントをphpのクラスにコンパイルし、phpプログラムでEJBコンポーネントを容易に呼び出すことができる.例えば、
以下は参照の内容です.
<?php
require("Cart.php"); file://Cart.php Cart EJB Cart EJB php 。
$home=new CartHome(); file:// EJB Home 。
$objref=$home->create($cart_name); file:// Cart EJB。
$cart=new Cart($objref);
$cart->add("some goods");file:// 。
?>
minij 2 eeアプリケーションサーバのphpサポートを用いて,phpとJ 2 EE技術に基づく,オブジェクト向けで安定で効率的なエンタープライズクラスアプリケーションシステムを開発できる.