|
Black-Baron
|
| Titel: PHP und Java/C++ verbinden |
30.06.2011 11:18 |
|
|
Anmeldungsdatum: 08.04.2007
Beiträge: 674
|
Hallo,
ich habe folgende Idee:
Im Frontend läuft ein PHP-Script, welches Dateien empfängt. Für diese Dateien gibt es oftmals eine sehr aufwändige Verarbeitung. Daher ist mein Ziel, dies von einem Backend erledigen zu lassen. Ob das Backend nun i C(++) oder in Java geschrieben werden soll hängt davon ab, was einfach ist für die Kommunikation.
Nochmal die ganze Prozedur, damit das übersichtlicher wird. Wir gehen mal von einem Javabackend aus.
Auf dem Server(kein Webpack) läuft dauerhaft ein java-Prog. Dieses bearbeitet generell irgendwelche noch zu erledigende Aufgaben. Sobald ein Auftrag vom PHP-Frontend kommt, soll Java diesen Auftrag ausführen. Wenn Java mal wieder ncihts mehr zu tun hat kann das Prog natürlich wieder den anderen Aufgaben nachgehen.
Nun ist meine Frage wie mach ich die Kommunikation von Java und PHP. Es gibt eine PHP/Java Bridge aber so wie ich die versteh wird quasi das Programm dann von PHP aus nur dafür extra gestartet. Ich will aber quasi, dass PHP das an ne Auftragsliste von Java hängen kann. Und bei manchen Aufgaben soll PHP sogar auf ne Antwort warten.
Gibt es da irgendwelche Erfahrungswerte was man für solche Zwecke am ehesten nimmt?
|
 |
|
| |
|
marco91
|
| Titel: PHP und Java/C++ verbinden |
30.06.2011 12:08 |
|
|
Anmeldungsdatum: 20.09.2007
Beiträge: 281
|
Ich verstehe nicht ganz was du genau willst!? Was möchtest du schlussendlich für ein Produkt?
Gruss marco91
|
 |
|
| |
|
Black-Baron
|
| Titel: PHP und Java/C++ verbinden |
30.06.2011 17:34 |
|
|
Anmeldungsdatum: 08.04.2007
Beiträge: 674
|
Ich möchte auf meinem Server folgendes hinbekommen:
Ich lad eine Datei hoch (PDF, Bild was auch immer ist ja eig egal). Das wird über PHP gemacht. Nun muss diese Datei aber noch weiter verarbeitet werden. Dafür ist PHP aber nicht so toll geeignet. Also will ich, dass PHP nem Java-Programm sagt, dass es diese Datei jetzt gibt unter Pfad xYz und dann kann das Javaprog drann weiter arbeiten. Ich will aber, dass das Javaprogramm dauernd läuft und nicht von PHP gestartet wird.
Als Beispiel wie ich mir das vorstelle könnte man auch einfach mal was anderes nehmen. Wir haben eine große Burgerkette. Dort wird eine Bestellung aufgegeben (PHP). Diese wird an die Küche weitergegeben (JAVA). Die Küche soll aber nicht erst angemacht werden wenn die bestellung eingibt, sondern wenn keine Bestellung da ist sollen so Sachen wie "Küche putzen" oder Vorräte auffülllen erledigt werden. Sobald dann wieder eine Bestellung reingeht hat die natürlich Vorrang vor dem eigentlichen Putzen.
Ich hoffe ihr versteht nun wie ich das mein
|
 |
