इसे छोड़कर कंटेंट पर जाएं

सिस्टम लैंडस्केप बनाएँ

28 अन्य भाषाओं में भी उपलब्ध

English · Español · 日本語 · Português (Brasil) · Français · Deutsch · Italiano · 한국어 · 简体中文 · Português (Portugal) · 繁體中文 · Bahasa Indonesia · Türkçe · Polski · Tiếng Việt · ไทย · Nederlands · العربية · עברית · Українська · Русский · Svenska · Dansk · Norsk bokmål · Suomi · Español (México) · Français (Canada) · Deutsch (Schweiz)

A hand-drawn map of a region in ink and watercolor, half finished: towns, roads, a river and a rail line on one side, faint pencil lines on bare paper on the other.
AI से बनाई गई इमेज

मॉड्यूल 4 (कुल 6 में से) — अध्याय एंटरप्राइज़ डेटा को समझना, Data Architect कोर्स का अध्याय 4। हर मॉड्यूल अपने आप में पूरा है। पिछला: Salesforce के आसपास के सिस्टम · अगला: org रणनीति लैंडस्केप का फ़ैसला है

यह मॉड्यूल किस सवाल का जवाब देता है: मैं ऐसा लैंडस्केप कैसे बनाऊँ जो दिखाए कि डेटा कहाँ जाता है?

मुझे एक नया परिदृश्य और एक खाली व्हाइटबोर्ड दीजिए, और सबसे पहले जो चीज़ें मैं बनाऊँगा, उनमें से एक है सिस्टम लैंडस्केप। सुंदर नहीं, हर API नहीं, अभी डेटा मॉडल भी नहीं। मैं एंटरप्राइज़ देखना चाहता हूँ: यूज़र कौन हैं, कौन-से सिस्टम शामिल हैं, Salesforce कहाँ बैठता है, उसके आसपास क्या है, डेटा कहाँ से आता है और कहाँ जाता है। और फिर मैं तीरों पर चलकर देखना चाहता हूँ। अच्छा लैंडस्केप बॉक्सों की तस्वीर नहीं होता। यह आर्किटेक्चर के फ़ैसलों को उजागर करने का एक तरीका है।

खाली कैनवस से शुरू करें

Section titled “खाली कैनवस से शुरू करें ”

मैं CTA उम्मीदवारों से इसका अभ्यास करवाता हूँ। परिदृश्य पढ़ें, फिर बनाना शुरू करें। तब तक इंतज़ार न करें जब तक आप सब कुछ दिमाग में हल न कर लें; बनाना ही आपको हल करने में मदद करता है। इसीलिए पहले दिन के बाद का होमवर्क है डेटा मॉडल पर हाथ आज़माने से पहले लैंडस्केप शुरू करना। पहले डेटा मॉडल बनाएँ, और आप पहले ही मान चुके हैं कि Salesforce में क्या होना चाहिए। पहले लैंडस्केप बनाएँ, और आपको वे सिस्टम दिखते हैं जिन्हें उस फ़ैसले को आकार देना चाहिए।

ऊँचाई से शुरू करें, फिर नीचे उतरें: पहले पूरा एंटरप्राइज़, फिर जहाँ ज़रूरी हो वहाँ बारीकी।

Steve का लैंडस्केप लेआउट Steve का सिस्टम लैंडस्केप लेआउट, अभी बिना तीरों के। बाईं ओर, ऊपर से नीचे: आंतरिक यूज़र, पार्टनर यूज़र और ग्राहक। बीच में नीले रंग में बादल के साथ Salesforce, वह org जिसके इर्द-गिर्द हम डिज़ाइन करते हैं, और उसके नीचे उससे सटी हुई Partner Community और Customer Community। ऊपर: ऊपर बाईं ओर एक पब्लिक वेबसाइट, Salesforce के ऊपर कर्मचारियों का आइडेंटिटी प्रोवाइडर और पार्टनर्स का आइडेंटिटी प्रोवाइडर, और दाईं ओर खिसका ई-सिग्नेचर के लिए एक AppExchange ऐप। Salesforce के दाईं ओर इंटीग्रेशन लेयर, और उसी कॉलम में उसके नीचे Data 360 (near-core: core पर मैनेज, core से बाहर होस्ट; यूज़र कभी उससे नहीं जुड़ते, और वह बहुत-से back-end सिस्टमों तक पहुँचता है), फिर आंतरिक सिस्टम: ERP, फ़ाइनेंस, ऑर्डर मैनेजमेंट और वेयरहाउस। नीचे: ग्राहक चैनल, यानी ईमेल, वेब फ़ॉर्म, फ़ोन और मैसेजिंग। नीचे दाईं ओर डेटा का आना-जाना: एक आर्काइव, डेटा लोड, और बाहरी डेटा जिसे कॉपी करने के बजाय संदर्भित किया जाता है। छह स्टेप फ़्रेम इसे धीरे-धीरे बनाते हैं: पहले खाली ज़ोन, फिर लोग, Salesforce और उसकी communities, ऊपर आइडेंटिटी, इंटीग्रेशन और आंतरिक सिस्टम, और आखिर में चैनल और डेटा। ऊपर: आइडेंटिटी, APPEXCHANGE, वेब लोग दाएँ: आंतरिक सिस्टम नीचे: ग्राहक चैनल नीचे दाएँ: डेटा का आना-जाना © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

चरण 1 (कुल 6 में से): एक खाली कैनवस। सिर्फ़ ज़ोन।

Steve का लैंडस्केप लेआउट

Section titled “Steve का लैंडस्केप लेआउट ”

सिस्टम लैंडस्केप बनाने के कई तरीके हैं। यह बस मेरा तरीका है, जिसे मैंने कई सालों में निखारा है, और मैं इसे इसलिए साझा कर रहा हूँ ताकि आप देख सकें कि इसे जल्दी कैसे खड़ा करें। मैं इसे हर Salesforce लैंडस्केप के लिए इस्तेमाल करता हूँ, और यह एक वाक्य की तरह पढ़ा जाता है: बाईं ओर के लोग बीच में Salesforce तक पहुँचते हैं, जिस पर भरोसा उसके ऊपर के सिस्टमों से आता है, जो उसके नीचे के चैनलों से सेवा देता है, और जो दाईं ओर बैक ऑफ़िस से जुड़ा है।

बाईं ओर लोग, ऊपर से नीचे: आंतरिक यूज़र, पार्टनर, ग्राहक। अभी हर persona नहीं; बस इतना कि जवाब मिल जाए इस आर्किटेक्चर तक कौन पहुँचना चाहता है? हर समूह उस ओर इशारा करता है जहाँ से वह अंदर आता है: आंतरिक यूज़र Salesforce की ओर, पार्टनर partner community की ओर, ग्राहक customer community की ओर। सिस्टम अपने-आप में मौजूद नहीं होते। कोई न कोई, या कुछ न कुछ, उन्हें इस्तेमाल करने की कोशिश कर रहा होता है।

Steve का लैंडस्केप लेआउट Steve का सिस्टम लैंडस्केप लेआउट, अभी बिना तीरों के। बाईं ओर, ऊपर से नीचे: आंतरिक यूज़र, पार्टनर यूज़र और ग्राहक। बीच में नीले रंग में बादल के साथ Salesforce, वह org जिसके इर्द-गिर्द हम डिज़ाइन करते हैं, और उसके नीचे उससे सटी हुई Partner Community और Customer Community। ऊपर: ऊपर बाईं ओर एक पब्लिक वेबसाइट, Salesforce के ऊपर कर्मचारियों का आइडेंटिटी प्रोवाइडर और पार्टनर्स का आइडेंटिटी प्रोवाइडर, और दाईं ओर खिसका ई-सिग्नेचर के लिए एक AppExchange ऐप। Salesforce के दाईं ओर इंटीग्रेशन लेयर, और उसी कॉलम में उसके नीचे Data 360 (near-core: core पर मैनेज, core से बाहर होस्ट; यूज़र कभी उससे नहीं जुड़ते, और वह बहुत-से back-end सिस्टमों तक पहुँचता है), फिर आंतरिक सिस्टम: ERP, फ़ाइनेंस, ऑर्डर मैनेजमेंट और वेयरहाउस। नीचे: ग्राहक चैनल, यानी ईमेल, वेब फ़ॉर्म, फ़ोन और मैसेजिंग। नीचे दाईं ओर डेटा का आना-जाना: एक आर्काइव, डेटा लोड, और बाहरी डेटा जिसे कॉपी करने के बजाय संदर्भित किया जाता है। छह स्टेप फ़्रेम इसे धीरे-धीरे बनाते हैं: पहले खाली ज़ोन, फिर लोग, Salesforce और उसकी communities, ऊपर आइडेंटिटी, इंटीग्रेशन और आंतरिक सिस्टम, और आखिर में चैनल और डेटा। ऊपर: आइडेंटिटी, APPEXCHANGE, वेब लोग दाएँ: आंतरिक सिस्टम नीचे: ग्राहक चैनल नीचे दाएँ: डेटा का आना-जाना आंतरिक यूज़र सेल्स, सर्विस, ऑपरेशंस पार्टनर यूज़र ग्राहक लोग © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

