क्या "सेवा उन्मुख वास्तुकला" शब्द अर्थहीन शब्दजाल बन गया है? [बन्द है]


25

आज मुझसे पूछा गया कि क्या मुझे "सेवा उन्मुख वास्तुकला" के साथ अनुभव था और हालांकि मुझे लगता है कि मैं करता हूं। मेरे लिए अवधारणा, इतनी घिनौनी लगती है कि मुझे नहीं पता कि आप उस सवाल का ईमानदारी से जवाब कैसे दे सकते हैं।

मैंने अवधारणा की संक्षिप्त परिभाषा प्राप्त करने के प्रयास में इस शब्द का गूग्लिंग का सहारा लिया और यह अन्य वास्तुशिल्प से कैसे भिन्न होता है। इस पर कई लेखों को पढ़ने के बाद, जो एकमात्र सामान्य धागा मुझे लगता है कि यह एक ऐसा घटक है, जिसमें कई घटकों के साथ एक प्रणाली है जो किसी न किसी तरह के इंटरफ़ेस पर एक दूसरे से बात करते हैं, शायद XML / SOAP के लिए थोड़ी सी वरीयता।

ऐसा लगता है कि लगभग किसी भी एप्लिकेशन को SOA के रूप में परिभाषित किया जा सकता है, विशेष रूप से एक वेब एप्लिकेशन। क्या यह शब्द "वेब 2.0" के जाल में पड़ गया है और जो भी आप इसका मतलब चाहते हैं वह शब्द बन गया है?

क्या मैं यहाँ से दूर जा रहा हूँ? जब आप लोग सुनते हैं तो यह शब्द आपके लिए कुछ खास है? यदि ऐसा है तो मुझे एक संक्षिप्त परिभाषा पसंद आएगी जो स्पष्ट रूप से प्रदर्शित करती है कि क्या है और विशेष रूप से SOA नहीं है।


39
यह हमेशा अर्थहीन शब्दजाल था।
Fosco

6
डच में, SOA का अर्थ STD है।
जोएरी सेबर्चेस

1
SOA एक "उपयोगकर्ता-भुगतान" अवधारणा है? यही है, परंपरागत रूप से, व्यवसाय आईटी को एक लागत के रूप में मानते हैं जिसे कम से कम किया जाना चाहिए। यह एक छिपे हुए खतरे का कारण बनता है क्योंकि व्यवसायों को यह नहीं पता है कि जब तक कि उद्यम-व्यापी उत्पादकता प्रभावित नहीं होगी, तब तक उसे कितना काटा जा सकता है। SOA ऐसा करने का एक तरीका था जैसे कि IT विभाग यह गणना कर सकता है कि प्रत्येक विभाग (जैसे वित्त, बिक्री और मानव संसाधन) द्वारा IT का कितना उपभोग किया गया है और उन्हें उचित रूप से चार्ज किया जाए। यह अत्यधिक अक्षम हो सकता है, लेकिन यह एक आवश्यक बुराई है। उपयोगकर्ता को चार्ज करने में असमर्थता लूज़-लूज़ परिणाम की ओर ले जाती है।
rwong

1
मैंने स्वयं SOA (P) का बहुत अधिक उपयोग नहीं किया है, लेकिन मैंने सुना है कि सर्विस ओरिएंटेड आर्किटेक्चर (SOA) सिंपल ऑब्जेक्ट एक्सेस प्रोटोकॉल (SOAP) के लिए एक बैरोनियम था जब उसने "सिंपल" होना बंद कर दिया था।
एंड्रयू ग्रिम

2
अरे, लोग इस सामान के लिए बहुत पैसा देते हैं। अर्थ और बारीकियों के साथ स्थिति को भ्रमित न करें। प्रबंधन को यह जानना चाहिए कि वे जानते हैं कि वे किस बारे में बात कर रहे हैं और buzzwords के किनारे पर हैं। उनसे इस तरह मत लो। और क्या बचा होगा?
जेफओ

जवाबों:


12

