7
votes

PHP à la migration Java

Nous sommes occasionnellement en mesure de prendre des projets basés sur PHP, mais comme nous sommes une maison Java, nous recherchons des moyens de transformer un projet PHP-Projet (ou CodeBase) en java-projet.

Les approches que nous avons proposées au travail dans un contexte mixte Java / PHP sont les suivantes:

  • PHP à Frontend et Java dans le backend avec front séparé (PHP + JavaScript) et retour (Java + SQL) équipes
  • Utilisation des deux technologies dans une webApp Java, par exemple via Quercus avec une ou plusieurs équipes
  • Migration de tout pour Java

    Nous n'avons essayé aucune de ces approches, car nous avons eu la chance d'avoir suffisamment de projets Java uniquement pour travailler.

    Voyez-vous d'autres approches ou avez-vous essayé l'une des approches décrites?


3 commentaires

J'ai travaillé avec Quercus et c'est un excellent moyen d'introduire PHP et Java (je suis un Dev Dev). Quercus dirigera WordPress avec de très légères modifications. Wired.com utilise Combo Quercus / WordPress pour leurs blogs.


@Brent Baisley, merci de partage. Je favorise également l'approche Quercus, avec l'approche de service à distance comme une relèvement.


Un inconvénient du Quercus pourrait être que les mappages mod_rewrite ne peuvent pas être utilisés. Au moins pas à l'intérieur du webapp


7 Réponses :


1
votes

pont PHP / Java peut être de votre intérêt:

Le pont PHP / Java est un mise en œuvre d'un streaming, Protocole de réseau XML basé sur XML, qui peut être utilisé pour connecter un script natif moteur, par exemple php, schéma ou Python, avec une machine virtuelle Java. Il est jusqu'à 50 fois plus rapide que local RPC via SOAP, nécessite moins de ressources sur le côté Web-serveur. C'est plus rapide et plus fiable que direct Communication via le Java natif Interface, et cela nécessite non Composants supplémentaires à invoquer Java Procédures des procédures PHP ou PHP de Java.


1 commentaires

@Safraz, merci pour le pointeur, cela pourrait être une technologie à utiliser dans la première approche



1
votes

php à fronts et java dans le backend avec front séparé (PHP + JavaScript) et retour (Java + SQL) équipes

Ceci est techniquement réalisable en utilisant SOAP .

Utiliser les deux technologies dans une Java WebApp, par exemple via Quercus avec une ou plusieurs équipes

Je n'ai aucune idée de cette

Migration de tout pour Java

C'est une meilleure option, mais cela prendra du temps en fonction de la taille et de la complexité de votre projet.


0 commentaires

1
votes

numiton peut être utile pour vous:

http: // java .Dzone.com / Annonces / Automatisé-Traductions-PHP-JAV P>

    The shortest route from PHP to Java

    Numiton offers an automated alternative to migrating PHP codebase. This way, 
established applications can benefit from the advantages offered by Java in its
enterprise-level capacity.

    Some of the risks inherent to any software migration are avoided by using an automated
 translation tool. Our PHPtoJava product performs variable type inference, 
objectualization and other operations in a uniform manner, the resulting appearance and 
behavior being identical to what the users already know.


    Of course, the human factor still plays an important role in the post-translation 
phases: application fine-tuning and functional testing. The speed and accuracy of the 
entire process surpass however those of a manual translation.


    One of the applications we have migrated this way is the well-known forum engine 
phpBB. The translation result, nBB2, powers our own forum and was recently donated to the 
open-source community as a SourceForge project.


1 commentaires

merci pour le pointeur. Cela ressemble à une approche intéressante, mais je crois que le résultat serait un code Java qui ne suivrait pas de meilleures pratiques J2EE. Architecture multi-niveaux, transactions gérées AOP, etc. ne serait pas utilisée



2
votes

Mes expériences avec des Querces ne sont pas si bonnes. Peut-être que cela s'est amélioré, mais quand j'ai essayé quelque chose comme il y a deux ans (une longue période, je sais) c'était loin d'être complet et n'a pas encore appuyé toutes les fonctions. En outre, si votre demande utilise certaines extensions (par exemple de pecl), vous rencontrerez des difficultés à obtenir cela et à courir sous des quermes.

Nous sommes actuellement en train de migrer une application Web de PHP à Java. Nous concevons une SOA et nous remplacerons probablement certains objets d'accès aux données dans l'application PHP avec une version qui parle aux webservices internes. Actuellement, nous utilisons l'épargne en tant que protocole de nos webservices internes, un cadre qui dispose également d'un client disponible pour PHP. Nous nous attendons à ce que cela augmente la flexibilité pendant la migration (nous permettant de faire une migration étape par étape, plutôt que toute-lame à une fois)


1 commentaires

Merci d'avoir partagé. L'épargne sonne comme une bonne approche. Peut-être aussi plus vite que le pont PHP / Java. Je n'ai pas essayé de Quercus moi-même, mais les résultats Bechmark sont intéressants.



3
votes

J'ai utilisé Quercus. Je pense que si cela supporte quelque chose comme Drupal, il est probablement assez mature. Si votre application PHP fonctionne hors de la boîte, il vous propose une trajectoire de mise à niveau très progressive vers Java puisque vous pouvez écrire vos propres plugins en Java et les exposer à la couche PHP, telle que l'utilisation d'un JDBC. back-end.

Quelle est la facilité tout dépend de la manière dont les couches sont bien séparées dans l'application PHP. Par exemple, si la couche de vue est bien séparée, vous pourrez peut-être remplacer la logique du contrôleur et du modèle avec une application Spring MVC utilisant un 'Quercusview' pour la vue - vous pourrez peut-être réutiliser beaucoup de PHP. Voir la logique.

Vous devez également déterminer comment vous pouvez faire une enquête sur le code PHP - peut-être un script qui extrait toutes les appels, les importations, etc. afin de pouvoir tester rapidement le support de Quercus.

Désolé, je n'ai pas utilisé le pont PHP-Java, mais je pense que la bibliothèque du Quercus est assez mature ces jours-ci, ce qui serait mon premier choix pour une migration migration.


0 commentaires

1
votes

Je n'ai pas d'expérience en cours d'exécution PHP à l'intérieur d'une JVM, mais je parie que IBM fait. :) Vous pouvez envisager le projet zéro.

http://www.projectero.org/php/

semble semblable aux quertes ou à cette autre chose une personne liée. La seule autre chose que vous n'avez pas mentionnée que je puisse penser à refacturer le code PHP parce que je suppose que sa base de code plus âgée écrite de manière PHP.


1 commentaires

@llbbl, merci pour la réponse. Projet zéro semble intéressant.



1
votes

Je sais que c'est une question de 2 ans, mais je veux toujours contribuer. Nous migrons de Portail Java complet vers PHP + Java. Nous avons 14 millions d'utilisateurs. Cette conception n'a pas besoin de services Web car nous utilisons Java comme fournisseur JSON pour PHP et JS. Nous verrons bientôt le résultat ...

php à fronts et java dans le backend avec un front séparé (PHP + JavaScript) et arrière (Java + SQL) équipes


1 commentaires

Et nous avons vu le résultat; il est parfait. Dans notre cas, PHP obtient également son pouvoir de Smarty Mody Moteur et Memcache. Très efficace...