2010-12-10 3 views
6

मेरे पास एक जावा एप्लिकेशन है जो छवि को इनपुट के रूप में ले जाएगा और दूसरी छवि आउटपुट करेगा। मेरे पास एक लोकप्रिय होस्ट (PHP + MYSQL होस्टिंग) के साथ एक वेबसाइट है। मैं PHP पर वेबसाइट के साथ एक फॉर्म बनाना चाहता हूं, जहां एक उपयोगकर्ता एक छवि अपलोड कर सकता है जो छवि को जावा एप्लिकेशन पर पास कर देगा।वेब सर्वर पर जावा एप्लिकेशन के साथ PHP निष्पादित करें और संवाद करें

क्या मैं कर रही पर योजना बना रहा हूँ जब तत्कालीन उपयोगकर्ता छवि अपलोड करता है, यह वेब सर्वर पर एक फ़ोल्डर में संग्रहीत हो जाता है। इसके बाद मैं छवि के यूआरएल को एक तर्क के रूप में पास करने वाले सर्वर पर जावा ऐप को कॉल करूंगा और फिर जावा ऐप एक और छवि आउटपुट करेगा, आइए परिणामस्वरूप फ़ोल्डर में। निष्पादन के बाद PHP पृष्ठ ब्राउज़र पर परिणाम छवि प्रदर्शित करेगा।

अब मेरे प्रश्न हैं: क्या लोकप्रिय वेबहोस्ट पर जावा ऐप्स निष्पादित करना संभव है (उदाहरण के लिए मेरा WebHostingBuzz.com है)?

जावा ऐप काफी भारी है क्योंकि यह बहुत सारी छवि प्रसंस्करण करता है। क्या मुझे जावा ऐप को किसी अन्य वेब सर्वर पर ऑफ़लोड करना चाहिए? यदि हां, क्या कोई ऐसी सेवाएं हैं जो मेरा जावा ऐप चलाएंगी?

(वैकल्पिक) यह मेरे जावा ऐप का एक डेमो है और मैं लोगों को अपलोड करने वाली छवियों को स्टोर नहीं करना चाहता हूं। क्या कोई तरीका है जहां मैं सीधे अपलोड की गई छवि को जावा ऐप पर भेज सकता हूं और वेब सर्वर पर इसे संग्रहीत करने के बजाय सीधे उत्पन्न छवि आउटपुट कर सकता हूं? मैं इसे पसंद करूंगा क्योंकि, अगर छवि बड़ी है, तो मैं टाइमआउट के बाद PHP को निष्पादन रोक सकता हूं।

मैं कैसे जावा अनुप्रयोग के साथ PHP से जानकारी के लिए इसके निष्पादन पर, उदाहरण के लिए PHP जावा एप्लिकेशन आवश्यकता होने पर, पेज तक एप्लिकेशन प्रसंस्करण खत्म इंतजार करना पड़ता है संवाद करते हैं? मैं जावा ऐप को PHP पेज पर प्रतिक्रिया भेजना चाहता हूं कि यह प्रसंस्करण पूरा हो गया है और पृष्ठ तदनुसार रीडायरेक्ट या रीफ्रेश किया गया है।

मुझे आशा है कि आप अंदाजा हो, कृपया प्रौद्योगिकियों कि मैं इस लागू करने के लिए और उपयोग कर सकते हैं सुझाव है कि अगर आप भी एक बेहतर विचार है, यह पोस्ट! धन्यवाद!

उत्तर

4

अब मेरे प्रश्न हैं: क्या लोकप्रिय वेबहोस्ट पर जावा ऐप्स निष्पादित करना संभव है (उदाहरण के लिए मेरा WebHostingBuzz.com है)?

यह तकनीकी रूप से संभव है। लेकिन होस्टिंग को मेजबान पर जेआरई स्थापित करना है और PHP उपयोगकर्ता को पर्याप्त ओएस-स्तर और फाइल सिस्टम-स्तरीय अनुमतियां देना है। तो आप वास्तव में होस्टिंग पर निर्भर हैं कि वे इस अवसर को प्रदान करते हैं या नहीं। सर्वश्रेष्ठ है कि वे अपनी सहायता टीम से संपर्क करें और उससे पूछें।

इसका समर्थन किया है, तो आप सिर्फ shell_exec() इस्तेमाल कर सकते हैं।

$result = shell_exec("java -jar /path/to/imageprocessor.jar " + $imagepath); 
if ($result) { 
    // Shell execution succeed. 
} else { 
    // Shell execution failed. 
} 

असीमित संचार/पृष्ठभूमि प्रसंस्करण के लिए, ग्राहक को अजाजक अनुरोध को आग लगाना पड़ता है।

यदि यह समर्थित नहीं है, तो जावा को PHP पर पोर्ट करने पर विचार करें। GD image library में बहुत सारे फ़ंक्शन हैं जिनका उपयोग किया जा सकता है।

0

नहीं यह अपने जावा एक वेब एप्लिकेशन को एप्लिकेशन बनाने के लिए आसान नहीं होगा, कि PHP एक यूआरएल जिसमें वह चित्र के url डाल तो जावा डाउनलोड कर सकते हैं के माध्यम से कह सकते हैं?

http://yourjavaserver/imageprocessing?imgurl=IMAGE_URL

और जावा सर्वलेट की तरह छवि फ़ाइल itlsef के साथ उत्तर जाएगा।

आप इसके लिए मेजबान खोजने के लिए Google पर "जावा होस्टिंग" ढूंढ सकते हैं, लेकिन यह PHP होस्टिंग से अधिक महंगा है। हो सकता है कि सबसे अच्छा विकल्प एक समर्पित सर्वर प्राप्त करना होगा जो PHP और जावा दोनों अनुप्रयोगों को होस्ट कर सके ...

0

मुझे लगता है कि यहां आपका सबसे अच्छा शर्त आपके जावा ऐप के साथ क्रॉन (या एक डेमॉन) के रूप में चल रहा है जो फ़ाइल लोड कर सकता है डेटाबेस से विवरण। पीढ़ी पूरी होने के बाद उपयोगकर्ताओं के हिस्से में एक (एक या अधिक) पृष्ठ-रीफ्रेश की आवश्यकता होगी, जिस बिंदु पर आपकी स्क्रिप्ट डेटाबेस/फाइल सिस्टम से छवि को याद कर सकती है।

मुझे नहीं लगता कि आप PHP वेबपृष्ठ पर टाइमआउट प्रतिबंधों के कारण वास्तविक समय में ऐसा करने में सक्षम होंगे। हालांकि, आप एक जावा ऐपलेट लिख सकते हैं जो फ़ाइल को ले जा सकता है और सर्वर पर भेजने से पहले इसे संसाधित कर सकता है (या इस पर निर्भर करता है कि आप इसका उपयोग कैसे करना चाहते हैं, शायद आपको परिवर्तन के बाद इसे अपलोड करने की आवश्यकता नहीं है?)।

2

Google ऐप इंजन जावा (और पायथन) वेब अनुप्रयोगों को होस्ट करने की अनुमति देता है। एसडीके और मूल खाता शुल्क से मुक्त है। एसडीके के साथ, आप स्थानीय रूप से एप्लिकेशन को विकसित और परीक्षण कर सकते हैं और फिर बस ऐप इंजन पर तैनात कर सकते हैं (नेटबीन और ग्रहण प्लगइन्स उपलब्ध हैं)।

फिर PHP ऐप डेटा को HTTP पोस्ट में Google App Engine एप्लिकेशन में भेज सकता है और परिणाम डेटा में परिणाम प्राप्त कर सकता है।

या डेटा डेटाबेस ब्लॉब में पहले संग्रहीत किया जाता है और एक प्रोसेसिंग जॉब को कार्य कतार (एक 'संदेश कतार') में रखा जाता है। इसका लाभ यह है कि डेटा पोस्ट किए जाने के तुरंत बाद PHP क्लाइंट अनुरोध वापस आ जाएगा। फिर, PHP अनुप्रयोग परिणाम डेटा के लिए मतदान कर सकता है जबकि Google App Engine छवि को संसाधित करता है। PHP पक्ष इस तरह से अधिक प्रतिक्रियाशील होगा।

+0

धन्यवाद! मुझे इसके बारे में पता नहीं था। मैं इस पर ध्यान दूँगा। – tHeSiD