Page 129 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 129
Spring Framework | 129
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public Function<String, String> uppercase() {
return value -> value.toUpperCase();
}
}
Spring Cloud Data Flow, geliştiricilerin her türlü veri kaynağı ve hedefle çalışmak için araçlar
ve otomasyonlar sunar. Yüksek verimli veri akışı dizileri oluşturmak, dağıtmak, yönetmek ve
ölçeklendirmek için birden çok bulutta yerel platformda kullanılabilir. Bunun yanı sıra, uygulamaları
kolayca oluşturmak ve izlemek için zengin bir kullanıcı arayüzüne sahiptir (Şekil 9).
Şekil 9. Spring Cloud Veri Akışı
Spring Cloud Stream, yalnızca Kafka Streams ile çalışmak için ikinci, daha özel bir bağlayıcı sağlar.
Bu bağlayıcı, Kafka’ya özgü özellikleri desteklemekle birlikte geliştirici üretkenliğine de odaklanır.
Örneğin, KStream, KTable ve GlobalKTable gibi özellikleri destekler. Ayrıca, normal Spring
Cloud Stream’deki gibi, bağlayıcı Kafka’ya bağlanmanın yanı sıra akışları ve konuları oluşturma,
yapılandırma ve sürdürme ile de ilgilenir.
Spring AMQP ve Spring for Apache Kafka projeleri, Kafka veya RabbitMQ tabanlı mesajlaşma
çözümleri için temel Spring kavramlarının uygulanmasını sağlar. Her ikisi de “şablon” (template)
adı verilen üst düzey bir mesaj işleme soyutlaması ile bir “dinleyici kapsayıcı” (listener container)
kullanarak mesaj odaklı POJO’ları destekler.
Uygulama entegrasyonu, her kuruluş için zor olabilir. Ancak, Spring Entegrasyonu popüler Spring
programlama modelini en yaygın entegrasyon modellerini içerecek şekilde genişleterek bu yükü
hafifletir. Mesajlaşma platformları, iletişim protokolleri, dosya sistemleri ve hizmet sağlayıcılar
için hazır bağlayıcılar ve mesaj yönlendirme, veri dönüştürme ve filtreleme gibi yaygın kalıpların
uygulamaları da vardır.