ข้ามไปยังเนื้อหา

วาดภาพรวมระบบ

มีให้อ่านอีก 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 ในบท ทำความเข้าใจข้อมูลองค์กร บทที่ 4 ของหลักสูตร Data Architect แต่ละโมดูลอ่านแยกกันได้ ก่อนหน้า: ระบบรอบ Salesforce · ถัดไป: กลยุทธ์ org คือการตัดสินใจระดับภาพรวมระบบ

คำถามที่โมดูลนี้ตอบ: ผมจะวาดภาพรวมระบบที่แสดงว่าข้อมูลไปที่ไหนได้อย่างไร?

ให้สถานการณ์ใหม่กับไวต์บอร์ดว่างๆ แก่ผม แล้วสิ่งแรกๆ ที่ผมจะวาดคือภาพรวมระบบ ไม่สวย ไม่ใช่ทุก API ยังไม่ใช่โมเดลข้อมูล ผมอยากเห็นองค์กร: ผู้ใช้คือใคร ระบบใดเกี่ยวข้อง Salesforce อยู่ตรงไหน อะไรอยู่รอบมัน ข้อมูลมาจากไหนและไปที่ไหน แล้วผมอยากเดินตามลูกศร ภาพรวมระบบที่ดีไม่ใช่ภาพของกล่อง มันคือวิธีเปิดเผยการตัดสินใจทางสถาปัตยกรรม

ผมให้ผู้สมัคร CTA ฝึกเรื่องนี้ อ่านสถานการณ์ แล้วเริ่มวาด อย่ารอจนแก้ปัญหาทั้งหมดในหัวได้ การวาดช่วยให้คุณแก้ปัญหา นั่นคือเหตุผลที่การบ้านหลังวันแรกคือเริ่มวาดภาพรวมระบบก่อนลองร่างโมเดลข้อมูล วาดโมเดลข้อมูลก่อน แล้วคุณได้สมมติไปแล้วว่าอะไรควรอยู่ใน Salesforce วาดภาพรวมระบบก่อน แล้วคุณจะเห็นระบบที่ควรมีผลต่อการตัดสินใจนั้น

เริ่มจากภาพสูง แล้วค่อยเจาะลึก: ทั้งองค์กรก่อน แล้วจึงรายละเอียดในจุดที่สำคัญ

เลย์เอาต์ภาพรวมระบบของ Steve เลย์เอาต์ภาพรวมระบบ (system landscape) ของ Steve ที่ยังไม่มีลูกศร ทางซ้าย จากบนลงล่าง: ผู้ใช้ภายใน ผู้ใช้ของพันธมิตร และลูกค้า ตรงกลางคือ Salesforce สีฟ้าพร้อมรูปเมฆ ซึ่งเป็น org ที่เราออกแบบรอบมัน โดยมี Partner Community และ Customer Community แตะอยู่ด้านล่าง ด้านบน: เว็บไซต์สาธารณะที่มุมซ้ายบน ผู้ให้บริการตัวตน (IdP) ของพนักงานและของพันธมิตรอยู่เหนือ Salesforce และแอป AppExchange สำหรับลายเซ็นอิเล็กทรอนิกส์เลื่อนไปทางขวา ทางขวาของ Salesforce คือชั้นการผสานรวม โดยมี Data 360 อยู่ข้างใต้ในคอลัมน์เดียวกัน (near-core: จัดการบน core โฮสต์นอก core ผู้ใช้ไม่เคยเชื่อมต่อกับมันโดยตรง และมันเข้าถึงระบบหลังบ้านหลายระบบ) ถัดไปคือระบบภายใน: ERP การเงิน การจัดการคำสั่งซื้อ และคลังข้อมูล ด้านล่าง: ช่องทางลูกค้า ได้แก่ อีเมล เว็บฟอร์ม โทรศัพท์ และการส่งข้อความ ที่มุมขวาล่างคือข้อมูลเข้าและออก: ที่เก็บถาวร การโหลดข้อมูล และข้อมูลภายนอกที่อ้างอิงแทนการคัดลอก เฟรมหกขั้นค่อยๆ สร้างภาพขึ้นมา: โซนว่าง จากนั้นผู้คน Salesforce และคอมมูนิตี้ของมัน ตัวตนด้านบน ชั้นการผสานรวมและระบบภายใน และสุดท้ายคือช่องทางและข้อมูล ด้านบน: ตัวตน, APPEXCHANGE, เว็บ ผู้คน ด้านขวา: ระบบภายใน ด้านล่าง: ช่องทางลูกค้า ขวาล่าง: ข้อมูลเข้าและออก © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

ขั้นที่ 1 จาก 6: ผ้าใบว่างเปล่า มีแค่โซน

มีหลายวิธีในการวาดภาพรวมระบบ นี่เป็นแค่วิธีของผม วิธีที่ผมขัดเกลามาหลายปี และผมแบ่งปันมันเพื่อให้คุณเห็นว่าจะประกอบภาพหนึ่งขึ้นมาอย่างรวดเร็วได้อย่างไร ผมใช้มันกับภาพรวมระบบ Salesforce ทุกภาพ และมันอ่านได้เหมือนประโยค: คนทางซ้ายเข้าถึง Salesforce ตรงกลาง ได้รับความไว้วางใจผ่านระบบด้านบน ได้รับบริการผ่านช่องทางด้านล่าง และเชื่อมกับระบบหลังบ้านทางขวา

คนอยู่ทางซ้าย จากบนลงล่าง: ผู้ใช้ภายใน พันธมิตร ลูกค้า ยังไม่ใช่ทุก persona แค่พอจะตอบได้ว่า ใครกำลังพยายามเข้าถึงสถาปัตยกรรมนี้? แต่ละกลุ่มชี้ไปยังจุดที่ตนเข้ามา: ผู้ใช้ภายในไปที่ Salesforce พันธมิตรไปที่คอมมูนิตี้พันธมิตร ลูกค้าไปที่คอมมูนิตี้ลูกค้า ระบบไม่ได้มีอยู่ลอยๆ มีใครบางคน หรือบางสิ่ง กำลังพยายามใช้มัน

เลย์เอาต์ภาพรวมระบบของ Steve เลย์เอาต์ภาพรวมระบบ (system landscape) ของ Steve ที่ยังไม่มีลูกศร ทางซ้าย จากบนลงล่าง: ผู้ใช้ภายใน ผู้ใช้ของพันธมิตร และลูกค้า ตรงกลางคือ Salesforce สีฟ้าพร้อมรูปเมฆ ซึ่งเป็น org ที่เราออกแบบรอบมัน โดยมี Partner Community และ Customer Community แตะอยู่ด้านล่าง ด้านบน: เว็บไซต์สาธารณะที่มุมซ้ายบน ผู้ให้บริการตัวตน (IdP) ของพนักงานและของพันธมิตรอยู่เหนือ Salesforce และแอป AppExchange สำหรับลายเซ็นอิเล็กทรอนิกส์เลื่อนไปทางขวา ทางขวาของ Salesforce คือชั้นการผสานรวม โดยมี Data 360 อยู่ข้างใต้ในคอลัมน์เดียวกัน (near-core: จัดการบน core โฮสต์นอก core ผู้ใช้ไม่เคยเชื่อมต่อกับมันโดยตรง และมันเข้าถึงระบบหลังบ้านหลายระบบ) ถัดไปคือระบบภายใน: ERP การเงิน การจัดการคำสั่งซื้อ และคลังข้อมูล ด้านล่าง: ช่องทางลูกค้า ได้แก่ อีเมล เว็บฟอร์ม โทรศัพท์ และการส่งข้อความ ที่มุมขวาล่างคือข้อมูลเข้าและออก: ที่เก็บถาวร การโหลดข้อมูล และข้อมูลภายนอกที่อ้างอิงแทนการคัดลอก เฟรมหกขั้นค่อยๆ สร้างภาพขึ้นมา: โซนว่าง จากนั้นผู้คน Salesforce และคอมมูนิตี้ของมัน ตัวตนด้านบน ชั้นการผสานรวมและระบบภายใน และสุดท้ายคือช่องทางและข้อมูล ด้านบน: ตัวตน, APPEXCHANGE, เว็บ ผู้คน ด้านขวา: ระบบภายใน ด้านล่าง: ช่องทางลูกค้า ขวาล่าง: ข้อมูลเข้าและออก ผู้ใช้ภายใน ขาย บริการ ปฏิบัติการ ผู้ใช้ของพันธมิตร ลูกค้า ผู้คน © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

