PHP & Java

Ямерт

The Old One
PHP & Java

Привет!

Кто-нибудь использовал связку PHP & Java ?
Если да, то какие трудности были замечены в использовании?
Насколько существенно падает производительность?

Заранее спасибо!
 

Ямерт

The Old One
Пересобрал PHP с поддержкой Java (поставил J2SE 1.4.2) - работает вполне нормально.
Хотя, возможно, в процессе работы ещё возникнут проблемы со временем исполнения :)

Вот ещё интересует: JVM подгружается Апачем вместе с PHP (он идёт как модуль Апача), или дёргается при каждом запросе к серверу?
 

Ямерт

The Old One
> It's not as if the Java one is a very feasible extension to use in
> production environments because it's slooooooowwww and heavy.
У меня такая задача: партнёр предоставил Java класс, который надо инициализовывать с определёнными параметрами для генерации запроса к его серверу (моя система целиком на PHP).

Пока я вижу 2 выхода:
1) написать класс на Java, который будет инициализовывать партнёрский класс, и затем каждый раз дёргать его через exec("java MyClass ...");
2) использовать вот этот самый PHP-Java bridge extension

Вот я и экскрементирую - что будет лучше и быстрей.

З.Ы. Если у меня есть какой-то вопрос по экстеншэну PHP - куда можно написать по этому поводу? Как узнать, кто разработчик данного экстеншэна?
 

su1d

Старожил PHPClubа
3) если класс относительно небольшой, декомпильнуть его, скажем, тем же jad'ом и с'port'ировать на РНР ?
 

Ganer

Новичок
как вариант:
у нас жаба получает от пхп по сокету запрос, его выполняет и отдает результат пхп. предварительно жаба сериализит ответ в стиле пхп. пхп в свою очередь юзает стандартую unserialize().
про скорость не скажу ... у нас другие приоритеты :)

Автор оригинала: Зануда
У меня такая задача: партнёр предоставил Java класс, который надо инициализовывать с определёнными параметрами для генерации запроса к его серверу (моя система целиком на PHP).

Пока я вижу 2 выхода:
1) написать класс на Java, который будет инициализовывать партнёрский класс, и затем каждый раз дёргать его через exec("java MyClass ...");
2) использовать вот этот самый PHP-Java bridge extension

Вот я и экскрементирую - что будет лучше и быстрей.

З.Ы. Если у меня есть какой-то вопрос по экстеншэну PHP - куда можно написать по этому поводу? Как узнать, кто разработчик данного экстеншэна?
 

tony2001

TeaM PHPClub
>З.Ы. Если у меня есть какой-то вопрос по экстеншэну PHP - куда можно написать
>по этому поводу? Как узнать, кто разработчик данного экстеншэна?

less .../php-src/EXTENSIONS
.....
EXTENSION: java
PRIMARY MAINTAINER: Sam Ruby <[email protected]>
.....
=)
 

Ямерт

The Old One
3) если класс относительно небольшой, декомпильнуть его, скажем, тем же jad'ом и с'port'ировать на РНР ?
Нет, этот вариант абсолютно исключён (по договору с партнёром мы используем предоставленные им уже скомпилённые классы).

Ganer - имхо, лучше уж вызывать через exec() - а сериализованную инфу выводить на обычный поток вывода (у меня всё это на одной машине - а у тебя, как я понял, на разных?)...

tony2001 - спасибо, попросил у него совета
 

Rezec

По пиву? (socket80)
Подсмотреть трафик этого класса и сделать тоже самое на РНР.
 

Ganer

Новичок
Сию секунду на одной ... но черт его знает, что будет завтра. в этом и преимущество что в случае чего можно хоть через фаирвол будет общатся.

Плюс не совсем понимаю как у тебя работает, execу наверно нужны привелегии на запуск, давать такие злобные привелегии апачу не стоит ... потом это привязка к ос, думаю под вынь уже не заработает.

короче имхо сокеты круче.

p.s. попробуй 5-й пхп (бэту), там вроде должно быть уже по человечески.

Автор оригинала: Зануда
Нет, этот вариант абсолютно исключён (по договору с партнёром мы используем предоставленные им уже скомпилённые классы).

Ganer - имхо, лучше уж вызывать через exec() - а сериализованную инфу выводить на обычный поток вывода (у меня всё это на одной машине - а у тебя, как я понял, на разных?)...

tony2001 - спасибо, попросил у него совета
 

Ямерт

The Old One
Подсмотреть трафик этого класса и сделать тоже самое на РНР.
Аналогичная задача: видя Вэб-интерфейс Гугла, написать Гугл.

Ganer - я, извиняюсь, не совсем понял, при чём тут PHP5 :)
 

Ganer

Новичок
там объектная модель почти жабовская, поэтому взаимодействие с жабой нативное а не через задницу как в 4-рке. я так понял, что и работает быстро.


Автор оригинала: Зануда
Ganer - я, извиняюсь, не совсем понял, при чём тут PHP5 :)
 

Rezec

По пиву? (socket80)
Не смейтесь :), у нас в конторе таким образом заменили JAVA класс для соединения с pay ситемой. Работало на ура.
 
Сверху