2010-10-18 16 views
6

मेरे पास एक वेब सेवा तैनात है और उपयोग करने के लिए तैयार है। क्लाइंट एप्लिकेशन इस सेवा का उपयोग सिंक्रनाइज़ और बेहद लगातार उपयोग करने जा रहा है। वेब सेवा से लौटाए गए डेटा की मात्रा भी काफी है।वेब सेवा क्लाइंट डिजाइन पैटर्न (सर्वोत्तम अभ्यास)

वेब सेवा क्लाइंट एक वेब एप्लिकेशन (liferay portlet) है। मैंने ग्रहण के अंदर अक्ष के साथ क्लाइंट भाग उत्पन्न किया है।

मेरे पहले परीक्षणों में, प्रत्येक अनुरोध में मैं एक नई ServiceProxy को तुरंत चालू कर रहा हूं और इसकी विधियों को बुला रहा हूं। मुझे इस संरचना की मजबूती और विश्वसनीयता के बारे में निश्चित नहीं है (हर बार एक नई प्रॉक्सी ऑब्जेक्ट बनाना)।

मैंने इसे सिंगलटन प्रॉक्सी के साथ स्थिर वर्गों में बदल दिया, लेकिन मुझे यकीन नहीं है कि वेब एप्लिकेशन क्लाइंट (समवर्ती मुद्दों) के साथ-साथ कॉल के दौरान क्या होगा।

मैं चाहता हूं कि डिज़ाइन वेब सेवा क्लाइंट से मेरे वेब एप्लिकेशन को डीक्यूल करें और क्लाइंट प्रॉक्सी कैश (डेटा कैश नहीं है क्योंकि मेरा एप्लिकेशन वास्तविक समय है) या कुछ चीज समान है।

मुझे लगता है कि वेब सेवा क्लाइंट भागों के लिए एक डिज़ाइन पैटर्न या सर्वोत्तम अभ्यास होना चाहिए।

उत्तर

1

ऐसा लगता है कि आपकी वेब सेवा HTTP प्रोटोकॉल का उपयोग करती है, इसलिए कुछ प्रॉक्सी कैश या कुछ होने का कोई कारण नहीं है, प्रत्येक कॉल पर कनेक्शन बनाया जाता है, ताकि आप एक बार प्रारंभिक डब्ल्यूएस क्लाइंट इंस्टेंस को एक साथ कॉल कर सकें।

लेकिन किसी भी तरह से आप प्रत्येक कॉल (मेरे अभ्यास से) के लिए 200ms का भुगतान करेंगे, और यदि नेटवर्क सुपर है तो यह अधिकतर एक्सएमएल प्रोसेसिंग है।

+0

ज़ल्तेनी, धन्यवाद। अंततः एक महीने के बाद कुछ ध्यान आकर्षित किया! आपने जो कहा है उसे फिर से भरने के लिए, क्या एक सिंगलटन प्रॉक्सी ऑब्जेक्ट होना ठीक है जो हर क्लाइंट सेवा तक पहुंचने के लिए उपयोग करता है? –

+0

हां, एनपी। मुझे लगता है। इसके अलावा, मैं कुछ भारी मल्टीथ्रेड परीक्षण करने का सुझाव देना चाहता हूं, क्योंकि मुझे सामना करना पड़ा है जब एक्सएमएल प्रसंस्करण ढांचे को थ्रेड सुरक्षित के रूप में घोषित किया जाता है, लेकिन वास्तव में समवर्ती समस्याएं आती हैं। – zaletniy

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