ขั้นที่ 2 จาก 6: ใครกำลังพยายามเข้าถึงสถาปัตยกรรมนี้?

Salesforce อยู่ตรงกลาง กล่องเรียบๆ หนึ่งกล่อง ไม่ใช่เพราะ Salesforce เป็นศูนย์กลางขององค์กร (เราเพิ่งใช้สามโมดูลบอกว่ามันไม่ใช่) แต่เพราะมันคือระบบที่ผมกำลังออกแบบรอบๆ มันคือหมุดยึด

คอมมูนิตี้อยู่ใต้มันพอดี ติดกัน คอมมูนิตี้พันธมิตรและคอมมูนิตี้ลูกค้าเป็น endpoint แยกกัน จึงได้กล่องของตัวเอง แต่มันวางชิด Salesforce เพราะไม่ต้องผสานรวมอะไรเพื่อเข้าถึงมัน: มันรันอยู่ใน org เดียวกัน

เลย์เอาต์ภาพรวมระบบของ Steve เลย์เอาต์ภาพรวมระบบ (system landscape) ของ Steve ที่ยังไม่มีลูกศร ทางซ้าย จากบนลงล่าง: ผู้ใช้ภายใน ผู้ใช้ของพันธมิตร และลูกค้า ตรงกลางคือ Salesforce สีฟ้าพร้อมรูปเมฆ ซึ่งเป็น org ที่เราออกแบบรอบมัน โดยมี Partner Community และ Customer Community แตะอยู่ด้านล่าง ด้านบน: เว็บไซต์สาธารณะที่มุมซ้ายบน ผู้ให้บริการตัวตน (IdP) ของพนักงานและของพันธมิตรอยู่เหนือ Salesforce และแอป AppExchange สำหรับลายเซ็นอิเล็กทรอนิกส์เลื่อนไปทางขวา ทางขวาของ Salesforce คือชั้นการผสานรวม โดยมี Data 360 อยู่ข้างใต้ในคอลัมน์เดียวกัน (near-core: จัดการบน core โฮสต์นอก core ผู้ใช้ไม่เคยเชื่อมต่อกับมันโดยตรง และมันเข้าถึงระบบหลังบ้านหลายระบบ) ถัดไปคือระบบภายใน: ERP การเงิน การจัดการคำสั่งซื้อ และคลังข้อมูล ด้านล่าง: ช่องทางลูกค้า ได้แก่ อีเมล เว็บฟอร์ม โทรศัพท์ และการส่งข้อความ ที่มุมขวาล่างคือข้อมูลเข้าและออก: ที่เก็บถาวร การโหลดข้อมูล และข้อมูลภายนอกที่อ้างอิงแทนการคัดลอก เฟรมหกขั้นค่อยๆ สร้างภาพขึ้นมา: โซนว่าง จากนั้นผู้คน Salesforce และคอมมูนิตี้ของมัน ตัวตนด้านบน ชั้นการผสานรวมและระบบภายใน และสุดท้ายคือช่องทางและข้อมูล ด้านบน: ตัวตน, APPEXCHANGE, เว็บ ผู้คน ด้านขวา: ระบบภายใน ด้านล่าง: ช่องทางลูกค้า ขวาล่าง: ข้อมูลเข้าและออก ผู้ใช้ภายใน ขาย บริการ ปฏิบัติการ ผู้ใช้ของพันธมิตร ลูกค้า Partner Community Customer Community Salesforce org ที่เราออกแบบรอบมัน Salesforce คอมมูนิตี้ ผู้คน © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

ขั้นที่ 3 จาก 6: Salesforce อยู่ตรงกลาง คอมมูนิตี้อยู่ใต้มันพอดี

ตัวตนอยู่ด้านบน ผู้ให้บริการตัวตนอยู่ด้านบนสุด ตัวที่นักพัฒนาลืม: ตัวหนึ่งสำหรับผู้ใช้ภายใน อาจมีอีกตัวสำหรับพันธมิตร แพ็กเกจ AppExchange ก็อยู่ด้านบนเช่นกัน เลื่อนไปทางขวา เพราะมันคือความสามารถที่นำเข้ามาใน org ไม่ใช่ระบบหลังบ้านที่แลกเปลี่ยนข้อมูลกับมัน เว็บไซต์สาธารณะอยู่ที่มุมซ้ายบน

เลย์เอาต์ภาพรวมระบบของ Steve เลย์เอาต์ภาพรวมระบบ (system landscape) ของ Steve ที่ยังไม่มีลูกศร ทางซ้าย จากบนลงล่าง: ผู้ใช้ภายใน ผู้ใช้ของพันธมิตร และลูกค้า ตรงกลางคือ Salesforce สีฟ้าพร้อมรูปเมฆ ซึ่งเป็น org ที่เราออกแบบรอบมัน โดยมี Partner Community และ Customer Community แตะอยู่ด้านล่าง ด้านบน: เว็บไซต์สาธารณะที่มุมซ้ายบน ผู้ให้บริการตัวตน (IdP) ของพนักงานและของพันธมิตรอยู่เหนือ Salesforce และแอป AppExchange สำหรับลายเซ็นอิเล็กทรอนิกส์เลื่อนไปทางขวา ทางขวาของ Salesforce คือชั้นการผสานรวม โดยมี Data 360 อยู่ข้างใต้ในคอลัมน์เดียวกัน (near-core: จัดการบน core โฮสต์นอก core ผู้ใช้ไม่เคยเชื่อมต่อกับมันโดยตรง และมันเข้าถึงระบบหลังบ้านหลายระบบ) ถัดไปคือระบบภายใน: ERP การเงิน การจัดการคำสั่งซื้อ และคลังข้อมูล ด้านล่าง: ช่องทางลูกค้า ได้แก่ อีเมล เว็บฟอร์ม โทรศัพท์ และการส่งข้อความ ที่มุมขวาล่างคือข้อมูลเข้าและออก: ที่เก็บถาวร การโหลดข้อมูล และข้อมูลภายนอกที่อ้างอิงแทนการคัดลอก เฟรมหกขั้นค่อยๆ สร้างภาพขึ้นมา: โซนว่าง จากนั้นผู้คน Salesforce และคอมมูนิตี้ของมัน ตัวตนด้านบน ชั้นการผสานรวมและระบบภายใน และสุดท้ายคือช่องทางและข้อมูล ด้านบน: ตัวตน, APPEXCHANGE, เว็บ ผู้คน ด้านขวา: ระบบภายใน ด้านล่าง: ช่องทางลูกค้า ขวาล่าง: ข้อมูลเข้าและออก ผู้ใช้ภายใน ขาย บริการ ปฏิบัติการ ผู้ใช้ของพันธมิตร ลูกค้า เว็บไซต์สาธารณะ IdP ของพนักงาน single sign-on IdP ของพันธมิตร single sign-on แอป AppExchange ลายเซ็นอิเล็กทรอนิกส์ Partner Community Customer Community Salesforce org ที่เราออกแบบรอบมัน Salesforce คอมมูนิตี้ ผู้คน ตัวตน, แอป, เว็บ © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

ขั้นที่ 4 จาก 6: ตัวตนอยู่ด้านบน กล่องที่นักพัฒนาลืม

การผสานรวม แล้วจึงระบบหลังบ้าน อยู่ทางขวา ชั้นการผสานรวม ESB หรือ iPaaS (หรือ MuleSoft เมื่อระบุชื่อ) เป็นแท่งสูงอยู่ถัดจาก Salesforce ทางขวา ระบบภายในอยู่ด้านหลังมัน: ERP การเงิน การจัดการคำสั่งซื้อ ระบบเก่า คลังข้อมูล ตอนนี้หน้ากระดาษอ่านจากซ้ายไปขวา: คน Salesforce การผสานรวม ระบบหลังบ้าน

