ऐसा लगता है कि इस बारे में बहुत सारी राय हैं; यह एक दिलचस्प पढ़ा है। मेरा लेना यहाँ है।
एसओए: एसओए सॉफ्टवेयर घटकों/सेवाओं के सूट बनाने और एक्सेस करने के लिए एक सेवा-केंद्रित वास्तुशिल्प पैटर्न है (जैसा ऊपर दिए गए उत्तर में बताया गया था)। एसओए सिद्धांत जो एसओए पैटर्न बनाते हैं, कई स्थानों पर पाए जा सकते हैं, जिनमें से सभी एक दूसरे के साथ संगत नहीं हैं, एसओए को कुछ हद तक घबराहट शब्द बनाते हैं। एक एसओए सेवा लगभग किसी भी आधुनिक सॉफ्टवेयर विकास प्रौद्योगिकी सेट (नीचे देखें) के साथ बनाया जा सकता है।
एपीआई: आम तौर पर शब्द 'एपीआई' का उपयोग सॉफ़्टवेयर समाधान के साथ प्रोग्रामेटिक रूप से उपयोग या इंटरफ़ेस के तरीके के विनिर्देश के लिए किया जाता है। यह (हस्ताक्षर सहित ऐसे विनिर्देशों एक प्रोग्रामिंग भाषा और उसके घटकों (जावा एपीआई), कैसे जाएं और/या विस्तार करने के लिए एक तख्त समाधान, कैसे एक सेवा का उपयोग करने के विनिर्देश के विनिर्देश या सेवाओं के सेट के रूप में चीजों का उल्लेख कर सकते या सेवा के साथ इंटरफेसिंग से संबंधित डेटा संरचना), आदि
एसओए और एपीआई: एसओए सेवा के लिए एक एपीआई में सेवा के वैचारिक, प्रौद्योगिकी-अज्ञेय विनिर्देश शामिल हो सकते हैं (उदा: एक डेटा तत्व अंतिम नाम होगा एक ग्राहक), और साथ ही है कि SOA सेवा के प्रत्येक भौतिक इन्स्टेन्शियशन के लिए शारीरिक, प्रौद्योगिकी-विशिष्ट उपयोग विनिर्देशों के (पूर्व: दो instantiations उपलब्ध होगा, एक एक JSON लेआउट और अन्य एक एक्सएमएल लेआउट का उपयोग कर, प्रत्येक बराबर शारीरिक युक्त 'अंतिम नाम' डेटा तत्व के लिए विनिर्देश)।
गलतफहमी: शब्द API का उपयोग केवल RESTful या 'सरल, हल्के' या JSON- आधारित इंटरफेस (साइड नोट: रीस्टफुल 'सरल' या 'लाइटवेट' के बराबर नहीं है) के संदर्भ में किया जाना चाहिए। दरअसल, डब्ल्यूएस * आधारित सेवाओं सहित कई प्रकार की तकनीकों का उपयोग करके कई पैटर्नों के बाद एक एपीआई संरचित किया जा सकता है।
ग़लतफ़हमी: एसओए सख्ती से WS * या अन्य 'जटिल, दिग्गज' इंटरफ़ेस दृष्टिकोण इस प्रकार है। दरअसल, एसओए सेवाओं का निर्माण लगभग किसी भी आधुनिक सॉफ्टवेयर विकास प्रौद्योगिकी सेट का उपयोग करके किया जा सकता है, जिसमें रीस्टफुल दृष्टिकोण या जेएसओएन फाइलें शामिल हैं।
SOA पर अधिक: एसओए एक वास्तुकला अवधारणा है कि क्षमताओं सेवाओं एक कुरकुरा उपयोग विनिर्देश है, और इसलिए किसी भी सॉफ्टवेयर घटक 'ग्राहक' द्वारा उपयोग किया जा सकता है कि कि उपयोग विनिर्देश पालन कर सकते हैं के रूप में instantiated किया जाना चाहिए पर बनाया पैटर्न है , उन तकनीकों के बावजूद जिन पर सेवा विकसित की गई थी या जिस पर 'कॉलिंग क्लाइंट' विकसित किया गया था। अच्छी तरह लिखित सेवाओं अत्यधिक पार संगत होना चाहिए।
क्योंकि कई ओपन सोर्स प्रदाताओं और विक्रेताओं ने एसओए उन्मुख ढांचे का निर्माण किया है जो एक्सएमएल आधारित दृष्टिकोणों पर आधारित हैं, विशेष रूप से डब्ल्यूएस * मानकों के सेट, एसओए कभी-कभी गलती से डब्लूएस * और/या एक्सएमएल से संबंधित दृष्टिकोण से जुड़े हुए हैं। लेकिन हकीकत में, एसओए, एक वैचारिक पैटर्न के रूप में, प्रौद्योगिकी का अज्ञेयवादी है। के रूप में डिजाइनरों द्वारा निर्धारित एक वैचारिक एसओए सेवा एक बार instantiated किया जा सकता है या कई रूपों में कई बार, प्रत्येक इन्स्टेन्शियशन प्रौद्योगिकियों के एक किस्म से चुनने (एक्सएमएल, JSON, WS *, एक बाकी दृष्टिकोण, जावा, सी ++, दीप, ...) और उस तात्कालिकता के डेवलपर्स।
एक एसओए समाधान या समाधान पारिस्थितिकी तंत्र एसओए सिद्धांतों पर एक वास्तुशिल्प है; यह उन सेवाओं से बना है जो एसओए सिद्धांतों के बाद निर्मित और उपयोग किए जाते हैं, फिर से, डेवलपर्स जो भी तकनीक चुनते हैं उसका उपयोग करते हैं।
तो एपीआई एसओए का हिस्सा है और दूसरी तरफ नहीं? – Niklas
हां, हर वास्तुकला (छोटे से छोटे लोगों को छोड़कर) में एक या अधिक एपीआई होंगे ताकि उसके घटक संवाद कर सकें। और एसओए एक प्रकार का वास्तुकला पैटर्न/डिजाइन है। – perfectionist
धन्यवाद, इससे मुझे एसओए पर स्पष्टीकरण लिखने में मदद मिली: http://stackoverflow.com/questions/2026523/what-is-soa-in-plain-english/9499594#9499594 – Niklas