Previous
Next

JAVA - Java 2 Enterprise Edition (J2EE)

by Cem Kefeli 5. Ekim 2009 05:20

JavaYıllar önce J2EE teknolojisinin duyurulması ile birlikte klasik web yaşantımız oldukça fazla değişikliğe uğradı. Daha önceleri iki katmanlı olarak hizmet veren uygulamalar daha çok katmana yayılarak performansı, işletilebilirliği ve ölçeklenebilirliği arttırıldı. Daha sağlam ve daha güvenilir sistemler oluşturulmaya başlandı. Bu yazımda başlarda da söylediğim web teknolojisine yeni bir soluk getiren J2EE teknolojisinden kısaca bahsedeceğim.

Öncelikle şunu belirtmeliyim ki J2EE kısaltması içerisinde geçen '2' rakamı J2EE için bir versiyon numarası ifade etmemektedir. Java platformunun kendisi için bir teknoloji numarası belirtmektedir. J2EE için ayrıca versiyon numaraları vardır ve 2001 yılında 1.3 versiyonu ile başlayıp günümüze kadar 6.0'a kadar uzanmıştır. Aynı şekilde J2SE(Java 2 Standard Edition) ve J2ME(Java 2 Micro Edition) için de farklı farklı versiyon numaraları vardır. J2EE 1.4 ten sonra artık Java EE 5.0 olarak anılmaya başlanmıştır ve versiyon isimlendirilmesinde bazı farklılıklar oluşmuştur.

Java EE, uygulama geliştiricilerden fazlasıyla geri besleme almış ve çok fazla yankı bulmuştur. Çünkü sunduğu yapı şimdiye kadar sunulan klasik web teknolojisi yapılarından oldukça farklıdır. Daha önceleri iki, bazen üç, katmanlı olarak gerçekleştirilen uygulamalara çok katmanlı yapı mimarisi oturtulmuştur. Artık web uygulamalarının çok katmandan oluşabilmesi mümkün olmuştur bu teknolojiler ile.

Java 2 Enterprise Edition Multi-Tier ArchitectureÖnceleri sunucu(server)-istemci(client) taraflı, yani iki katmanlı, programlama tekniğini oldukça fazla sevdik. Sunucuda çalışan bir uygulama, ki bu genelde sunucuda host edilen bir veritabanı olacaktır, ve istemcilerde çalışan ve sunuculardan veri toparlayıp işleyen farklı bir uygulama. Bu ikisi bir araya geldiğinde ise uzaktan veritabanı işlemlerini kolaylıkla gerçekleştirebileceğiniz güzel bir uygulama ortaya çıkıyor. Fakat ortada şöyle bir problem var. Asıl işlemleri her zaman istemciler yapıyor ve iş yükünün çok büyük bir bölümü istemcilerin üzerine kalıyor. Acaba bu yük başka platformlar tarafından da paylaşılarak azaltılabilir mi? Evet azaltılabilir, zaten de tüm yapılan mimari değişiklikleri bunu sağlamaya yönelik artık son yıllarda. Bir başka problem ise uygulamanın kullanıcılara sunulmasında ortaya çıkan sorunlar. Bunun nedeni ise masaüstü uygulaması şeklinde dağıtılan ve kullanıcılar tarafından kullanılan yazılımların güncellenebilirliğinin sıkıntılı olması. Siz yaptığınız her bir güncelleme için bir üst versiyonu kullanıcılara dağıtmalı ve herbiri için tekrar kurulum gerçekleştirmelisiniz ki bu problemi aşabilesiniz. Bir diğer problem de uygulamayı kullanan kullanıcı sayısının artması durumunda sunucu makinenin yetersiz kalması. Tek çare ise uygulama sunucusunu daha güçlü bir makine ile değiştirmek. Ya da sisteme başka makineler ekleyerek ana makinenin işlem yükünü paylaştırabilmek. Fazlası...

JAVA - Enterprise Java Beans (EJB)

by Cem Kefeli 30. Eylül 2009 06:10

JavaJava yıllar önce ortaya çıktığında "Bir kere yaz, her yerde çalıştır!" gibi çok hoş bir sloganla çıktı uygulama geliştiricilerin karşısına. Bu slogan kısa sürede çok geniş bir yankı buldu. Çünkü duyurulan şey uygulama geliştiricilerin şimdiye kadar çok da fazla duydukları ve dile getirilmiş birşey değildi. Bu, programınızı bir kere yazıp derleyip istediğiniz platformda derlenilen yazılımın tekrar çalıştırılabilmesini mümkün kılıyordu ki, harika birşey olduğu çok açık. İşletim sistemlerinden ve donanımdan bağımsız bir programcık yazabilmek ne kadar güzel birşeydir sizler de hakkını verirsiniz diye düşünüyorum. Herhangi bir masaüstü bilgisayardan tutun da avuç içine sığan ufacık cep telefonlarında bile aynı yazımı kullanabilmek güzel birşey. Bu yazıda Java'nın gelişim süreci içerisinde çok önemli bir konuma sahip Enterprise Java Beans(EJB)'ten kısaca bahsetmeye çalışacağım.

Client - Server - DatabaseJava'nın duyurulmasının ardından yıllar geçti ve bu yıllar içerisinde Java oldukça fazla da gelişme kaydetti. Önceleri sunucu(server)-istemci(client) taraflı, yani iki katmanlı, programlama tekniğini oldukça fazla sevdik. Sunucuda çalışan bir uygulama, ki bu genelde sunucuda host edilen bir veritabanı olacaktır, ve istemcilerde çalışan ve sunuculardan veri toparlayıp işleyen farklı bir uygulama. Bu ikisi bir araya geldiğinde ise uzaktan veritabanı işlemlerini kolaylıkla gerçekleştirebileceğiniz güzel bir uygulama ortaya çıkıyor. Fakat ortada şöyle bir problem var. Asıl işlemleri her zaman istemciler yapıyor ve iş yükünün çok büyük bir bölümü istemcilerin üzerine kalıyor. Acaba bu yük başka platformlar tarafından da paylaşılarak azaltılabilir mi? Evet azaltılabilir, zaten de tüm yapılan mimari değişiklikleri bunu sağlamaya yönelik artık son yıllarda. Bir başka problem ise uygulamanın kullanıcılara sunulmasında ortaya çıkan sorunlar. Bunun nedeni ise masaüstü uygulaması şeklinde dağıtılan ve kullanıcılar tarafından kullanılan yazılımların güncellenebilirliğinin sıkıntılı olması. Siz yaptığınız her bir güncelleme için bir üst versiyonu kullanıcılara dağıtmalı ve herbiri için tekrar kurulum gerçekleştirmelisiniz ki bu problemi aşabilesiniz. Bir diğer problem de uygulamayı kullanan kullanıcı sayısının artması durumunda sunucu makinenin yetersiz kalması. Tek çare ise uygulama sunucusunu daha güçlü bir makine ile değiştirmek. Ya da sisteme başka makineler ekleyerek ana makinenin işlem yükünü paylaştırabilmek. Ne dersiniz böyle birşey sizce mümkün olabilr mi? Bir makine iş yapsın diğerleri de ona gerektiğinde yardım etsin diye birşey olabilir mi? Evet, bu da mümkün. Yani makinelerin kendi iş birliği...Fazlası...

Hakkımda...

Cem KEFELİ

Electronics and
Telecommunication Eng.
devamı...


Son yapılan yorumlar...

Comment RSS

Yasal bir uyarı...

Disclaimer"Bu web sitesinde görmüş olduğunuz bilgilerin, dokümanların ve diğer materyallerin kullanılmasından doğabilecek hiç bir sorumluluktan site sahibi sorumlu tutulamaz. Web sitesi içerisinde yer alan yazılar, yorumlar, resimler ve diğer tüm içerikler yalnızca sahibinin görüşünü yansıtmakta olup içeriğin sahibi kişilerin çalıştığı kurumları bağlayıcı hiç bir nitelik taşımamaktadır. Yapılan tüm alıntılar mutlaka kaynak gösterilerek verilmeye çalışılmaktadır. Web sitesi içerisinde bulunan ilgili materyaller, ilgili yasal kurumlar tarafından uygun görülmemesi durumda kaldırılacaktır."
General