Java EE ve SE Nedir?
Merhabalar,
7 ay kadar önce Php ile kodlama yaparken, kurumsal hayatın gerekliliği Java ile uygulama geliştirmeye başladım 😄
Java ile uygulama geliştirirken teknik kısmı bir tarafa teorik konulara da zaman ayırmam gerekti.
Java çok güçlü bir programlama dili olmakla beraber teorisi ve standartları kalabalık bir dil ve benim bunları kavrayabilmek için teknik geliştirmeler yaparken bir taraftan teorik araştırmalar yapmam gerekti. Kafamı karıştıran kavramlardan biride Java programlama dilinin farklı platformlarda kullanılan sürümleriydi.
En çok karşıma çıkan sürümler ise Java SE ve Java EE namı diğer Jakarta EE oldu. Bu sürümler ile ilgili edindiğim bilgileri temel düzeyde bu yazıda toplamak istedim.
Uygulamaların isterlerine göre gerekli olan teknolojiler, kütüphaneler değişiklik gösterir. Java bu gereklilikleri belirli guruplar halinde EE ,SE ve ME gibi ayırmıştır.
Java Platform Standard Edition (Java SE):
Java uygulamaları geliştirmek için gerekli olan temel fonksiyonları ve kütüphaneleri içerir. Temel OOP yapıları, değişkenleri veri tabanı bağlantıları gibi işlemleri içerisinde bulundurur.
Java SE kullanarak desktop uygulamaları ve web üzerinde çalışan uygulamalar ve çeşitli uygulamalar geliştirmek için kullanımı oldukça yaygındır.
Java SE platform bağımsız olması , ölçeklenebilir olması ve geniş geliştirici topluluğu gibi avantajlarından ötürü sıklıkla tercih edilir.
Bazı Java SE bileşenleri aşağıda yer almaktadır;
- Java Development Kit(JDK)
- Java
- Swing ve Awt
- Temel Kütüphaneler
- Java API
- Deploy ve paketleme
Java Platform Enterprise Edition (Java EE):
Jakarta EE olarak da bilinir, Java SE’ nin üzerine eklemeler yapılarak geliştirilmiştir. Kurumsal düzeyde ve büyük ölçekli uygulamalar geliştirilirken kullanılabilir.
Bazı Java EE bileşenleri aşağıda yer almaktadır;
- Web Katmanı: Servlet, JavaServer Pages (JSP), JavaServer Faces (JSF) ve web servisleri için destek sağlar.
- Enterprise JavaBeans (EJB): Sunucu tarafı uygulamaları oluşturmak için bir bileşen mimarisidir. Transaction yönetimi, güvenlik ve ölçeklenebilirlik sağlar.
- Java Persistence API (JPA): ORM için java standardıdır. Java objeleri ile ilişkisel veri tabanı tabloları arasında ki iletişimi sağlar. İşlemleri ön belleğe alma ve sorgulama yetenekleri için üst düzey destek sağlar.
- Contexts and Dependency Injection (CDI): Nesmelerin dinamik olarak oluşturulması , yönetilmesi ve diğer Java objeleri tarafından kullanımına güçlü bir olanak sağlar.
- Java Message Service (JMS):Kuyruk yapılarını(Message Queues) kullanarak farklı bileşenler veya sistemler arası asenkron bir iletişim kurulmasına olanak sağlar.
- Java EE Security: Kimlik doğrulama, yetki ve güvenlik sorgulamalarını yapabileceğimiz kapsamlı bir mekanizma sağlar. Harici güvenlik sağlayıcıların kullanımına olanak sağlar.
- Java EE Connector Architecture (JCA): Standartlaşmış bir biçimde harici sistemlere entegre olmaya olanak sağlar.
- Java EE API ve Services : Java EE, e-posta göndermek ve almak için JavaMail, dağıtılmış işlemleri yönetmek için Java Transaction API (JTA) gibi çok sayıda başka API ve hizmet içerir.
Java EE kullanarak güçlü ve kurumsal düzeyde uygulamalar geliştirilebilir. Farklı uygulama sunucuları arasında güvenli bir şekilde iletişim kurulmasına, veri alış verişine güçlü bir alt yapı ve standardizasyon sağlar.