11 Kasım 2007 Pazar

J2EE


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 uyumlu ç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 iş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.


J2EE Hangi Teknolojileri İçerir?


Java API for XML-Based RPC (JAX-RPC) : Farklı makinelerdeki nesnelerin birbirleriyle XML konuşarak haberleşmesini sağlar
JavaServer Pages & Java Servlets : Web programlama teknolojileri
Enterprise JavaBeans components : Nesnelerin veritabanında saklanması, networkteki herhangi bir makineden erişilmesini sağlar
J2EE Connector Architecture : Başka tekonolojilerler geliştirimiş sistemleri J2EE ilei birlkte çalışmasını sağlar.
J2EE Management Model : Network yönetim sistemleri ve protokolleriyle entegrasyon
J2EE Deployment API : J2EE bileşenlerinin geliştirilmesi ve sisteme yüklenmesi
Java API for XML Registries (JAXR) : Web servislerinin yaratılması, kurulması ve erişilmesi
Java Message Service (JMS) : Uygulamaların ve nesnelerin eşzamansız (asenkron) iletişimi için.
Java Naming and Directory Interface (JNDI) : Nesneleri belli bir isimler veya belli bir dizinde saklamak için
Java Transaction API (JTA) : Transactional veri erişimi için.
CORBA : Java Dışında C++ gibi diğer dillerin de nesneleriyle iletişim kurabilmek için
JDBC data access API : SQL Veritabanlarına erişim için
Java Mail : Mail sunucularına erişip mail alma/verme işleri için
JavaBeans Activation Framework (JAF) : Belli bir veri tipinde çeşitli komutların çalıştırlması için
J2SE : Java 2 Standart Edition : Standart Java'daki her şeyin enterprise da kullanılması için


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ştrilebilir. 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.


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 )

Kaynak : http://www.godoro.com

Hiç yorum yok: