Previous
Next

Java Server Faces (JSF) nedir?

by Cem Kefeli 17. Mayıs 2016 05:49

Tüm java makalelerime buradan ulaşabilirsiniz...Java

Java Server Faces (JSF) kavramını anlatabilmek için ilk önce Java'nın bu güne kadar sunmuş olduğu önyüz/arayüz dinamik yapılarını incelemek gerekir diye düşünüyorum.

En başa java servlet'ler yerleşir ki java servlet'ler 1990'lı yıllardan ve de JDK 1.0'dan bu yana hayatımızdadırlar. Güncel versiyonu 4.0'dır ve en son J2EE 8 ile birlikte duyurulmuştur. Temel olarak sunucuya gelen HTTP isteğini keser, ilgili kod parçacığını çalıştırarak yorumlar, ve de istemciye bir cevap dönerler. Servlet'ler içerisinde java kodları bulunur ve istemciye gönderilecek HTML çıktılar bu kodların içerisinde barındırılırlar. Yani servlet teknolojisinde Java kodu içerisine HTML kodları gömülebilir.

İkinci sırada Java Server Pages (JSP) teknolojisi gelmektedir ki aslında JSP'ler de çalışma mantığı olarak yine servlet'ler üzerine kuruludurlar. Arka planda çalışan aslında bir servlet'tir. Fakat uygulamayı yazan kişi bu arka plandaki durumu görmez. Farkı ise JSP'lerin kodlama mantığının HTML üzerine kurulu olmasıdır. Nasıl ki yukarıda bahsettiğim gibi servlet'lerde java kodları arasında HTML kullanılıyorsa, JSP'lerde de HTML içerisine java kod parçacıkları gömülebilmektedir. HTML öğeleri örneğin formlar, tablolar, imajlar doğrudan JSP içerisindeyer alırlar. JSP'ler, servletlere göre görselliği daha ön plana çıkaran yapılar sunar.

Java Servlet, JSP, JSF Historyt

Şimdi asıl konu olan JSF'lere dönelim. Servler'ler ilk ortaya çıktığı gün, günün ihtiyaçlarını karşılıyorlardı. Bir süre sonra görselliği ön plana alan JSP teknolojisi ortaya çıkıverdi. JSP bir nebze olsun görsellik konusunu ileriye taşıdı ama aranan kan halen bulunamamıştı aslında. JSF'nin duyurulması ile birlikte hem kod katmanına hem de görsel katmana hitap eden bir yapı ortaya çıktı. C#, C++ ya da java gibi dillerle masaüstü uygulaması geliştirenler bilirler, form üzerine yerleştirdiğiniz nesnelere aksiyonlar atayabilirsiniz. Örneğin forma bir buton yeteştirdiniz üzerine çift tıklarsanız butona tıklandığında çalışacak olan listener'a ulaşmış olursunuz. Bu listener, kod bloğu, içerisine buton tıklandığında yapılması istenen işlere ait dilediğiniz gibi kod yazabilirsiniz. İşte JSF ile birlikte masaüstü programlamanın bu güzel görsel yapısı bir nebze olsun WEB ile de buluşmuş oldu. JSF ile birlikte artık hem HTML kod tarafında bir kaynak kodumuz, hem de pure java tarafında bir kaynak kodumuz bulunuyor, ve de framework sayesinde bu ikisi arasında bir etkileşim de mevcut.
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