Page 128 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 128

128 | Spring Framework



           Spring portföyü, sunucusuz uygulamaların geliştirilmesi için birçok farklı araç ve kütüphane sunar.
           Bu araçlar, geliştiricilerin verilere erişme, entegrasyon kalıplarını kullanma ve reaktif programlama

           gibi konulara odaklanmalarını sağlar. Spring Data, veritabanlarına erişmek için kullanılır ve birçok
           farklı  veri  tabanı  teknolojisini  destekler.  Spring  Integration,  kurumsal  entegrasyon  kalıplarını
           uygulamak için kullanılır ve mesajlaşma sistemleri, e-posta ve dosya işlemleri gibi farklı entegrasyon
           senaryolarını  destekler.  Spring  Framework  ve  Project  Reactor  ise,  reaktif  programlama  için
           kullanılan kütüphanelerdir ve asenkron programlama modellerini desteklerler.

           Spring Cloud Function ise, sunucusuz uygulamalar için bir işlevsel hizmet çerçevesidir. Bu çerçeve,
           geliştiricilerin işlevlerini birçok farklı sunucusuz platformda çalıştırmalarını sağlar ve geliştiricilerin
           platforma  özgü  API’lerle  uğraşmasını  engeller.  Spring  Cloud  Function,  çekirdek  Java’daki  java.
           util.function  paketini  kullanarak  işlevlerin  tanımlanmasını  ve  yönetilmesini  sağlar.  Bu  sayede,
           geliştiricilerin işlevlerini çok çeşitli sunucusuz platformlarda çalıştırmaları kolaylaşır ve platforma

           bağımlılıklarından kurtulmaları mümkün hale gelir. Özetle, Spring Cloud Function şunları sağlar:
           •   Programlama stilleri seçimi: reaktif, zorunlu veya hibrit.
           •   Işlev bileşimi ve uyarlama (örneğin, zorunlu işlevleri reaktif ile oluşturma).
           •   Fonksiyonların birleştirme ve diğer karmaşık akış işlemlerini yönetmesine izin vermek için çoklu
              giriş ve çıkışlarla reaktif fonksiyon desteği.

           •   Giriş ve çıkışların şeffaf tip dönüşümü.
           •   Hedef platforma özel dağıtımlar için paketleme işlevleri (Project Riff, AWS Lambda).
           •   Esnek imzalı işlevler (POJO işlevleri) Spring’in deyimlerinin ve programlama modelinin diğer tüm
              faydaları.

           Spring Cloud Function, işlevlerinizi Amazon Lambda, Apache OpenWhisk, Microsoft Azure ve
           Project Riff dahil olmak üzere en yaygın FaaS hizmetlerinde çalıştırabilmeniz için adaptörler sağlar.



           6. Olay Güdümlü Uygulamalar (Event Driven)

           Olay güdümlü sistemler, modern işletmelerin gerçekte nasıl çalıştığını yansıtır. Binlerce küçük değişiklik

           her gün gerçekleşir ve bu değişiklikler olaylar olarak kaydedilir. Spring, bu olayları yönetme ve işlemeye
           yönelik bir dizi araç sağlayarak, uygulamaların işletme ile senkronize kalmasını kolaylaştırır.

           Spring; olay akışı, veri akışı ve entegrasyon gibi farklı olay odaklı seçenekler sunar. Örneğin, veri akışı
           sabit bir olay akışını temsil eder ve hisse senedi fiyatı değiştiğinde yeni bir olay oluşur. Entegrasyon
           ise mesaj işleme temeline dayanır ve mesaj platformlarına bağlanma, mesajları yönlendirme, mesajları
           dönüştürme ve mesajları işleme gibi zorlukları çözer.

           Spring Cloud Stream, Apache Kafka, RabbitMQ, Azure Event Hub ve diğer mesajlaşma sistemleriyle
           çalışırken üretkenliği arttırmak için üç temel soyutlama sağlar. Bu soyutlamalar bağlayıcılar, bağlamalar
           ve  mesajlar  olarak  adlandırılır  ve  kaynak  sağlama,  içerik  dönüştürme,  hata  işleme,  yapılandırma
           yönetimi, tüketici grupları, bölümleme, izleme ve sağlık kontrolleri gibi özellikleri de destekler.

           Spring Cloud Function ise, kodunuzu AWS, Azure gibi yerlerde çalıştırmanıza olanak tanır ve işlevleri
           zincirleyerek yeni yetenekler oluşturmanıza olanak sağlar. Bu araç, kapsamlı Spring API’lerini kullanarak
           üretkenliği artırır ve çoklu giriş ve çıkış desteği gibi özellikleri de destekler.
   123   124   125   126   127   128   129   130   131   132   133