2009-07-20 13 views
7

जीडब्ल्यूटी आरपीसी स्वामित्व है लेकिन Google द्वारा पैटर्न के साथ समर्थित ठोस दिखता है, और मैंने देखा है कि प्रत्येक पुस्तक और ट्यूटोरियल द्वारा इसका उल्लेख किया गया है। क्या यह वास्तव में जीडब्ल्यूटी क्लाइंट/सर्वर संचार के लिए पसंद है? क्या आप इसका इस्तेमाल करते हैं और यदि नहीं और क्यों आपने चुना है? मुझे लगता है कि मेरे पास जेनेरिक सर्वर एप्लिकेशन कोड है जो आरपीसी, ईजेबी, वेब सर्विसेज/एसओएपी, आरईएसटी, आदि के लिए समायोजित कर सकता हैजीडब्ल्यूटी के साथ सर्वर से सर्वर संचार के लिए आप क्या उपयोग करते हैं?

बोनस प्रश्न: जीडब्ल्यूटी आरपीसी के साथ किसी भी सुरक्षा मुद्दे को मुझे अवगत होना चाहिए?

+2

जीडब्ल्यूटी-आरपीसी कोड स्वामित्व नहीं है - यह खुला स्रोत है, और आप जांच सकते हैं, और यह भी बदल सकते हैं कि यह कैसे काम करता है (स्वयं के लिए) यदि आप चाहते हैं। – Chii

+1

कोई भी एपीआई या संचार प्रोटोकॉल जो कुछ औपचारिक मानक निकाय (उदाहरण के लिए, डब्ल्यू 3 सी, जेसीपी, ईसीएमए) के नियंत्रण में नहीं है, स्वामित्व है। यह जीडब्ल्यूटी-आरपीसी पर लागू होता है। इसका खुला स्रोत होने के साथ कुछ लेना देना नहीं है या नहीं। –

उत्तर

10

हम मुख्य रूप से संचार के तीन विधियों का उपयोग करें:

  1. GWT-RPC - यह हमारा प्राथमिक और पसंदीदा तंत्र है, और क्या हम जब भी संभव का उपयोग करें। यह चीजों को करने का "जीडब्ल्यूटी रास्ता" है, और बहुत अच्छी तरह से काम करता है।
  2. XMLHttpRequest का उपयोग कर RequestBuilder - यह गैर GWT वापस समाप्त होता है के साथ बातचीत के लिए आम तौर पर है, और हम इस मुख्य रूप से स्थिर वेब सामग्री है कि हम रनटाइम के दौरान की जरूरत है खींचने के लिए उपयोग करें (सर्वर साइड की तरह कुछ भी शामिल है)। यह उपयोगी है खासकर जब हमें एक सीएमएस के साथ एकीकृत करने की आवश्यकता होती है। हम अपने अनुरोधबिल्डर कोड को कस्टम "पैनल" में लपेटते हैं (जो यूआरआई को इसके कन्स्ट्रक्टर पैरामीटर के रूप में लेता है, और यूआरआई की सामग्री के साथ खुद को पॉप्युलेट करता है)।
  3. फॉर्मपैनल का उपयोग करके फॉर्म सबमिशन - इसके लिए गैर-जीडब्ल्यूटी बैक एंड (कस्टम सर्वलेट) के साथ बातचीत की भी आवश्यकता होती है, और यही वह है जिसे हम वर्तमान में क्रॉस साइट संचार करने के लिए उपयोग करते हैं। हम वास्तव में "क्रॉस साइट" से संवाद नहीं करते हैं, लेकिन हमें कभी-कभी गैर-एसएसएल पृष्ठ पर एसएसएल पर डेटा भेजने की आवश्यकता होती है, और यही एकमात्र तरीका है जिसे हम अब तक करने में सक्षम हैं (कुछ हैक्स के साथ)।
-1

समस्या यह है कि आप एक वेब ब्राउज़र पर हैं, इसलिए कोई गैर-http प्रोटोकॉल काम करने की गारंटी नहीं है (प्रॉक्सी से नहीं हो सकता है)।

आप क्या कर सकते हैं जीडब्ल्यूटी-आरपीसी सामान को एक प्रतिस्थापन योग्य वर्ग में अलग करना और जितनी जल्दी हो सके इसे बंद कर दें।

व्यक्तिगत रूप से मैं संग्रह के अंदर एन्कोड किए गए जानकारी के साथ वस्तुओं के संग्रह को स्थानांतरित करने पर भरोसा करता हूं - इस तरह बहुत कम आरपीसी कोड होता है क्योंकि आपका आरपीसी कोड कभी भी होता है "संग्रह आदेश = getCollection() ", लेकिन एक लाख अन्य संभावनाएं होंगी।

या जीडब्ल्यूटी-आरपीसी का उपयोग करें, जैसा कि इरादा था, मुझे नहीं लगता कि यह कहीं भी जा रहा है।

+1

जीडब्ल्यूटी-आरपीसी नियमित रूप से HTTP अनुरोधों और प्रतिक्रियाओं के माध्यम से संचारित एक सादा पाठ प्रोटोकॉल है, इसलिए प्रॉक्सी या कुछ और के साथ कोई समस्या नहीं है। और यह बहुत अच्छी तरह से काम करता है। –

+1

मुझे लगता है कि ऐसा लगता है जैसे मैंने कहा था, लेकिन यह मेरा मतलब नहीं था। वह दो अनुच्छेद थे, पहले "गैर-http प्रोटोकॉल" काम नहीं करेंगे। दूसरा, जीडब्ल्यूटी-आरपीसी को एक वर्ग में निकाला जा सकता है और इच्छानुसार बदल दिया जा सकता है ताकि आप बाद में इसे अलग या प्रतिस्थापित कर सकें। दोनों के पास एक दूसरे के साथ कुछ लेना देना नहीं था। –

संबंधित मुद्दे