เลย์เอาต์ภาพรวมระบบของ Steve เลย์เอาต์ภาพรวมระบบ (system landscape) ของ Steve ที่ยังไม่มีลูกศร ทางซ้าย จากบนลงล่าง: ผู้ใช้ภายใน ผู้ใช้ของพันธมิตร และลูกค้า ตรงกลางคือ Salesforce สีฟ้าพร้อมรูปเมฆ ซึ่งเป็น org ที่เราออกแบบรอบมัน โดยมี Partner Community และ Customer Community แตะอยู่ด้านล่าง ด้านบน: เว็บไซต์สาธารณะที่มุมซ้ายบน ผู้ให้บริการตัวตน (IdP) ของพนักงานและของพันธมิตรอยู่เหนือ Salesforce และแอป AppExchange สำหรับลายเซ็นอิเล็กทรอนิกส์เลื่อนไปทางขวา ทางขวาของ Salesforce คือชั้นการผสานรวม โดยมี Data 360 อยู่ข้างใต้ในคอลัมน์เดียวกัน (near-core: จัดการบน core โฮสต์นอก core ผู้ใช้ไม่เคยเชื่อมต่อกับมันโดยตรง และมันเข้าถึงระบบหลังบ้านหลายระบบ) ถัดไปคือระบบภายใน: ERP การเงิน การจัดการคำสั่งซื้อ และคลังข้อมูล ด้านล่าง: ช่องทางลูกค้า ได้แก่ อีเมล เว็บฟอร์ม โทรศัพท์ และการส่งข้อความ ที่มุมขวาล่างคือข้อมูลเข้าและออก: ที่เก็บถาวร การโหลดข้อมูล และข้อมูลภายนอกที่อ้างอิงแทนการคัดลอก เฟรมหกขั้นค่อยๆ สร้างภาพขึ้นมา: โซนว่าง จากนั้นผู้คน Salesforce และคอมมูนิตี้ของมัน ตัวตนด้านบน ชั้นการผสานรวมและระบบภายใน และสุดท้ายคือช่องทางและข้อมูล ด้านบน: ตัวตน, APPEXCHANGE, เว็บ ผู้คน ด้านขวา: ระบบภายใน ด้านล่าง: ช่องทางลูกค้า ขวาล่าง: ข้อมูลเข้าและออก ผู้ใช้ภายใน ขาย บริการ ปฏิบัติการ ผู้ใช้ของพันธมิตร ลูกค้า เว็บไซต์สาธารณะ IdP ของพนักงาน single sign-on IdP ของพันธมิตร single sign-on แอป 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 ของมันเชื่อมกับระบบหลังบ้านหลายระบบ มันจึงอยู่กับท่อข้อมูล ที่ซึ่งเส้นเหล่านั้นยังสั้นอยู่: ข้างระบบภายใน คลังข้อมูล และข้อมูลที่มุมขวาล่าง ทีมข้อมูลเปิดหน้าจอของมันก็จริง แต่หน้าจอเหล่านั้นอยู่ใน org: Data 360 เป็น near-core (ใกล้ core) จัดการบน core และโฮสต์นอก core (โมดูลที่ 1) เส้นหนึ่งเส้นกลับไปยัง Salesforce แสดงว่าใครเป็นผู้จัดการมัน ตำแหน่งที่คุณวางกล่องควรเล่าเรื่องว่ามันทำอะไร

เรขาคณิตทั้งหมดนี้ไม่ใช่ของศักดิ์สิทธิ์ คุณค่าของแบบแผนคือผมไม่ต้องประดิษฐ์ภาษาภาพใหม่ทุกครั้ง และใครที่เคยเห็นไดอะแกรมของผมสักภาพจะอ่านภาพถัดไปได้เร็วขึ้น

เลย์เอาต์ภาพรวมระบบของ Steve เลย์เอาต์ภาพรวมระบบ (system landscape) ของ Steve ที่ยังไม่มีลูกศร ทางซ้าย จากบนลงล่าง: ผู้ใช้ภายใน ผู้ใช้ของพันธมิตร และลูกค้า ตรงกลางคือ Salesforce สีฟ้าพร้อมรูปเมฆ ซึ่งเป็น org ที่เราออกแบบรอบมัน โดยมี Partner Community และ Customer Community แตะอยู่ด้านล่าง ด้านบน: เว็บไซต์สาธารณะที่มุมซ้ายบน ผู้ให้บริการตัวตน (IdP) ของพนักงานและของพันธมิตรอยู่เหนือ Salesforce และแอป AppExchange สำหรับลายเซ็นอิเล็กทรอนิกส์เลื่อนไปทางขวา ทางขวาของ Salesforce คือชั้นการผสานรวม โดยมี Data 360 อยู่ข้างใต้ในคอลัมน์เดียวกัน (near-core: จัดการบน core โฮสต์นอก core ผู้ใช้ไม่เคยเชื่อมต่อกับมันโดยตรง และมันเข้าถึงระบบหลังบ้านหลายระบบ) ถัดไปคือระบบภายใน: ERP การเงิน การจัดการคำสั่งซื้อ และคลังข้อมูล ด้านล่าง: ช่องทางลูกค้า ได้แก่ อีเมล เว็บฟอร์ม โทรศัพท์ และการส่งข้อความ ที่มุมขวาล่างคือข้อมูลเข้าและออก: ที่เก็บถาวร การโหลดข้อมูล และข้อมูลภายนอกที่อ้างอิงแทนการคัดลอก เฟรมหกขั้นค่อยๆ สร้างภาพขึ้นมา: โซนว่าง จากนั้นผู้คน Salesforce และคอมมูนิตี้ของมัน ตัวตนด้านบน ชั้นการผสานรวมและระบบภายใน และสุดท้ายคือช่องทางและข้อมูล ด้านบน: ตัวตน, APPEXCHANGE, เว็บ ผู้คน ด้านขวา: ระบบภายใน ด้านล่าง: ช่องทางลูกค้า ขวาล่าง: ข้อมูลเข้าและออก ผู้ใช้ภายใน ขาย บริการ ปฏิบัติการ ผู้ใช้ของพันธมิตร ลูกค้า เว็บไซต์สาธารณะ IdP ของพนักงาน single sign-on IdP ของพันธมิตร single sign-on แอป AppExchange ลายเซ็นอิเล็กทรอนิกส์ Partner Community Customer Community Data 360 near-core: จัดการบน core โฮสต์นอก core ชั้นการผสานรวม (ESB) ERP คำสั่งซื้อ ใบแจ้งหนี้ การเงิน การชำระเงิน การจัดการคำสั่งซื้อ คลังข้อมูล การวิเคราะห์ อีเมล email-to-case เว็บฟอร์ม web-to-lead โทรศัพท์ คอนแทคเซ็นเตอร์ การส่งข้อความ SMS, แชต ที่เก็บถาวร เคสเก่า การโหลดข้อมูล การย้ายข้อมูล ข้อมูลภายนอก อ้างอิง ไม่ได้คัดลอก Salesforce org ที่เราออกแบบรอบมัน Salesforce คอมมูนิตี้ ผู้คน ตัวตน, แอป, เว็บ ระบบภายใน ช่องทางลูกค้า ข้อมูลเข้าและออก ชั้นการผสานรวม เส้นประ: ยังไม่ใช้งานจริง หรือแค่อ้างถึง © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

ขั้นที่ 6 จาก 6: รูปแบบทั้งหมด ยังไม่มีลูกศร ภาพรวมระบบทุกภาพหลังจากนี้คงตำแหน่งเหล่านี้ไว้

ทำสัญลักษณ์ให้เรียบง่าย ทุกระบบคือการ์ดหนึ่งใบ: ชื่อ บทบาท และไอคอนเล็กๆ ที่บอกว่ามันเป็นอะไร: ERP ฐานข้อมูล ผู้ให้บริการตัวตน กลุ่มคน พื้นที่ที่ผมเพิ่งอธิบายไปถูกวาดเป็นโซนจางๆ ที่มีป้ายกำกับ เพื่อให้มองเห็นรูปแบบได้เอง คำอธิบายสัญลักษณ์ด้านล่างบอกว่าทุกไอคอนและทุกเส้นหมายถึงอะไร

อย่าใส่อะไรไว้ในกล่องมากเกินไป เฉพาะภาพรวมระบบที่ซับซ้อนมากๆ เท่านั้นที่ผมจะเปิด Salesforce ออกเป็นส่วนย่อย (Sales Cloud และ Service Cloud ภายใน org พร้อมลูกศรระหว่างกัน) และอย่าประดิษฐ์รูปทรงสิบห้าแบบ เว้นแต่แต่ละแบบจะบอกอะไรบางอย่างแก่ผู้อ่าน ผมอยากให้ใครสักคนมองภาพรวมระบบสามสิบวินาทีแล้วเริ่มเข้าใจสถาปัตยกรรม ความหรูหราไม่ได้ช่วย ความชัดเจนช่วย

อย่ารอถึงการออกแบบรายละเอียดแล้วค่อยคิดเรื่องปริมาณ ลูกศรที่ขนสินค้า 500 รายการต่อคืน กับลูกศรที่ขนค่า GPS 200,000 ค่าต่อวัน อาจดูเหมือนกันทุกประการบนภาพรวมระบบ แต่มันไม่ใช่ปัญหาเดียวกัน ดังนั้นก่อนที่คุณจะวาดลูกศรสักเส้น ให้นับสิ่งที่เคลื่อนย้าย เริ่มบัญชีรายการเบื้องหลังภาพด้วยตัวเลขเหล่านั้น: หนึ่งแถวต่อชุดข้อมูลสำคัญ พร้อมปริมาณของมัน เลขศูนย์อาจไม่เคยปรากฏบนลูกศร แต่คุณต้องรู้ว่าเมื่อไรคุณข้ามเข้าสู่ตัวเลขสูง: หลักพันหรือหลักล้านในหนึ่งชั่วโมง ธุรกรรมหลักแสน หรือแม้แต่หลายสิบถึงหลายร้อยธุรกรรมต่อวินาที

ตัวเลขเหล่านั้นเป็นตัวกำหนดกลไก ไม่กี่ร้อยเรกคอร์ดต่อคืนคือ batch การเรียกที่มีคนรอผลอยู่เป็น synchronous ได้ ถ้าปริมาณเอื้อให้ หลายสิบถึงหลายร้อยต่อวินาทีอาจต้องใช้ event เช่น platform event แทนการเรียกหนึ่งครั้งต่อหนึ่งเรกคอร์ด ลูกศรจะดูเหมือนเดิม ปริมาณเป็นตัวตัดสินว่าอะไรขนมัน จงบันทึกไว้ในบัญชีรายการ ซึ่งเป็นที่ที่กลไกถูกเลือก

กลไกเปลี่ยนทิศทางของลูกศรได้ด้วยซ้ำ ส่งเรกคอร์ดสองสามรายการต่อนาที Salesforce ก็แค่เรียกออกไป: ลูกศรเริ่มที่ Salesforce ส่งมากกว่านั้นมาก Salesforce อาจเผยแพร่ event บน event bus แทน ระบบภายนอกสมัครรับและเรียกเข้ามาเพื่อดึงมัน ตอนนี้ลูกศรจึงเริ่มที่อีกฝั่ง ใหญ่ขึ้นอีก สมมติการซิงก์เรกคอร์ดหลายล้านรายการทุกคืน มันก็เป็นกระบวนการ batch ดังนั้นรู้ตัวเลขของคุณตั้งแต่เนิ่นๆ เมื่อคุณเริ่มออกแบบกลไก เพราะตัวเลขวาดลูกศรใหม่ได้

ปริมาณสำคัญในสองที่ ด้วยสองเหตุผล บนโมเดลข้อมูล ผมต้องใช้มันเพื่อเฝ้าระวังข้อมูลปริมาณมากและวางแผนการเก็บถาวร ส่วนที่ 2 ลงลึกเรื่องนั้น บนภาพรวมระบบ ตัวเลขสูงในบัญชีรายการเป็นตัวกำหนดการเลือกรูปแบบการผสานรวมและกลไก โมดูลที่ 6 ใส่เลขศูนย์จริงลงบนภาพรวมระบบของ Steve Trucking และบัญชีรายการของมัน เมื่อมีตัวเลขในมือแล้ว ก็วาดลูกศร

เมื่อระบบเข้าที่แล้ว ให้เชื่อมมัน แล้วภาพรวมระบบก็กลายเป็นสถาปัตยกรรม กล่องคือระบบ ลูกศรแสดงว่าใครเป็นผู้เริ่มการเชื่อมต่อ มันเริ่มที่ระบบที่เปิดการเชื่อมต่อ และชี้ไปที่ระบบที่ถูกเรียก: client ไปยัง server ป้ายกำกับบอกว่าอะไรเคลื่อนย้าย และไปทางไหน

กฎนั้นใช้กับภาพรวมระบบ ที่ซึ่งระบบคุยกับระบบ บนไดอะแกรมการไหลของข้อมูล (data-flow) ลูกศรตามข้อมูลไป อย่างที่คุณคาดไว้ อย่าพากฎของภาพรวมระบบไปใช้กับไดอะแกรมอื่น มันมีแต่จะเพิ่มความสับสน

ภาพรวมระบบพร้อมลูกศร ภาพรวมระบบเดิม ตอนนี้มีลูกศรแล้ว ลูกศรแต่ละเส้นเริ่มที่ระบบที่เปิดการเชื่อมต่อ และป้ายบอกว่าอะไรเคลื่อนที่และไปทางไหน ผู้ใช้ภายในเข้าถึง Salesforce ผู้ใช้ของพันธมิตรเข้าถึง Partner Community และลูกค้าเข้าถึง Customer Community ผู้ให้บริการตัวตนแต่ละรายใช้ใบรับรองร่วมกับ Salesforce แสดงเป็นเส้นจุดสีเขียวที่มีใบรับรองอยู่ที่ปลายแต่ละด้าน: เป็นความเชื่อถือ ไม่ใช่การเรียกตรง เพราะการล็อกอินเดินทางผ่านเบราว์เซอร์ของผู้ใช้ในรูปการเปลี่ยนเส้นทาง (redirect) ผู้ให้บริการตัวตนของพนักงานยังส่งการอัปเดตผู้ใช้ไปยัง Salesforce ด้วย Salesforce ส่งเอกสารออกไปยังแอปลายเซ็นอิเล็กทรอนิกส์จาก AppExchange และส่งคำสั่งซื้อออกไปยังชั้นการผสานรวม ซึ่งส่งสินค้าเข้ามายัง Salesforce ชั้นการผสานรวมส่งคำสั่งซื้อออกและดึงสินค้าเข้าจาก ERP ส่วน ERP ส่งสถานะคำสั่งซื้อเข้ามายังชั้นการผสานรวม และชั้นการผสานรวมดึงการชำระเงินเข้าจากระบบการเงิน Data 360 ซึ่งอยู่ใต้ชั้นการผสานรวม เปิดการเชื่อมต่อของตัวเอง: ข้อมูล CRM ออกจาก Salesforce, zero copy ไปยังคลังข้อมูล และการอ้างอิงไปยังข้อมูลภายนอก จากด้านล่าง อีเมลส่งเคสเข้า และเว็บฟอร์มส่งลูกค้าเป้าหมายเข้ามายัง Salesforce, Salesforce ส่งเคสเก่าออกไปยังที่เก็บถาวร และการโหลดข้อมูลส่งเรกคอร์ดเข้า ด้านบน: ตัวตน, APPEXCHANGE, เว็บ ผู้คน ด้านขวา: ระบบภายใน ด้านล่าง: ช่องทางลูกค้า ขวาล่าง: ข้อมูลเข้าและออก ผู้ใช้ภายใน ขาย บริการ ปฏิบัติการ ผู้ใช้ของพันธมิตร ลูกค้า เว็บไซต์สาธารณะ IdP ของพนักงาน single sign-on IdP ของพันธมิตร single sign-on แอป AppExchange ลายเซ็นอิเล็กทรอนิกส์ Partner Community Customer Community Data 360 near-core: จัดการบน core โฮสต์นอก core ชั้นการผสานรวม (ESB) ERP คำสั่งซื้อ ใบแจ้งหนี้ การเงิน การชำระเงิน การจัดการคำสั่งซื้อ คลังข้อมูล การวิเคราะห์ อีเมล email-to-case เว็บฟอร์ม web-to-lead โทรศัพท์ คอนแทคเซ็นเตอร์ การส่งข้อความ SMS, แชต ที่เก็บถาวร เคสเก่า การโหลดข้อมูล การย้ายข้อมูล ข้อมูลภายนอก อ้างอิง ไม่ได้คัดลอก Salesforce org ที่เราออกแบบรอบมัน ใบรับรองร่วม อัปเดตผู้ใช้ ใบรับรองร่วม เอกสารออก คำสั่งซื้อออก สินค้าเข้า คำสั่งซื้อออก สินค้าเข้า สถานะคำสั่งซื้อเข้า การชำระเงินเข้า ข้อมูล CRM ออก zero copy อ้างอิง เคสเข้า ลูกค้าเป้าหมายเข้า เคสเก่าออก เรกคอร์ดเข้า Salesforce คอมมูนิตี้ ผู้คน ตัวตน, แอป, เว็บ ระบบภายใน ช่องทางลูกค้า ข้อมูลเข้าและออก ชั้นการผสานรวม เส้นประ: ยังไม่ใช้งานจริง หรือแค่อ้างถึง เริ่มที่ระบบที่เปิดการเชื่อมต่อ ป้ายบอกว่าอะไรเคลื่อนที่ ใบรับรองร่วม: ความเชื่อถือ ไม่มีการเรียกตรง © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