चरण 2 (कुल 6 में से): इस आर्किटेक्चर तक कौन पहुँचना चाहता है?

बीच में Salesforce। एक सादा बॉक्स। इसलिए नहीं कि Salesforce एंटरप्राइज़ का केंद्र है (हमने अभी तीन मॉड्यूल यही कहने में बिताए कि वह नहीं है), बल्कि इसलिए कि यह वह सिस्टम है जिसके इर्द-गिर्द मैं डिज़ाइन कर रहा हूँ। यह लंगर है।

ठीक उसके नीचे communities, उससे सटी हुई। partner community और customer community अलग-अलग endpoints हैं, इसलिए उन्हें अपने बॉक्स मिलते हैं। लेकिन वे Salesforce से सटकर बैठती हैं, क्योंकि उन तक पहुँचने के लिए कुछ भी इंटीग्रेट नहीं करना पड़ता: वे उसी org में चलती हैं।

Steve का लैंडस्केप लेआउट Steve का सिस्टम लैंडस्केप लेआउट, अभी बिना तीरों के। बाईं ओर, ऊपर से नीचे: आंतरिक यूज़र, पार्टनर यूज़र और ग्राहक। बीच में नीले रंग में बादल के साथ Salesforce, वह org जिसके इर्द-गिर्द हम डिज़ाइन करते हैं, और उसके नीचे उससे सटी हुई Partner Community और Customer Community। ऊपर: ऊपर बाईं ओर एक पब्लिक वेबसाइट, Salesforce के ऊपर कर्मचारियों का आइडेंटिटी प्रोवाइडर और पार्टनर्स का आइडेंटिटी प्रोवाइडर, और दाईं ओर खिसका ई-सिग्नेचर के लिए एक AppExchange ऐप। Salesforce के दाईं ओर इंटीग्रेशन लेयर, और उसी कॉलम में उसके नीचे Data 360 (near-core: core पर मैनेज, core से बाहर होस्ट; यूज़र कभी उससे नहीं जुड़ते, और वह बहुत-से back-end सिस्टमों तक पहुँचता है), फिर आंतरिक सिस्टम: ERP, फ़ाइनेंस, ऑर्डर मैनेजमेंट और वेयरहाउस। नीचे: ग्राहक चैनल, यानी ईमेल, वेब फ़ॉर्म, फ़ोन और मैसेजिंग। नीचे दाईं ओर डेटा का आना-जाना: एक आर्काइव, डेटा लोड, और बाहरी डेटा जिसे कॉपी करने के बजाय संदर्भित किया जाता है। छह स्टेप फ़्रेम इसे धीरे-धीरे बनाते हैं: पहले खाली ज़ोन, फिर लोग, Salesforce और उसकी communities, ऊपर आइडेंटिटी, इंटीग्रेशन और आंतरिक सिस्टम, और आखिर में चैनल और डेटा। ऊपर: आइडेंटिटी, APPEXCHANGE, वेब लोग दाएँ: आंतरिक सिस्टम नीचे: ग्राहक चैनल नीचे दाएँ: डेटा का आना-जाना आंतरिक यूज़र सेल्स, सर्विस, ऑपरेशंस पार्टनर यूज़र ग्राहक Partner Community Customer Community Salesforce वह org जिसके इर्द-गिर्द हम डिज़ाइन करते हैं Salesforce एक कम्युनिटी लोग © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

चरण 3 (कुल 6 में से): बीच में Salesforce, ठीक उसके नीचे communities।

ऊपर identity। identity providers सबसे ऊपर जाते हैं, वही जिन्हें डेवलपर भूल जाते हैं: एक आंतरिक यूज़र्स के लिए, शायद दूसरा पार्टनर्स के लिए। AppExchange packages भी ऊपर जाते हैं, थोड़ा दाईं ओर खिसके हुए, क्योंकि वे org में लाई गई क्षमताएँ हैं, न कि उसके साथ डेटा का लेन-देन करने वाले बैक ऑफ़िस सिस्टम। पब्लिक वेबसाइटें ऊपर बाईं ओर बैठती हैं।

Steve का लैंडस्केप लेआउट Steve का सिस्टम लैंडस्केप लेआउट, अभी बिना तीरों के। बाईं ओर, ऊपर से नीचे: आंतरिक यूज़र, पार्टनर यूज़र और ग्राहक। बीच में नीले रंग में बादल के साथ Salesforce, वह org जिसके इर्द-गिर्द हम डिज़ाइन करते हैं, और उसके नीचे उससे सटी हुई Partner Community और Customer Community। ऊपर: ऊपर बाईं ओर एक पब्लिक वेबसाइट, Salesforce के ऊपर कर्मचारियों का आइडेंटिटी प्रोवाइडर और पार्टनर्स का आइडेंटिटी प्रोवाइडर, और दाईं ओर खिसका ई-सिग्नेचर के लिए एक AppExchange ऐप। Salesforce के दाईं ओर इंटीग्रेशन लेयर, और उसी कॉलम में उसके नीचे Data 360 (near-core: core पर मैनेज, core से बाहर होस्ट; यूज़र कभी उससे नहीं जुड़ते, और वह बहुत-से back-end सिस्टमों तक पहुँचता है), फिर आंतरिक सिस्टम: ERP, फ़ाइनेंस, ऑर्डर मैनेजमेंट और वेयरहाउस। नीचे: ग्राहक चैनल, यानी ईमेल, वेब फ़ॉर्म, फ़ोन और मैसेजिंग। नीचे दाईं ओर डेटा का आना-जाना: एक आर्काइव, डेटा लोड, और बाहरी डेटा जिसे कॉपी करने के बजाय संदर्भित किया जाता है। छह स्टेप फ़्रेम इसे धीरे-धीरे बनाते हैं: पहले खाली ज़ोन, फिर लोग, Salesforce और उसकी communities, ऊपर आइडेंटिटी, इंटीग्रेशन और आंतरिक सिस्टम, और आखिर में चैनल और डेटा। ऊपर: आइडेंटिटी, APPEXCHANGE, वेब लोग दाएँ: आंतरिक सिस्टम नीचे: ग्राहक चैनल नीचे दाएँ: डेटा का आना-जाना आंतरिक यूज़र सेल्स, सर्विस, ऑपरेशंस पार्टनर यूज़र ग्राहक पब्लिक वेबसाइट कर्मचारियों का IdP सिंगल साइन-ऑन पार्टनर्स का IdP सिंगल साइन-ऑन AppExchange ऐप ई-सिग्नेचर Partner Community Customer Community Salesforce वह org जिसके इर्द-गिर्द हम डिज़ाइन करते हैं Salesforce एक कम्युनिटी लोग आइडेंटिटी, ऐप्स, वेब © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

चरण 4 (कुल 6 में से): ऊपर identity, वह बॉक्स जिसे डेवलपर भूल जाते हैं।

इंटीग्रेशन, फिर बैक ऑफ़िस, दाईं ओर। इंटीग्रेशन लेयर, एक ESB या iPaaS (या MuleSoft, जब उसका नाम लिया गया हो), Salesforce के ठीक दाईं ओर एक लंबी पट्टी है। आंतरिक सिस्टम उसके पीछे बैठते हैं: ERP, फ़ाइनेंस, ऑर्डर मैनेजमेंट, पुराने (legacy) सिस्टम, warehouse। अब पेज बाएँ से दाएँ पढ़ा जाता है: लोग, Salesforce, इंटीग्रेशन, बैक ऑफ़िस।

Steve का लैंडस्केप लेआउट Steve का सिस्टम लैंडस्केप लेआउट, अभी बिना तीरों के। बाईं ओर, ऊपर से नीचे: आंतरिक यूज़र, पार्टनर यूज़र और ग्राहक। बीच में नीले रंग में बादल के साथ Salesforce, वह org जिसके इर्द-गिर्द हम डिज़ाइन करते हैं, और उसके नीचे उससे सटी हुई Partner Community और Customer Community। ऊपर: ऊपर बाईं ओर एक पब्लिक वेबसाइट, Salesforce के ऊपर कर्मचारियों का आइडेंटिटी प्रोवाइडर और पार्टनर्स का आइडेंटिटी प्रोवाइडर, और दाईं ओर खिसका ई-सिग्नेचर के लिए एक AppExchange ऐप। Salesforce के दाईं ओर इंटीग्रेशन लेयर, और उसी कॉलम में उसके नीचे Data 360 (near-core: core पर मैनेज, core से बाहर होस्ट; यूज़र कभी उससे नहीं जुड़ते, और वह बहुत-से back-end सिस्टमों तक पहुँचता है), फिर आंतरिक सिस्टम: ERP, फ़ाइनेंस, ऑर्डर मैनेजमेंट और वेयरहाउस। नीचे: ग्राहक चैनल, यानी ईमेल, वेब फ़ॉर्म, फ़ोन और मैसेजिंग। नीचे दाईं ओर डेटा का आना-जाना: एक आर्काइव, डेटा लोड, और बाहरी डेटा जिसे कॉपी करने के बजाय संदर्भित किया जाता है। छह स्टेप फ़्रेम इसे धीरे-धीरे बनाते हैं: पहले खाली ज़ोन, फिर लोग, Salesforce और उसकी communities, ऊपर आइडेंटिटी, इंटीग्रेशन और आंतरिक सिस्टम, और आखिर में चैनल और डेटा। ऊपर: आइडेंटिटी, APPEXCHANGE, वेब लोग दाएँ: आंतरिक सिस्टम नीचे: ग्राहक चैनल नीचे दाएँ: डेटा का आना-जाना आंतरिक यूज़र सेल्स, सर्विस, ऑपरेशंस पार्टनर यूज़र ग्राहक पब्लिक वेबसाइट कर्मचारियों का IdP सिंगल साइन-ऑन पार्टनर्स का IdP सिंगल साइन-ऑन AppExchange ऐप ई-सिग्नेचर Partner Community Customer Community इंटीग्रेशन लेयर (ESB) ERP ऑर्डर, इनवॉइस फ़ाइनेंस भुगतान ऑर्डर मैनेजमेंट वेयरहाउस एनालिटिक्स Salesforce वह org जिसके इर्द-गिर्द हम डिज़ाइन करते हैं Salesforce एक कम्युनिटी लोग आइडेंटिटी, ऐप्स, वेब एक आंतरिक सिस्टम इंटीग्रेशन लेयर © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

चरण 5 (कुल 6 में से): इंटीग्रेशन, फिर बैक ऑफ़िस।

नीचे चैनल। जो कुछ भी ग्राहकों से सीधे जुड़ा है: email-to-case, web-to-lead, फ़ोन, मैसेजिंग।

नीचे दाईं ओर अंदर-बाहर आने-जाने वाला डेटा। बाहरी डेटा स्रोत, आर्काइव, डेटा लोड।

दाईं ओर, इंटीग्रेशन लेयर के नीचे Data 360। यूज़र कभी उससे नहीं जुड़ते, और उसका tenant बहुत-से back-end सिस्टमों से जुड़ता है, इसलिए वह plumbing के साथ बैठता है, जहाँ वे लाइनें छोटी रहती हैं: आंतरिक सिस्टमों, warehouse और नीचे दाईं ओर के डेटा के बगल में। डेटा टीमें उसकी स्क्रीनें खोलती तो हैं, लेकिन वे स्क्रीनें org में हैं: Data 360 near-core है, core पर मैनेज और core से बाहर होस्ट (मॉड्यूल 1)। Salesforce तक वापस जाती एक लाइन दिखाती है कि उसे कौन मैनेज करता है। आप बॉक्स कहाँ रखते हैं, उससे यह कहानी दिखनी चाहिए कि वह क्या करता है।

इस ज्यामिति में कुछ भी पवित्र नहीं है। किसी परिपाटी का फ़ायदा यह है कि मुझे हर बार दृश्य भाषा नए सिरे से नहीं गढ़नी पड़ती, और जिसने मेरा एक डायग्राम देखा है, वह अगला जल्दी पढ़ लेता है।

Steve का लैंडस्केप लेआउट Steve का सिस्टम लैंडस्केप लेआउट, अभी बिना तीरों के। बाईं ओर, ऊपर से नीचे: आंतरिक यूज़र, पार्टनर यूज़र और ग्राहक। बीच में नीले रंग में बादल के साथ Salesforce, वह org जिसके इर्द-गिर्द हम डिज़ाइन करते हैं, और उसके नीचे उससे सटी हुई Partner Community और Customer Community। ऊपर: ऊपर बाईं ओर एक पब्लिक वेबसाइट, Salesforce के ऊपर कर्मचारियों का आइडेंटिटी प्रोवाइडर और पार्टनर्स का आइडेंटिटी प्रोवाइडर, और दाईं ओर खिसका ई-सिग्नेचर के लिए एक AppExchange ऐप। Salesforce के दाईं ओर इंटीग्रेशन लेयर, और उसी कॉलम में उसके नीचे Data 360 (near-core: core पर मैनेज, core से बाहर होस्ट; यूज़र कभी उससे नहीं जुड़ते, और वह बहुत-से back-end सिस्टमों तक पहुँचता है), फिर आंतरिक सिस्टम: ERP, फ़ाइनेंस, ऑर्डर मैनेजमेंट और वेयरहाउस। नीचे: ग्राहक चैनल, यानी ईमेल, वेब फ़ॉर्म, फ़ोन और मैसेजिंग। नीचे दाईं ओर डेटा का आना-जाना: एक आर्काइव, डेटा लोड, और बाहरी डेटा जिसे कॉपी करने के बजाय संदर्भित किया जाता है। छह स्टेप फ़्रेम इसे धीरे-धीरे बनाते हैं: पहले खाली ज़ोन, फिर लोग, Salesforce और उसकी communities, ऊपर आइडेंटिटी, इंटीग्रेशन और आंतरिक सिस्टम, और आखिर में चैनल और डेटा। ऊपर: आइडेंटिटी, APPEXCHANGE, वेब लोग दाएँ: आंतरिक सिस्टम नीचे: ग्राहक चैनल नीचे दाएँ: डेटा का आना-जाना आंतरिक यूज़र सेल्स, सर्विस, ऑपरेशंस पार्टनर यूज़र ग्राहक पब्लिक वेबसाइट कर्मचारियों का IdP सिंगल साइन-ऑन पार्टनर्स का IdP सिंगल साइन-ऑन AppExchange ऐप ई-सिग्नेचर Partner Community Customer Community Data 360 near-core: core पर मैनेज, core से बाहर होस्ट इंटीग्रेशन लेयर (ESB) ERP ऑर्डर, इनवॉइस फ़ाइनेंस भुगतान ऑर्डर मैनेजमेंट वेयरहाउस एनालिटिक्स ईमेल email-to-case वेब फ़ॉर्म web-to-lead फ़ोन कॉन्टैक्ट सेंटर मैसेजिंग SMS, चैट आर्काइव पुराने Case डेटा लोड माइग्रेशन बाहरी डेटा संदर्भित, कॉपी नहीं Salesforce वह org जिसके इर्द-गिर्द हम डिज़ाइन करते हैं Salesforce एक कम्युनिटी लोग आइडेंटिटी, ऐप्स, वेब एक आंतरिक सिस्टम एक ग्राहक चैनल डेटा का आना-जाना इंटीग्रेशन लेयर डैश वाली: अभी लाइव नहीं, या सिर्फ़ संदर्भ © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

चरण 6 (कुल 6 में से): पूरा लेआउट, अभी कोई तीर नहीं। बाद का हर लैंडस्केप इन्हीं जगहों को बनाए रखता है।

संकेत-पद्धति सरल रखें। हर सिस्टम एक कार्ड है: उसका नाम, उसकी भूमिका, और एक छोटा आइकन जो बताता है कि वह किस तरह की चीज़ है: एक ERP, एक डेटाबेस, एक identity provider, लोगों का एक समूह। जिन क्षेत्रों का मैंने अभी वर्णन किया, वे हल्के, लेबल वाले ज़ोन के रूप में बनाए जाते हैं, ताकि लेआउट खुद दिखे। नीचे एक legend बताता है कि हर आइकन और हर लाइन का मतलब क्या है।

किसी बॉक्स के अंदर बहुत कुछ न भरें। सिर्फ़ बहुत पेचीदा लैंडस्केप पर ही मैं Salesforce को उसके हिस्सों में खोलता हूँ (org के अंदर Sales Cloud और Service Cloud, उनके बीच तीरों के साथ)। और पंद्रह आकार तब तक न गढ़ें जब तक हर एक पढ़ने वाले को कुछ न बताए। मैं चाहता हूँ कि कोई तीस सेकंड लैंडस्केप को देखे और आर्किटेक्चर समझने लगे। सजावट मदद नहीं करती। स्पष्टता करती है।

शून्य इन्वेंटरी में डालें

Section titled “शून्य इन्वेंटरी में डालें ”

वॉल्यूम के बारे में सोचने के लिए विस्तृत डिज़ाइन का इंतज़ार न करें। रात में 500 प्रोडक्ट ले जाने वाला तीर और रोज़ 200,000 GPS रीडिंग ले जाने वाला तीर लैंडस्केप पर बिल्कुल एक जैसे दिख सकते हैं। वे एक ही समस्या नहीं हैं। इसलिए एक भी तीर बनाने से पहले गिनें कि क्या चलता है। तस्वीर के पीछे की इन्वेंटरी गिनती से शुरू करें: हर अहम डेटा सेट के लिए एक पंक्ति, उसके वॉल्यूम के साथ। शून्य शायद कभी तीरों पर न दिखें, लेकिन आपको पता होना चाहिए कि आप कब बड़ी संख्याओं में दाख़िल होते हैं: एक घंटे में हज़ारों या लाखों, सैकड़ों हज़ार ट्रांज़ैक्शन, या एक सेकंड में दसियों से सैकड़ों ट्रांज़ैक्शन भी।

ये संख्याएँ तरीका तय करती हैं। रात में कुछ सौ रिकॉर्ड एक batch है। जिस कॉल का कोई इंतज़ार करता है, वह synchronous हो सकती है, अगर वॉल्यूम इजाज़त दे। एक सेकंड में दसियों से सैकड़ों के लिए हर रिकॉर्ड पर एक कॉल के बजाय events, जैसे platform events, चाहिए हो सकते हैं। तीर एक जैसा दिखेगा; वॉल्यूम तय करता है कि उसे कौन ले जाता है, इसलिए इसे इन्वेंटरी में दर्ज करें, जहाँ तरीका चुना जाता है।

तरीका तीर की दिशा भी बदल सकता है। एक मिनट में एक-दो रिकॉर्ड भेजें, तो Salesforce सीधे callout कर सकता है: तीर Salesforce से शुरू होता है। कहीं ज़्यादा भेजें, तो Salesforce इसके बजाय event bus पर events प्रकाशित कर सकता है; बाहरी सिस्टम subscribe करता है और उन्हें लेने के लिए अंदर कॉल करता है, तो अब तीर दूसरे सिरे से शुरू होता है। और बड़ा, मान लीजिए लाखों रिकॉर्ड का रात का sync, और यह एक batch प्रोसेस है। इसलिए जैसे ही आप तरीके डिज़ाइन करना शुरू करें, अपनी गिनती जल्दी जान लें, क्योंकि गिनती तीरों को दोबारा बना सकती है।

वॉल्यूम दो जगह, दो वजहों से मायने रखता है। डेटा मॉडल पर, मुझे इसकी ज़रूरत large data volumes पर नज़र रखने और आर्काइविंग की योजना के लिए है; भाग 2 इसमें गहराई से जाता है। सिस्टम लैंडस्केप पर, इन्वेंटरी की बड़ी संख्याएँ इंटीग्रेशन पैटर्न और तरीके का चुनाव तय करती हैं। मॉड्यूल 6 Steve Trucking के लैंडस्केप और उसकी इन्वेंटरी पर असली शून्य रखता है। गिनती हाथ में हो, तो तीर बनाएँ।

सिस्टम अपनी जगह पर हों, तो उन्हें जोड़ें, और लैंडस्केप आर्किटेक्चर बन जाता है। बॉक्स एक सिस्टम है; तीर दिखाता है कि कनेक्शन कौन शुरू करता है। वह उस सिस्टम से शुरू होता है जो कनेक्शन खोलता है और उस सिस्टम की ओर इशारा करता है जिसे वह कॉल करता है: client से server। लेबल बताता है कि क्या चलता है, और किस दिशा में।

यह नियम सिस्टम लैंडस्केप के लिए है, जहाँ सिस्टम सिस्टमों से बात कर रहे हैं। data-flow डायग्राम पर तीर डेटा के पीछे चलता है, जैसी आप उम्मीद करेंगे। लैंडस्केप का नियम दूसरे डायग्रामों में न ले जाएँ; इससे सिर्फ़ उलझन बढ़ती है।

तीरों के साथ लैंडस्केप पहले वाला ही लैंडस्केप, अब तीरों के साथ; हर तीर उस सिस्टम से शुरू होता है जो कनेक्शन खोलता है, और उसका लेबल बताता है कि क्या जाता है और किस दिशा में। आंतरिक यूज़र Salesforce तक पहुँचते हैं, पार्टनर यूज़र Partner Community तक, और ग्राहक Customer Community तक। हर आइडेंटिटी प्रोवाइडर और Salesforce एक सर्टिफ़िकेट साझा करते हैं, जो हरी बिंदुदार लाइन से दिखाया गया है और जिसके दोनों सिरों पर एक सर्टिफ़िकेट है: यह भरोसा है, सीधी कॉल नहीं, क्योंकि साइन-ऑन यूज़र के ब्राउज़र से होकर redirects के रूप में जाता है। कर्मचारियों का आइडेंटिटी प्रोवाइडर Salesforce को यूज़र अपडेट भी भेजता है। Salesforce AppExchange के ई-सिग्नेचर ऐप को दस्तावेज़ बाहर भेजता है, और इंटीग्रेशन लेयर को ऑर्डर बाहर भेजता है, जो Salesforce को प्रोडक्ट अंदर भेजती है। इंटीग्रेशन लेयर ERP को ऑर्डर बाहर भेजती है और उससे प्रोडक्ट अंदर लाती है; ERP इंटीग्रेशन लेयर को ऑर्डर स्टेटस अंदर भेजता है; इंटीग्रेशन लेयर फ़ाइनेंस से भुगतान अंदर लाती है। इंटीग्रेशन लेयर के नीचे Data 360 अपने कनेक्शन खुद खोलता है: Salesforce से CRM डेटा बाहर, वेयरहाउस तक zero copy, और बाहरी डेटा का संदर्भ। नीचे से, ईमेल Salesforce में Case अंदर भेजता है और वेब फ़ॉर्म Lead अंदर भेजते हैं; Salesforce पुराने Case आर्काइव में बाहर भेजता है; डेटा लोड रिकॉर्ड अंदर भेजते हैं। ऊपर: आइडेंटिटी, APPEXCHANGE, वेब लोग दाएँ: आंतरिक सिस्टम नीचे: ग्राहक चैनल नीचे दाएँ: डेटा का आना-जाना आंतरिक यूज़र सेल्स, सर्विस, ऑपरेशंस पार्टनर यूज़र ग्राहक पब्लिक वेबसाइट कर्मचारियों का IdP सिंगल साइन-ऑन पार्टनर्स का IdP सिंगल साइन-ऑन AppExchange ऐप ई-सिग्नेचर Partner Community Customer Community Data 360 near-core: core पर मैनेज, core से बाहर होस्ट इंटीग्रेशन लेयर (ESB) ERP ऑर्डर, इनवॉइस फ़ाइनेंस भुगतान ऑर्डर मैनेजमेंट वेयरहाउस एनालिटिक्स ईमेल email-to-case वेब फ़ॉर्म web-to-lead फ़ोन कॉन्टैक्ट सेंटर मैसेजिंग SMS, चैट आर्काइव पुराने Case डेटा लोड माइग्रेशन बाहरी डेटा संदर्भित, कॉपी नहीं Salesforce वह org जिसके इर्द-गिर्द हम डिज़ाइन करते हैं साझा सर्टिफ़िकेट यूज़र अपडेट साझा सर्टिफ़िकेट दस्तावेज़ बाहर ऑर्डर बाहर प्रोडक्ट अंदर ऑर्डर बाहर, प्रोडक्ट अंदर ऑर्डर स्टेटस अंदर भुगतान अंदर CRM डेटा बाहर zero copy संदर्भित Case अंदर Lead अंदर पुराने Case बाहर रिकॉर्ड अंदर Salesforce एक कम्युनिटी लोग आइडेंटिटी, ऐप्स, वेब एक आंतरिक सिस्टम एक ग्राहक चैनल डेटा का आना-जाना इंटीग्रेशन लेयर डैश वाली: अभी लाइव नहीं, या सिर्फ़ संदर्भ कनेक्शन खोलने वाले सिस्टम से शुरू होता है; लेबल बताता है कि क्या जाता है साझा सर्टिफ़िकेट: भरोसा, सीधी कॉल नहीं © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

तीर डाल दिए गए। हर बॉक्स वहीं है जहाँ था; हर तीर उस सिस्टम से शुरू होता है जो कनेक्शन खोलता है, और उसका लेबल बताता है कि क्या चलता है और किस दिशा में।

तो अगर इंटीग्रेशन लेयर प्रोडक्ट Salesforce में धकेलती है, तो तीर इंटीग्रेशन लेयर से Salesforce की ओर जाता है, लेबल प्रोडक्ट अंदर। अगर Salesforce उन्हें लाने के लिए बाहर कॉल करता है, तो तीर Salesforce से शुरू होता है, लेबल फिर भी प्रोडक्ट अंदर। वही डेटा, अलग बातचीत, और यही फ़र्क मुझे बताता है कि credentials किसे चाहिए और विफलता किसे संभालनी है। Salesforce ऑर्डर इंटीग्रेशन लेयर के ज़रिए भेजता है: ऑर्डर बाहर। ERP का fulfillment वापस आता है: ऑर्डर स्टेटस अंदर। अब मुझे दिखता है कि हर बातचीत कौन शुरू करता है, डेटा Salesforce में कहाँ आता है और कहाँ से जाता है, कौन-से flow सीमाएँ पार करते हैं, स्वामित्व शायद कहाँ है, और मुझे कहाँ और पूछना है।

और मॉड्यूल 1 याद रखें: जब भी मुझे सिर्फ़ एक flow दिखता है, मुझे चिंता होती है। ऊँचे स्तर पर, ऑर्डर बाहर वाला तीर वापसी वाले flow पर निर्भर है: ग्राहक अंदर, प्रोडक्ट अंदर, कीमतें। और गहराई में देखें तो वापसी की यात्रा है: स्वीकृति, अस्वीकृति, स्टेटस, एक इनवॉइस नंबर, एक रद्दीकरण। तीर मुझे चुनौती देने के लिए कुछ ठोस देते हैं।

हर तीर को एक तरीका चाहिए

Section titled “हर तीर को एक तरीका चाहिए ”

यहीं लैंडस्केप PowerPoint की कलाकारी नहीं रह जाता। review board पर कोई भी तीर तीन सवाल खड़े कर सकता है, और मैं चाहता हूँ कि आपके पास जवाब हों:

  • यह कैसे ऑथेंटिकेट करता है? OAuth, एक सर्टिफ़िकेट, एक named credential, या कुछ और?
  • यह synchronous है या asynchronous? क्या Salesforce ERP का इंतज़ार करता है, या प्रकाशित करके आगे बढ़ जाता है? बिज़नेस को नतीजा कितनी जल्दी चाहिए?
  • तरीका क्या है? एक REST कॉल, एक event, एक फ़ाइल, एक message queue, MuleSoft के ज़रिए या सीधे?

और फिर: जब दूसरी तरफ़ का सिस्टम बंद हो तो क्या होता है? हर तीर को एक तरीका चाहिए। अगर आप उसे समझा नहीं सकते, तो वह लाइन बस सजावट है।

और “fire and forget” कोई जवाब नहीं है। आमतौर पर इसका मतलब होता है “मैंने डिज़ाइन नहीं किया कि fire के बाद क्या होता है।” क्या वह पहुँचा? स्वीकार हुआ? विफल हुआ? दोबारा कोशिश होगी? किसे पता है कि वह अटका है? अगर वही संदेश दो बार आए तो? इसमें से कुछ भी लैंडस्केप पर नहीं जाता, वरना वह पढ़ने लायक नहीं रहेगा। लेकिन तीर से आपको पता होना चाहिए कि ये सवाल मौजूद हैं।

किसी भी एक तीर को ज़ूम करके देखें, तो वहाँ एक client और एक server है, और हर एक अपने आधे हिस्से का मालिक है। client कनेक्शन खोलता है: उसे endpoint और port चाहिए, वह पहले authentication server से एक token लेता है, server के तय किए protocol और कॉन्ट्रैक्ट को कॉल करता है, और चुनता है कि इंतज़ार करे या नहीं। पूरा आना-जाना सिर्फ़ client देखता है, इसलिए दोबारा कोशिश सिर्फ़ client कर सकता है। server सुनता है, protocol, कॉन्ट्रैक्ट और payload तय करता है, आने वाली चीज़ को validate करता है, और सिर्फ़ अपना हिस्सा देखता है। जब मैं तीर बनाता हूँ, तो मुझे पहले से पता होता है कि कौन-सा सिरा कौन-सा है, और इससे पता चलता है कि इनमें से हर सवाल का मालिक कौन है।

