การใช้ Delphi เพื่อสร้างเซิร์ฟเวอร์การสื่อสารและการแลกเปลี่ยนข้อมูล - การวิเคราะห์เทคโนโลยีตัวรับส่งสัญญาณ (ตอนที่ 1) ผู้แต่ง: 火鸟 [email protected] บทนำ ในโครงการพัฒนาและใช้งานข้อมูลภายในประเทศทั่วไป ปริมาณงานการพัฒนาส่วนใหญ่มุ่งเน้นไปที่การปรับให้เข้ากับลูกค้าที่แตกต่างกัน ขึ้นอยู่กับความแตกต่างในข้อกำหนด โมดูลเฉพาะได้รับการปรับเปลี่ยนเพื่อให้ได้คุณลักษณะซอฟต์แวร์ที่ลูกค้าคาดหวังในท้ายที่สุด อย่างไรก็ตาม สำหรับนักพัฒนา การพัฒนาซอฟต์แวร์เวอร์ชันที่แตกต่างกันสำหรับลูกค้าที่แตกต่างกันจะนำไปสู่ปัญหาต่างๆ เช่น ความซ้ำซ้อนของงาน ต้นทุนที่เพิ่มขึ้น การบำรุงรักษาที่เพิ่มขึ้น และความเข้ากันได้และความเสถียรลดลง ดังนั้น นักพัฒนาจึงตระหนักดีว่าการตระหนักถึงการผลิตซอฟต์แวร์เท่านั้นที่ทำให้พวกเขามีวงจรโครงการที่สั้นลงและมีความสามารถในการแข่งขันในตลาดที่แข็งแกร่งขึ้น และปรับให้เข้ากับความต้องการของลูกค้าที่แตกต่างกันได้มากที่สุดโดยไม่ติดขัดด้วยเหตุนี้ นี่คือกุญแจสำคัญในความพึงพอใจของลูกค้า และความสมดุลระหว่างผลประโยชน์ทางธุรกิจ แนวคิดเรื่อง เครื่องรับส่งสัญญาณ ตัวรับส่งสัญญาณเป็นซอฟต์แวร์ผลิตภัณฑ์การสื่อสารทั่วไปที่ออกแบบและพัฒนาเพื่อตอบสนองความต้องการการสื่อสารที่แตกต่างกันของแอปพลิเคชันและโครงการทางธุรกิจที่แตกต่างกัน สามารถใช้สำหรับการจัดการแบบรวมศูนย์ แอปพลิเคชันเป็นกลาง และการควบคุมการสื่อสารและการแลกเปลี่ยนข้อมูลระหว่างระบบแอปพลิเคชันหลายระบบ การออกแบบดั้งเดิมคือการลดการพัฒนาโมดูลการสื่อสารซ้ำๆ และปรับปรุงการจัดการซอฟต์แวร์การสื่อสารแบบรวมศูนย์ ด้วยการสรุปการส่งและรับเข้าสู่กระบวนการรับส่งข้อมูลที่เทียบเท่ากันจากต้นทางไปยังเป้าหมาย การประมวลผลการส่งและรับของวิธีการสื่อสารทั่วไปที่มีอยู่จะถูกรวมเข้าด้วยกัน เช่นเดียวกับการประมวลผลการบัฟเฟอร์ที่ทนทานต่อข้อผิดพลาดของข้อยกเว้นการสื่อสาร (คิว) ถือเป็นฟังก์ชันอันทรงพลังของตัวรับส่งสัญญาณ ที่เพียงพอต่อความต้องการด้านการสื่อสารระดับองค์กร ต่อไปนี้เป็นตัวอย่างของแอปพลิเคชันตัวรับส่งสัญญาณ
| ทิศทางการสื่อสาร | แหล่งที่มา | บัฟเฟอร์(คิว) | เป้า | ใช้งานฟังก์ชั่น |
| C1.ส่งข้อมูล | S1. รับจาก FILE ในเครื่อง | หากมีความผิดปกติใน sink ข้อมูลสามารถถูกบัฟเฟอร์ในตัวรับส่งสัญญาณได้ และตัวรับส่งสัญญาณจะรับผิดชอบในการส่งสัญญาณซ้ำ | T1 ส่งไปยังพอร์ต TCP ระยะไกล | ถ่ายโอนไฟล์ไปยังตำแหน่งระยะไกล |
| C2.รับข้อมูล | S2. ได้รับจาก POP3 ระยะไกล | T2. ส่งไปยังบัญชี SMTP อื่น | การส่งต่อจดหมาย |
| C3.ส่งข้อมูล | S3 รับจากฐานข้อมูลท้องถิ่น | T3. ส่งไปยังหน้า HTTP ระยะไกล | อ่านจากฐานข้อมูลและส่งไปที่หน้าเว็บ |
| C4.รับข้อมูล | S4 ได้รับจาก FTP ระยะไกล | T4 ส่งไปยัง COM ท้องถิ่นเพื่อดำเนินการ | รับจากระยะไกลแล้วส่งมอบให้กับ COM เพื่อประมวลผล |
| C5.รับข้อมูล | S5 รับจาก DCOM ระยะไกล | T5 ส่งไปยังคิว MSMQ ในพื้นที่ | รับคิวข้อความจากคอมโพเนนต์ระยะไกลและรอการประมวลผล |
ใน Transceiver ทั้งต้นทางและเป้าหมายถือเป็นพอร์ต เช่น S1~S5 และ T1~T5 ล้วนเป็นส่วนประกอบการสื่อสารที่สร้างและควบคุมโดย Transceiver ณ รันไทม์ คล้ายกับ C1 ~ คำจำกัดความกระบวนการสื่อสารหลายรายการของ C5 ถือเป็นช่องทาง Channel ที่สามารถทำหน้าที่สื่อสารขั้นพื้นฐานได้สำเร็จประกอบด้วย 2 Ports (อันหนึ่งคือ Source และอีกอันคือ Target) ,คิวคือเลเยอร์การประมวลผลที่ทนต่อข้อผิดพลาด เมื่อ ,มีข้อยกเว้นในการสื่อสารเกิดขึ้น ดังที่แสดงในตาราง
ตัวรับส่งสัญญาณสามารถให้การสนับสนุนอย่างเต็มที่สำหรับกระบวนการสื่อสารทั้งการส่งและรับ ไม่มีข้อจำกัดเกี่ยวกับประเภท ปริมาณ และความสอดคล้องระหว่างแหล่งที่มาและซิงก์ และสามารถตั้งค่าความสัมพันธ์ที่ตรงกันระหว่างแหล่งที่มาและเป้าหมายได้อย่างอิสระ ตารางด้านบนแสดงรายการฟังก์ชันการสื่อสารของตัวรับส่งสัญญาณเพียงบางส่วนเท่านั้น ตัวรับส่งสัญญาณจะรวมองค์ประกอบการสื่อสารข้อมูลไว้ในสามระดับ: แอปพลิเคชัน ข้อมูล และ PRotocol โดยสามารถปรับให้เข้ากับความต้องการการสื่อสารที่ซับซ้อนและเปลี่ยนแปลงได้ และให้ความยืดหยุ่นสูงสุดสำหรับความต้องการด้านการสื่อสารของแอปพลิเคชัน การนำกลับมาใช้ใหม่ได้ รูปที่ 1: ความสามารถในการโต้ตอบของพอร์ตสื่อสารตัวรับส่งสัญญาณ (พอร์ต)
ฟังก์ชั่น ตัวรับส่งสัญญาณ 1. บริการส่ง/รับข้อมูลระหว่าง LAN/WAN และระบบปฏิบัติการ/ระบบแอปพลิเคชันที่แตกต่างกัน ปัจจุบันรองรับพอร์ตการสื่อสารต่อไปนี้:
| วิธีการสื่อสาร | ชั้นปฏิสัมพันธ์ | ผู้ส่ง | สิ้นสุดการรับ | สภาพแวดล้อมที่แนะนำ |
| TCP | โปรโตคอล | | | Enterprise Fast Ethernet/เครือข่ายที่ไม่มีไฟร์วอลล์ |
| เอฟทีพี | โปรโตคอล | | | การถ่ายโอนไฟล์ระหว่างเครือข่าย/สภาพแวดล้อมด้วยไฟล์เซิร์ฟเวอร์ |
| SMTP | โปรโตคอล | | | สถานการณ์ B2C/กับเซิร์ฟเวอร์ส่งเมล |
| ป๊อป3 | โปรโตคอล | | | สถานการณ์ B2C/กับเซิร์ฟเวอร์รับเมล |
| HTTP | โปรโตคอล | | | สภาพแวดล้อมเครือข่าย/อินเทอร์เน็ตผ่านไฟร์วอลล์ |
| ไฟล์ | ข้อมูล | | | อ่าน/เขียนจากไฟล์ในเครื่องไปยังไฟล์ในเครื่อง |
| MSMQ | ข้อมูล | | | กับระบบอื่นๆ/แอพพลิเคชั่นที่แตกต่างกัน เช่น เมนเฟรม |
| ดีบี | ข้อมูล | | | ภายใต้โครงสร้างฐานข้อมูลที่กำหนดเอง/ระหว่างแอปพลิเคชันต่างๆ |
| คอม/ดีคอม | แอปพลิเคชัน | | | ตรรกะทางธุรกิจถูกแม็ปกับอินเทอร์เฟซ/สภาพแวดล้อมโมดูลเฉพาะที่มีความต้องการในการประมวลผลข้อมูลเฉพาะ |
ดังที่แสดงในตัวอย่างแอปพลิเคชันตัวรับส่งสัญญาณ
ตามคำจำกัดความของพอร์ตและช่องสัญญาณของตัวรับส่งสัญญาณ พอร์ตแปดประเภทข้างต้นที่ปลายทั้งสองด้านของการส่ง/รับสามารถรวมกันได้อย่างอิสระเพื่อให้ได้วิธีการสื่อสารที่ยืดหยุ่นทั้งหมด 64 วิธีขนาด 8x8 ซึ่งเพียงพอสำหรับ ตอบสนองสภาพแวดล้อมการสื่อสารแอปพลิเคชันระดับองค์กรที่ซับซ้อนและเปลี่ยนแปลงได้ หมายเหตุ: เนื่องจากสภาพแวดล้อมความต้องการของโปรโตคอล UDP นั้นคล้ายคลึงกับ TCP และขาดความปลอดภัยในการเชื่อมต่อ ผู้เขียนจึงไม่ได้นำไปใช้โดยเฉพาะ หากจำเป็น สามารถเพิ่มได้อย่างยืดหยุ่น และในระดับแอปพลิเคชัน จึงง่ายต่อการนำไปใช้ อินเทอร์เฟซส่วนประกอบ (พอร์ต) ของ CORBA และ EJB โดยใช้ Delphi กลายเป็นส่วนสำคัญของ Transceiver Shell 2. กลไกคิวที่ใช้สำหรับการประมวลผลบัฟเฟอร์สามารถทำการติดตามคิวบัฟเฟอร์ข้อมูลและการส่งข้อมูลซ้ำเพื่อตอบสนองต่อสถานการณ์การสื่อสารที่ผิดปกติ 3. การบันทึกข้อมูลซึ่งสามารถบันทึกเวลา เนื้อหา แหล่งที่มา ปลายทาง เวลาบัฟเฟอร์ และสถานะปัจจุบันของข้อมูลได้ครบถ้วน 4. การสนับสนุนหลายภาษา ให้อินเทอร์เฟซการสนับสนุนหลายภาษาสำหรับการแปลงข้อมูลและอินเทอร์เฟซผู้ใช้ ผู้ใช้สามารถเพิ่มประเภทภาษาของอินเทอร์เฟซและส่วนประกอบการแปลงข้อมูลได้อย่างอิสระตามความต้องการของภาษา
การใช้งาน เครื่องรับส่งสัญญาณ ตัวรับส่งสัญญาณประกอบด้วยสองส่วน: บริการตัวรับส่งสัญญาณและคอนโซลตัวรับส่งสัญญาณ รูปที่ 2: สถาปัตยกรรมการออกแบบตัวรับส่งสัญญาณ 1. คอนโซลตัวรับส่งสัญญาณเบื้องต้น หน้าที่ของคอนโซลคือการให้คำจำกัดความและกฎของพอร์ตและช่องสัญญาณที่มีประสิทธิภาพสำหรับบริการตัวรับส่งสัญญาณในรูปแบบของแอปพลิเคชันแผงควบคุม เช่นเดียวกับการตั้งค่าบันทึกการส่งสัญญาณ คิวข้อมูล สภาพแวดล้อม พารามิเตอร์ ฯลฯ โดยไม่ต้องผ่านคอนโซล ผู้ใช้ยังสามารถตั้งค่าเนื้อหาข้างต้นได้ด้วยตนเองโดยการแก้ไขไลบรารีการกำหนดค่าระบบและรีจิสตรีของ Transceiver โดยตรง เนื่องจากข้อจำกัดด้านพื้นที่ จึงมีเพียงสามภาพหน้าจอเท่านั้นที่แสดงให้เห็นการสนับสนุนแบบไดนามิกหลายภาษาของอินเทอร์เฟซและ Transceiver เปลือก. ผลกระทบในการดำเนินงานของคำจำกัดความพอร์ตและคำจำกัดความช่องสัญญาณรับส่งสัญญาณทั้งสามด้านจะไม่ได้รับการอธิบายโดยละเอียด รูปที่แนบ 3: การสนับสนุนแบบไดนามิกหลายภาษาของคอนโซลตัวรับส่งสัญญาณ (ภาษาอินเทอร์เฟซภาคผนวก 4 และ 5 แตกต่างกัน) รูปที่แนบ 4: กำหนดพอร์ตการสื่อสารสำหรับเซิร์ฟเวอร์ตัวรับส่งสัญญาณผ่านคอนโซลตัวรับส่งสัญญาณ รูปที่แนบ 5: การรวม SourcePort และ TargetPort เพื่อกำหนดผู้เขียนช่องการสื่อสาร สำหรับเซิร์ฟเวอร์ตัวรับส่งสัญญาณ :Firebird
[email protected] ใช้ภาพรวมคลาสคอลเลกชัน .NET ผ่าน C# คอลเลกชันและเทคโนโลยีที่เกี่ยวข้อง ใช้ Delphi เพื่อสร้างเซิร์ฟเวอร์การสื่อสารและการแลกเปลี่ยนข้อมูล - การวิเคราะห์ทางเทคนิคของตัวรับส่งสัญญาณ (ตอนที่ 1) ใช้ Delphi เพื่อสร้างเซิร์ฟเวอร์การสื่อสารและการแลกเปลี่ยนข้อมูล - การวิเคราะห์ทางเทคนิคของตัวรับส่งสัญญาณ (ตอนที่ 2)
สิ่งเก่า: ทางลัดของโปรแกรม/รายการการลบโปรแกรม/ตัว EXE - การลบสิ่งเก่า DIY : บันทึกในวัยเด็กเกี่ยวกับอัลกอริทึมการเขียนโปรแกรม