ลูกศรถูกใส่เข้ามา ทุกกล่องอยู่ที่เดิม ลูกศรแต่ละเส้นเริ่มที่ระบบที่เปิดการเชื่อมต่อ และป้ายกำกับบอกว่าอะไรเคลื่อนย้ายและไปทางไหน

ดังนั้นถ้าชั้นการผสานรวมผลักสินค้าเข้า Salesforce ลูกศรก็วิ่งจากชั้นการผสานรวมไปยัง Salesforce ติดป้าย สินค้าเข้า ถ้า Salesforce เรียกออกไปเพื่อดึงสินค้า ลูกศรเริ่มที่ Salesforce แต่ยังติดป้าย สินค้าเข้า ข้อมูลเดียวกัน บทสนทนาต่างกัน และความต่างนั้นบอกผมว่าใครต้องถือข้อมูลรับรอง (credential) และใครต้องจัดการเมื่อล้มเหลว Salesforce ส่งคำสั่งซื้อผ่านชั้นการผสานรวม: คำสั่งซื้อออก การส่งมอบของ ERP ส่งกลับมา: สถานะคำสั่งซื้อเข้า ตอนนี้ผมเห็นว่าใครเริ่มบทสนทนาแต่ละครั้ง ข้อมูลเข้า Salesforce ที่ไหนและออกที่ไหน โฟลว์ใดข้ามขอบเขต ความเป็นเจ้าของน่าจะอยู่ที่ไหน และผมต้องถามเพิ่มที่ไหน

และจำโมดูลที่ 1 ไว้: ทุกครั้งที่ผมเห็นโฟลว์เดียว ผมกังวล ในภาพระดับสูง ลูกศร คำสั่งซื้อออก พึ่งพาโฟลว์ย้อนกลับ: ลูกค้าเข้า สินค้าเข้า ราคา มองลึกลงไปอีกก็มีขากลับ: การยอมรับ การปฏิเสธ สถานะ หมายเลขใบแจ้งหนี้ การยกเลิก ลูกศรให้สิ่งที่จับต้องได้แก่ผมเพื่อตั้งคำถาม

นี่คือจุดที่ภาพรวมระบบเลิกเป็นงานศิลป์ใน PowerPoint ต่อหน้าคณะกรรมการ ลูกศรเส้นไหนก็อาจถูกถามสามคำถาม และผมอยากให้คุณมีคำตอบ:

  • ยืนยันตัวตนอย่างไร? OAuth ใบรับรอง named credential หรืออย่างอื่น?
  • เป็นแบบ synchronous หรือ asynchronous? Salesforce รอ ERP หรือเผยแพร่แล้วทำงานต่อ? ธุรกิจต้องการผลลัพธ์เร็วแค่ไหน?
  • กลไกคืออะไร? การเรียก REST เหตุการณ์ ไฟล์ คิวข้อความ ผ่าน MuleSoft หรือตรง?

แล้วก็: จะเกิดอะไรขึ้นเมื่ออีกฝั่งล่ม? ทุกลูกศรต้องมีกลไก ถ้าคุณอธิบายไม่ได้ เส้นนั้นก็เป็นแค่ของตกแต่ง

และ “ยิงแล้วลืม” ไม่ใช่คำตอบ มันมักแปลว่า “ผมยังไม่ได้ออกแบบว่าจะเกิดอะไรขึ้นหลังยิง” มันไปถึงไหม? ถูกรับไหม? ล้มเหลวไหม? จะลองใหม่ไหม? ใครรู้ว่ามันค้าง? ถ้าข้อความเดียวกันมาถึงสองครั้งล่ะ? ไม่มีสิ่งใดในนั้นไปอยู่บนภาพรวมระบบ ซึ่งจะกลายเป็นอ่านไม่ออก แต่ลูกศรควรทำให้คุณรู้ว่าคำถามเหล่านั้นมีอยู่

ซูมเข้าไปที่ลูกศรเส้นใดเส้นหนึ่ง แล้วจะมี client และ server และแต่ละฝั่งเป็นเจ้าของครึ่งของตัวเอง client เปิดการเชื่อมต่อ: มันต้องรู้ endpoint และพอร์ต ขอ token จาก authentication server ก่อน เรียกโปรโตคอลและสัญญา (contract) ที่ server กำหนด และเลือกว่าจะรอหรือไม่ มีแต่ client ที่เห็นการเดินทางไปกลับทั้งหมด จึงมีแต่ client ที่ลองใหม่ (retry) ได้ server รอฟัง กำหนดโปรโตคอล สัญญา และ payload ตรวจสอบสิ่งที่เข้ามา และเห็นแค่ส่วนของตัวเอง เมื่อผมวาดลูกศร ผมรู้อยู่แล้วว่าปลายไหนเป็นอะไร และนั่นบอกผมว่าใครเป็นเจ้าของคำถามแต่ละข้อเหล่านี้