हर तीर को एक तरीका चाहिए लैंडस्केप का एक तीर, ज़ूम करके। Salesforce, यानी क्लाइंट, अपने Named Credential और External Credential के साथ ERP, यानी सर्वर, को ऑर्डर बाहर भेजता है, जिसके पास एक External Client App और सिर्फ़ API वाला एक इंटीग्रेशन यूज़र है। एक डैश वाली लाइन, जो OAuth के लिए ज़रूरी है, दिखाती है कि क्लाइंट पहले एक ऑथेंटिकेशन सर्वर के पास जाता है, जो टोकन जारी करता है। नीचे, पंक्ति-दर-पंक्ति, क्लाइंट क्या संभालता है और सर्वर क्या तय करता है। कहाँ: क्लाइंट को endpoint और पोर्ट चाहिए; सर्वर एक URL या IP पते और एक पोर्ट पर सुनता है। ऑथेंटिकेशन: क्लाइंट पहले टोकन लेता है, समय-सीमा खत्म होने को संभालता है और फिर से साइन इन करता है, जिसमें endpoint एक Named Credential में और ऑथेंटिकेशन उसके External Credential में रहता है; सर्वर अपने ऑथेंटिकेशन सर्वर के टोकन पर भरोसा करता है, और उसका External Client App और इंटीग्रेशन यूज़र तय करते हैं कि क्लाइंट क्या कर सकता है। प्रोटोकॉल और कॉन्ट्रैक्ट: क्लाइंट उन्हें कॉल करता है; सर्वर उन्हें तय करता है। पेलोड: क्लाइंट serialize करता है और पढ़ता है; सर्वर JSON, XML या binary तय करता है। टाइमिंग: क्लाइंट चुनता है कि इंतज़ार करे, आगे बढ़ जाए, या शेड्यूल पर चले; सर्वर को साथ चलना होता है। ट्रेस: क्लाइंट पूरा आना-जाना देखता है; सर्वर सिर्फ़ अपना हिस्सा। त्रुटियाँ व बंद होना: क्लाइंट हर तरह की त्रुटि संभालता है, दोबारा कोशिश करता है और जानता है कि कब अटक गया है; सर्वर आने वाली चीज़ों को वैलिडेट करता है और दोबारा कोशिश नहीं कर सकता। नीचे: इसमें से कुछ भी लैंडस्केप पर नहीं जाता, लेकिन हर तीर में यह होता है। OAuth के लिए ज़रूरी ऑथेंटिकेशन सर्वर टोकन जारी करता है ऑर्डर बाहर क्लाइंट Salesforce सर्वर ERP Named Credential External Credential External Client App इंटीग्रेशन यूज़र (सिर्फ़ API) क्लाइंट संभालता है सर्वर तय करता है कहाँ उसे कनेक्ट करने के लिए endpoint (एक URL या IP पता) और पोर्ट चाहिए। एक URL या IP पते पर, एक पोर्ट पर (जैसे 443) सुनता है। ऑथेंटिकेशन पहले ऑथेंटिकेशन सर्वर से टोकन लेता है; समय-सीमा खत्म होने को संभालता है और फिर से साइन इन करता है। Named Credential में endpoint रहता है, और उसके External Credential में ऑथेंटिकेशन। अपने ऑथेंटिकेशन सर्वर के टोकन पर भरोसा करता है; एक External Client App और सिर्फ़ API वाला इंटीग्रेशन यूज़र तय करते हैं कि क्लाइंट क्या कर सकता है। प्रोटोकॉल और कॉन्ट्रैक्ट सही प्रोटोकॉल, methods और verbs को कॉल करता है (SOAP के लिए WSDL इम्पोर्ट करता है)। प्रोटोकॉल (REST, SOAP, gRPC) और कॉन्ट्रैक्ट तय करता है: methods, verbs, पैरामीटर, रिटर्न। पेलोड तय फ़ॉर्मैट में अनुरोध को serialize करता है और जवाब पढ़ता है। पेलोड तय करता है: JSON, XML या binary। टाइमिंग चुनता है: जवाब का इंतज़ार करे (सिंक्रोनस), आगे बढ़ जाए (एसिंक्रोनस), या शेड्यूल पर चले (बैच)। उसे साथ चलना होता है: हर कॉल का जवाब आते ही देता है, या बैच आने पर उसे लेता है। ट्रेस पूरा आना-जाना देखता है: क्या गया, क्या लौटा, कितना समय लगा। सिर्फ़ अपना हिस्सा देखता है: कॉल का आना, उसकी प्रोसेसिंग, जवाब का जाना। त्रुटियाँ व बंद होना कनेक्शन, ऑथेंटिकेशन, सर्वर और जवाब की त्रुटियाँ संभालता है; दोबारा कोशिश करता है, और जानता है कि कब अटक गया है। आने वाली चीज़ों को वैलिडेट करता है और अपनी त्रुटियाँ बताता है; उसे पूरा आना-जाना नहीं दिखता, इसलिए वह दोबारा कोशिश नहीं कर सकता। इसमें से कुछ भी लैंडस्केप पर नहीं जाता, लेकिन हर तीर में यह होता है। © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

एक तीर, ज़ूम करके: client संभालता है, server तय करता है। इसमें से कुछ भी लैंडस्केप पर नहीं जाता, लेकिन हर तीर में यह होता है।

अब तीर को पलट दें। जब ERP Salesforce को कॉल करता है, तो Salesforce server है: वह API तय करता है, अपना authorization server चलाता है, और एक External Client App और एक इंटीग्रेशन यूज़र के ज़रिए तय करता है कि कॉल करने वाला क्या कर सकता है। वही सवाल, दूसरी तरफ़।

सर्वर के रूप में Salesforce वही तीर, पलटा हुआ। ERP, यानी क्लाइंट, एक क्लाइंट ID और सीक्रेट या एक सर्टिफ़िकेट रखते हुए, Salesforce, यानी सर्वर, को ऑर्डर स्टेटस अंदर भेजता है, जो उसे सिर्फ़ API वाले इंटीग्रेशन यूज़र के रूप में चलाता है। एक डैश वाली लाइन, जो OAuth के लिए ज़रूरी है, दिखाती है कि ERP पहले Salesforce के अपने ऑथराइज़ेशन सर्वर के पास जाता है, जो External Client App के लिए टोकन जारी करता है। नीचे, पंक्ति-दर-पंक्ति, क्लाइंट क्या संभालता है और Salesforce क्या तय करता है। कहाँ: क्लाइंट को org का My Domain URL और API वर्ज़न चाहिए; Salesforce My Domain पर HTTPS के ज़रिए सुनता है। ऑथेंटिकेशन: क्लाइंट External Client App के ज़रिए एक्सेस टोकन लेता है और उसकी समय-सीमा खत्म होने पर फिर से साइन इन करता है; Salesforce अपने ही टोकन पर भरोसा करता है, और ऐप की पॉलिसी और इंटीग्रेशन यूज़र की परमिशन तय करती हैं कि क्लाइंट क्या कर सकता है। प्रोटोकॉल और कॉन्ट्रैक्ट: क्लाइंट REST, SOAP या Bulk API को कॉल करता है; Salesforce API तय करता है, और org के ऑब्जेक्ट और फ़ील्ड ही कॉन्ट्रैक्ट हैं। पेलोड: JSON या XML, Bulk के लिए CSV। टाइमिंग: क्लाइंट इंतज़ार करता है, आगे बढ़ जाता है, या बैच में लोड करता है; Salesforce को org की API सीमाओं के भीतर साथ चलना होता है। ट्रेस: क्लाइंट पूरा आना-जाना देखता है; Salesforce सिर्फ़ अपना हिस्सा। त्रुटियाँ व बंद होना: क्लाइंट कनेक्शन, ऑथेंटिकेशन, सीमा और जवाब की त्रुटियाँ संभालता है और दोबारा कोशिश करता है; Salesforce आने वाली चीज़ों को वैलिडेट करता है और अपनी त्रुटियाँ लौटाता है, और दोबारा कोशिश नहीं कर सकता। नीचे: इसमें से कुछ भी लैंडस्केप पर नहीं जाता, लेकिन हर तीर में यह होता है। OAuth के लिए ज़रूरी Salesforce ऑथराइज़ेशन सर्वर External Client App के लिए टोकन जारी करता है ऑर्डर स्टेटस अंदर क्लाइंट ERP सर्वर Salesforce क्लाइंट ID और सीक्रेट, या सर्टिफ़िकेट इंटीग्रेशन यूज़र (सिर्फ़ API) क्लाइंट संभालता है सर्वर तय करता है कहाँ उसे org का My Domain URL और API वर्ज़न चाहिए। Salesforce org के My Domain पर, HTTPS (पोर्ट 443) पर सुनता है। ऑथेंटिकेशन External Client App के ज़रिए Salesforce के ऑथराइज़ेशन सर्वर से एक्सेस टोकन लेता है; समय-सीमा खत्म होने को संभालता है और फिर से साइन इन करता है। अपने ही टोकन पर भरोसा करता है; External Client App की पॉलिसी और इंटीग्रेशन यूज़र की परमिशन तय करती हैं कि क्लाइंट क्या कर सकता है। प्रोटोकॉल और कॉन्ट्रैक्ट Salesforce की तय की हुई API को कॉल करता है: REST, SOAP या Bulk (SOAP के लिए WSDL इम्पोर्ट करता है)। Salesforce API और उनके वर्ज़न तय करता है; org के ऑब्जेक्ट और फ़ील्ड ही कॉन्ट्रैक्ट हैं। पेलोड अनुरोध को उसी तरह serialize करता है जैसा API चाहती है, और जवाब पढ़ता है। हर API के लिए पेलोड तय करता है: JSON या XML, Bulk के लिए CSV। टाइमिंग चुनता है: जवाब का इंतज़ार करे (सिंक्रोनस), आगे बढ़ जाए (एसिंक्रोनस), या बैच में लोड करे (Bulk API)। उसे org की API सीमाओं के भीतर साथ चलना होता है। ट्रेस पूरा आना-जाना देखता है: क्या गया, क्या लौटा, कितना समय लगा। सिर्फ़ अपना हिस्सा देखता है: कॉल का आना, सेव और उसका ऑटोमेशन, जवाब का जाना। त्रुटियाँ व बंद होना कनेक्शन, ऑथेंटिकेशन, सीमा और जवाब की त्रुटियाँ संभालता है; दोबारा कोशिश करता है, और जानता है कि कब अटक गया है। आने वाला डेटा वैलिडेट करता है (वैलिडेशन रूल, अनिवार्य फ़ील्ड, शेयरिंग) और त्रुटियाँ लौटाता है; दोबारा कोशिश नहीं कर सकता। इसमें से कुछ भी लैंडस्केप पर नहीं जाता, लेकिन हर तीर में यह होता है। © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Salesforce server के रूप में: वही सवाल, और server वाले आधे हिस्से का जवाब Salesforce देता है।

