İçeriğe atla

Enterprise JavaBeans

İşe yönelik yeniden kullanılabilir Java elemanlarının nasıl çalıştığını gösteren bir görsel.

Enterprise JavaBeans (EJB) veya Türkçe karşılığı ile işe yönelik yeniden kullanılabilir Java elemanları iş uygulamalarının modüler bir şekilde kurulması için tasarlanmış yönetilebilir sunucu-yanı (server-side) eleman mimarisidir.

EJB Java Enterprise Edition içinde yer alan çok sayıdaki Java API (Java uygulama programlama arayüzü) tanımlamalarından bir tanesidir. EJB sunucu-yanı bir model olup uygulamaların iş mantığını içerir.

EJB tanımlamasının ana amacı, genelde iş uygulamalarında bulunan arka plandaki (back-end) kodun yerine getirilmesi için standart bir yol sağlamaktır. Bu kodlar yazılımda aynı tür problemin sıklıkla meydana geldiği ve programcılar tarafından çözümlerinin tekrarlanarak yerine getirildiği kısımları teşkil eder. Bu sebeple, Enterprise JavaBeans EJB devamlılık, işlemsel bütünlük ve güvenlik gibi yaygın konuları standart yollarla desteklemek ve programcılara belli bir problemı inceleme serbestisi vermek üzere tasarlanmıştır.

EJB tanımlaması bir uygulama sunucusunun aşağıda belirtilen teknikleri nasıl yerine getirdiğinin detaylı bir açıklamasını içerir:

  • Java Persistence API (JPA) üzerinden Persistence (Devamlılık)
  • Hareket işleme
  • JMS (Java Mesaj Servisi) kullanarak Events (Olaylar)
  • Java Naming and directory services (JNDI) - Java isimlendirme ve adresleme servisleri
  • Security (Java Cryptography Extension (JCE) and JAAS ) - Güvenlik (Java şifreleme uzantıları (JCE) ve Java kimlik denetimi ve yetkileme servisi (JAAS) )
  • Yazılım elemanlarının uygulama sunucusuna yüklenmesi
  • Remote Method Invocation (RMI-IIOP) kullanarak uzak fonksiyon çağrısı (RPC)
  • İş metotlarının Web hizmeti olarak kullanıma sunulması

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Java</span> açık kaynak kodlu, nesneye yönelik, zeminden bağımsız, yüksek verimli, çok işlevli, yüksek seviye, adım adım işletilen bir programlama dili

Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmış açık kaynak kodlu, nesneye yönelik, platform bağımsız, yüksek verimli, çok işlevli, yüksek seviye, hem yorumlanan hem de derlenen bir dildir.

<span class="mw-page-title-main">Sunucu (bilişim)</span> bilgisayar ağlarında, diğer ağ bileşenlerinin (kullanıcıların) erişebileceği, kullanımına ve/veya paylaşımına açık kaynakları barındıran bilgisayar birimi

Sunucu, bilişim alanında "istemci" denilen diğer program ve cihazlara çeşitli işlevler sunan bilgisayar donanımları veya yazılımlarıdır. Bu mimariye istemci-sunucu modeli denir. Sunucular, istemciler arasında veri veya kaynak paylaşımı, bir istemci için hesaplama yapma gibi çeşitli işlevleri yerine getirebilirler. Bu işlevlere genellikle "servis" veya "hizmet" denir. Tek bir sunucu çok sayıda istemciye hizmet verebilir, tek bir istemci de çok sayıda sunucudan hizmet alabilir. İstemci ve sunucu aynı cihaz üzerinde çalışabileceği gibi, istemci ağ üzerinden farklı bir cihazdaki sunucuya da bağlanabilir. Tipik sunucular arasında veritabanı sunucuları, dosya sunucuları, e-posta sunucuları, yazdırma sunucuları, web sunucuları, oyun sunucuları ve uygulama sunucuları sayılabilir.

Java EE, özellikle büyük çaplı projelerin ihtiyaçları için geliştirilmiş Java teknolojilerinin bütünün oluşturduğu çerçevenin ve standardın ismidir. Java EE servislerini sunan yazılımlara uygulama sunucusu denir. Java EE'yi oluşturan teknolojilerin bir kısmı aşağıda sıralanmıştır:

Uygulama katmanı veya OSI 7. katman, programların ağı kullanabilmesi için araçlar sunar. Bilgisayar uygulaması ile ağ arasındaki arabirim görevini yerine getirmektedir. Katmanların sıralanışında kullanıcıya en yakın olanıdır. Sadece bu katman diğer katmanlara servis sağlamaz. Uygulama katmanında ise uygulamaların ağ üzerinde çalışması sağlanır.

<span class="mw-page-title-main">Windows Server 2003</span> 2003 yılında piyasaya sürülen ve ilk Windows Server sürümü