ทุกลูกศรต้องมีกลไก ลูกศรหนึ่งเส้นจากภาพรวมระบบ ขยายให้ดูใกล้ๆ Salesforce ซึ่งเป็นไคลเอนต์ พร้อม Named Credential และ External Credential ส่งคำสั่งซื้อออกไปยัง ERP ซึ่งเป็นเซิร์ฟเวอร์ ที่มี External Client App และผู้ใช้สำหรับการเชื่อมต่อแบบ API only เส้นประซึ่งจำเป็นสำหรับ OAuth แสดงว่าไคลเอนต์ไปที่เซิร์ฟเวอร์ยืนยันตัวตนก่อนเพื่อรับ token ด้านล่าง ทีละแถว คือสิ่งที่ไคลเอนต์จัดการและสิ่งที่เซิร์ฟเวอร์กำหนด ที่ไหน: ไคลเอนต์ต้องรู้ endpoint และพอร์ต เซิร์ฟเวอร์รอรับที่ URL หรือ IP address และพอร์ต การยืนยันตัวตน: ไคลเอนต์ขอ token ก่อน จัดการการหมดอายุและล็อกอินใหม่ โดยเก็บ endpoint ใน Named Credential และการยืนยันตัวตนใน External Credential ของมัน เซิร์ฟเวอร์เชื่อถือ token จากเซิร์ฟเวอร์ยืนยันตัวตนของตน และ External Client App กับผู้ใช้สำหรับการเชื่อมต่อของมันกำหนดว่าไคลเอนต์ทำอะไรได้ โปรโตคอลและสัญญา: ไคลเอนต์เรียกใช้ เซิร์ฟเวอร์เป็นผู้กำหนด Payload: ไคลเอนต์ serialize และอ่าน เซิร์ฟเวอร์กำหนดว่าเป็น JSON, XML หรือไบนารี จังหวะเวลา: ไคลเอนต์เลือกว่าจะรอ ทำต่อไปเลย หรือรันตามกำหนดเวลา เซิร์ฟเวอร์ต้องรับมือให้ทัน การติดตาม: ไคลเอนต์เห็นการเดินทางไปกลับทั้งหมด เซิร์ฟเวอร์เห็นเฉพาะส่วนของตัวเอง ข้อผิดพลาดและการล่ม: ไคลเอนต์จัดการข้อผิดพลาดทุกประเภท ลองใหม่ และรู้ว่าเมื่อไรติดขัด เซิร์ฟเวอร์ตรวจสอบสิ่งที่เข้ามาและลองใหม่ไม่ได้ ข้างใต้: ไม่มีสิ่งเหล่านี้อยู่บนภาพรวมระบบ แต่ทุกลูกศรมีมัน จำเป็นสำหรับ OAuth เซิร์ฟเวอร์ ยืนยันตัวตน ออก token คำสั่งซื้อออก ไคลเอนต์ Salesforce เซิร์ฟเวอร์ ERP Named Credential External Credential External Client App ผู้ใช้สำหรับการเชื่อมต่อ (API only) ไคลเอนต์จัดการ เซิร์ฟเวอร์กำหนด ที่ไหน ต้องรู้ endpoint (URL หรือ IP address) และพอร์ตที่จะเชื่อมต่อ รอรับที่ URL หรือ IP address บนพอร์ตหนึ่ง (เช่น 443) การยืนยันตัวตน ขอ token จากเซิร์ฟเวอร์ยืนยันตัวตนก่อน จัดการการหมดอายุ และล็อกอินใหม่ Named Credential เก็บ endpoint และ External Credential ของมันเก็บการยืนยันตัวตน เชื่อถือ token จากเซิร์ฟเวอร์ยืนยันตัวตนของตน External Client App และผู้ใช้สำหรับ การเชื่อมต่อแบบ API only กำหนดว่าไคลเอนต์ทำอะไรได้ โปรโตคอลและสัญญา เรียกด้วยโปรโตคอล เมธอด และ verb ที่ถูกต้อง (สำหรับ SOAP นำเข้า WSDL) กำหนดโปรโตคอล (REST, SOAP, gRPC) และสัญญา: เมธอด verb พารามิเตอร์ ค่าที่ส่ง กลับ Payload แปลงคำขอเป็นรูปแบบที่ตกลงกัน (serialize) และอ่านคำตอบในรูปแบบนั้น กำหนด payload: JSON, XML หรือไบนารี จังหวะเวลา เลือกได้: รอคำตอบ (synchronous) ทำต่อไปเลย (asynchronous) หรือรันตามกำหนด เวลา (batch) ต้องรับมือให้ทัน: ตอบแต่ละการเรียกเมื่อมาถึง หรือรับ batch เมื่อมันมา การติดตาม เห็นการเดินทางไปกลับทั้งหมด: อะไรออกไป อะไรกลับมา ใช้เวลานานเท่าไร เห็นเฉพาะส่วนของตัวเอง: การเรียกที่มาถึง การประมวลผล คำตอบที่ส่งออกไป ข้อผิดพลาดและการล่ม จัดการข้อผิดพลาดด้านการเชื่อมต่อ การยืนยันตัวตน เซิร์ฟเวอร์ และคำตอบ ลองใหม่ และรู้ว่า เมื่อไรติดขัด ตรวจสอบสิ่งที่เข้ามาและรายงานข้อผิดพลาดของตัวเอง มันไม่เห็นการเดินทางไปกลับ จึง ลองใหม่ไม่ได้ ไม่มีสิ่งเหล่านี้อยู่บนภาพรวมระบบ แต่ทุกลูกศรมีมัน © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

ลูกศรหนึ่งเส้น ซูมเข้าไป: client จัดการ server กำหนด ไม่มีสิ่งใดในนี้อยู่บนภาพรวมระบบ แต่ลูกศรทุกเส้นมีมัน

ทีนี้กลับลูกศร เมื่อ ERP เรียก Salesforce, Salesforce คือ server: มันกำหนด API รัน authorization server ของตัวเอง และตัดสินผ่าน External Client App และผู้ใช้สำหรับการผสานรวมว่าผู้เรียกทำอะไรได้บ้าง คำถามเดิม อีกฝั่ง

Salesforce ในฐานะเซิร์ฟเวอร์ ลูกศรเส้นเดิมที่กลับทิศ ERP ซึ่งเป็นไคลเอนต์ ถือ client ID กับ secret หรือใบรับรอง ส่งสถานะคำสั่งซื้อเข้ามายัง Salesforce ซึ่งเป็นเซิร์ฟเวอร์ ที่รันมันในฐานะผู้ใช้สำหรับการเชื่อมต่อแบบ API only เส้นประซึ่งจำเป็นสำหรับ OAuth แสดงว่า ERP ไปที่เซิร์ฟเวอร์อนุญาตของ Salesforce เองก่อน ซึ่งออก token ให้ External Client App ด้านล่าง ทีละแถว คือสิ่งที่ไคลเอนต์จัดการและสิ่งที่ Salesforce กำหนด ที่ไหน: ไคลเอนต์ต้องรู้ URL ของ My Domain ของ org และเวอร์ชัน API ส่วน Salesforce รอรับที่ My Domain ผ่าน HTTPS การยืนยันตัวตน: ไคลเอนต์ขอ access token ผ่าน External Client App และล็อกอินใหม่เมื่อหมดอายุ Salesforce เชื่อถือ token ของตัวเอง และนโยบายของแอปกับสิทธิ์ของผู้ใช้สำหรับการเชื่อมต่อกำหนดว่าไคลเอนต์ทำอะไรได้ โปรโตคอลและสัญญา: ไคลเอนต์เรียก REST, SOAP หรือ Bulk API ส่วน Salesforce กำหนด API และออบเจกต์กับฟิลด์ของ org คือสัญญา Payload: JSON หรือ XML, CSV สำหรับ Bulk จังหวะเวลา: ไคลเอนต์รอ ทำต่อไปเลย หรือโหลดเป็น batch ส่วน Salesforce ต้องรับมือให้ทันภายในขีดจำกัด API ของ org การติดตาม: ไคลเอนต์เห็นการเดินทางไปกลับทั้งหมด Salesforce เห็นเฉพาะส่วนของตัวเอง ข้อผิดพลาดและการล่ม: ไคลเอนต์จัดการข้อผิดพลาดด้านการเชื่อมต่อ การยืนยันตัวตน ขีดจำกัด และคำตอบ และลองใหม่ Salesforce ตรวจสอบสิ่งที่เข้ามาและส่งข้อผิดพลาดกลับ และลองใหม่ไม่ได้ ข้างใต้: ไม่มีสิ่งเหล่านี้อยู่บนภาพรวมระบบ แต่ทุกลูกศรมีมัน จำเป็นสำหรับ OAuth เซิร์ฟเวอร์อนุญาตของ Salesforce ออก token ให้ External Client App สถานะคำสั่งซื้อเข้า ไคลเอนต์ ERP เซิร์ฟเวอร์ Salesforce Client ID กับ secret หรือใบรับรอง ผู้ใช้สำหรับการเชื่อมต่อ (API only) ไคลเอนต์จัดการ เซิร์ฟเวอร์กำหนด ที่ไหน ต้องรู้ URL ของ My Domain ของ org และเวอร์ชัน API Salesforce รอรับที่ My Domain ของ org ผ่าน HTTPS (พอร์ต 443) การยืนยันตัวตน ขอ access token จากเซิร์ฟเวอร์อนุญาตของ Salesforce ผ่าน External Client App จัดการการหมดอายุ และล็อกอินใหม่ เชื่อถือ token ของตัวเอง นโยบายของ External Client App และสิทธิ์ของผู้ใช้สำหรับ การเชื่อมต่อ กำหนดว่าไคลเอนต์ทำอะไรได้ โปรโตคอลและสัญญา เรียก API ที่ Salesforce กำหนด: REST, SOAP หรือ Bulk (สำหรับ SOAP นำเข้า WSDL) Salesforce กำหนด API และเวอร์ชันของมัน ออบเจกต์และฟิลด์ของ org คือสัญญา Payload serialize คำขอตามที่ API ต้องการ และอ่านคำตอบ กำหนด payload ของแต่ละ API: JSON หรือ XML, CSV สำหรับ Bulk จังหวะเวลา เลือกได้: รอคำตอบ (synchronous) ทำต่อไปเลย (asynchronous) หรือโหลดเป็น batch (Bulk API) ต้องรับมือให้ทัน ภายในขีดจำกัด API ของ org การติดตาม เห็นการเดินทางไปกลับทั้งหมด: อะไรออกไป อะไรกลับมา ใช้เวลานานเท่าไร เห็นเฉพาะส่วนของตัวเอง: การเรียกที่มาถึง การบันทึกและระบบอัตโนมัติ คำตอบที่ส่งออก ไป ข้อผิดพลาดและการล่ม จัดการข้อผิดพลาดด้านการเชื่อมต่อ การยืนยันตัวตน ขีดจำกัด และคำตอบ ลองใหม่ และรู้ว่า เมื่อไรติดขัด ตรวจสอบสิ่งที่เข้ามา (กฎการตรวจสอบความถูกต้อง ฟิลด์ Required การแชร์) และส่ง ข้อผิดพลาดกลับ มันลองใหม่ไม่ได้ ไม่มีสิ่งเหล่านี้อยู่บนภาพรวมระบบ แต่ทุกลูกศรมีมัน © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Salesforce ในฐานะ server: คำถามเดิม โดย Salesforce ตอบครึ่งของฝั่ง server