|
| |
|
marco91
|
| Titel: PHP und Java/C++ verbinden |
01.07.2011 09:44 |
|
|
Anmeldungsdatum: 20.09.2007
Beiträge: 281
1 Mitglied findet diesen Beitrag gut
|
Black-Baron hat folgendes geschrieben:Ich möchte auf meinem Server folgendes hinbekommen: Ich lad eine Datei hoch (PDF, Bild was auch immer ist ja eig egal). Das wird über PHP gemacht. Nun muss diese Datei aber noch weiter verarbeitet werden. Dafür ist PHP aber nicht so toll geeignet. Also will ich, dass PHP nem Java-Programm sagt, dass es diese Datei jetzt gibt unter Pfad xYz und dann kann das Javaprog drann weiter arbeiten. Ich will aber, dass das Javaprogramm dauernd läuft und nicht von PHP gestartet wird. Als Beispiel wie ich mir das vorstelle könnte man auch einfach mal was anderes nehmen. Wir haben eine große Burgerkette. Dort wird eine Bestellung aufgegeben (PHP). Diese wird an die Küche weitergegeben (JAVA). Die Küche soll aber nicht erst angemacht werden wenn die bestellung eingibt, sondern wenn keine Bestellung da ist sollen so Sachen wie "Küche putzen" oder Vorräte auffülllen erledigt werden. Sobald dann wieder eine Bestellung reingeht hat die natürlich Vorrang vor dem eigentlichen Putzen. Ich hoffe ihr versteht nun wie ich das mein 
Jetzt begreife ich alles :-)
Ich empfehle dir mit Java, JSF und JPA zu arbeiten. Alles Technologien die zusammenpassen. Klar könntest du das Frontend auch mit PHP machen, ich empfehle es aber nicht.
Hierzu arbeite dieses Tutorial durch: http://exadel.com/web/portal/jsftutorial-kickstart
Gruss marco91
|
 |
|
| |
|
Black-Baron
|
| Titel: PHP und Java/C++ verbinden |
02.07.2011 14:31 |
|
|
Anmeldungsdatum: 08.04.2007
Beiträge: 674
|
klingt interessant 
Aber mal angenommen ich würde das doch gern in PHP lösen...
Wäre da vielleicht etwas mit Java und Sockets möglich?
Also in etwa so:
PHP sendet Daten per Socket an Java, Bekommt dann eben nen entsprechenden Return und verarbeitet dies
Java hat die Daten bekommen, verarbeitet die und gibt nen Return...
Bsp.: Java arbeitet seine ToDo-List ab (Bearbeite Datei 1....10) Nun kommt die Socketverbindung, Java sagt ok hab den Auftrag erhalten und hängt ihn an die To-Do hin als Bearbeite Datei 11
geht sowas mit Sockets oder nicht?
Und nochmal zur PHP/Java-Bridge (http://php-java-bridge.sourceforge.net/pjb/index.php) versteh ich das richtig, dass da von PHP aus nur Funktionen in nem Javaprogramm aufgerufen werden (also das nur dafür gestartet wird) ich aber das nicht als dauernd laufende Server-App haben kann, die eben Befehle von PHP ausgeführt bekommt?
Bin auf so nem FrontEnd/BackEnd Zeug totaler Neuling...
|
 |
|
| |
|
marco91
|
| Titel: PHP und Java/C++ verbinden |
04.07.2011 08:47 |
|
|
Anmeldungsdatum: 20.09.2007
Beiträge: 281
|
Ich denke das ist alles möglich. Wenn du auf dem Server eine Java Applikation laufen hast, kann diese im Hintergrund arbeiten (unabhängig vom PHP Teil). Dies würde ich mittels Threads lösen!
http://www.dpunkt.de/java/Programmieren_...ing/3.html
Gruss marco91
|
 |
|
| |
|
Black-Baron
|
| Titel: PHP und Java/C++ verbinden |
06.07.2011 08:13 |
|
|
Anmeldungsdatum: 08.04.2007
Beiträge: 674
|
Habe mittlerweile auch den Gedanken bekommen, dass ich zwei unabhängige Bereiche mache.
Problem war unter anderem, dass ich zip-Archive (ohne kompression) erstellen muss und PHP dafür zu langsam ist. Nachdem ich aber nun draufgekommen bin, dass ich ja auch über exec auf Shell-Programme zugreiffen darf (keine Angst Server ist so abgesichert, dass Shell-zugriff nur in bestimmten Ordner erlaubt ist und in diesem werden nur ZIP/unzip-Funktionen liegen) kann ich das direkt von Linux erledigen und die zusätzliche Datenverarbeitung ist unabhängig von der PHP-Seite und kann somit über Java und ne DB erledigt werden.
Aber danke für deine Hilfe.
Du hast mich indirekt darauf gebracht.
Liebe Grüße
Felix
|
 |
|
| |
|
qheute1now
|
| Titel: PHP und Java/C++ verbinden |
18.10.2011 03:20 |
|
|
Anmeldungsdatum: 18.10.2011
Beiträge: 11
|
Java, JSF und JPA zu arbeiten.
|
 |
|
| |
|
|
|
|