मेरा मानना ​​है कि SOA का मूल अर्थ अच्छी तरह से परिभाषित इंटरफेस वाली सेवाओं पर आधारित था, जिन्हें प्रोग्रामेटिक रूप से खाया जा सकता है । यूआई टर्मिनलों, संचार या डेटाबेस के बजाय सेवा इंटरफेस पर ध्यान केंद्रित किया गया था। मुख्य भाग अन्य सेवाओं का उपभोग करने वाली सेवाएं थीं। सेवा A, सेवा B को कॉल कर सकता है, परिणाम प्राप्त कर सकता है और सेवा C या D को कॉल कर सकता है। आपके पास विशिष्ट सेवाओं का एक सेट हो सकता है और उन्हें ग्राहक की समस्या का समाधान करने वाले तरीके से जोड़कर इसका एक समाधान तैयार कर सकता है।

एसओए अक्सर सास (सेवा के रूप में सॉफ़्टवेयर) के साथ भ्रमित होता है, जो मूल्य निर्धारण मॉडल को संदर्भित करता है जहां उपयोगकर्ता उस सेवा के उपयोग के लिए भुगतान करता है, जो उन्होंने सॉफ़्टवेयर उत्पाद की प्रतिलिपि के लिए लाइसेंस खरीदने के बजाय, सदस्यता ली थी। अपने प्रश्न में तीसरे पैराग्राफ का उत्तर देने के लिए, एक वेब एप्लिकेशन शायद SOA नहीं है, लेकिन सास हो सकता है।

यह शब्द निश्चित रूप से अपना कुछ अर्थ खो चुका है। संगठन में जहां मैं काम करता हूं, एसओए शब्द का इस्तेमाल अक्सर सास के साथ किया जाता है और आईटी पेशेवरों ( सूचना उत्पाद प्रौद्योगिकी के विपरीत सूचना प्रौद्योगिकी ) की एक टीम को संदर्भित करता है जो सर्वर और राउटर को कॉन्फ़िगर करते हैं और उन पर चलने के लिए सॉफ्टवेयर उत्पादों को स्थापित करते हैं। उनमें से कुछ के पास "SOA Architect" जैसे शीर्षक हैं, लेकिन उनमें से किसी का भी सॉफ्टवेयर बनाने, डिजाइन करने, क्रियान्वयन या परीक्षण करने से कोई लेना-देना नहीं है।


1
मुझे लगता है कि आपने यहां सिर पर कील ठोक दी।
रीइनियरियरपोस्ट

1
+1। आपने कुछ पैराग्राफों में संक्षेप किया है कि 800 पृष्ठों के फ़्लॉफ़ में क्या विशिष्ट SOA पुस्तक है।
प्रैसोपस

4

मैंने एसओए को देखने के लिए एक ही काम किया है यह देखने के लिए कि यह वास्तव में क्या है, और हां यह काफी दुरुपयोग है। जब मैं SOA के बारे में सोचता हूं तो मैं निम्नलिखित के बारे में सोचता हूं:

  1. एक खोज योग्य हेडलेस प्रोग्राम ...
  2. यह स्टेटलेस कनेक्टिविटी (अला HTTP) का उपयोग करता है ...
  3. प्लेटफ़ॉर्म स्वतंत्र स्वरूपों में संचार करना

SOA को क्लाइंट-सर्वर आर्किटेक्चर (एक स्टेटफुल सर्विस आर्किटेक्चर) और लाइब्रेरी के साथ जोड़ा जा सकता है, जो एक लिंकर के माध्यम से प्रोग्राम से जुड़े मॉड्यूल हैं।

इसलिए जब लोग इसके बारे में बात करते हैं तो मैं आमतौर पर इसे नमक के दाने के साथ लेता हूं। मैं भी इसे केवल "वेब सेवा" कहता हूं। वेब सेवाओं के साथ आर्किटेक्चर निहित है।


2
क्या यह सर्वर-सर्वर आर्किटेक्चर हो सकता है?
जेफओ

3

SOA की सख्त परिभाषाएँ लागत / लाभ की सीमा से कई मामलों में सैद्धान्तिक होने की तुलना में बहुत पुरानी हैं।

जब तक आपका उत्पाद स्वयं सेवाएं नहीं है, तब तक आपको अक्सर एक अलग दृष्टिकोण की आवश्यकता होती है।