लैंडस्केप पर तीर, swim lane में बातचीत

Section titled “लैंडस्केप पर तीर, swim lane में बातचीत ”

यहीं आर्किटेक्ट एक अच्छे डायग्राम को बर्बाद कर देते हैं: वे एक ही चीज़ से हर सवाल का जवाब दिलवाना चाहते हैं। लैंडस्केप पर API नाम, payload, retries, error queues, transformations, हर callback आ जाता है, और जल्दी ही कोई उसे पढ़ नहीं पाता। ऐसा न करें। लैंडस्केप बड़ी तस्वीर है: सिस्टम और उनके बीच के अहम flow।

जब मुझे कोई interaction समझाना होता है, तो मैं दूसरा डायग्राम बनाता हूँ, लेकिन हर इंटीग्रेशन के लिए नहीं। अगर सिस्टम A, B को कुछ भेजता है, या पूछकर जवाब भी पाता है, तो लेबल वाला तीर काफ़ी है। मुझे swim lane तब चाहिए जब प्रोसेस एक बातचीत बन जाए: A, B को कॉल करता है, B, C से जाँचता है, C जवाब देता है, B कुछ बनाता है और A को वापस कॉल करता है, कोई व्यक्ति मंज़ूरी देता है, कोई और सिस्टम आगे बढ़ाता है। मेरा मोटा नियम: एक-दो से ज़्यादा बार आगे-पीछे का लेन-देन हो, तो उस क्रम को उसकी अपनी swim lane मिलती है। तीर लैंडस्केप पर; बातचीत swim lane में।

और गौर करें कि वहाँ तीर का मतलब कुछ और है। लैंडस्केप पर तीर एक कनेक्शन है: उसे कौन खोलता है, और क्या चलता है। swim lane में हर तीर बातचीत का एक संदेश है, जिसे क्रम से पढ़ा जाता है: एक अनुरोध एक ओर जाता है, जवाब दूसरी ओर से आता है, और अगला कदम उसके बाद आता है।

लैंडस्केप पर तीर, स्विम लेन में बातचीत वही तीन सिस्टम, दो तरह से। ऊपर, जैसे लैंडस्केप पर: Salesforce इंटीग्रेशन लेयर को ऑर्डर बाहर भेजता है, जो Salesforce को ऑर्डर नंबर अंदर भेजती है, और इंटीग्रेशन लेयर ERP को ऑर्डर बाहर भेजती है। नीचे, हर सिस्टम एक लेन बन जाता है, और बातचीत पेज पर नीचे की ओर छह क्रमांकित कदमों में चलती है: 1, Salesforce इंटीग्रेशन लेयर को ऑर्डर भेजता है; 2, इंटीग्रेशन लेयर जवाब देती है, स्वीकार, एक रेफ़रेंस के साथ; 3, इंटीग्रेशन लेयर ERP से ऑर्डर बनाने को कहती है; 4, ERP ऑर्डर बनाता है; 5, ERP इंटीग्रेशन लेयर को ऑर्डर नंबर के साथ जवाब देता है; 6, इंटीग्रेशन लेयर ऑर्डर अपडेट करने के लिए Salesforce को कॉल करती है। जवाब हल्के रंग में हैं। नीचे: लैंडस्केप पर तीर एक कनेक्शन है; स्विम लेन में हर तीर एक संदेश है, क्रम से। लैंडस्केप पर: कौन जुड़ता है, और क्या जाता है स्विम लेन में: बातचीत, क्रम से Salesforce इंटीग्रेशन लेयर ERP ऑर्डर बाहर ऑर्डर नंबर अंदर ऑर्डर बाहर ऑर्डर भेजें 1 स्वीकार: एक रेफ़रेंस 2 ऑर्डर बनाएँ 3 ऑर्डर बनाता है 4 ऑर्डर नंबर 5 ऑर्डर अपडेट करें 6 लैंडस्केप पर तीर एक कनेक्शन है। स्विम लेन में हर तीर एक संदेश है, क्रम से। © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

लैंडस्केप पर तीन तीर; swim lane में छह कदम। लैंडस्केप पर तीर एक कनेक्शन है; swim lane में हर तीर एक संदेश है, क्रम से।

हर तीर पर चलकर देखें

Section titled “हर तीर पर चलकर देखें ”

जब लैंडस्केप लगभग पूरा लगे, तो उस पर चलें, तीर-दर-तीर। ERP से Salesforce: क्या चल रहा है, इसका मालिक कौन है, यह कैसे ऑथेंटिकेट करता है, तरीका क्या है, sync या async, इसे कितना ताज़ा होना चाहिए? फिर अगला तीर, और उसके बाद वाला। यहीं कमियाँ दिखती हैं। “अरे, हमने कभी तय ही नहीं किया कि पार्टनर असल में वह चीज़ कैसे भेजता है।” “हम ERP को ऑर्डर भेजते हैं, लेकिन हमने डिज़ाइन नहीं किया कि ठुकराए गए ऑर्डर वापस कैसे आते हैं।” अच्छा है। आपने इसे production के बजाय व्हाइटबोर्ड पर पकड़ लिया।

तस्वीर के पीछे एक इन्वेंटरी रखें

Section titled “तस्वीर के पीछे एक इन्वेंटरी रखें ”

तस्वीर को पढ़ने लायक रहना है, इसलिए बारीकियाँ उसके पीछे की इन्वेंटरी में जाती हैं। आपने इसे गिनती से शुरू किया था; अब इसे पूरा करें, हर अहम डेटा सेट या flow के लिए एक पंक्ति:

कॉलममैं क्या जानना चाहता हूँ
डेटा सेटग्राहक, प्रोडक्ट, ऑर्डर, डिलीवरी, इनवॉइस
प्रकारमास्टर, रेफ़रेंस, ट्रांज़ैक्शनल, एनालिटिकल, अनस्ट्रक्चर्ड
मालिकइसके मतलब और जीवनचक्र का मालिक कौन है?
System of recordआधिकारिक संस्करण कहाँ है?
वर्कलोडऑपरेशनल, एनालिटिकल, स्ट्रीमिंग
वॉल्यूमशून्यों की गिनती
Orgकौन-सा Salesforce org, अगर कई हों?
ऑथेंटिकेशनकनेक्शन भरोसा कैसे स्थापित करता है?
तरीका और टाइमिंगAPI, event, फ़ाइल, federation; sync, async, batch
दृष्टिकोणइसे कॉपी करें, संदर्भित करें, या federate करें?

अब दो चीज़ें हैं: लैंडस्केप मुझे आर्किटेक्चर देखने देता है, और इन्वेंटरी मुझे उससे पूछताछ करने देती है।

