MuleSoft - ข้อมูลเบื้องต้นเกี่ยวกับ Mule ESB
ESB ย่อมาจาก Enterprise Service Busซึ่งโดยพื้นฐานแล้วเป็นเครื่องมือมิดเดิลแวร์สำหรับการรวมแอพพลิเคชั่นต่างๆเข้าด้วยกันผ่านโครงสร้างพื้นฐานแบบบัส โดยพื้นฐานแล้วมันเป็นสถาปัตยกรรมที่ออกแบบมาเพื่อให้มีวิธีการทำงานที่สม่ำเสมอในการใช้งานแบบบูรณาการ ด้วยวิธีนี้ด้วยความช่วยเหลือของสถาปัตยกรรม ESB เราสามารถเชื่อมต่อแอปพลิเคชันต่างๆผ่านบัสการสื่อสารและทำให้แอปพลิเคชันสามารถสื่อสารได้โดยไม่ต้องพึ่งพาซึ่งกันและกัน
การใช้ ESB
จุดสนใจหลักของสถาปัตยกรรม ESB คือการแยกระบบออกจากกันและอนุญาตให้สื่อสารกันได้อย่างมั่นคงและควบคุมได้ การใช้งาน ESB สามารถทำได้ด้วยความช่วยเหลือของ‘Bus’ และ ‘Adapter’ ด้วยวิธีต่อไปนี้ -
แนวคิดของ“ บัส” ซึ่งทำได้ผ่านเซิร์ฟเวอร์รับส่งข้อความเช่น JMS หรือ AMQP ใช้เพื่อแยกแอปพลิเคชันที่แตกต่างกันออกจากกัน
แนวคิดของ“ อะแดปเตอร์” ซึ่งรับผิดชอบในการสื่อสารกับแอปพลิเคชันแบ็กเอนด์และการแปลงข้อมูลจากรูปแบบแอปพลิเคชันเป็นรูปแบบบัสจะใช้ระหว่างแอปพลิเคชันและบัส
ข้อมูลหรือข้อความที่ส่งผ่านจากแอพพลิเคชั่นหนึ่งไปยังอีกแอพพลิเคชั่นผ่านบัสอยู่ในรูปแบบบัญญัติซึ่งหมายความว่าจะมีรูปแบบข้อความที่สอดคล้องกันหนึ่งรูปแบบ
อะแด็ปเตอร์ยังสามารถดำเนินกิจกรรมอื่น ๆ เช่นการรักษาความปลอดภัยการตรวจสอบการจัดการข้อผิดพลาดและการจัดการเส้นทางข้อความ
หลักการชี้นำของ ESB
เราสามารถเรียกหลักการเหล่านี้ว่าหลักการรวมหลัก มีดังนี้ -
Orchestration - การรวมบริการตั้งแต่สองบริการขึ้นไปเพื่อให้เกิดการซิงโครไนซ์ระหว่างข้อมูลและกระบวนการ
Transformation - การแปลงข้อมูลจากรูปแบบบัญญัติเป็นรูปแบบเฉพาะของแอปพลิเคชัน
Transportation - การจัดการการเจรจาโปรโตคอลระหว่างรูปแบบเช่น FTP, HTTP, JMS และอื่น ๆ
Mediation - จัดหาอินเทอร์เฟซที่หลากหลายเพื่อรองรับบริการหลายเวอร์ชัน
Non-functional consistency - จัดหากลไกในการจัดการธุรกรรมและความปลอดภัยด้วย
ความต้องการของ ESB
สถาปัตยกรรม ESB ช่วยให้เราสามารถรวมแอพพลิเคชั่นที่แตกต่างกันโดยที่แต่ละแอพพลิเคชั่นสามารถสื่อสารผ่านมันได้ ต่อไปนี้เป็นแนวทางบางประการเกี่ยวกับเวลาที่ควรใช้ ESB -
Integrating two or more applications - การใช้สถาปัตยกรรม ESB มีประโยชน์เมื่อจำเป็นต้องผสานรวมบริการหรือแอปพลิเคชันตั้งแต่สองตัวขึ้นไป
Integration of more applications in future - สมมติว่าหากเราต้องการเพิ่มบริการหรือแอพพลิเคชั่นเพิ่มเติมในอนาคตก็สามารถทำได้อย่างง่ายดายด้วยความช่วยเหลือของสถาปัตยกรรม ESB
Using multiple protocols - ในกรณีที่เราจำเป็นต้องใช้หลายโปรโตคอลเช่น HTTP, FTP, JMS เป็นต้น ESB เป็นตัวเลือกที่เหมาะสม
Message routing - เราสามารถใช้ ESB ในกรณีที่ต้องการการกำหนดเส้นทางข้อความตามเนื้อหาข้อความและพารามิเตอร์อื่น ๆ ที่คล้ายคลึงกัน
Composition and consumption - ESB สามารถใช้ได้หากเราต้องการเผยแพร่บริการสำหรับการจัดองค์ประกอบและการบริโภค
การรวม P2P เทียบกับการรวม ESB
ด้วยจำนวนแอพพลิเคชั่นที่เพิ่มขึ้นคำถามใหญ่ต่อหน้านักพัฒนาคือจะเชื่อมต่อแอพพลิเคชั่นต่างๆได้อย่างไร? สถานการณ์ได้รับการจัดการโดยการเข้ารหัสการเชื่อมต่อระหว่างแอปพลิเคชันต่างๆ นี้เรียกว่าpoint-to-point integration.
Rigidityเป็นข้อเสียเปรียบที่ชัดเจนที่สุดของการรวมจุดต่อจุด ความซับซ้อนเพิ่มขึ้นตามจำนวนการเชื่อมต่อและอินเทอร์เฟซที่เพิ่มขึ้น ข้อเสียของการรวม P-2-P ทำให้เราไปสู่การรวม ESB
ESB เป็นแนวทางที่ยืดหยุ่นกว่าในการรวมแอปพลิเคชัน มันห่อหุ้มและแสดงฟังก์ชันการทำงานของแต่ละแอปพลิเคชันเป็นชุดของความสามารถในการนำกลับมาใช้ใหม่ที่ไม่ต่อเนื่อง ไม่มีแอปพลิเคชันใดที่รวมเข้ากับแอปอื่น ๆ โดยตรง แต่จะรวมผ่าน ESB ดังที่แสดงด้านล่าง
สำหรับการจัดการการรวม ESB มีสององค์ประกอบดังต่อไปนี้ -
Service Registry- Mule ESB มี Service Registry / Repository ซึ่งมีการเผยแพร่และลงทะเบียนบริการทั้งหมดที่เปิดเผยใน ESB ทำหน้าที่เป็นจุดค้นพบจากจุดที่สามารถใช้บริการและความสามารถของแอปพลิเคชันอื่น ๆ
Centralized Administration - ตามความหมายของชื่อจะให้มุมมองของขั้นตอนการทำธุรกรรมของประสิทธิภาพของการโต้ตอบที่เกิดขึ้นภายใน ESB
ESB Functionality- โดยทั่วไปแล้วตัวย่อ VETRO จะใช้เพื่อสรุปการทำงานของ ESB มีดังต่อไปนี้ -
V(ตรวจสอบความถูกต้อง) - ตามความหมายของชื่อมันจะตรวจสอบความถูกต้องของสคีมา ต้องใช้ตัวแยกวิเคราะห์ที่ตรวจสอบความถูกต้องและสคีมาที่ทันสมัย ตัวอย่างหนึ่งคือเอกสาร XML ที่ยืนยันถึงสคีมาที่เป็นปัจจุบัน
E(Enrich) - เพิ่มข้อมูลเพิ่มเติมให้กับข้อความ วัตถุประสงค์คือเพื่อให้ข้อความมีความหมายและเป็นประโยชน์ต่อบริการเป้าหมายมากขึ้น
T(Transform) - แปลงโครงสร้างข้อมูลเป็นรูปแบบที่ยอมรับหรือจากรูปแบบที่ยอมรับ ตัวอย่างเช่นการแปลงวันที่ / เวลาสกุลเงิน ฯลฯ
R(การกำหนดเส้นทาง) - จะกำหนดเส้นทางข้อความและทำหน้าที่เป็นผู้เฝ้าประตูปลายทางของบริการ
O(Operate) - งานหลักของฟังก์ชันนี้คือเรียกใช้บริการเป้าหมายหรือโต้ตอบกับแอปเป้าหมาย พวกเขาทำงานที่แบ็กเอนด์
รูปแบบ VETRO ให้ความยืดหยุ่นโดยรวมในการรวมและทำให้มั่นใจได้ว่าจะมีการกำหนดเส้นทางเฉพาะข้อมูลที่สอดคล้องกันและผ่านการตรวจสอบแล้วทั่วทั้ง ESB
Mule ESB คืออะไร?
Mule ESB เป็นบัสบริการระดับองค์กรที่ใช้ Java (ESB) ที่มีน้ำหนักเบาและปรับขนาดได้สูงและแพลตฟอร์มการผสานรวมที่ MuleSoft จัดหาให้ Mule ESB ช่วยให้นักพัฒนาสามารถเชื่อมต่อแอปพลิเคชันได้อย่างง่ายดายและรวดเร็ว โดยไม่คำนึงถึงเทคโนโลยีต่างๆที่ใช้โดยแอปพลิเคชัน Mule ESB ช่วยให้สามารถรวมแอปพลิเคชันได้ง่ายทำให้สามารถแลกเปลี่ยนข้อมูลได้ Mule ESB มีสองรุ่นต่อไปนี้ -
- ฉบับชุมชน
- Enterprise Edition
ข้อได้เปรียบของ Mule ESB คือเราสามารถอัปเกรดจากชุมชน Mule ESB เป็น Mule ESB enterprise ได้อย่างง่ายดายเนื่องจากทั้งสองรุ่นสร้างขึ้นจากฐานรหัสทั่วไป
คุณสมบัติและความสามารถของ Mule ESB
คุณสมบัติต่อไปนี้ถูกครอบครองโดย Mule ESB -
- มีการออกแบบกราฟิกแบบลากและวางที่เรียบง่าย
- Mule ESB สามารถทำแผนที่และแปลงข้อมูลด้วยภาพ
- ผู้ใช้จะได้รับสิ่งอำนวยความสะดวกของตัวเชื่อมต่อที่ได้รับการรับรองที่สร้างไว้ล่วงหน้ากว่า 100 ตัว
- การตรวจสอบและการบริหารแบบรวมศูนย์
- มีความสามารถในการบังคับใช้ความปลอดภัยระดับองค์กรที่แข็งแกร่ง
- มีสิ่งอำนวยความสะดวกในการจัดการ API
- มีเกตเวย์ข้อมูลที่ปลอดภัยสำหรับการเชื่อมต่อบนคลาวด์ / ในองค์กร
- ให้บริการรีจิสทรีที่มีการเผยแพร่และลงทะเบียนบริการทั้งหมดที่เปิดเผยใน ESB
- ผู้ใช้สามารถควบคุมผ่านคอนโซลการจัดการบนเว็บ
- การดีบักอย่างรวดเร็วสามารถทำได้โดยใช้ตัววิเคราะห์การไหลของบริการ