Apache Camel - Özellikler
Apache Camel'in bir özetini gördükten sonra, şimdi ne sunduğunu görmek için özelliklerini inceleyelim. Apache Camel'in temelde çeşitli EIP'lerin uygulamasını sağlayan açık kaynaklı bir Java çerçevesi olduğunu zaten biliyoruz. Camel, çok çeşitli aktarımlara ve API'lere bağlantı sağlayarak entegrasyonu kolaylaştırır. Örneğin, JMS'den JSON'a, JSON'dan JMS'ye, HTTP'den JMS'ye, FTP'den JMS'ye, hatta HTTP'den HTTP'ye ve Mikro Hizmetlere bağlanabilirliği kolayca yönlendirebilirsiniz. Her iki uçta da uygun uç noktaları sağlamanız yeterlidir. Camel genişletilebilir ve bu nedenle gelecekte çerçeveye kolayca daha fazla uç nokta eklenebilir.
EIP'leri ve aktarımları birbirine bağlamak için Java, Scala ve Groovy gibi Etki Alanına Özgü Diller (DSL'ler) kullanırsınız. Tipik bir Java yönlendirme kuralı şöyle görünebilir:
from ("file:/order").to("jms:orderQueue");
Bu yönlendirme kuralı, dosyaları şuradan yükler: order dizin, dosyanın içeriğiyle bir JMS mesajı oluşturur ve bu mesajı, dosya adı verilen bir kuyruğa gönderir. orderQueue.
İşte Camel uygulamalarının geliştirilmesinde faydalı bulacağınız en önemli özelliklerden bazıları:
Camel , bu tür mesaj dönüşümleri için takılabilir veri formatlarını ve tür dönüştürücüleri destekler , böylece gelecekte yeni formatlar ve dönüştürücüler eklenebilir. Şu anda, birkaç popüler biçimi ve dönüştürücüyü desteklemektedir; CSV, EDI, JAXB, JSON, XmlBeans, XStream, Flatpack, Zip gibi birkaç isim vermek gerekirse.
Camel, DSL'de tahminler yazmak için takılabilir dilleri destekler . Desteklenen dillerden bazıları JavaScript, Groovy, Python, PHP, Ruby, SQL, XPath, XQuery'dir.
Camel, Javabeans'ı çeşitli noktalarda takabilmeniz için POJO modelini destekler.
Camel, mesajlaşma kullanarak bu kadar büyük dağıtılmış ve asenkron sistemlerin test edilmesini kolaylaştırır.
Şimdi Camel'in mimarisini anlayalım ve çeşitli özelliklerin nasıl uygulandığını görelim.