นี่คือจุดที่สถาปนิกทำลายไดอะแกรมดีๆ: พวกเขาทำให้สิ่งเดียวตอบทุกอย่าง ภาพรวมระบบได้ชื่อ API, payload การลองใหม่ คิวข้อผิดพลาด การแปลงข้อมูล ทุก callback และไม่นานก็ไม่มีใครอ่านมันออก อย่าทำ ภาพรวมระบบคือภาพใหญ่: ระบบและโฟลว์สำคัญระหว่างกัน

เมื่อผมต้องอธิบายปฏิสัมพันธ์ ผมวาดไดอะแกรมที่สอง แต่ไม่ใช่สำหรับทุกการผสานรวม ถ้าระบบ A ส่งบางอย่างไปยัง B หรือแม้แต่ถามแล้วได้คำตอบ ลูกศรที่มีป้ายก็พอ ผมต้องการ swim lane เมื่อกระบวนการกลายเป็นบทสนทนา: A เรียก B, B ตรวจกับ C, C ตอบ B สร้างบางอย่างแล้วเรียก A กลับ คนอนุมัติ อีกระบบทำงานต่อ หลักง่ายๆ ของผม: โต้ตอบไปมามากกว่าหนึ่งหรือสองครั้ง ลำดับนั้นก็ได้ swim lane ของตัวเอง ลูกศรอยู่บนภาพรวมระบบ บทสนทนาอยู่ใน swim lane

และสังเกตว่าลูกศรมีความหมายต่างกันในนั้น บนภาพรวมระบบ ลูกศรคือการเชื่อมต่อ: ใครเปิดมัน และอะไรเคลื่อนย้าย ใน swim lane ลูกศรแต่ละเส้นคือข้อความหนึ่งข้อความในบทสนทนา อ่านตามลำดับ: คำขอไปทางหนึ่ง คำตอบกลับมาอีกทาง และขั้นถัดไปก็ตามมา

ลูกศรบนภาพรวมระบบ บทสนทนาใน swim lane สามระบบเดิมที่แสดงสองแบบ ด้านบน แบบเดียวกับบนภาพรวมระบบ: Salesforce ส่งคำสั่งซื้อออกไปยังชั้นการผสานรวม ซึ่งส่งหมายเลขคำสั่งซื้อเข้ามายัง Salesforce และชั้นการผสานรวมส่งคำสั่งซื้อออกไปยัง ERP ด้านล่าง แต่ละระบบกลายเป็นเลนหนึ่งเลน และบทสนทนาไหลลงตามหน้าเป็นหกขั้นที่มีหมายเลข: 1 Salesforce ส่งคำสั่งซื้อไปยังชั้นการผสานรวม 2 ชั้นการผสานรวมตอบกลับว่ารับแล้ว พร้อมเลขอ้างอิง 3 ชั้นการผสานรวมขอให้ ERP สร้างคำสั่งซื้อ 4 ERP สร้างคำสั่งซื้อ 5 ERP ตอบกลับชั้นการผสานรวมด้วยหมายเลขคำสั่งซื้อ 6 ชั้นการผสานรวมเรียก Salesforce เพื่ออัปเดตคำสั่งซื้อ การตอบกลับแสดงด้วยสีอ่อนกว่า ข้างใต้: บนภาพรวมระบบ ลูกศรคือการเชื่อมต่อ ใน swim lane ลูกศรแต่ละเส้นคือข้อความหนึ่งข้อความ ตามลำดับ บนภาพรวมระบบ: ใครเชื่อมต่อ และอะไรเคลื่อนที่ ใน SWIM LANE: บทสนทนา ตามลำดับ Salesforce ชั้นการผสานรวม ERP คำสั่งซื้อออก หมายเลขคำสั่งซื้อเข้า คำสั่งซื้อออก ส่งคำสั่งซื้อ 1 รับแล้ว: เลขอ้างอิง 2 สร้างคำสั่งซื้อ 3 สร้างคำสั่งซื้อ 4 หมายเลขคำสั่งซื้อ 5 อัปเดตคำสั่งซื้อ 6 บนภาพรวมระบบ ลูกศรคือการเชื่อมต่อ ใน swim lane ลูกศรแต่ละเส้นคือข้อความหนึ่งข้อความ ตามลำดับ © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

ลูกศรสามเส้นบนภาพรวมระบบ หกขั้นใน swim lane บนภาพรวมระบบ ลูกศรคือการเชื่อมต่อ ใน swim lane ลูกศรแต่ละเส้นคือหนึ่งข้อความ ตามลำดับ

เมื่อภาพรวมระบบดูเกือบเสร็จ ให้เดินตามมันทีละลูกศร ERP ไป Salesforce: อะไรเคลื่อนที่ ใครเป็นเจ้าของ ยืนยันตัวตนอย่างไร กลไกคืออะไร sync หรือ async ต้องใหม่แค่ไหน? แล้วลูกศรถัดไป และถัดไป นี่คือจุดที่ช่องโหว่ปรากฏ “อ้อ เราไม่เคยคิดว่าพันธมิตรส่งสิ่งนั้นมาจริงๆ อย่างไร” “เราส่งคำสั่งซื้อไปยัง ERP แต่ยังไม่ได้ออกแบบว่าคำสั่งที่ถูกปฏิเสธจะกลับมาอย่างไร” ดีแล้ว คุณเจอมันบนไวต์บอร์ดแทนที่จะเจอใน production

ภาพต้องอ่านง่ายอยู่เสมอ รายละเอียดจึงไปอยู่ในบัญชีรายการเบื้องหลัง คุณเริ่มมันด้วยตัวเลขปริมาณแล้ว ทีนี้ทำให้เสร็จ หนึ่งแถวต่อชุดข้อมูลหรือโฟลว์สำคัญ:

คอลัมน์สิ่งที่ผมอยากรู้
ชุดข้อมูลลูกค้า สินค้า คำสั่งซื้อ การจัดส่ง ใบแจ้งหนี้
ประเภทข้อมูลหลัก ข้อมูลอ้างอิง ข้อมูลธุรกรรม ข้อมูลเชิงวิเคราะห์ ข้อมูลไม่มีโครงสร้าง
เจ้าของใครเป็นเจ้าของความหมายและวงจรชีวิตของมัน?
ระบบต้นทางหลักเวอร์ชันที่มีอำนาจชี้ขาดอยู่ที่ไหน?
ภาระงานเชิงปฏิบัติการ เชิงวิเคราะห์ สตรีมมิง
ปริมาณจำนวนเลขศูนย์
Orgorg Salesforce ตัวไหน ถ้ามีหลายตัว?
การยืนยันตัวตนการเชื่อมต่อสร้างความไว้วางใจอย่างไร?
กลไกและจังหวะเวลาAPI เหตุการณ์ ไฟล์ federation; sync, async, batch
แนวทางคัดลอก อ้างอิง หรือ federate?

ตอนนี้มีสองสิ่ง: ภาพรวมระบบให้ผมเห็นสถาปัตยกรรม และบัญชีรายการให้ผมซักถามมัน

