|
|
Bu belgede J2EE ile ilgili sıkça sorulan soruları bulabilirsiniz.
S1 : J2EE (Java 2 Enterprise Edition) Nedir?
J2EE, Java'nın çok katmanlı kurumsal uygulama geliştirme standardıdır. J2EE, standart ve modüler bileşenlerden oluşan bir yapının karmaşık işlemler yapmadan, otomatik olarak geliştirilebilmesini sağlar. Çok sayıda makine, sunucu, veritabanı ve uygulamadan oluşan bir ortamın uyuölu çalışması için bir alt yapı oluşturur.
Sadece bir kaç kişilik bir ekibiyle geliştirilen basit uygulamalar, sadece bir veritabanı, bir sunucu ve az sayıda kullanıcıdan oluşan ağlar için yapılan sistemler için J2EE çok anlamlı gelmeyebilir. Ancak çok sayıda veritabanı, çok sayıda makine, çok sayıda sunucu birbirinden farklı yeteneklere ve gereksinmelere sahip çok sayıda kullanıcıdan oluşan büyük sistemler için uygulama geliştirmek oldukça karmaşık bir hal almaktadır. Hatta sistemden beklenen şlevler ve kullanıcı sayısı büyüdükçe basit mimariler bile tek makinenin tek sunucunun ve tek veritabanının kaldıramayacağı hale gelir. Bu durumlarda zorluk asıl işlevlerin gerçekleştirilmesinden daha çok bir üşlevleri gerçekleştirilmesinide kullanılan bileşenlerin entegrasyonunda çıkmaktadır. Bu tip ortamlarda 'dağıtık' uygulama geliştirme kavramı devreye girmektedir. Dağıtık sistemler, bütün sistemin ayrı makinelere, hatta ayrı networklere dağıtıldığı, birbirileriyle iletişim kuran bileşenlerden oluşan sistemlerdir. J2EE, bu tip ortamlarda yapılacak işlemleri kolaylaştırmakta, hatta bazı işlemleri otomatik olarak yapmaktadır.
S2 : J2EE Hangi Teknolojileri İçerir?
S3 : EJB (Enterprise Java Beans) Nedir? Entity Bean, Session Bean, Message-Driven Bean Nedir?
Enterprise Bean, business logic'i (belli bir işlevin çalışma mantığını) sunucu tafında barındıran özel bir nesne türüdür. İşlev sunucu tarfında tanımladığı için kullanıcı tarafındaki nesneler sadece enterprise bean'leri çağırırlar herhangi bir işlevi yapmak için. J2EE sunucuları, enterprise bean'lerin dağıtık yapısını, güvenliği, ağdaki yeri saklanması gibi konuları hallederler. Programcıya sadece bean'de neyin nasıl yapılacağını belirtmek kalır. J2EE'nin temel bileşeni EJB olarak düşünülebilir. Ancak EJB olmadan da server side enterprise application'ları geliştrilevilir. Enterprise Bean'ler 3 Tiptir Entity Bean, Session Bean, Message-Driven Bean. Entiy Bean, verinin saklanması ve erişilmesi için, Session Bean, belli bir sürede başlayıp biten süreçler için, Message-Driven Bean, doğrudan çağrılarak çalıştırılmayan, belli bir mesaj alındığında yapılan işler için.
S4 : CMP (Container-Managed Persistence) & BMP (Bean-Managed Persistence)
J2EE'nin somut olarak işlevlerine örnek olarak CMP (Container Managed Persistent) verliebilir. CMP ile programcılar isterlerse nesnelerini veritabanında otomatik olarak saklanmasını sağlayabilirler. Hiç SQL yazmadan sadece hangi alanların veritabanın saklanacağını (persistent olduğunu) belitmeleri yeterli olur. (Elbette istenirse veritabanında saklama işini kendileri de hallede bilirler ki buna da Bean )
J2EE bir standartlar bütünüdür. EJB bu standartlardan sadece biridir. EJB kullanmadan J2EE'nin diğer bileşenleri kullanılabilir. Hata J2EE deki her şeyi kullanan, bir ket EJB kullanmayanlarda bulunmaktadır. EJB performans ve karmaşıklık nedeniyle kullanım dışı bırakılabilmektedir. Ayrıca EJB, başka dille ve platformlarda benzeri olmayan bir kavram olduğu için, programcılar başka ortamlarda alıştıkları gibi çalışmaya devam etme eğilimindedirler. Örneğin ASP ve PHP yapanlar, için 3-Tier uygulamala geliştirdikleri için, JSP de aynı şekilde kullanılabilir. HTML-JSP-SQL şeklindeki standart kullanım J2EÊ'de de mümkündür, dahası yaygındır.
S6 : J2EE ile XXX Server Arasındaki Fark Nedir?
J2EE standartlar bütünüdür. Belli bir ürün veya ürün grubu değildir. Piyasada bu standarda uyan bir çok ürün bulunmaktadır. Sun (Java Server System) , IBM (WebSphere) , BEA (Web Logic), Oracle (8i,9i,..), Netscape gibi firmalar J2EE standardına uygun sistemler üremektedirler. Ayırca JBoss ve Apache (Gerenimo) gibi organizasyonlar da free j2EE uygulamaları üretmektedirler. Bunların bir kısmı Sun tarfından verilen J2EE Compatible ünvanını resmen almış olmaları gerekmektedir. Ancak bu J2EE Compatibleünvanını almasa da J2EE uyumlu olan (veya olmaya çalışan) serverlar bulunabilir.
J2EE ile Xxx Server arasında bazı farklar bulunabilir. Herhangi bir application server J2EE standardında olmayan özellikler içerebilir. O zaman J2EE uyumlu değildir denmez. Bu özellikler kullanılırsa standardın dışına çıkılmış olur, bir üründe çalışan kod idğerinde çalışmayabilir. Ancak adı verilen ürünler J2EE'den bazı konularda çok daha zengin ve yeni özellikler içermektedirler. Örneğin Struts, AspectJ gibi konular standartta yoktur ama bir çok application server'da bu özellikler bulunmaktadır.
S7 : EJB ile JDO Arasındaki Farklar Nedir ?
EJB bir nesnelerin saklanması, ağda erişilmesi, güvenliği gibi konularda servisler sağlar. JDO (Java Data Objects) ise sadece nesnelerin saklanmasını sağlayan bir sistemdir. JDO'nun yaptığı Java Nesneleriyle veritabanı arasında aracılık yapmak. Veritabanın SQL de olabilir, XML de olabilir, Object Database de olabilir. JDO, programcının veritabanı işleriyle uğraşmadan (örneğinm SQL yazmadan) nesneleri saklamasına, erişmesine ve sorgulamasına olanak tanır. EJB de bunu işlevelri sağlayan bir standarttır. Ancak EJB çok daha geniş imkanlar sunar. Güvenlik, dağıtık programlama, ölçeklenebilirlik v.s.
EJB ve JDO arasındaki karşılaştırmaya eklenebilecek ilginç bir notta, EJB'nin JDO kullanarak uygulanabilmesidir. Yani EJB standardına uyan bir sistem, o standardı uygulama için arka planda JDO kullanabilir. EJB server üreticileri CMP için arkaplanda JDO'yu kullanabildiği gibi, programcılar da BMP için JDO'yu kullanabilirler.
|
|