Apache Camel - คุณสมบัติ
เมื่อได้เห็นภาพรวมของ Apache Camel แล้วตอนนี้เรามาเจาะลึกถึงคุณสมบัติต่างๆเพื่อดูว่ามีอะไรบ้าง เรารู้อยู่แล้วว่า Apache Camel เป็นเฟรมเวิร์ก Java โอเพ่นซอร์สที่ให้การใช้งาน EIP ต่างๆเป็นหลัก Camel ทำให้การรวมระบบทำได้ง่ายขึ้นโดยให้การเชื่อมต่อกับการขนส่งและ API ที่หลากหลาย ตัวอย่างเช่นคุณสามารถกำหนดเส้นทาง JMS เป็น JSON, JSON ไปยัง JMS, HTTP ไปยัง JMS, FTP ไปยัง JMS แม้กระทั่ง HTTP เป็น HTTP และการเชื่อมต่อกับ Microservices คุณต้องระบุจุดสิ้นสุดที่เหมาะสมที่ปลายทั้งสองด้าน อูฐสามารถขยายได้ดังนั้นในอนาคตสามารถเพิ่มจุดสิ้นสุดลงในเฟรมเวิร์กได้อย่างง่ายดาย
ในการเชื่อมต่อ EIP และการขนส่งเข้าด้วยกันคุณใช้ภาษาเฉพาะโดเมน (DSL) เช่น Java, Scala และ Groovy กฎการกำหนดเส้นทาง Java ทั่วไปอาจมีลักษณะดังนี้ -
from ("file:/order").to("jms:orderQueue");
กฎการกำหนดเส้นทางนี้โหลดไฟล์จากไฟล์ order ไดเร็กทอรีสร้างข้อความ JMS พร้อมเนื้อหาของไฟล์และส่งข้อความนั้นไปยังคิวที่เรียกว่า orderQueue.
นี่คือคุณสมบัติที่สำคัญที่สุดของ Camel ที่คุณจะพบว่ามีประโยชน์ในการพัฒนาแอพพลิเคชั่น Camel -
Camel รองรับรูปแบบข้อมูลที่เสียบได้และตัวแปลงประเภทสำหรับการแปลงข้อความดังกล่าวดังนั้นจึงสามารถเพิ่มรูปแบบและตัวแปลงใหม่ได้ในอนาคต ปัจจุบันรองรับรูปแบบและตัวแปลงยอดนิยมหลายรูปแบบ เพื่อตั้งชื่อไม่กี่ - CSV, EDI, JAXB, JSON, XmlBeans, XStream, Flatpack, Zip
Camel รองรับภาษาที่เสียบได้เพื่อเขียนเพรดิเคตใน DSL ภาษาที่รองรับบางภาษา ได้แก่ JavaScript, Groovy, Python, PHP, Ruby, SQL, XPath, XQuery
Camel รองรับรุ่น POJO เพื่อให้เสียบ Javabeans ตามจุดต่างๆ
Camel ช่วยลดการทดสอบระบบกระจายและอะซิงโครนัสขนาดใหญ่ดังกล่าวโดยใช้การส่งข้อความ
ตอนนี้ให้เราเข้าใจสถาปัตยกรรมของ Camel และดูว่าคุณสมบัติต่างๆถูกนำไปใช้อย่างไร