SOA की एक यूएसएबल परिभाषा का अर्थ है कि आपकी समग्र वास्तुकला सेवा के अनुकूल है। परमाणु सेवाओं से पूरी तरह से निर्मित एक प्रणाली आमतौर पर सही योजना नहीं है, और कुछ सेवाएं कार्यात्मक रूप से व्यवस्थित हो रही हैं, जबकि अन्य एकल जिम्मेदारी बनने जा रही हैं। मेरे पास ब्लैक बॉक्स हो सकते हैं, मेरे पास ऑफ़लाइन प्रक्रियाएं हो सकती हैं, लेकिन अगर सेवाओं की एक खोज योग्य संग्रह है, जिसके माध्यम से मैं एक सार्थक राशि प्राप्त कर सकता हूं जो मेरी न्यूनतम परिभाषा है।

इस पर बहस के अलावा कि वास्तव में इसका क्या मतलब है, अवधारणा (इसका मतलब है) कई हलकों में सामना करना पड़ा है स्थानों पर लागू होने से यह बस फिट नहीं होता है।

उदाहरण के लिए, यदि मैं कुछ ऐसी चीज का निर्माण कर रहा हूं, जिसका अर्थ ब्लैक बॉक्स प्रक्रिया है और समानांतरता के माध्यम से नहीं, तो विभाजन और वितरण के माध्यम से मैं ब्लैक बॉक्स से बात कर सकता / सकती हूं, लेकिन कुछ लोग सेवाओं को अंदर रखने की कोशिश कर रहे हैं। डिब्बा।

एक सख्त तकनीकी परिभाषा के रूप में यह हमेशा अपरिभाषित रहा है, लेकिन विचार योग्यता के बिना नहीं है जहां यह फिट बैठता है।


3

मेरे पास कुछ कॉर्पोरेट सिस्टम पर काम करने का मिस-फॉर्च्यून है जहां एसओए पर प्रबंधन बेचा गया है। एक डेवलपर के रूप में मैं सिस्टम को देखता हूं और मुझे एक वेब सेवा के पीछे सॉफ्टवेयर का एक गुच्छा दिखाई देता है जो सामान करता है। यह विभिन्न प्रकार की भाषाओं और आर्किटेक्चर में लिखा जा सकता था, जिनमें से गैर-ग्राहकों के लिए सेवाओं को कॉल करने या करने के लिए प्रासंगिक होगा और जिनमें से वास्तव में उनके प्रलेखन में कहीं भी "SOA" का संक्षिप्त नाम है।

लेकिन प्रबंधन "SOA" चाहता है !!! इसलिए उन्होंने एक निश्चित बड़ी कंपनी से वास्तव में महंगे सर्वर खरीदे हैं, जिनमें "SOA" स्टिकर पिछले "वेब सर्विस" स्टिकर के ऊपर लगाए गए हैं, जो पिछले "JEE" स्टिकर के शीर्ष पर लगाए गए हैं, जो शीर्ष पर लागू किए गए हैं .... तुम्हें नया तरीका मिल गया है। और परिणामस्वरूप, हम डेवलपर "SOA" "घटक" बनाने के लिए स्क्रीन के चारों ओर इट्टी-बिट्टी माउस को खींचते और गिराते हुए बैठते हैं जो आधा काम करते हैं और साथ ही साथ हमने इसे कुछ सरल जैसे EBJ3 बीन्स, स्प्रिंग कंपोनेंट्स आदि के साथ किया है। ।

तो मेरी सलाह है कि यदि आपको SOA के बारे में पूछा जाए, तो "हां मैंने SOA किया है, मैंने कई प्रणालियां लिखी हैं जो चीजों को करने के लिए एक सेवा उन्मुख आर्किटेक्चर का उपयोग करती हैं। आप किस SOA तकनीक के बारे में पूछ रहे हैं?" और अगर वे चमकती हुई आँखों से बात करना शुरू करते हैं और एक SOA घटक, DRAG और DROP के बारे में दिखते हैं, और यह कैसे विकास को आसान बनाता है। धीरे से पीछे हटें और आँखों से संपर्क बनाने से बचें!


2

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

(अब देखते हैं कि विकिपीडिया SOA के बारे में क्या कहता है ... वाह।)


तो इसे योग करने के लिए। आर्किटेक्चर एसओए है अगर एक से अधिक प्रक्रिया चल रही है, प्रत्येक प्रक्रिया एक अलग कार्य चल रही है, और वे एक दूसरे से किसी तरह बात करते हैं?
JohnFx

@ जॉनफैक्स: हाँ। इस तरह अत्यधिक स्केलेबल और अत्यधिक उपलब्ध / निरर्थक प्रणालियों का निर्माण करना आसान है।
मोजुबा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.