आईएमओ, एसओएपी एक मानक प्रकार मैसेजिंग आर्किटेक्ट, आईई के रूप में बनाया गया मानक था। संदेश पास करते समय बस इस "अनुबंध" का उपयोग करें। यह सामान्य था कि यह किसी विशेष तकनीक को गले लगाता नहीं है।
आरईएसटी एक वास्तविक पद्धति है जो HTTP को गले लगाती है, यह जीईटी, पोस्ट, पुट का उपयोग करने और इसकी अधिकतम क्षमता को हटाने का एक तरीका है।
मुझे लगता है कि कोई दूसरा बेहतर नहीं होगा, यह वास्तव में नौकरी के लिए सही उपकरण का उपयोग करने के लिए उबलता है। मैं वेब-आधारित ऐप और गैर-वेब-आधारित के बीच अंतर नहीं बनाऊंगा। क्योंकि एसओएपी या आरईएसटी दोनों के लिए फायदेमंद हो सकता है।
यहां कुछ प्रश्न हैं जिन्हें मैं पहले उत्तर दूंगा:
1) मेरा लक्षित ग्राहक कौन है। माइक्रोसॉफ्ट वर्कशॉप क्लाइंट, जावा, पीएचपी टाइप।
2) किस तरह के (एक बेहतर शब्द की कमी।) "एंडपॉइंट्स" क्या मैं अपने एपीआई को बेनकाब करना चाहता हूं। (जेएसओएन, एक्सएमएल, अजाक्स, पीओएक्स या उपर्युक्त सभी।)
3) मेरे ग्राहक इस एपीआई के साथ क्या चलेंगे? क्या उनके पास पहले से ही ऐसे ग्राहक हैं जो SOAP पर आधारित हैं। यदि हां, तो एसओएपी जाने का रास्ता है।
4) आरईएसटी आपको अपने यूआरएल डिज़ाइन के बारे में सोचने देगा और इस प्रकार क्लाइंट को डेटा को "मैशप" करने की इजाजत देता है जो उन्हें चाहिए। तो अगर आपको लगता है कि ऐसा कुछ है जो आप चाहते हैं। आरईएसटी जाने का रास्ता है।
5) आरईएसटी HTTP में "जीईटी" का उपयोग करता है, यह क्लाइंट को परिणामों को कैश करने की अनुमति देता है। "सशर्त जीईटी जिसे वह कहा जाता है। यह उन्हें एक बड़ी वस्तु को कैश करने की अनुमति देता है, सर्वर को केवल एक हेडर (छोटे) के माध्यम से पूछें यदि आखिरी अपडेट कैश किया गया है, तो ऐसा होता है। पूर्ण वस्तु से परेशान न करें, क्या करें कैश किया गया नवीनतम संस्करण है। यह एसओएपी में किया जा सकता है, लेकिन बॉक्स के बाहर, आरईएसटी इसके लिए बेहतर है।
वैसे भी, उम्मीद है कि आपको बेहतर डेटा मिल जाएगा, ताकि आप बेहतर निर्णय ले सकें। और यदि बाकी सब कुछ विफल हो जाता है आप केवल दोनों ही कर सकते हैं। लेकिन फिर आपको दो प्रकार की सेवाओं (विभिन्न पद्धतियों) और दोनों के लिए एक कोडबेस प्राप्त करने का प्रयास करना होगा। (मुश्किल हो सकता है, लेकिन मुश्किल नहीं है।)
व्यक्तिगत रूप से। मैं एक चुनता हूं, फिर यदि आपको कभी दूसरे की ज़रूरत है, तो उस पुल को जलाएं और इसके लिए तकनीकी ऋण का भुगतान करें।
बिंदु # 2 पर, यह अब सत्य नहीं है कि REST API में उन अंतराल बिंदु नहीं हैं। उदा।, आप हटा सकते हैं: http://www.salesforce.com/us/developer/docs/api_rest/Content/dome_get_deleted.htm – joshdick