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