तस्वीर के पीछे की इन्वेंटरी लैंडस्केप के पीछे की इन्वेंटरी, हर फ़्लो के लिए एक पंक्ति, जिसमें वॉल्यूम और तरीके के कॉलम एक साथ रंगे हैं। प्रोडक्ट अंदर: मालिक ERP, रात में लगभग 500 बदलाव, इंटीग्रेशन लेयर से रात का बैच, एक External Client App और इंटीग्रेशन यूज़र, कॉपी। ऑर्डर बाहर: मालिक Salesforce, रोज़ लगभग 2,000, एक मिनट में कुछ, लगभग रियल टाइम, जब Salesforce इंटीग्रेशन लेयर के ज़रिए बाहर कॉल करता है, Apex या Flow callout और एक Named Credential के साथ, कॉपी। ऑर्डर स्टेटस अंदर: मालिक ERP, रोज़ लगभग 16,000, झोंकों में, एसिंक्रोनस, जब ERP इंटीग्रेशन लेयर को भेजता है, जो REST API से Salesforce को अपडेट करती है, कॉपी। भुगतान अंदर: मालिक फ़ाइनेंस, रोज़ लगभग 1,500, Bulk API 2.0 से हर घंटे का बैच, कॉपी। CRM डेटा बाहर: मालिक Salesforce, कई मिलियन रिकॉर्ड, Data 360 तय समय पर org से डेटा ingest करता है, near-core, Data 360 में कॉपी। Zero copy: वेयरहाउस का पाँच साल का इतिहास, सैकड़ों मिलियन पंक्तियाँ, अपनी जगह पर क्वेरी, फ़ेडरेट। संदर्भित: एक बाहरी प्रोवाइडर, एक बार में एक लुकअप, जब किसी को ज़रूरत हो तब पढ़ा जाता है, संदर्भित। नीचे: लैंडस्केप पर तीर एक जैसे दिखते हैं; हर तीर को क्या ले जाएगा, यह वॉल्यूम तय करता है। लैंडस्केप पर फ़्लो मालिक वॉल्यूम तरीका और टाइमिंग ऑथेंटिकेशन कॉपी, संदर्भ या फ़ेडरेट प्रोडक्ट अंदर ERP रात में ~500 बदलाव बैच: इंटीग्रेशन लेयर इन्हें हर रात लोड करती है External Client App, इंटीग्रेशन यूज़र कॉपी ऑर्डर बाहर Salesforce रोज़ ~2,000, एक मिनट में कुछ लगभग रियल टाइम: Salesforce इंटीग्रेशन लेयर के ज़रिए बाहर कॉल करता है, Apex या Flow callout से Named Credential कॉपी ऑर्डर स्टेटस अंदर ERP रोज़ ~16,000, झोंकों में एसिंक्रोनस: ERP इंटीग्रेशन लेयर को भेजता है, जो REST API से Salesforce को अपडेट करती है External Client App, इंटीग्रेशन यूज़र कॉपी भुगतान अंदर फ़ाइनेंस रोज़ ~1,500 बैच: हर घंटे, इंटीग्रेशन लेयर और Bulk API 2.0 से External Client App, इंटीग्रेशन यूज़र कॉपी CRM डेटा बाहर Salesforce कई मिलियन रिकॉर्ड, सब के सब Data 360 तय समय पर org से डेटा ingest करता है near-core: org में मैनेज Data 360 में कॉपी Zero copy वेयरहाउस पाँच साल का इतिहास, सैकड़ों मिलियन पंक्तियाँ ज़रूरत पड़ने पर अपनी जगह पर क्वेरी वेयरहाउस से एक Data 360 कनेक्शन फ़ेडरेट संदर्भित बाहरी प्रोवाइडर एक बार में एक लुकअप जब किसी को ज़रूरत हो, तब पढ़ा जाता है एक Data 360 कनेक्शन संदर्भ लैंडस्केप पर तीर एक जैसे दिखते हैं। हर तीर को क्या ले जाएगा, यह वॉल्यूम तय करता है। © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

ED-D42 के पीछे की इन्वेंटरी। लैंडस्केप पर तीर एक जैसे दिखते हैं; वॉल्यूम तय करता है कि हर एक को कौन ले जाता है।

लैंडस्केप सवालों के जवाब देता है

Section titled “लैंडस्केप सवालों के जवाब देता है ”

इसीलिए मुझे यह चीज़ पसंद है: यह मुझे सोचने में मदद करती है। “हम Salesforce और ERP दोनों पर रिपोर्ट कैसे बनाएँगे?” यह मॉड्यूल 3 वाला सवाल है: मेरा कौन-सा डायग्राम इसे बेहतरीन ढंग से हल करता है? लैंडस्केप। अगर सब कुछ core पर है, तो स्टैंडर्ड रिपोर्ट। अगर डेटा ERP और warehouse में है, तो आपको तुरंत दिख जाता है। “ग्राहक के इस एट्रिब्यूट को कहाँ मास्टर किया जाए?” देखें कि कौन-से सिस्टम इसे इस्तेमाल करते हैं और ग्राहक का मालिक पहले से कौन है। “क्या Salesforce को हर GPS रीडिंग चाहिए?” इसे कौन बनाता है, कौन इस्तेमाल करता है, वर्कलोड क्या है? शायद Salesforce को मौजूदा स्थिति (position) चाहिए और इतिहास कोई और प्लेटफ़ॉर्म रखे। लैंडस्केप आपको जवाब नहीं थमाता। वह आपको समस्या का सही नज़ारा देता है।

सुधारने से पहले मौजूदा स्थिति बनाएँ

Section titled “सुधारने से पहले मौजूदा स्थिति बनाएँ ”

एक और अनुशासन। किसी मौजूदा एंटरप्राइज़ में वह बनाएँ जो मौजूद है, वह नहीं जो आप चाहते हैं कि मौजूद होता। हर शुक्रवार ईमेल होने वाली spreadsheet: उसे बनाएँ। SFTP सर्वर पर पार्टनर की CSV: उसे बनाएँ। ऐतिहासिक वजहों से ESB को बायपास करने वाला इंटीग्रेशन: उसे बनाएँ। दो सिस्टमों के बीच हाथ से डेटा दोबारा टाइप करते लोग: उन्हें दिखाएँ। दर्ज करते समय असलियत को साफ़-सुथरा न करें। लक्ष्य वाला लैंडस्केप डिज़ाइन करने से पहले आपको मौजूदा लैंडस्केप चाहिए, और मॉड्यूल 6 में हम Steve Trucking के लिए यही करते हैं।

परीक्षा से आगे: AI क्या बदलता है। लैंडस्केप एक एजेंट मैप बनता जा रहा है। अगर कोई एजेंट “मेरी डिलीवरी कहाँ है?” का जवाब देता है, तो लैंडस्केप को बताना होगा कि जवाब Salesforce से आता है, किसी पार्टनर सिस्टम से, telematics से, ERP से, या इनके मेल से। एजेंट सिस्टमों की सीमाएँ नहीं हटाते; वे यह जानना और भी अहम बना देते हैं कि कौन-सा सिस्टम आधिकारिक है, और उस तक सुरक्षित रूप से कैसे पहुँचें।

आर्किटेक्ट यहाँ क्या तय करता है

Section titled “आर्किटेक्ट यहाँ क्या तय करता है ”
  • लैंडस्केप पर कौन-से सिस्टम और यूज़र समूह होने चाहिए, और उनकी जगह उनकी भूमिका कैसे दिखाती है।
  • कौन-से flow सिस्टमों की सीमाएँ पार करते हैं, किस दिशा में, और क्या वापस आता है।
  • हर कनेक्शन कैसे ऑथेंटिकेट करता है, उसे कौन-सा तरीका ले जाता है, और वह synchronous, asynchronous, batch या federated है।
  • कब लेबल वाला तीर काफ़ी है और कब किसी interaction को उसकी अपनी swim lane चाहिए।
  • तस्वीर के पीछे की इन्वेंटरी क्या दर्ज करती है: मालिक, वर्कलोड, वॉल्यूम, org, टाइमिंग, ऑथेंटिकेशन, और कॉपी, संदर्भ या federate।

लैंडस्केप ऐसी चीज़ नहीं जिसे मैं आर्किटेक्चर पूरा होने के बाद बनाता हूँ। यह वह तरीका है जिससे मैं आर्किटेक्चर ढूँढता हूँ। और जब आपको लगे कि यह पूरा हो गया, तो इसकी तारीफ़ न करें। इस पर चलकर देखें। हर वह तीर जिसे आप अभी समझा नहीं सकते, आपको दिखाता है कि काम कहाँ बाकी है।

  • आगे पढ़ने को: Salesforce Architects डायग्राम बनाने का अपना मार्गदर्शन प्रकाशित करता है, How to Build Salesforce Diagrams (opens in a new tab) और System Landscape (opens in a new tab) (अंग्रेज़ी में), जो जानने लायक हैं अगर आप CTA review board की ओर बढ़ रहे हैं।