Windows Server 2003, 25 Nisan 2003'te piyasaya çıkan, Windows 2000 Server gibi, küçük ve merkezi yönetimli kuruluşlardan geniş çaplı kuruluşlara kadar her çapta kuruluşun gereksinimlerine yanıt vermek üzere tasarlanmış, ayrıca kuruluşların .NET Framework özelliğinden tam olarak yararlanabilmesini sağlayacak biçimde geliştirmiş sunucudur.

<span class="mw-page-title-main">JavaServer Faces</span>

JavaServer Faces (JSF), Java tabanlı web uygulamalarını kolaylaştırmak için Model-View-Controller (MVC) yapısına uygun olarak geliştirilmiş bir şartnamedir (framework).

Uygulama programlama arayüzü, bir yazılımın başka bir yazılımda tanımlanmış işlevlerini kullanabilmesi için oluşturulmuş bir tanım bütünüdür. API; web uygulaması, işletim sistemi, veritabanı, donanımlar yahut yazılım kütüphanesi için kullanılabilir. Günümüzde yoğunlukla web tabanlı uygulamalarda istemci ve sunucu arasındaki iletişimi sağlayan bir sözleşme olarak kullanılmaktadır. Öyle ki istemci spesifik bir formatta veri talep eder ve her halükarda sunucudan yine belirli bir formatta cevap alır. Bu durum API'nın özel bir formu olarak WebAPI olarak da adlandırılır.

<span class="mw-page-title-main">Transport Layer Security</span> Internet Şifreleme Protokolü

Taşıma Katmanı Güvenliği (TLS) ve onun öncülü/selefi olan Güvenli Soket Katmanı (SSL), bilgisayar ağı üzerinden güvenli haberleşmeyi sağlamak için tasarlanmış kriptolama protokolleridir. X.509 sertifikalarını kullanırlar ve bundan dolayı karşı tarafla iletişime geçeceklerin kimlik doğrulaması asimetrik şifreleme ile yapılır ve bir simetrik anahtar üzerinde anlaşılır. Bu oturum anahtarı daha sonra taraflar arasındaki veri akışını şifrelemek için kullanılır. Bu, mesaj/veri gizliliğine ve mesaj kimlik doğrulama kodları için mesaj bütünlüğüne izin verir. Protokollerin birçok versiyonu ağ tarama, elektronik mail, İnternet üzerinden faks, anlık mesajlaşma ve İnternet üzerinden sesli iletişim gibi uygulamalarda yaygın olarak kullanılmaktadır. Bu durumda/içerikte/bağlamda en önemli özellik iletme gizliliğidir. Bundan dolayı kısa süreli oturum anahtarı, uzun süreli gizli simetrik anahtardan türetilememelidir.

Standart Performans Ölçüm Kurumu(Standard Performance Evaluation Corporation ) amacı bilgisayarların başarımlarını ölçebilen dürüst, tarafsız ve anlamlı denektaşları üretmek olan; kâr amacı gütmeyen bir şirkettir. Kuruluş yılı 1988’dir. Üyeleri arasında önde gelen bilgisayar ve yazılım şirketleri yer almaktadır. Günümüzde SPEC’in değerlendirmeleri bilgisayar sistemlerinin geliştirilmesinde yaygın olarak kullanılmaktadır. Bu değerlendirmeler kurumun internet sitesinde yayımlanmaktadır. Değerlendirme sonuçları gayri resmi olarak “SPECmarks” veya “SPEC” olarak anılmaktadır.

<span class="mw-page-title-main">Yük dengeleme</span>

Yük dengeleme; işi, iki ya da daha fazla bilgisayar, işlemci, sabit disk ya da diğer kaynaklar arasında paylaştırma teknolojisidir. Bu teknolojiyi kullanarak en iyi kaynak kullanımı, en yüksek işlem hacmi, en düşük cevap süresi sağlanabilir; oluşabilecek aşırı yüklemeden (overload) kurtulunabilir.

