web services - स्टेटफुल बनाम स्टेटलेस वेबस्वाइसेस




web-services stateless (2)

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

हमने इस दृष्टिकोण के लिए राज्यपूर्ण या स्टेटलेस वेब सर्वर के बारे में चर्चा शुरू की मैंने अपने अनुभव के साथ कुछ शोध किया, जो मुझे बाद में बताए गए प्रश्न के मुताबिक बताता है।

निम्नलिखित संपत्तियां होने वाली स्टेटलेस वेबस्वाइसेस (हमारे मामले में):

+ high scalability
+ high availability
+ high speed
+ rapid testing
- bloated contract
- implementing more logic on server-side

लेकिन हम पहले दो बिंदुओं को पार कर सकते हैं, हमारे आवेदन में उच्च स्केलेबिलिटी और उपलब्धता की आवश्यकता नहीं है।

इसलिए हम अव्यक्त वेबसार्से पर आते हैं। मैंने ब्लॉग और फ़ोरम पोस्ट्स का एक गुच्छा पढ़ा है और एक आधिकारिक वेबसाइट सेवा को लागू करने वाला सबसे आविष्कार किया था:

+ simplifies contract (protocol)
- bad testing
- runs counter to the basic architecture of http 

लेकिन लगभग सभी वेब अनुप्रयोगों में ये बुरा अंक नहीं हैं? वेब एप्लिकेशन HTTP की स्टेटलेसनेस से बचने के लिए कुकीज़, क्वेरी स्ट्रिंग्स, सत्र आईडी और सभी सामान का उपयोग करता है

तो ऐसा क्यों है कि webservices के लिए बुरा है?


क्योंकि एक वेब सेवा में राज्य को रखना मुश्किल है और यदि आप बेहद सावधानी और / या अनुभवी नहीं हैं तो आप या तो बाद में या बाद में आपको बग्स को ढूंढना बहुत कठिन हो सकता है।


मैंने राज्यपूर्ण वेब सेवाओं के साथ उचित भाग्य प्राप्त किया है वे थोड़ा गंदा महसूस करते हैं क्योंकि एचटीटीपी के शीर्ष पर छिपे कुकी सत्र की बात यह है कि; लेकिन दूसरी तरफ वे सोप थे, इसलिए उस समय सौंदर्य के बारे में बहुत परेशान होने के लिए यह बेवकूफी होगी।

एक बात ध्यान में रखनी चाहिए कि आप अंतर कर सकते हैं: यदि आप राज्यपूर्ण वेब सेवा कर रहे हैं तो अपने ग्राहकों को उसी स्थिति का समर्थन करना होगा जो आप करते हैं (आमतौर पर कुकीज़)। लेकिन फिर से - मेरे लिए ठीक काम किया

पी एस मुझे लगता है कि आप एक कंटेनर में हैं जो आपके लिए सत्र का ट्रैक रखने का ध्यान रखेगा।





stateful