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