Uzak yordam çağrısı (ya da uzak prosedür çağrısı; İngilizce: Remote Procedure Call , bir diğer adres uzayı üzerinde programcı açıkça bu uzaktan etkileşim detayları kodlama olmadan çalıştırmak için bir alt yordam veya prosedürü sağlayan bilgisayar programına izin veren süreçler arası iletişim teknolojisidir. Sunucu üzerindeki servisleri kontrol ettiğimizde karşımıza çıkan RPC, arka plânda birçok şeyi gerçekleştiren bir servistir. RPC, temelde istemci ve sunucu arasında yapılan işlemlerin iletişimi için tasarlandı. Bir işlemin gerçekleşmesi için bir gönderici ve bir de istemci vardır.. Yani programcı, alt prosedür ister çalışan programın yerelinde ister uzağında olsun, temelde aynı kodu yazar. Bu bir tür istemci-sunucu etkileşimidir ve tipik olarak bir istek-yanıt mesaj geçirme sistemi aracılığıyla uygulanır. Nesne yönelimli programlama modelinde, RPC'ler uzaktan yöntem çağırma ile temsil edilir. RPC modeli bir konum şeffaflığı seviyesini ifade eder, yani çağrı prosedürleri yerel ya da uzak olsun büyük ölçüde aynıdır, ancak genellikle aynı değildirler, bu nedenle yerel çağrılar uzak çağrılardan ayırt edilebilir. Uzak çağrılar genellikle yerel çağrılardan çok daha yavaş ve daha az güvenilirdir, bu nedenle bunları ayırt etmek önemlidir.

<span class="mw-page-title-main">Bulut bilişim</span> internet tabanlı bilişim hizmeti

Bulut bilişim, bilgisayarlar ve diğer cihazlar için, istendiği zaman kullanılabilen ve kullanıcılar arasında paylaşılan bilgisayar kaynakları sağlayan, internet tabanlı bilişim hizmetlerinin genel adıdır. Bulut bilişim bu yönüyle bir ürün değil, hizmettir; temel kaynaktaki yazılım ve bilgilerin paylaşımı sağlanarak, mevcut bilişim hizmetinin; bilgisayarlar ve diğer aygıtlardan elektrik dağıtıcılarına benzer bir biçimde bilişim ağı üzerinden kullanılmasıdır.

<span class="mw-page-title-main">Veri merkezi</span> bilgisayar sunucularının ve ilgili ekipmanın çalıştırıldığı bina veya oda

Veri merkezi, bilgisayar sistemleri ile telekomünikasyon ve veri ambarı sistemleri gibi ek sistemleri barındıran bir tesistir. Sunucu odası veya sistem odası olarak da adlandırılan bu tesisler işletmelere ait sunucu ve veri ambarlarının bulunduğu alanlardır. Veri merkezleri genel olarak iki kategoriye ayrılır:özel veri merkezleri ve İnternet veri merkezleri. Özel veri merkezleri sadece bir kuruluş tarafından kendi hizmetlerinde kullanılır. İnternet veri merkezleri ise üçüncü şahıslara hizmet verir.

GLFW, temelde ve ilk olarak OpenGL ile kullanılmak üzere geliştirilmiş hafif bir yardımcı kütüphanedir. Programcıya, üzerinde çalışılan işletim sisteminden bağımsız olarak OpenGL ve Vulkan için 'context' ve pencere yaratma, klavye, fare, oyun çubuğu girdi ve çıktılarını yönetme kolaylığı sağlar.

<span class="mw-page-title-main">Yazılım iskeleti</span>

Bilgisayar programlamada yazılım iskeleti, yazılım çerçevesi ya da yazılım çatısı, standart fonksiyonların hazır olarak sunulduğu ancak programcı tarafından bu fonksiyonlardan arzu edilen kısımların ek kodlarla istenildiği şekilde güncellenebildiği sistemlerdir.

Dart, ilk kez Google tarafından geliştirilen ve daha sonraları ECMA tarafından standart (ECMA-408) haline getirilen açık kaynaklı ve genel-amaçlı bir programlama dilidir. Dart dili kullanılarak web, sunucu, mobil uygulamalar ve IoT cihazları geliştirilebilir.

<span class="mw-page-title-main">Windows Live Connect</span>

Windows Live Connect Microsoft'un Windows Live hizmetlerinin bir parçasıydı. API'lar ve ortak kontrollerin bir toplamıdır. Geliştiricilere daha derin bir denetime sahip olmasını, açık ve kolayca erişilebilen uygulama programlama arabirimleriyle (API'ler) çekirdek Windows Live hizmetlerine ve verilere erişmesini sağlar.

<span class="mw-page-title-main">Android yazılımı geliştirme</span>

Android yazılım geliştirmesi Android işletim sistemi için yeni uygulamaların oluşturulduğu süreçtir. Uygulamalar genellikle Android yazılım geliştirme kiti (SDK) kullanılarak Java programlama dilinde geliştirilir; ancak diğer geliştirme ortamları da mevcuttur. Google, Android uygulamaları Kotlin, Java ve C++ dilleri kullanılarak Android yazılım geliştirme kiti (SDK) kullanılarak yazılabilir" ve diğer dilleri kullanmak da mümkün olduğunu belirtiyor. Go, JavaScript, C, C++ veya Assembly gibi Java sanal makinesi (JVM) dışı tüm diller, muhtemelen kısıtlı API desteğiyle araçlar tarafından sağlanabilecek JVM dil kodunun yardımına ihtiyaç duyar.

Windows Server ile karıştırılmamalıdır.

Bir web geliştiricisi, istemci-sunucu modeli kullanarak World Wide Web uygulamalarının geliştirilmesinde uzmanlaşmış veya özel olarak ilgilenen bir programcıdır. Uygulamalar genellikle istemcide, PHP, ASP'de HTML, CSS ve JavaScript kullanır. NET (C#), Python, Node.js, sunucuda Go veya Java ve istemci ile sunucu arasındaki iletişim için http bağlantılarını kullanmaktadır. Bir web içerik yönetim sistemi genellikle web uygulamalarını geliştirmek ve sürdürmek için kullanılır.