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