2010-08-26 7 views
5

सरकारी अनुबंध के लिए हम एक यातायात निगरानी वास्तुकला बनाने का प्रस्ताव करेंगे। हमारे पास निम्नलिखित घटक होंगे:तो क्या मैं यहां एसओए के बारे में बात कर रहा हूं?

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

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

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

उत्तर

5

हां, एसओए इस मामले में आदर्श है (जटिल, वितरित प्रणाली प्रौद्योगिकियों के विस्तृत मिश्रण के साथ) लेकिन इसकी आवाज़ से आपको अवधारणा के चारों ओर अपने सिर को पाने के लिए एक बहुत अधिक शोध करने की आवश्यकता है। यह किसी भी खिंचाव से कठिन अवधारणा नहीं है, यह वास्तव में सरल है, लेकिन ऐसा करने के लिए कोई भी निर्धारित तरीका नहीं है। मैं SOA case studies for similarly-sized projects, सफलताओं और असफलताओं पर जाने का सुझाव देता हूं।

आप अपने उपप्रणाली में से किसी एक के लिए एक मुखौटा का जिक्र करते हैं। अपने शेष घटकों को वही अवधारणा बढ़ाएं। जैसे प्रत्येक सेवा एक जटिल उपप्रणाली के लिए एक मुखौटा है।

इसके अलावा, मैं प्रौद्योगिकियों की अपनी पसंद में कुछ अलग-अलग वेब सेवाओं को लागू करने और मनमाने ढंग से विभिन्न उपप्रणाली को सारण करने की सलाह देता हूं (डेटाबेस को एक घटक होना चाहिए।) फिर एक क्लाइंट लिखें जो उनका उपयोग करता है। ऐसा करने से आपको अवधारणा में बहुत व्यावहारिक अनुभव और अंतर्दृष्टि मिल जाएगी।

अंतिम विचार: एक ऐसा क्षेत्र जहां एक एसओए आर्किटेक्चर ठोकर खा सकता है यदि आपको कई अलग-अलग सेवाओं के बीच वीडियो डेटा ले जाना है। एसओए की स्टेटलेस, ट्रांजैक्शनल प्रकृति डेटा की बहुत बड़ी मात्रा में जाने या बहुत बड़े डेटा सेट पर थोक लेनदेन करने पर प्रदर्शन मुद्दों को पेश कर सकती है। संभावित रूप से खराब बाधाओं से बचने के लिए आपको या तो वीडियो को स्थानीयकृत या बैक-एंड सबसिस्टम (धोखा) लागू करने की आवश्यकता है।

+0

बहुत अच्छी सलाह! धन्यवाद। एक टिप्पणी हालांकि, मेरे ढांचे के भीतर कई सेवाएं हैं जो स्टेटलेस नहीं हो सकती हैं (या अन्यथा मैं इस मामले में क्या स्टेटलेस माध्यमों को गलत समझता हूं)। उदाहरण के लिए, वाहन स्थान सेवा वीडियो सेवा के लिए एक ग्राहक होगी और वीडियो के नए फ्रेम को लगातार देखकर कारों (एक प्रकार की स्थिति) के स्थान का ट्रैक रखेगी। शायद महत्वपूर्ण बात यह है कि प्रत्येक सेवा को अपने ग्राहकों की स्थिति * नहीं रखना चाहिए। मुझे लगता है कि मैं यहां से दूर हो सकता हूं। – JnBrymn

+0

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

+0

ग्राहकों और सेवाओं में एक कड़ा युग्मन है। एक ग्राहक ऑफ़लाइन हो सकता है और आपको यह तय करना होगा कि ऐसी स्थिति में सेवा को क्या करना चाहिए, निरस्त करना, अनदेखा करना, पुनः प्रयास करना या किसी अन्य सिस्टम को सूचित करना चाहिए? – Kwebble