บัญชีรายการเบื้องหลังภาพ บัญชีรายการเบื้องหลังภาพรวมระบบ หนึ่งแถวต่อหนึ่งโฟลว์ โดยคอลัมน์ปริมาณและกลไกแรเงาด้วยสีเดียวกัน สินค้าเข้า: ERP เป็นเจ้าของ ราว 500 การเปลี่ยนแปลงต่อคืน batch ทุกคืนผ่านชั้นการผสานรวม ใช้ External Client App และผู้ใช้สำหรับการเชื่อมต่อ คัดลอก คำสั่งซื้อออก: Salesforce เป็นเจ้าของ ราว 2,000 ต่อวัน นาทีละไม่กี่รายการ ใกล้เรียลไทม์ โดย Salesforce เรียกออกผ่านชั้นการผสานรวมด้วย callout จาก Apex หรือ Flow และ Named Credential คัดลอก สถานะคำสั่งซื้อเข้า: ERP เป็นเจ้าของ ราว 16,000 ต่อวันเป็นช่วงๆ แบบ asynchronous โดย ERP ส่งไปยังชั้นการผสานรวม ซึ่งอัปเดต Salesforce ผ่าน REST API คัดลอก การชำระเงินเข้า: ฝ่ายการเงินเป็นเจ้าของ ราว 1,500 ต่อวัน batch รายชั่วโมงผ่าน Bulk API 2.0 คัดลอก ข้อมูล CRM ออก: Salesforce เป็นเจ้าของ หลายล้านเรกคอร์ด Data 360 ดึงข้อมูลจาก org ตามกำหนดเวลา เป็น near-core คัดลอกเข้า Data 360 Zero copy: ประวัติห้าปีของคลังข้อมูล หลายร้อยล้านแถว query ในที่เดิม แบบ federate อ้างอิง: ผู้ให้บริการภายนอก ค้นทีละรายการ อ่านเมื่อมีคนต้องการ แบบอ้างอิง ข้างใต้: บนภาพรวมระบบ ลูกศรดูเหมือนกันหมด ปริมาณเป็นตัวตัดสินว่าอะไรรองรับแต่ละเส้น โฟลว์บนภาพรวมระบบ เจ้าของ ปริมาณ กลไกและจังหวะเวลา การยืนยันตัวตน คัดลอก อ้างอิง หรือ FEDERATE สินค้าเข้า ERP ~500 การเปลี่ยนแปลงต่อคืน Batch: ชั้นการผสานรวมโหลดทุกคืน External Client App, ผู้ใช้สำหรับการ เชื่อมต่อ คัดลอก คำสั่งซื้อออก Salesforce ~2,000 ต่อวัน นาทีละไม่กี่รายการ ใกล้เรียลไทม์: Salesforce เรียกออกผ่านชั้นการ ผสานรวม ด้วย callout จาก Apex หรือ Flow Named Credential คัดลอก สถานะคำสั่งซื้อเข้า ERP ~16,000 ต่อวัน เป็นช่วงๆ Asynchronous: ERP ส่งไปยังชั้นการผสานรวม ซึ่งอัปเดต Salesforce ผ่าน REST API External Client App, ผู้ใช้สำหรับการ เชื่อมต่อ คัดลอก การชำระเงินเข้า การเงิน ~1,500 ต่อวัน Batch: รายชั่วโมง ผ่านชั้นการผสานรวมและ Bulk API 2.0 External Client App, ผู้ใช้สำหรับการ เชื่อมต่อ คัดลอก ข้อมูล CRM ออก Salesforce หลายล้านเรกคอร์ด ทั้งหมด Data 360 ดึงข้อมูลจาก org ตามกำหนดเวลา Near-core: จัดการใน org คัดลอกเข้า Data 360 Zero copy คลังข้อมูล ประวัติห้าปี หลายร้อยล้านแถว query ในที่เดิมเมื่อต้องการ การเชื่อมต่อ Data 360 ไปยังคลังข้อมูล Federate อ้างอิง ผู้ให้บริการ ภายนอก ค้นทีละรายการ อ่านเมื่อมีคนต้องการ การเชื่อมต่อ Data 360 อ้างอิง บนภาพรวมระบบ ลูกศรดูเหมือนกันหมด ปริมาณเป็นตัวตัดสินว่าอะไรรองรับแต่ละเส้น © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

บัญชีรายการเบื้องหลัง ED-D42 ลูกศรดูเหมือนกันบนภาพรวมระบบ ปริมาณเป็นตัวตัดสินว่าอะไรขนแต่ละเส้น

นั่นคือเหตุผลที่ผมชอบสิ่งนี้: มันช่วยให้ผมคิด “เราจะทำรายงานข้าม Salesforce กับ ERP อย่างไร?” มันคือคำถามจากโมดูลที่ 3: ไดอะแกรมไหนของผมแก้ปัญหานี้ได้สวยงาม? ภาพรวมระบบ ถ้าทุกอย่างอยู่บน core ก็รายงานมาตรฐาน ถ้าข้อมูลอยู่ใน ERP และคลังข้อมูล คุณเห็นมันได้ทันที “แอตทริบิวต์ลูกค้านี้ควรถูกจัดการเป็นข้อมูลหลักที่ไหน?” ดูว่าระบบใดใช้มันและระบบใดเป็นเจ้าของลูกค้าอยู่แล้ว “Salesforce ต้องการทุกค่า GPS ไหม?” ใครสร้างมัน ใครใช้มัน ภาระงานคืออะไร? บางที Salesforce ต้องการตำแหน่งปัจจุบัน และอีกแพลตฟอร์มเก็บประวัติ ภาพรวมระบบไม่ได้ยื่นคำตอบให้คุณ มันให้มุมมองที่ถูกต้องของปัญหา

อีกวินัยหนึ่ง ในองค์กรที่มีอยู่แล้ว ให้วาดสิ่งที่มีอยู่ ไม่ใช่สิ่งที่คุณอยากให้มี สเปรดชีตที่ส่งอีเมลทุกวันศุกร์: วาดมัน CSV ของพันธมิตรบนเซิร์ฟเวอร์ SFTP: วาดมัน การผสานรวมที่ข้าม ESB ด้วยเหตุผลทางประวัติศาสตร์: วาดมัน คนที่กรอกข้อมูลซ้ำระหว่างสองระบบ: แสดงมัน อย่าทำความสะอาดความจริงขณะที่คุณกำลังบันทึกมัน คุณต้องมีภาพรวมระบบปัจจุบันก่อนออกแบบภาพเป้าหมาย และนั่นคือสิ่งที่เราทำสำหรับ Steve Trucking ในโมดูลที่ 6

นอกเหนือจากการสอบ: AI เปลี่ยนอะไร ภาพรวมระบบกำลังกลายเป็นแผนที่ของเอเจนต์ ถ้าเอเจนต์ตอบ “การจัดส่งของฉันอยู่ไหน?” ภาพรวมระบบต้องบอกว่าคำตอบมาจาก Salesforce ระบบของพันธมิตร ระบบเทเลเมติกส์ ERP หรือผสมกัน เอเจนต์ไม่ได้ลบขอบเขตของระบบ มันทำให้การรู้ว่าระบบใดมีอำนาจชี้ขาด และจะเข้าถึงอย่างปลอดภัยได้อย่างไร สำคัญยิ่งขึ้น

  • ระบบและกลุ่มผู้ใช้ใดควรอยู่บนภาพรวมระบบ และตำแหน่งของมันแสดงบทบาทอย่างไร
  • โฟลว์ใดข้ามขอบเขตของระบบ ไปทางไหน และอะไรส่งกลับมา
  • ทุกการเชื่อมต่อยืนยันตัวตนอย่างไร กลไกใดนำมันไป และเป็นแบบ synchronous, asynchronous, batch หรือ federated
  • เมื่อไรลูกศรที่มีป้ายก็พอ และเมื่อไรปฏิสัมพันธ์ต้องมี swim lane ของตัวเอง
  • บัญชีรายการเบื้องหลังภาพบันทึกอะไร: เจ้าของ ภาระงาน ปริมาณ org จังหวะเวลา การยืนยันตัวตน และคัดลอก อ้างอิง หรือ federate

ภาพรวมระบบไม่ใช่สิ่งที่ผมวาดหลังสถาปัตยกรรมเสร็จ มันคือวิธีที่ผมค้นพบสถาปัตยกรรม และเมื่อคุณคิดว่ามันเสร็จแล้ว อย่าชื่นชมมัน เดินตามมัน ทุกลูกศรที่คุณยังอธิบายไม่ได้บอกคุณว่างานอยู่ที่ไหน

  • อ่านเพิ่มเติม: Salesforce Architects เผยแพร่แนวทางการวาดไดอะแกรมของตัวเอง How to Build Salesforce Diagrams (opens in a new tab) และ System Landscape (opens in a new tab) (ภาษาอังกฤษ) ควรรู้ไว้ถ้าคุณกำลังมุ่งหน้าสู่คณะกรรมการรีวิว CTA