Tüm Araştırma Serisi Yayınları

REST API ve gRPC Mimarî Stillerinin Karşılaştırması
SAYI: 06
gRPC ve REST API, modern uygulama geliştirme süreçlerinde yaygın olarak kullanılan iki farklı mimarî stildir. Google tarafından geliştirilen gRPC, performans ve verimlilik odaklı bir yapı sunarken, REST API kullanılabilirlik ve basitlik üzerine kurulmuş daha genel bir yapıya sahiptir. gRPC, Protobuf adı verilen serileştirme formatını kullanarak verileri binary formatına dönüştürür, düşük bellek kullanımı ile de yüksek hızlı iletişim sağlar. REST API ise genellikle JSON formatını kullanarak verilerin aktarımını gerçekleştirir.
Bu çalışmanın amacı uygulama ihtiyaçları, performans, veri bütünlüğü, platform bağımsızlığı gibi faktörler göz önünde bulundurularak doğru mimarî stilin seçilmesinde okuyucuya rehberlik etmektir.

Spring Framework
SAYI: 05
Spring Framework, Java uygulamalarını geliştirmek için kapsamlı altyapı desteği sağlayan ve açık kaynak kodlu bir geliştirme platformudur. Son zamanlarda güncel teknolojiler arasında popülerliğini arttırmış ve en çok tercih edilen uygulama çerçevelerinden (framework) biri olarak öne çıkmıştır.
Spring Framework, Java dilinde uygulama geliştirirken kullanılan en önemli araçlardan biri olarak kabul edilmektedir. Bu framework, Java uygulamalarının geliştirilmesi sırasında sıkça karşılaşılan zorlukları ortadan kaldırmayı hedefler. Tüm program kodunu sıfırdan yazma çabasını ortadan kaldırarak uygulama yazma sürecini ve aşamalarını kolaylaştırır.
Bu çalışma kapsamında genel olarak Spring Framework kavramları, özellikleri, kullanılabileceği alanlar, neler yapılabileceği, tercih edilme durumları gibi konulara değinilmiştir.

Kimlik Doğrulama Altyapılarının Kullanımı
SAYI: 04
Kullanıcı kimlik doğrulaması ve yetkilendirilmesi için pek çok teknoloji mevcuttur. Bunlar arasında Apereo CAS, Keycloak, Gluu, Okta, Shibboleth, WSO2, AWS Cognito sayılabilir. Bu çalışma ile, açık kaynak olmaları, genişletilebilirlikleri ve kapsamları nedeniyle web tabanlı uygulamalar için güvenli tek oturum açma (Single Sign-On / SSO) hizmeti sunan Apereo CAS ve Keycloak teknolojileri incelenmiştir. Yazılım projelerinin önemli bir parçası olan kullanıcı girişi ve yetkilendirilmesi teknolojileri hakkında alternatifler araştırılmış ve Spring Framework ile bu alternatif teknolojilerin entegre edilebilirliği test edilmiştir. Bu çalışma, yazılım projelerine güvenlik katmanı eklemek isteyen bütün kamu kurumu ve özel sektörlerde kullanabilecek bir çerçevede ele alınmıştır.

Mikro Önyüz Mimarisi
SAYI: 03
Dünyanın giderek dijitalleştiği, her şeyin sanal ortama aktarıldığı bir dönemde yaşıyoruz. Son kullanıcıların zaman içerisinde değişen arzuları farklı ihtiyaçlara, farklı ihtiyaçlar yeni teknolojilere, yeni teknolojiler de bu ihtiyaçları karşılayan yazılım projelerinin hayata geçirilmesine zemin hazırlamıştır. Üretken bir döngü içerisinde dijital dönüşümlerin daha kolay yapılabilmesi için yeni teknoloji ve mimariler sürekli gelişti ve gelişmekte. Günümüzde oldukça popüler hâle gelen mikroservis ve mikro önyüz (micro frontend) mimarileri de bu döngü sonucunda ortaya çıkmıştır. Bu çalışmada, büyük ve karmaşık projelerin daha düşük maliyetler ile daha sürdürülebilir bir biçimde oluşturulmasına imkân sağlayan mikro önyüz mimarisi incelenmiştir.

CI/CD Süreç Yönetimi
SAYI: 02
Son dönemlerde yazılım geliştirme sektörü yavaş ama gerçek bir dönüşümden geçmektedir. Yazılımlar giderek her şeyin bir parçası hâline gelirken yazılım geliştiriciler, artan bu taleple daha fazla otomasyon yoluyla başa çıkmaya çalışmaktadır. Yeni özelliklerin ve uygulamaların hızlı dağıtımına yönelik yoğun talep nedeniyle Sürekli Entegrasyon (CI) ve Sürekli Teslimat (CD) prensipleri giderek daha fazla ve daha etkin kullanılır hâle gelmiştir. Bu çalışmanın amacı CI/CD pipeline yaklaşımı ile teslimat zaman çizelgesini, test yükü adımlarını ve kıyaslama görevlerini iyileştirerek teslimat sorunlarının üstesinden gelmektir.

Java’da Fonksiyonel Programlama
SAYI: 01
Java’da fonksiyonel programlama araçları; pratik işlevler yazmada-okumada oldukça kolaylık sağlamaktadır. Karmaşık döngüler, Stream API sayesinde sade bir hâle getirilebilir; bazı kontroller ve işlevler, birçok yerden çağırılabilecek fonksiyonel arayüzler kullanılarak kolay okunabilir, hata ayıklayabilir, test edilebilir ve yönetilebilir şekilde yazılabilmektedir. Bu çalışmada sayılan faydaların her birinin çalışma prensibi ayrı ayrı açıklanmış ve anlaşılması için kod örnekleri ve çıktıları belirtilmiştir.