Java teknolojileri

Tamamlandı

Bu ünitede java çerçevelerinin, sunucularının ve platformlarının farklı türlerini ayırt edeceğiz.

Spring Framework

Spring Framework bir uygulama çerçevesidir ve denetimin ters çevrilmesi (IoC) kapsayıcısıdır. Spring geçmişte Enterprise JavaBeans (EJB) modelini tamamlamak için kullanılmıştır. Temel işlevleri şunlardır:

  • Bağımlılık enjeksiyonu
  • Boyut odaklı programlama
  • İş soyutlaması

Spring Boot

Spring Boot, Spring Framework'ün üzerine kuruludur ve belirlenmiş bir otomatik yapılandırmaya sahiptir. Spring Boot uygulamaları tek başına çalışır ve mikro hizmetler için mükemmel bir uyum sağlar.

Spring Data

Spring Data ilişkisel ve ilişkisel olmayan veritabanları, MapReduce çerçeveleri ve bulut tabanlı veri hizmetleri için veri erişimini basitleştirir.

Spring Security

Spring Security, Spring tabanlı uygulamaların güvenliğini sağlamaya yönelik fiili standarttır. Yüksek düzeyde kimlik doğrulaması ve erişim denetimi sunar. Örneğin Spring Security, Active Directory ile iyi tümleşir.

Spring Cloud

Spring Cloud, dağıtılmış sistemler için kullanılır. Spring Cloud hizmet bulma, yapılandırma yönetimi, izleme ve iyi bir geliştirici deneyimi ile birlikte gelir.

Spring Batch

Spring Batch, günlük işlemler için hayati önem taşıyan sağlam toplu iş uygulamaları için basit bir çerçevedir.

MicroProfile ve Jakarta EE

Java EE belirtimlerinin açık kaynak izlemesi olarak MicroProfile ve Jakarta Enterprise Edition (EE) bölümüne bakabilirsiniz.

MicroProfile, mikro hizmet mimarileri için bir dizi belirtimdir. Bir mikro hizmet mimarisi için Enterprise Java'nın iyileştirilmesine yönelik açık bir forum olarak adlandırıyor. MicroProfile, birden çok uygulamada yenilik yapmayı ve ortak ilgi alanları üzerinde işbirliği yapmayı amaçlar.

Jakarta EE, kurumsal uygulamalar oluşturmaya yönelik bir dizi belirtimdir. Modüler yapısı, geliştiricilerin verimli yazılım çözümleri oluşturmasını sağlar. Jakarta EE uygulamalarını EAR dosyaları veya WAR dosyaları olarak paketleyebilirsiniz.

Web Profili, web odaklı arka uç hizmetleri için Jakarta EE'nin bir alt kümesidir, ancak endişelenmeyin! Üzerine kurumsal platformun belirli API'lerini ekleyebilirsiniz.

Uygulama sunucuları

Java EE uygulamaları Java EE uyumlu uygulama sunucularına (Weblogic, WebSphere, WildFly, GlassFish, Payara ve diğerleri) dağıtılmalıdır.

  • Apache Tomcat bir HTTP sunucusu ve java Servlet kapsayıcısıdır. Servlet, Java Sunucu Sayfaları (JSP), Java İfade Dili ve Java WebSocket belirtimlerini uygular.

  • Oracle Weblogic Server , kurumsal uygulamaları geliştirmeye, dağıtmaya ve çalıştırmaya yönelik birleşik ve genişletilebilir bir platformdur. Weblogic Server, Java EE ve Jakarta EE'nin sağlam ve olgun bir uygulamasını sunar.

  • Red Hat JBoss Enterprise Application Platform (JBoss EAP), hem şirket içi hem de sanal uygulamalar ya da özel, genel veya karma bulutlar için kurumsal düzeyde güvenlik ve performans sunar.

  • WildFly , JBoss EAP için açık kaynak ana projedir. Topluluk odaklı bu çeşitlilik geliştirme ve test için mükemmeldir.

  • IBM WebSphere Application Server (WAS), kurumsal uygulamalar için esnek, güvenlik açısından zengin bir Java sunucusu çalışma zamanı ortamıdır. Yüksek güvenilirliğe odaklanır. Mikro hizmetleri ve standartlara dayalı programlama modellerini destekler. Kendi hızınızda modernleştirebilir, iş yükleri arasında daha fazla görünürlük elde edebilir, kurumsal uygulamaları analiz edebilir ve Kubernetes yolculuğunuzu ilerletebilirsiniz.

  • Open Liberty , WAS'nin topluluk odaklı, açık kaynak sürümüdür.

  • Oracle GlassFish , birçok Java EE web standardının (Servlet ve JSP dahil) başvuru uygulamasıdır.

Mikro hizmet odaklı mimariler için diğer çerçeveler

  • Netty , engelleyici olmayan bir G/Ç (NIO) istemci/sunucu çerçevesidir. Protokol sunucuları ve istemcileri gibi ağ uygulamalarının hızlı ve kolay bir şekilde geliştirilmesini sağlar. TCP ve UDP yuva sunucuları gibi ağ programlamayı büyük ölçüde basitleştirir ve kolaylaştırır. Netty, bakım yapılabilir, yüksek performanslı protokol sunucularının ve istemcilerinin hızlı bir şekilde geliştirilmesine yönelik zaman uyumsuz, olay odaklı bir ağ uygulaması çerçevesidir.

  • Quarkus , OpenJDK HotSpot ve GraalVM için uyarlanmış bir Kubernetes yerel Java yığınıdır. Quarkus her gün daha fazla ivme kazanıyor. Bu arada, Vert.x, Helidon, Payara Micro ve KumuluzEE gibi daha performans odaklı çerçeveler vardır.

  • Micronaut , modüler, kolayca test edilebilir mikro hizmet ve sunucusuz uygulamalar oluşturmaya yönelik modern, JVM tabanlı, tam yığınlı bir çerçevedir. Micronaut, yansıma kullanmayan bir bağımlılık enjeksiyonu ve aspekt yönelimli programlama çalışma zamanına sahiptir ve bu, Micronaut uygulamalarının GraalVM üzerinde çalışmasını kolaylaştırır.